https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99606
Bug ID: 99606 Summary: [10/11 Regression] ld.bfd: DWARF error: could not find abbrev number 64 since r10-7521-g54af95767e887d63 Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: rguenth at gcc dot gnu.org Target Milestone: --- I noticed that for a package that used to link successfully: $ cat foma.i char main_prompt[1]; int sprintf(char *, char *, ...); void stack_size(); void main() { sprintf(main_prompt, "", stack_size); } $ gcc -gdwarf-5 -Werror -O2 foma.i -flto=auto -g -c && gcc -fPIC foma.o -flto=16 -fuse-ld=bfd -gdwarf-5 /usr/bin/ld.bfd: /usr/bin/ld.bfd: DWARF error: could not find abbrev number 64 /tmp/ccmeHh1F.ltrans0.ltrans.o: in function `main': <artificial>:(.text.startup+0x3): undefined reference to `stack_size' collect2: error: ld returned 1 exit status A similar test-case triggers error for ld.gold: $ cat foma.i int printf(char *, ...); int sprintf(char *, char *, ...); void stack_size(); char main_prompt[1]; void main() { sprintf(main_prompt, "", stack_size); printf("\n"); } $ gcc -gdwarf-5 -Werror -O2 foma.i -flto=auto -g -c && gcc -fPIC foma.o -flto=16 -fuse-ld=gold -gdwarf-5 /usr/bin/ld.gold: internal error in format_file_lineno, at ../../gold/dwarf_reader.cc:2278 collect2: error: ld returned 1 exit status $ gcc -gdwarf-5 -Werror -O2 foma.i -flto=auto -g -c && gcc -fPIC foma.o -flto=16 -fuse-ld=bfd -gdwarf-5 /usr/bin/ld.bfd: /usr/bin/ld.bfd: DWARF error: could not find abbrev number 64 /tmp/ccylqmOx.ltrans0.ltrans.o: in function `main': <artificial>:(.text.startup+0x7): undefined reference to `stack_size' collect2: error: ld returned 1 exit status