From 02d2a36902c7b0fefe05e8d9bdbf11e846ac71fe Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 15 Jul 2023 19:47:10 +0930 Subject: PR10957, Missing option to really print section+offset Many of the reloc error messages have already been converted from using %C to using %H in ld.bfd, to print section+offset as well as file/line/function. This catches a few remaining, and changes gold to do the same. PR 10957 bfd/ * elf32-sh.c (sh_elf_relocate_section): Use %H in error messages. gold/ * object.cc (Relocate_info::location): Always report section+offset. * testsuite/debug_msg.sh: Adjust to suit. * testsuite/x32_overflow_pc32.sh: Likewise. * testsuite/x86_64_overflow_pc32.sh: Likewise. ld/ * emultempl/pe.em (read_addend): Use %H in error message. * emultempl/pep.em (read_addend): Likewise. * ldcref.c (check_reloc_refs): Likewise. * ldmain.c (warning_find_reloc, undefined_symbol): Likewise. * pe-dll.c (pe_create_import_fixup): Likewise. * testsuite/ld-cris/undef2.d: Adjust expected output to suit. * testsuite/ld-cris/undef3.d: Likewise. * testsuite/ld-elf/shared.exp: Likewise. * testsuite/ld-i386/compressed1.d: Likewise. * testsuite/ld-ia64/line.exp: Likewise. * testsuite/ld-plugin/lto.exp: Likewise. * testsuite/ld-undefined/undefined.exp: Likewise. * testsuite/ld-x86-64/compressed1.d: Likewise. * testsuite/ld-x86-64/line.exp: Likewise. * testsuite/ld-x86-64/pr27587.err: Likewise. --- gold/object.cc | 2 +- gold/testsuite/debug_msg.sh | 12 ++++++------ gold/testsuite/x32_overflow_pc32.sh | 2 +- gold/testsuite/x86_64_overflow_pc32.sh | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) (limited to 'gold') diff --git a/gold/object.cc b/gold/object.cc index ccb7405..77b2690 100644 --- a/gold/object.cc +++ b/gold/object.cc @@ -3358,7 +3358,7 @@ Relocate_info::location(size_t, off_t offset) const if (info.enclosing_symbol_type == elfcpp::STT_FUNC) ret += _("function "); ret += info.enclosing_symbol_name; - return ret; + ret += ":"; } ret += "("; diff --git a/gold/testsuite/debug_msg.sh b/gold/testsuite/debug_msg.sh index b808fb8..51e8a83 100755 --- a/gold/testsuite/debug_msg.sh +++ b/gold/testsuite/debug_msg.sh @@ -55,9 +55,9 @@ check_missing() # We don't know how the compiler might order these variables, so we # can't test for the actual offset from .data, hence the regexp. -check debug_msg.err "debug_msg.o:debug_msg.cc:fn_array: error: undefined reference to 'undef_fn1()'" -check debug_msg.err "debug_msg.o:debug_msg.cc:fn_array: error: undefined reference to 'undef_fn2()'" -check debug_msg.err "debug_msg.o:debug_msg.cc:badref1: error: undefined reference to 'undef_int'" +check debug_msg.err "debug_msg.o:debug_msg.cc:fn_array:(.*): error: undefined reference to 'undef_fn1()'" +check debug_msg.err "debug_msg.o:debug_msg.cc:fn_array:(.*): error: undefined reference to 'undef_fn2()'" +check debug_msg.err "debug_msg.o:debug_msg.cc:badref1:(.*): error: undefined reference to 'undef_int'" # These tests check only for the source file's file name (not the complete # path) because use of -fdebug-prefix-map may change the path to the source @@ -93,9 +93,9 @@ check debug_msg.err "odr_violation2.cc:3[0-7]" # Check for the same error messages when using --compressed-debug-sections. if test -r debug_msg_cdebug.err then - check debug_msg_cdebug.err "debug_msg_cdebug.o:debug_msg.cc:fn_array: error: undefined reference to 'undef_fn1()'" - check debug_msg_cdebug.err "debug_msg_cdebug.o:debug_msg.cc:fn_array: error: undefined reference to 'undef_fn2()'" - check debug_msg_cdebug.err "debug_msg_cdebug.o:debug_msg.cc:badref1: error: undefined reference to 'undef_int'" + check debug_msg_cdebug.err "debug_msg_cdebug.o:debug_msg.cc:fn_array:(.*): error: undefined reference to 'undef_fn1()'" + check debug_msg_cdebug.err "debug_msg_cdebug.o:debug_msg.cc:fn_array:(.*): error: undefined reference to 'undef_fn2()'" + check debug_msg_cdebug.err "debug_msg_cdebug.o:debug_msg.cc:badref1:(.*): error: undefined reference to 'undef_int'" check debug_msg_cdebug.err ".*/debug_msg.cc:50: error: undefined reference to 'undef_fn1()'" check debug_msg_cdebug.err ".*/debug_msg.cc:55: error: undefined reference to 'undef_fn2()'" check debug_msg_cdebug.err ".*/debug_msg.cc:4[356]: error: undefined reference to 'undef_fn1()'" diff --git a/gold/testsuite/x32_overflow_pc32.sh b/gold/testsuite/x32_overflow_pc32.sh index d0a4cf0..6da575e 100755 --- a/gold/testsuite/x32_overflow_pc32.sh +++ b/gold/testsuite/x32_overflow_pc32.sh @@ -37,6 +37,6 @@ check() # We don't know how the compiler might order these variables, so we # can't test for the actual offset from .data, hence the regexp. -check x86_64_overflow_pc32.err "function bar: error: relocation overflow" +check x86_64_overflow_pc32.err "function bar:(.*): error: relocation overflow" exit 0 diff --git a/gold/testsuite/x86_64_overflow_pc32.sh b/gold/testsuite/x86_64_overflow_pc32.sh index d0a4cf0..6da575e 100755 --- a/gold/testsuite/x86_64_overflow_pc32.sh +++ b/gold/testsuite/x86_64_overflow_pc32.sh @@ -37,6 +37,6 @@ check() # We don't know how the compiler might order these variables, so we # can't test for the actual offset from .data, hence the regexp. -check x86_64_overflow_pc32.err "function bar: error: relocation overflow" +check x86_64_overflow_pc32.err "function bar:(.*): error: relocation overflow" exit 0 -- cgit v1.1