getting glibc to compile with GCC CVS mainline

Alexandre Oliva aoliva@redhat.com
Tue Feb 15 21:30:00 GMT 2005


On Feb 15, 2005, Andreas Jaeger <aj@suse.de> wrote:

> Alexandre Oliva <aoliva@redhat.com> writes:
>> Here are patches to fix incompatibilities with the current CVS version
>> of GCC.
>> 
>> The first addresses a problem that causes GCC to reject auto nested
>> functions that are declared but not defined.

> The actual error message is:
> dl-reloc.c: In function ‘_dl_relocate_object’:
> dynamic-link.h:44: error: nested function ‘elf_machine_rel_relative’ declared but never defined
> dynamic-link.h:37: error: nested function ‘elf_machine_rel’ declared but never defined

>> The second addresses a problem of trying to construct array types of
>> incomplete types.  Although this is well-formed C++, it's ill-formed
>> C, even if the type would decay to pointer to incomplete type, which
>> is well-formed in both languages.  There were two occurrences of this
>> error in glibc.

> Shall I commit these patches?

The latter is already in, RTH beat me to posting it.

I'm told by Matthew Burgess that the former doesn't fix the problem on
i*86-linux-gnu, although it does fix it on frv-linux-gnu.  It seems
that dl-machine.h, that defines these macros, is only included after
the ELF_MACHINE_NO_REL* macros are tested for.  Maybe they should be
defined elsewhere?

Matthew agreed to file a bug report on this problem.  I figured it
didn't make sense for me to waste time trying to implement a patch
that wouldn't even be looked at :-/

-- 
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-hacker mailing list