V3 [PATCH] Use SHF_GNU_RETAIN to preserve symbol definitions
Joseph Myers
joseph@codesourcery.com
Wed Dec 2 21:31:48 GMT 2020
This patch (GCC commit 6fbec038f7a7ddf29f074943611b53210d17c40c) has
broken the glibc build (at least with current binutils master). The
errors are of the form:
In file included from <command-line>:
gconv_dl.c: In function 'free_mem':
gconv_dl.c:202:18: error: 'free_mem' causes a section type conflict with 'do_release_all'
202 | libc_freeres_fn (free_mem)
| ^~~~~~~~
./../include/libc-symbols.h:316:15: note: in definition of macro 'libc_freeres_fn'
316 | static void name (void)
| ^~~~
gconv_dl.c:191:1: note: 'do_release_all' was declared here
191 | do_release_all (void *nodep)
| ^~~~~~~~~~~~~~
Not sure if this is a GCC bug or indicates that glibc's libc_freeres_fn or
related macros need to change to work with both old and new GCC.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list