Workaround GCC 7 bug with debug line numbers causing debug_msg.sh failure.

gold/
	PR gold/21841
	* testsuite/debug_msg.sh: Adjust expected line numbers.
	* testsuite/odr_violation2.cc (DummyFunction): New function.
This commit is contained in:
Cary Coutant 2017-12-01 22:53:08 -08:00
parent 059256c746
commit 0af4ccfc5b
3 changed files with 17 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2017-12-01 Cary Coutant <ccoutant@gmail.com>
PR gold/21841
* testsuite/debug_msg.sh: Adjust expected line numbers.
* testsuite/odr_violation2.cc (DummyFunction): New function.
2017-12-01 Cary Coutant <ccoutant@gmail.com>
PR gold/22309

View File

@ -88,7 +88,7 @@ check_missing debug_msg.err "odr_violation1.cc:1[6-8]"
check_missing debug_msg.err "odr_violation2.cc:2[3-5]"
check debug_msg.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):"
check debug_msg.err "debug_msg.cc:6[89]"
check debug_msg.err "odr_violation2.cc:2[7-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
@ -114,7 +114,7 @@ then
check_missing debug_msg_cdebug.err "odr_violation2.cc:2[3-5]"
check debug_msg_cdebug.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):"
check debug_msg_cdebug.err "debug_msg.cc:6[89]"
check debug_msg_cdebug.err "odr_violation2.cc:2[7-9]"
check debug_msg_cdebug.err "odr_violation2.cc:3[0-7]"
fi
# When linking together .so's, we don't catch the line numbers, but we
@ -132,7 +132,7 @@ check_missing debug_msg_so.err "odr_violation1.cc:1[6-8]"
check_missing debug_msg_so.err "odr_violation2.cc:2[3-5]"
check debug_msg_so.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):"
check debug_msg_so.err "debug_msg.cc:6[89]"
check debug_msg_so.err "odr_violation2.cc:2[7-9]"
check debug_msg_so.err "odr_violation2.cc:3[0-7]"
# These messages shouldn't need any debug info to detect:
check debug_msg_ndebug.err "debug_msg_ndebug.so: error: undefined reference to 'undef_fn1()'"

View File

@ -23,6 +23,14 @@ void SortDescending(int array[], int size) {
extern "C" int OverriddenCFunction(int i) {
return i * i;
}
// Extra lines to put SometimeInlineFunction at line 30+.
// And a dummy function to workaround a GCC 7 bug with debug line numbers.
int DummyFunction(int i) {
return i ^ 0x5555;
}
// This is inline in debug_msg.cc, which makes it a weak symbol too.
int SometimesInlineFunction(int i) {
return i * i;