From patchwork Fri Jan 5 10:34:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yao Qi X-Patchwork-Id: 25227 Received: (qmail 51561 invoked by alias); 5 Jan 2018 10:35:20 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 51519 invoked by uid 89); 5 Jan 2018 10:35:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=obs, Hx-spam-relays-external:sk:static., H*RU:sk:static., H*r:sk:static. X-HELO: mail-wr0-f176.google.com Received: from mail-wr0-f176.google.com (HELO mail-wr0-f176.google.com) (209.85.128.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 05 Jan 2018 10:35:03 +0000 Received: by mail-wr0-f176.google.com with SMTP id o15so3958028wrf.12 for ; Fri, 05 Jan 2018 02:35:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=N7LBjp1AwWY21f0EtyZugD6LizbszbCvG+jnVJXTx04=; b=CcFOzTydnDjhuSr7xax96Pi3yHSfxd3vp+BCUqkU13vSCeGHS8onky8jZiUzxiSSu4 s+9SahfLam8Vrsco1an2jnwWI3aGg0YwpZVRVVRw6/PGlIH3HOhS33y8+oTTqkVJmlD7 gkK/uLMHo+NvspuCBx7ShonXBYSqbP7pXBLRClo5bM5i/KbR3UgCVvKGMbUxavmPApcs eml5AyPNxQzKbM3hNiv3NPLTN4MbgJ0ZvIPEK2vvjGg0nOOges59ohFK7i1q/lL5l2wJ CTtoCT5As3P+Vfa/hATtsLJUAEqstc4G/kZ3aPrk3j9CWlAeSEuRLYfBYa20lj+3p+wP GlDA== X-Gm-Message-State: AKGB3mIHJJOLi7TYoeFMJ562Rz7n/p1NS85woc+o8m+Vr9/ty4vhLTj6 uSrIgqexdHamsr9NvKLraalPBA== X-Google-Smtp-Source: ACJfBotq+eyGzaBnXyOODVvZZ9ejJHA4e642Qsm1QAcRXZF2ft/XNF6MmafZHOQ+xnYGMptXFGkf+g== X-Received: by 10.223.201.4 with SMTP id m4mr2408739wrh.111.1515148501684; Fri, 05 Jan 2018 02:35:01 -0800 (PST) Received: from E107787-LIN.cambridge.arm.com (static.42.136.251.148.clients.your-server.de. [148.251.136.42]) by smtp.gmail.com with ESMTPSA id q74sm10040701wmg.22.2018.01.05.02.35.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 05 Jan 2018 02:35:01 -0800 (PST) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH 2/2 master/8.1] Fix GDBserver build failure when $development is false Date: Fri, 5 Jan 2018 10:34:54 +0000 Message-Id: <1515148494-21578-2-git-send-email-yao.qi@linaro.org> In-Reply-To: <1515148494-21578-1-git-send-email-yao.qi@linaro.org> References: <1515148494-21578-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes When we set bfd/development.sh:$development to false, GDBserver failed to build, selftest.o: In function `selftests::run_tests(char const*)': binutils-gdb/gdb/gdbserver/../common/selftest.c:97:undefined reference to `selftests::reset()' collect2: error: ld returned 1 exit status selftest.o shouldn't be compiled and linked when $development is false. With this patch, in release mode, GDBserver doesn't nothing with option --selftest, $ ./gdbserver --selftest=foo $ ./gdbserver --selftest $ gdb/gdbserver: 2018-01-05 Yao Qi * Makefile.in (OBS): Remove selftest.o. * configure.ac: Set srv_selftest_objs if $development is true. (GDBSERVER_DEPFILES): Append $srv_selftest_objs. * configure: Re-generated. * server.c (captured_main): Wrap variable selftest_filter with GDB_SELF_TEST. --- gdb/gdbserver/Makefile.in | 1 - gdb/gdbserver/configure | 3 ++- gdb/gdbserver/configure.ac | 3 ++- gdb/gdbserver/server.c | 6 ++++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in index caa94a6..3ce086d 100644 --- a/gdb/gdbserver/Makefile.in +++ b/gdb/gdbserver/Makefile.in @@ -261,7 +261,6 @@ OBS = \ regcache.o \ remote-utils.o \ rsp-low.o \ - selftest.o \ server.o \ signals.o \ signals-state-save-restore.o \ diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure index 835dcca..ca51321 100755 --- a/gdb/gdbserver/configure +++ b/gdb/gdbserver/configure @@ -5815,6 +5815,7 @@ fi if $development; then + srv_selftest_objs="selftest.o" $as_echo "#define GDB_SELF_TEST 1" >>confdefs.h @@ -8287,7 +8288,7 @@ $as_echo "#define USE_XML 1" >>confdefs.h done fi -GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles $srv_host_obs" +GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles $srv_host_obs $srv_selftest_objs" GDBSERVER_LIBS="$srv_libs" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports __sync_*_compare_and_swap" >&5 diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac index 916384e..7ea3654 100644 --- a/gdb/gdbserver/configure.ac +++ b/gdb/gdbserver/configure.ac @@ -57,6 +57,7 @@ fi GDB_AC_LIBMCHECK(${libmcheck_default}) if $development; then + srv_selftest_objs="selftest.o" AC_DEFINE(GDB_SELF_TEST, 1, [Define if self-testing features should be enabled]) fi @@ -410,7 +411,7 @@ if test "$srv_xmlfiles" != ""; then done fi -GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles $srv_host_obs" +GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles $srv_host_obs $srv_selftest_objs" GDBSERVER_LIBS="$srv_libs" dnl Check whether the target supports __sync_*_compare_and_swap. diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index 3367555..b6eefb4 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -3560,7 +3560,9 @@ captured_main (int argc, char *argv[]) volatile int attach = 0; int was_running; bool selftest = false; +#if GDB_SELF_TEST const char *selftest_filter = NULL; +#endif while (*next_arg != NULL && **next_arg == '-') { @@ -3684,7 +3686,9 @@ captured_main (int argc, char *argv[]) else if (startswith (*next_arg, "--selftest=")) { selftest = true; +#if GDB_SELF_TEST selftest_filter = *next_arg + strlen ("--selftest="); +#endif } else { @@ -3762,7 +3766,9 @@ captured_main (int argc, char *argv[]) if (selftest) { +#if GDB_SELF_TEST selftests::run_tests (selftest_filter); +#endif throw_quit ("Quit"); }