https://bugzilla.redhat.com/show_bug.cgi?id=1460254
--- Comment #12 from IBM Bug Proxy bugproxy@us.ibm.com --- ------- Comment From Andreas.Krebbel@de.ibm.com 2017-07-14 03:20 EDT------- (In reply to comment #10)
I am not sure why the problem should be specific to the s390x, since the code in the patch is generic, and the s390x assembler backend does not do anything particularly funny. If there was a small testcase I would like to investigate further. (By small I am hoping for something like an assembler source file and command line, which I can then test using an s390 cross assembler. Finding an s390 machine with f26 installed would be a bit of a pain).
The S/390 Binutils backend used to keep the internal labels in debug sections as distinct symbols instead of making them section relative. You have fixed this recently: https://sourceware.org/bugzilla/show_bug.cgi?id=21333
This probably explains why:
1. The problem appeared to be S/390 specific. Other targets already did that. 2. The problem goes away with more recent Binutils versions.
------- Comment From Andreas.Krebbel@de.ibm.com 2017-07-14 03:29 EDT------- So a "fix" for older Binutils versions might be to backport:
commit dc1e4d6dedcb8ee3bb195f0db711f6aa164b8ab4 Author: Nick Clifton nickc@redhat.com Date: Fri Mar 31 12:54:38 2017 +0100
Reduce the size of s390 symbol tables by allowing relocations in mergeable string sections (eg .debug_str) to be made section relative rather than symbol relative.
PR gas/21333 * config/tc-s390.c (tc_s390_fix_adjustable): Allow non pc-relative fixups in mergeable sections to be adjusted.
However, this might just hide a problem with the common code patch by getting rid of the problematic symbols. It would be better to track down what caused the symbol names to be garbled.