From patchwork Tue Feb 18 12:43:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Strasuns, Mihails" X-Patchwork-Id: 38203 Received: (qmail 112940 invoked by alias); 18 Feb 2020 12:42:48 -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 112875 invoked by uid 89); 18 Feb 2020 12:42:47 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.1 spammy=puts X-HELO: mga03.intel.com Received: from mga03.intel.com (HELO mga03.intel.com) (134.134.136.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 18 Feb 2020 12:42:45 +0000 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Feb 2020 04:42:42 -0800 Received: from labpc7920x-08.iul.intel.com (HELO localhost) ([172.28.49.153]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Feb 2020 04:42:41 -0800 From: Mihails Strasuns To: gdb-patches@sourceware.org Cc: Mihails Strasuns Subject: [PATCH 3/7] [gdb/testsuite] share jit-protocol.h by all jit tests Date: Tue, 18 Feb 2020 13:43:35 +0100 Message-Id: <20200218124339.11270-4-mihails.strasuns@intel.com> In-Reply-To: <20200218124339.11270-1-mihails.strasuns@intel.com> References: <20200218124339.11270-1-mihails.strasuns@intel.com> MIME-Version: 1.0 X-IsSubscribed: yes There was an existing jit-protocol.h defining common symbols needed for JIT-supporting application, however, it was only used by few tests. Others redeclared the same symbols. This unifies all tests to use jit-protocol.h gdb/testsuite/ChangeLog: 2020-02-18 Mihails Strasuns * gdb.base/jit-attach-pie.c: use jit-protocol.h * gdb.base/jit-elf-main.c: use jit-protocol.h * gdb.base/jit-reader-host.c: use jit-protocol.h * gdb.base/jit-reader-simple-jit.c: use jit-protocol.h * gdb.base/jit-protocol.h: update definitions to match all usage contexts Change-Id: I0dbfa7b7dcda0ba7b5f09a2d7530dd6dce88fa1e Signed-off-by: Mihails Strasuns --- gdb/testsuite/gdb.base/jit-attach-pie.c | 24 +----------- gdb/testsuite/gdb.base/jit-elf-main.c | 38 ++----------------- gdb/testsuite/gdb.base/jit-protocol.h | 8 +++- gdb/testsuite/gdb.base/jit-reader-host.c | 3 -- .../gdb.base/jit-reader-simple-jit.c | 25 +----------- 5 files changed, 13 insertions(+), 85 deletions(-) diff --git a/gdb/testsuite/gdb.base/jit-attach-pie.c b/gdb/testsuite/gdb.base/jit-attach-pie.c index 55a03f73ae..fd08233521 100644 --- a/gdb/testsuite/gdb.base/jit-attach-pie.c +++ b/gdb/testsuite/gdb.base/jit-attach-pie.c @@ -19,29 +19,7 @@ #include #include -struct jit_code_entry -{ - struct jit_code_entry *next_entry; - struct jit_code_entry *prev_entry; - const char *symfile_addr; - uint64_t symfile_size; -}; - -struct jit_descriptor -{ - uint32_t version; - /* This type should be jit_actions_t, but we use uint32_t - to be explicit about the bitwidth. */ - uint32_t action_flag; - struct jit_code_entry *relevant_entry; - struct jit_code_entry *first_entry; -}; - -struct jit_descriptor __jit_debug_descriptor = { 1, 0, 0, 0 }; - -void __jit_debug_register_code() -{ -} +#include "jit-protocol.h" static void * thread_proc (void *arg) diff --git a/gdb/testsuite/gdb.base/jit-elf-main.c b/gdb/testsuite/gdb.base/jit-elf-main.c index 40958ef5b5..fe0f540d6f 100644 --- a/gdb/testsuite/gdb.base/jit-elf-main.c +++ b/gdb/testsuite/gdb.base/jit-elf-main.c @@ -29,6 +29,8 @@ #include #include +#include "jit-protocol.h" + /* ElfW is coming from linux. On other platforms it does not exist. Let us define it here. */ #ifndef ElfW @@ -42,38 +44,6 @@ #define _ElfW_1(e,w,t) e##w##t #endif /* !ElfW */ -typedef enum -{ - JIT_NOACTION = 0, - JIT_REGISTER_FN, - JIT_UNREGISTER_FN -} jit_actions_t; - -struct jit_code_entry -{ - struct jit_code_entry *next_entry; - struct jit_code_entry *prev_entry; - const char *symfile_addr; - uint64_t symfile_size; -}; - -struct jit_descriptor -{ - uint32_t version; - /* This type should be jit_actions_t, but we use uint32_t - to be explicit about the bitwidth. */ - uint32_t action_flag; - struct jit_code_entry *relevant_entry; - struct jit_code_entry *first_entry; -}; - -/* GDB puts a breakpoint in this function. */ -void __attribute__((noinline)) __jit_debug_register_code () { } - -/* Make sure to specify the version statically, because the - debugger may check the version before we can set it. */ -struct jit_descriptor __jit_debug_descriptor = { 1, 0, 0, 0 }; - static void usage (const char *const argv0) { @@ -203,7 +173,7 @@ MAIN (int argc, char *argv[]) __jit_debug_descriptor.first_entry = entry; /* Notify GDB. */ - __jit_debug_descriptor.action_flag = JIT_REGISTER_FN; + __jit_debug_descriptor.action_flag = JIT_REGISTER; __jit_debug_register_code (); } @@ -225,7 +195,7 @@ MAIN (int argc, char *argv[]) __jit_debug_descriptor.first_entry = NULL; /* Notify GDB. */ - __jit_debug_descriptor.action_flag = JIT_UNREGISTER_FN; + __jit_debug_descriptor.action_flag = JIT_UNREGISTER; __jit_debug_register_code (); __jit_debug_descriptor.relevant_entry = prev_entry; diff --git a/gdb/testsuite/gdb.base/jit-protocol.h b/gdb/testsuite/gdb.base/jit-protocol.h index 458523e5ff..a3f1a13320 100644 --- a/gdb/testsuite/gdb.base/jit-protocol.h +++ b/gdb/testsuite/gdb.base/jit-protocol.h @@ -38,7 +38,7 @@ struct jit_code_entry { struct jit_code_entry *next_entry; struct jit_code_entry *prev_entry; - void *symfile_addr; + const void *symfile_addr; uint64_t symfile_size; }; @@ -51,4 +51,10 @@ struct jit_descriptor struct jit_code_entry *first_entry; }; +struct jit_descriptor __jit_debug_descriptor = { 1, 0, 0, 0 }; + +void __jit_debug_register_code() +{ +} + #endif /* JIT_PROTOCOL_H */ diff --git a/gdb/testsuite/gdb.base/jit-reader-host.c b/gdb/testsuite/gdb.base/jit-reader-host.c index d07acd54bb..f9c4833083 100644 --- a/gdb/testsuite/gdb.base/jit-reader-host.c +++ b/gdb/testsuite/gdb.base/jit-reader-host.c @@ -26,9 +26,6 @@ #include "jit-reader-host.h" #include "jit-protocol.h" -void __attribute__((noinline)) __jit_debug_register_code () { } - -struct jit_descriptor __jit_debug_descriptor = { 1, 0, 0, 0 }; struct jit_code_entry only_entry; typedef void (jit_function_stack_mangle_t) (void); diff --git a/gdb/testsuite/gdb.base/jit-reader-simple-jit.c b/gdb/testsuite/gdb.base/jit-reader-simple-jit.c index 407666b98b..f446bf2d96 100644 --- a/gdb/testsuite/gdb.base/jit-reader-simple-jit.c +++ b/gdb/testsuite/gdb.base/jit-reader-simple-jit.c @@ -19,32 +19,9 @@ #include -struct jit_code_entry -{ - struct jit_code_entry *next_entry; - struct jit_code_entry *prev_entry; - const char *symfile_addr; - uint64_t symfile_size; -}; - -struct jit_descriptor -{ - uint32_t version; - /* This type should be jit_actions_t, but we use uint32_t - to be explicit about the bitwidth. */ - uint32_t action_flag; - struct jit_code_entry *relevant_entry; - struct jit_code_entry *first_entry; -}; - #ifdef SPACER /* This exists to change the address of __jit_debug_descriptor. */ int spacer = 4; #endif -struct jit_descriptor __jit_debug_descriptor = { 1, 0, 0, 0 }; - -void -__jit_debug_register_code (void) -{ -} +#include "jit-protocol.h" \ No newline at end of file