Re: [PATCH v2 1/3] vmlinux.lds.h: Add .gnu.version* to DISCARDS
From: Fangrui Song
Date: Mon Jun 22 2020 - 18:00:49 EST
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@xxxxxxxxxxxx>
---
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.