In Fedora 9, 10, and rawhide, glibc started including data_start (and __data_start) symbols in ELF binaries. This caused elfutils to fail two tests in its suite: section [36] '.symtab': symbol 74: st_value out of bounds section [36] '.symtab': symbol 93: st_value out of bounds *** failure in ../src/addr2line FAIL: run-elflint-self.sh In troubleshooting this with David Miller, he noticed that for most architectures, the data_start definition in $arch/elf/start.S has a .long 0, but for sparc32/sparc64 (and ppc) it doesn't. I made a patch to add these for sparc32/sparc64, rebuilt glibc, and elfutils then passes all of its tests. Is this patch correct? If so, please take it upstream. We'd also need it applied to F-9, F-10, and rawhide branches (although, I can handle that if you'd prefer it be added as a patch).
Created attachment 338052 [details] Fix for data_start issues on sparc (and ppc)
*** Bug 491163 has been marked as a duplicate of this bug. ***
There are more details in 491163, but I closed it as a dupe because this patch fixes that issue.
Working around this by forcing a non-empty .data section on every executable is very ugly, but then when x86_64 and i386 do this already, avoiding it at all costs just for sparc* and ppc* isn't worth it. So I guess I can live with the patch. Uli, is it ok for you too? Who should be mentioned in ChangeLog entry for the patch? spot or davem?
(In reply to comment #4) > Uli, is it ok for you too? Sure, why not. It's not that I care much of either architecture.
(In reply to comment #4) > Working around this by forcing a non-empty .data section on every executable is > very ugly, but then when x86_64 and i386 do this already, avoiding it at all > costs just for sparc* and ppc* isn't worth it. So I guess I can live with the > patch. Uli, is it ok for you too? Who should be mentioned in ChangeLog entry > for the patch? spot or davem? DaveM had the idea, but I made the patch and tested it. Can you give us both credit? :) If not, just give it to Dave.
The rawhide glibc should have this changed.