inet/getnetgrent_r.c relies on assumption broken by gcc CVS mainline

Alexandre Oliva aoliva@redhat.com
Fri Jul 9 05:52:00 GMT 2004


GCC's alias attribute wants an assembler symbol name as the target, as
evidenced by the need for supplying a mangled name when aliasing to
C++ symbols.  However, for a symbol with internal linkage, such as a
static symbol, the compiler can choose whatever name it likes.  In
fact, when you compile multiple source files with the -combine option,
GCC absolutely *must* rename static symbols that happen to have the
same name in different translation units.

I suggest that glibc stops relying on this assumption, otherwise it
probably won't build with the next major release of GCC.  It currently
fails for the file that the patch below fixes.  Ok to install?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: inet-getnetgrent-no-alias-to-static.patch
Type: text/x-patch
Size: 2350 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20040709/25baf350/attachment.bin>
-------------- next part --------------

-- 
Alexandre Oliva             http://www.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}


More information about the Libc-alpha mailing list