[review v3] slotinfo in struct dtv_slotinfo_list should be flexible array [BZ #25...

Sandra Loosemore sandra@codesourcery.com
Tue Nov 12 17:42:00 GMT 2019


On 11/12/19 10:29 AM, Joseph Myers wrote:
> This change (glibc commit cba932a5a9e91cffd7f4172d7e91f9b2efb1f84b) has
> broken the glibc testsuite build for nios2.  I don't know whether the
> cause is some underlying bug in GCC or binutils or elsewhere in glibc, or
> somehow an issue with this patch itself.
> 
> /scratch/jmyers/glibc/many9/install/compilers/nios2-linux-gnu/lib/gcc/nios2-glibc-linux-gnu/9.2.1/../../../../nios2-glibc-linux-gnu/bin/ld: /scratch/jmyers/glibc/many9/build/glibcs/nios2-linux-gnu/glibc/libc.a(libc-tls.o): in function `init_slotinfo':
> /scratch/jmyers/glibc/many9/src/glibc/csu/../csu/libc-tls.c:72: warning: unable to reach .bss (at 0xc5ea0) from the global pointer (at 0x8d890) because the offset (230928) is out of the allowed range, -32678 to 32767
> 
> /scratch/jmyers/glibc/many9/install/compilers/nios2-linux-gnu/lib/gcc/nios2-glibc-linux-gnu/9.2.1/../../../../nios2-glibc-linux-gnu/bin/ld: final link failed: nonrepresentable section on output
> collect2: error: ld returned 1 exit status
> ../Rules:253: recipe for target '/scratch/jmyers/glibc/many9/build/glibcs/nios2-linux-gnu/glibc/malloc/tst-interpose-static-nothread' failed
> make[3]: *** [/scratch/jmyers/glibc/many9/build/glibcs/nios2-linux-gnu/glibc/malloc/tst-interpose-static-nothread] Error 1
> 
> https://sourceware.org/ml/libc-testresults/2019-q4/msg00203.html
> 

I don't have any state on this particular change or what it is trying to 
accomplish, but the linker error is the sort of thing that happens when 
the compiler sees a reference to an object it thinks will be put in the 
small data section, but the actual definition of the object puts it 
somewhere else (e.g., because it is too big for small data) -- in this 
case the .bss section.  Are there conflicting declarations about the 
size of the object?  If that's unavoidable for some reason, another way 
to suppress GP-relative addressing on this object would be to give it an 
explicit .bss section attribute everywhere it's declared.

-Sandra



More information about the Libc-alpha mailing list