V3 [PATCH] Use SHF_GNU_RETAIN to preserve symbol definitions
H.J. Lu
hjl.tools@gmail.com
Wed Dec 2 21:49:26 GMT 2020
On Wed, Dec 2, 2020 at 1:31 PM Joseph Myers <joseph@codesourcery.com> wrote:
>
> 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.
We may need to update glibc for GCC 11. Can you open a glibc bug and
CC me?
Thanks.
--
H.J.
More information about the Libc-alpha
mailing list