From c49da0e466e1bcb6e1f363ea4a806cfd2c322cb0 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Sun, 13 Sep 2020 18:17:18 +0100 Subject: [PATCH] Fix a couple gdb.dwarf2/ testcases with "clang -flto" gdb.dwarf2/atomic-type.exp and gdb.dwarf2/ada-linkage-name.exp fail when testing with "clang -flto" as compiler, like: $ make check TESTS="gdb.dwarf2/ada-linkage-name.exp" RUNTESTFLAGS="CC_FOR_TARGET='clang -flto'" because with -flto, functions that aren't referenced anywhere are not emitted in the final binary. Fix it by adding uses of the functions. gdb/testsuite/ChangeLog: * gdb.dwarf2/ada-linkage-name.c (main): Move to the bottom of the file and add calls to first and second. * gdb.dwarf2/atomic.c (main): Move to the bottom of the file and add call to f. --- gdb/testsuite/ChangeLog | 7 +++++++ gdb/testsuite/gdb.dwarf2/ada-linkage-name.c | 18 +++++++++++------- gdb/testsuite/gdb.dwarf2/atomic.c | 17 +++++++++-------- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 24a58adbdd5..0744c1e941d 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2020-09-13 Pedro Alves + + * gdb.dwarf2/ada-linkage-name.c (main): Move to the bottom of the + file and add calls to first and second. + * gdb.dwarf2/atomic.c (main): Move to the bottom of the file and + add call to f. + 2020-09-13 Pedro Alves * gdb.mi/mi-break-qualified.cc: New file. diff --git a/gdb/testsuite/gdb.dwarf2/ada-linkage-name.c b/gdb/testsuite/gdb.dwarf2/ada-linkage-name.c index adcb009cce3..fe0414724e1 100644 --- a/gdb/testsuite/gdb.dwarf2/ada-linkage-name.c +++ b/gdb/testsuite/gdb.dwarf2/ada-linkage-name.c @@ -15,13 +15,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -int -main (void) -{ - asm ("main_label: .globl main_label"); - return 0; -} - /* First dummy function. */ int @@ -39,3 +32,14 @@ second (char *x) asm ("second_label: .globl second_label"); return 0; } + + +int +main (void) +{ + asm ("main_label: .globl main_label"); + + first (0); + second (0); + return 0; +} diff --git a/gdb/testsuite/gdb.dwarf2/atomic.c b/gdb/testsuite/gdb.dwarf2/atomic.c index 1e279a40d27..89299890533 100644 --- a/gdb/testsuite/gdb.dwarf2/atomic.c +++ b/gdb/testsuite/gdb.dwarf2/atomic.c @@ -15,20 +15,21 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/* Dummy main function. */ - +/* dummy f function, DWARF will describe arguments and type differently. */ int -main (void) +f (char *x) { - asm ("main_label: .globl main_label"); + asm ("f_label: .globl f_label"); return 0; } -/* dummy f function, DWARF will describe arguments and type differently. */ +/* Dummy main function. */ + int -f (char *x) +main (void) { - asm ("f_label: .globl f_label"); + asm ("main_label: .globl main_label"); + + f (0); return 0; } - -- 2.30.2