[llvm] [BPF] Avoid generating .comment section (PR #159958)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 20 17:25:11 PDT 2025
https://github.com/yonghong-song created https://github.com/llvm/llvm-project/pull/159958
The kernel libbpf does not need .comment section. If not filtering out in llvm, the section will be filtered out in libbpf. So let us filter it out as early as possible which is in llvm.
The following is an example.
```
$ cat t.c
int test() { return 5; }
```
Without this change:
```
$ llvm-readelf -S t.o
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .strtab STRTAB 0000000000000000 000110 000047 00 0 0 1
[ 2] .text PROGBITS 0000000000000000 000040 000010 00 AX 0 0 8
[ 3] .comment PROGBITS 0000000000000000 000050 000072 01 MS 0 0 1
[ 4] .note.GNU-stack PROGBITS 0000000000000000 0000c2 000000 00 0 0 1
[ 5] .llvm_addrsig LLVM_ADDRSIG 0000000000000000 000110 000000 00 E 6 0 1
[ 6] .symtab SYMTAB 0000000000000000 0000c8 000048 18 1 2 8
```
With this change:
```
$ llvm-readelf -S t.o
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .strtab STRTAB 0000000000000000 000098 00003e 00 0 0 1
[ 2] .text PROGBITS 0000000000000000 000040 000010 00 AX 0 0 8
[ 3] .note.GNU-stack PROGBITS 0000000000000000 000050 000000 00 0 0 1
[ 4] .llvm_addrsig LLVM_ADDRSIG 0000000000000000 000098 000000 00 E 5 0 1
[ 5] .symtab SYMTAB 0000000000000000 000050 000048 18 1 2 8
```
>From fff751194d03857858d2d1041a658a9153fdd0ad Mon Sep 17 00:00:00 2001
From: Yonghong Song <yonghong.song at linux.dev>
Date: Sat, 20 Sep 2025 16:49:02 -0700
Subject: [PATCH] [BPF] Avoid generating .comment section
The kernel libbpf does not need .comment section. If not filtering out
in llvm, the section will be filtered out in libbpf. So let us
filter it out as early as possible which is in llvm.
The following is an example.
$ cat t.c
int test() { return 5; }
Without this change:
$ llvm-readelf -S t.o
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .strtab STRTAB 0000000000000000 000110 000047 00 0 0 1
[ 2] .text PROGBITS 0000000000000000 000040 000010 00 AX 0 0 8
[ 3] .comment PROGBITS 0000000000000000 000050 000072 01 MS 0 0 1
[ 4] .note.GNU-stack PROGBITS 0000000000000000 0000c2 000000 00 0 0 1
[ 5] .llvm_addrsig LLVM_ADDRSIG 0000000000000000 000110 000000 00 E 6 0 1
[ 6] .symtab SYMTAB 0000000000000000 0000c8 000048 18 1 2 8
With this change:
$ llvm-readelf -S t.o
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .strtab STRTAB 0000000000000000 000098 00003e 00 0 0 1
[ 2] .text PROGBITS 0000000000000000 000040 000010 00 AX 0 0 8
[ 3] .note.GNU-stack PROGBITS 0000000000000000 000050 000000 00 0 0 1
[ 4] .llvm_addrsig LLVM_ADDRSIG 0000000000000000 000098 000000 00 E 5 0 1
[ 5] .symtab SYMTAB 0000000000000000 000050 000048 18 1 2 8
---
llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h b/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
index 63d6e6fb630a6..a58244a3d83f3 100644
--- a/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
+++ b/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
@@ -31,6 +31,7 @@ class BPFMCAsmInfo : public MCAsmInfoELF {
UsesELFSectionDirectiveForBSS = true;
HasSingleParameterDotFile = true;
HasDotTypeDotSizeDirective = true;
+ HasIdentDirective = false;
SupportsDebugInformation = true;
ExceptionsType = ExceptionHandling::DwarfCFI;
More information about the llvm-commits
mailing list