From: Mihails Strasuns <mihails.strasuns@intel.com>
To: gdb-patches@sourceware.org
Subject: [PATCH v3 3/9] [gdb/testsuite] share jit-protocol.h by all jit tests
Date: Tue, 31 Mar 2020 19:13:50 +0200 [thread overview]
Message-ID: <20200331171356.26126-3-mihails.strasuns@intel.com> (raw)
In-Reply-To: <20200331171356.26126-1-mihails.strasuns@intel.com>
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 <mihails.strasuns@intel.com>
* 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 <mihails.strasuns@intel.com>
---
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 <stdint.h>
#include <pthread.h>
-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 <sys/stat.h>
#include <unistd.h>
+#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..2b2e902fe7 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 __attribute__((noinline)) __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 <stdint.h>
-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
--
2.25.2
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Gary Kershaw
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928
next prev parent reply other threads:[~2020-03-31 17:12 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <166773>
2020-03-31 17:13 ` [PATCH v3 1/9] [gdb/testsuite] allow more registers in reader test Mihails Strasuns
2020-03-31 17:13 ` [PATCH v3 2/9] [gdb/testsuite] structured rename of jit test files Mihails Strasuns
2020-04-18 2:35 ` Simon Marchi
2020-03-31 17:13 ` Mihails Strasuns [this message]
2020-04-18 2:38 ` [PATCH v3 3/9] [gdb/testsuite] share jit-protocol.h by all jit tests Simon Marchi
2020-03-31 17:13 ` [PATCH v3 4/9] [gdb/testsuite] use args as lib list for jit-elf tests Mihails Strasuns
2020-04-18 2:58 ` Simon Marchi
2020-04-20 7:35 ` Strasuns, Mihails
2020-04-20 13:08 ` Simon Marchi
2020-04-20 13:53 ` Simon Marchi
2020-03-31 17:13 ` [PATCH v3 5/9] [gdb/testsuite] add lib/jit-elf-helpers.exp Mihails Strasuns
2020-03-31 17:13 ` [PATCH v3 6/9] [gdb/testsuite] use -Ttext-segment for jit-elf tests Mihails Strasuns
2020-03-31 17:13 ` [PATCH v3 7/9] [gdb/testsuite] define jit function name via macro Mihails Strasuns
2020-03-31 17:13 ` [PATCH v3 8/9] [gdb/testsuite] add jit-elf-util.h and run jit function Mihails Strasuns
2020-03-31 17:13 ` [PATCH v3 9/9] [gdb/testsuite] handle compilation failures in jit-elf-helpers Mihails Strasuns
2020-04-14 10:08 ` [PATCH v3 1/9] [gdb/testsuite] allow more registers in reader test Strasuns, Mihails
2020-04-18 2:30 ` Simon Marchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200331171356.26126-3-mihails.strasuns@intel.com \
--to=mihails.strasuns@intel.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).