This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: non_got_ref after adjust_dynamic_relocs


On Tue, Nov 21, 2017 at 10:52:18PM +0000, Joseph Myers wrote:
> This commit (529fe20eeb0030ea5d653d0ebec433f9e3145874) breaks building the 
> glibc testsuite for powerpc-linux-gnu (32-bit only, I think).  I see a 
> link failure very early in "make check":
> 
> /scratch/jmyers/glibc/many8/build/glibcs/powerpc-linux-gnu/glibc/support/libsupport_nonshared.a(support_test_main.oS):(.got2+0x34): unresolvable R_PPC_ADDR32 relocation against symbol `program_invocation_short_name@@GLIBC_2.0'
> /scratch/jmyers/glibc/many8/install/compilers/powerpc-linux-gnu/lib/gcc/powerpc-glibc-linux-gnu/8.0.0/../../../../powerpc-glibc-linux-gnu/bin/ld: final link failed: Nonrepresentable section on output
> collect2: error: ld returned 1 exit status
> ../Rules:202: recipe for target '/scratch/jmyers/glibc/many8/build/glibcs/powerpc-linux-gnu/glibc/csu/test-as-const-locale-defines' failed

Thanks for the report.  I'm sure I tested a powerpc-linux glibc build
when developing the patch, but it seems likely I didn't retest some
last-minute changes.  The trigger is a symbol with a weakdef (ie. weak
symbol with an alias), and the bug is clearing non_got_ref in
allocate_dynrelocs when dyn_relocs is NULL.  I could just revert the
last-minute changes, but I'd like to spend a little time thinking over
what is best to do here.

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]