[llvm] [llvm-mc] Don't print initial .text (PR #120185)

via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 16 21:56:01 PST 2024


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-aarch64

Author: Fangrui Song (MaskRay)

<details>
<summary>Changes</summary>

Omit the initial `.text` for --disassemble.
```
% echo 90 | myllvm-mc -triple=x86_64 --disassemble --hex
        nop
```


---
Full diff: https://github.com/llvm/llvm-project/pull/120185.diff


3 Files Affected:

- (modified) llvm/test/MC/Disassembler/AArch64/colored.txt (+1) 
- (modified) llvm/test/tools/llvm-mc/line_end_with_space.test (+1-1) 
- (modified) llvm/tools/llvm-mc/Disassembler.cpp (+1-1) 


``````````diff
diff --git a/llvm/test/MC/Disassembler/AArch64/colored.txt b/llvm/test/MC/Disassembler/AArch64/colored.txt
index 3293de8a8748f4..1379c552d85cc3 100644
--- a/llvm/test/MC/Disassembler/AArch64/colored.txt
+++ b/llvm/test/MC/Disassembler/AArch64/colored.txt
@@ -1,6 +1,7 @@
 # UNSUPPORTED: system-windows
 # RUN: llvm-mc -triple=aarch64 -mattr=+all --cdis %s | FileCheck %s --strict-whitespace --match-full-lines
 
+# CHECK-NOT:{{.}}
 0xa1 0x00 0x00 0x54
 # CHECK:	b.ne	#20
 0x00 0x7c 0x00 0x13
diff --git a/llvm/test/tools/llvm-mc/line_end_with_space.test b/llvm/test/tools/llvm-mc/line_end_with_space.test
index 5ad5a8382edfae..b9f44afc43bb4d 100644
--- a/llvm/test/tools/llvm-mc/line_end_with_space.test
+++ b/llvm/test/tools/llvm-mc/line_end_with_space.test
@@ -1,3 +1,3 @@
 # Test that llvm-mc doesn't crash when disassembling a line that ends with a
 # space.
-RUN: echo -n ' ' | llvm-mc -disassemble
+RUN: echo -n ' ' | llvm-mc -disassemble | count 0
diff --git a/llvm/tools/llvm-mc/Disassembler.cpp b/llvm/tools/llvm-mc/Disassembler.cpp
index 30577fe631d62e..d02445e21e4c31 100644
--- a/llvm/tools/llvm-mc/Disassembler.cpp
+++ b/llvm/tools/llvm-mc/Disassembler.cpp
@@ -169,7 +169,7 @@ int Disassembler::disassemble(const Target &T, const std::string &Triple,
   }
 
   // Set up initial section manually here
-  Streamer.initSections(false, STI);
+  Streamer.switchSectionNoPrint(Ctx.getObjectFileInfo()->getTextSection());
 
   bool ErrorOccurred = false;
 

``````````

</details>


https://github.com/llvm/llvm-project/pull/120185


More information about the llvm-commits mailing list