Messages in this thread | | | Date | Mon, 22 Jun 2020 15:00:43 -0700 | From | Fangrui Song <> | Subject | Re: [PATCH v2 1/3] vmlinux.lds.h: Add .gnu.version* to DISCARDS |
| |
On 2020-06-22, Kees Cook wrote: >For vmlinux linking, no architecture uses the .gnu.version* section, >so remove it via the common DISCARDS macro in preparation for adding >--orphan-handling=warn more widely. > >Signed-off-by: Kees Cook <keescook@chromium.org> >--- > include/asm-generic/vmlinux.lds.h | 1 + > 1 file changed, 1 insertion(+) > >diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h >index db600ef218d7..6fbe9ed10cdb 100644 >--- a/include/asm-generic/vmlinux.lds.h >+++ b/include/asm-generic/vmlinux.lds.h >@@ -934,6 +934,7 @@ > *(.discard) \ > *(.discard.*) \ > *(.modinfo) \ >+ *(.gnu.version*) \ > } > > /** >-- >2.25.1
I wonder what lead to .gnu.version{,_d,_r} sections in the kernel.
tools/lib/bpf/libbpf_internal.h uses `.symver` directive and -Wl,--version-script, which may lead to .gnu.version{,_d}, but this only applies to the userspace libbpf.so
libperf.so has a similar -Wl,--version-script.
Linking vmlinux does not appear to use any symbol versioning.
| |