https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81968
--- Comment #38 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- >> --- Comment #33 from rguenther at suse dot de <rguenther at suse dot de> --- > [...] >>>* Invalid sh_info: >>> >>>FAIL: g++.dg/lto/pr42987 cp_lto_pr42987_0.o-cp_lto_pr42987_1.o link, >>>-flto >>>-flto-partition=none -g >>>FAIL: g++.dg/lto/pr42987 cp_lto_pr42987_0.o-cp_lto_pr42987_1.o link, >>>-flto -g >>> >>>ld: fatal: file /var/tmp//ccXwdzGddebugobjtem: section >>>[6].rel.gnu.debuglto_.debug_info: has invalid sh_info: 9 >>>ld: fatal: file /var/tmp//ccuVJOVbdebugobjtem: section >>>[6].rel.gnu.debuglto_.debug_info: has invalid sh_info: 8 >>> >>> seen during the ld -r -o ccrIZb_ddebugobj ccSerOuddebugobjtem >>> cc5b3Arcdebugobjtem step: >>> >>>ccSerOuddebugobjtem: .rel.gnu.debuglto_.debug_info: sh_info: 9: does >>>not point >>>to a valid section >>> >>>Section Header[6]: sh_name: .rel.gnu.debuglto_.debug_info >>> sh_addr: 0 sh_flags: 0 >>> sh_size: 0x8 sh_type: [ SHT_REL ] >>> sh_offset: 0x11c8 sh_entsize: 0x8 (1 entry) >>> sh_link: 5 sh_info: 9 >>> sh_addralign: 0x4 >>> >>> But there's no section 9 any longer. >> >> I fixed that in the posted patch for the hpux issue(s). > > Good: I'll try to merge the two after the christmas holidays. I've used the attached patch, with mixed results: * No changes on SPARC (which wasn't affected by this issue in the first place). * On x86, of the previous 32 ld: fatal: has invalid sh_info errors, 16 are now gone. However, I've many (1284 in g++.log) instances of ld: warning: symbol .symtab[2] has invalid section index; ignored: (file /var/tmp//ccyttLYbdebugobjtem value=9); Those links end with ld: fatal: file /var/tmp//ccyttLYbdebugobjtem: section [6].rel.gnu.debuglto_.debug_info: has invalid sh_info: 9 and ld SEGVing, again in the ld -r step. The warnings are from symtab entries like Symbol Table Section: .symtab index value size type bind oth ver shndx name [0] 0 0 NOTY LOCL D 0 UNDEF [1] 0 0 FILE LOCL D 0 ABS pr42987_0.C [2] 0 0 NOTY LOCL D 0 9 and section 9 doesn't exist, where the input object (cp_lto_pr42987_0.o) has Section Header[9]: sh_name: .gnu.debuglto_.debug_info sh_addr: 0 sh_flags: 0 sh_size: 0x3d4 sh_type: [ SHT_PROGBITS ] sh_offset: 0x7fb sh_entsize: 0 sh_link: 0 sh_info: 0 sh_addralign: 0x1 Symbol Table Section: .symtab index value size type bind oth ver shndx / name [0] 0 0 NOTY LOCL D 0 UNDEF [1] 0 0 FILE LOCL D 0 ABS pr42987_0.C [2] 0 0 SECT LOCL D 0 .text [3] 0 0 SECT LOCL D 0 .gnu.debuglto_.debug_info Rainer