On Thu, Apr 22, 2021 at 11:25:45AM -0700, Manoj Gupta wrote:
LLD 13 and GNU ld 2.37 support -z start-stop-gc which allows garbage collection of C identifier name sections despite the __start_/__stop_ references. Simply set the retain attribute so that GCC 11 (if configure-time binutils is 2.36 or newer)/Clang 13 will set the SHF_GNU_RETAIN section attribute to prevent garbage collection.
Without the patch, there are linker errors like the following with -z start-stop-gc: ld.lld: error: undefined symbol: __stop___cmd
referenced by iw.c:418 iw.o:(__handle_cmd)
Suggested-by: Fangrui Song maskray@google.com
Signed-off-by: Manoj Gupta manojgupta@google.com
iw.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
<formletter>
This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html for how to do this properly.
</formletter>