x86_64 / i686 no-PIE failures

Florian Weimer fweimer@redhat.com
Fri Nov 4 07:12:07 GMT 2022


* Joseph Myers:

> Now that the uchar.h failures with mainline GCC are fixed, other failures 
> show up for x86_64 / i686 no-PIE with mainline GCC and binutils (I don't 
> know how long these have been there):
>
> /scratch/jmyers/glibc-bot/install/compilers/x86_64-linux-gnu/lib/gcc/x86_64-glibc-linux-gnu/13.0.0/../../../../x86_64-glibc-linux-gnu/bin/ld: /scratch/jmyers/glibc-bot/build/glibcs/x86_64-linux-gnu-no-pie/glibc/elf/ifuncmain1.o: non-canonical reference to canonical protected function `foo_protected' in /scratch/jmyers/glibc-bot/build/glibcs/x86_64-linux-gnu-no-pie/glibc/elf/ifuncmod1.so
> /scratch/jmyers/glibc-bot/install/compilers/x86_64-linux-gnu/lib/gcc/x86_64-glibc-linux-gnu/13.0.0/../../../../x86_64-glibc-linux-gnu/bin/ld: failed to set dynamic section sizes: bad value
> collect2: error: ld returned 1 exit status
> ../Rules:238: recipe for target '/scratch/jmyers/glibc-bot/build/glibcs/x86_64-linux-gnu-no-pie/glibc/elf/ifuncmain1' failed
> make[3]: *** [/scratch/jmyers/glibc-bot/build/glibcs/x86_64-linux-gnu-no-pie/glibc/elf/ifuncmain1] Error 1
> make[3]: Leaving directory '/scratch/jmyers/glibc-bot/src/glibc/elf'

H.J.,

this test no longer seems valid with current binutils (or current
binutils is broken).

ifuncmain1.o has X86_64_32S and X86_64_PLT32 relocations for
foo_protected, so the main program must contain a PLT stub for
foo_protected.  Apparently, ld no longer produces such binaries.

What should we do about this?

Thanks,
Florian



More information about the Libc-alpha mailing list