This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: [review v3] slotinfo in struct dtv_slotinfo_list should be flexible array [BZ #25...


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


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