Fix gdb.trace testcase build failures with Clang
authorGary Benson <gbenson@redhat.com>
Tue, 17 Nov 2020 14:52:49 +0000 (14:52 +0000)
committerGary Benson <gbenson@redhat.com>
Tue, 17 Nov 2020 14:52:49 +0000 (14:52 +0000)
25 gdb.trace tests failed to build on x86 with Clang because the
x86_trace_dummy function is optimized out, causing the builds to
fail with variations on the following error:

  gdb compile failed, /usr/bin/ld:
    /gdbtest/build/gdb/testsuite/outputs/gdb.trace/backtrace/backtrace0.o:
    in function `main':
    /gdbtest/src/gdb/testsuite/gdb.trace/actions.c:146: undefined
    reference to `x86_trace_dummy'
    clang-12: error: linker command failed with exit code 1

This commit adds __attribute__ ((used)) to x86_trace_dummy to prevent
this.

gdb/testsuite/ChangeLog:

* gdb.trace/trace-common.h (x86_trace_dummy): Add
__attribute__ ((used)).

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.trace/trace-common.h

index 9c326d52431d49b6a53450a3d08c82facd98bd44..14b3da5911619e51cd68b2cbf4e8daf3c701a7fd 100644 (file)
@@ -1,3 +1,8 @@
+2020-11-17  Gary Benson <gbenson@redhat.com>
+
+       * gdb.trace/trace-common.h (x86_trace_dummy): Add
+       __attribute__ ((used)).
+
 2020-11-17  Andrew Burgess  <andrew.burgess@embecosm.com>
 
        * gdb.gdb/unittest.exp: Spot 'Running...' lines.
index a83f110544eaf664dbe1da3a34d91300bc32cd04..2354c0cd4a1babcae103bd61a48a730123dfeaa3 100644 (file)
@@ -30,7 +30,7 @@
 
 #if (defined __x86_64__ || defined __i386__)
 
-static void
+static void __attribute__ ((used))
 x86_trace_dummy ()
 {
   int x = 0;