On Tue, Jun 23, 2020 at 06:49:33PM -0700, Kees Cook wrote: > When linking vmlinux with LLD, the synthetic sections .symtab, .strtab, > and .shstrtab are listed as orphaned. Add them to the STABS_DEBUG section > so there will be no warnings when --orphan-handling=warn is used more > widely. (They are added above comment as it is the more common Nit 1: is "after .comment" better than "above comment"? It's above in the sense of higher file offset, but it's below in readelf output. Nit 2: These aren't actually debugging sections, no? Is it better to add a new macro for it, and is there any plan to stop LLD from warning about them? > order[1].) > > ld.lld: warning: <internal>:(.symtab) is being placed in '.symtab' > ld.lld: warning: <internal>:(.shstrtab) is being placed in '.shstrtab' > ld.lld: warning: <internal>:(.strtab) is being placed in '.strtab' > > [1] https://lore.kernel.org/lkml/20200622224928.o2a7jkq33guxfci4@xxxxxxxxxx/ > > Reported-by: Fangrui Song <maskray@xxxxxxxxxx> > Reviewed-by: Fangrui Song <maskray@xxxxxxxxxx> > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> > --- > include/asm-generic/vmlinux.lds.h | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h > index 1248a206be8d..8e71757f485b 100644 > --- a/include/asm-generic/vmlinux.lds.h > +++ b/include/asm-generic/vmlinux.lds.h > @@ -792,7 +792,10 @@ > .stab.exclstr 0 : { *(.stab.exclstr) } \ > .stab.index 0 : { *(.stab.index) } \ > .stab.indexstr 0 : { *(.stab.indexstr) } \ > - .comment 0 : { *(.comment) } > + .comment 0 : { *(.comment) } \ > + .symtab 0 : { *(.symtab) } \ > + .strtab 0 : { *(.strtab) } \ > + .shstrtab 0 : { *(.shstrtab) } > > #ifdef CONFIG_GENERIC_BUG > #define BUG_TABLE \ > -- > 2.25.1 >