From: Pedro Alves Date: Tue, 1 Mar 2016 17:25:56 +0000 (+0000) Subject: Fix gdb.threads/watchpoint-fork*.c compilation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1e903e320352db86233e1dd2d10fd140f5d4a887;p=binutils-gdb.git Fix gdb.threads/watchpoint-fork*.c compilation This testcase currently fails to compile on Fedora 23: .../src/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c: In function 'start': .../src/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c:70:11: warning: implicit declaration of function 'pthread_yield' [-Wimplicit-function-declaration] i = pthread_yield (); ^ .../src/gdb/testsuite/gdb.threads/watchpoint-fork-child.c: In function 'forkoff': .../src/gdb/testsuite/gdb.threads/watchpoint-fork-child.c:114:8: warning: implicit declaration of function 'pthread_yield' [-Wimplicit-function-declaratio n] i = pthread_yield (); ^ /tmp/ccUkNIsI.o: In function `start': .../src/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c:70: undefined reference to `pthread_yield' (...) collect2: error: ld returned 1 exit status UNSUPPORTED: gdb.threads/watchpoint-fork.exp: child: multithreaded: Couldn't compile watchpoint-fork-child.c: unrecognized error UNTESTED: gdb.threads/watchpoint-fork.exp: child: multithreaded: watchpoint-fork.exp testcase .../src/gdb/testsuite/gdb.threads/watchpoint-fork.exp completed i The glibc manual says, on _GNU_SOURCE: "You should define these macros by using ‘#define’ preprocessor directives at the top of your source code files. These directives must come before any #include of a system header file." I instead put it in the header all the .c files of the testcase must include anyway. gdb/testsuite/ChangeLog: 2016-03-01 Pedro Alves * gdb.threads/watchpoint-fork-child.c: Include "watchpoint-fork.h" before anything else. * gdb.threads/watchpoint-fork-mt.c: Likewise. Don't define _GNU_SOURCE here. * gdb.threads/watchpoint-fork-st.c: Include "watchpoint-fork.h" before anything else. * gdb.threads/watchpoint-fork.h: Define _GNU_SOURCE. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 49e87bc17e5..c992a59d889 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2016-03-01 Pedro Alves + + * gdb.threads/watchpoint-fork-child.c: Include "watchpoint-fork.h" + before anything else. + * gdb.threads/watchpoint-fork-mt.c: Likewise. Don't define + _GNU_SOURCE here. + * gdb.threads/watchpoint-fork-st.c: Include "watchpoint-fork.h" + before anything else. + * gdb.threads/watchpoint-fork.h: Define _GNU_SOURCE. + 2016-03-01 Pedro Alves * gdb.base/catch-fork-kill.c: Include . diff --git a/gdb/testsuite/gdb.threads/watchpoint-fork-child.c b/gdb/testsuite/gdb.threads/watchpoint-fork-child.c index 92ca0e5aeea..b84a12201f0 100644 --- a/gdb/testsuite/gdb.threads/watchpoint-fork-child.c +++ b/gdb/testsuite/gdb.threads/watchpoint-fork-child.c @@ -17,6 +17,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . */ +#include "watchpoint-fork.h" + #include #include #include @@ -24,8 +26,6 @@ #include #include -#include "watchpoint-fork.h" - /* `pid_t' may not be available. */ static volatile int usr1_got; diff --git a/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c b/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c index f603b6df69b..bc967ce5102 100644 --- a/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c +++ b/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c @@ -17,22 +17,19 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . */ +#include "watchpoint-fork.h" + #include #include #include #include #include - -/* pthread_yield is a GNU extension. */ -#define _GNU_SOURCE #include #include #include #define gettid() syscall (__NR_gettid) -#include "watchpoint-fork.h" - /* Non-atomic `var++' should not hurt as we synchronize the threads by the STEP variable. Hit-comments need to be duplicated there to catch both at-stops and behind-stops, depending on the target. */ diff --git a/gdb/testsuite/gdb.threads/watchpoint-fork-st.c b/gdb/testsuite/gdb.threads/watchpoint-fork-st.c index 41ddf135764..bd3a3f24e1b 100644 --- a/gdb/testsuite/gdb.threads/watchpoint-fork-st.c +++ b/gdb/testsuite/gdb.threads/watchpoint-fork-st.c @@ -17,14 +17,14 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . */ +#include "watchpoint-fork.h" + #include #include #include #include #include -#include "watchpoint-fork.h" - volatile int var; void diff --git a/gdb/testsuite/gdb.threads/watchpoint-fork.h b/gdb/testsuite/gdb.threads/watchpoint-fork.h index 8ea193782e7..87307aeed0b 100644 --- a/gdb/testsuite/gdb.threads/watchpoint-fork.h +++ b/gdb/testsuite/gdb.threads/watchpoint-fork.h @@ -17,6 +17,9 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . */ +/* pthread_yield is a GNU extension. */ +#define _GNU_SOURCE + #ifdef THREAD #include