aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2018-08-28 13:29:32 -0400
committerSimon Marchi <simon.marchi@ericsson.com>2018-08-28 17:23:16 -0400
commitad202fcc2277f351d41d4d4e897ad4f6d7c9f043 (patch)
treec26bf79e57c584e66195e2527eb5033224ba2b97
parentead9aa39bfc80007336bc96c6374df7f79341485 (diff)
downloadbinutils-ad202fcc2277f351d41d4d4e897ad4f6d7c9f043.zip
binutils-ad202fcc2277f351d41d4d4e897ad4f6d7c9f043.tar.gz
binutils-ad202fcc2277f351d41d4d4e897ad4f6d7c9f043.tar.bz2
Get rid of -Wodr warning (PR build/23399)
The PR reports that building with -Wodr -flto complains about different versions of struct ipa_sym_addresses, in common/agent.c and gdbserver/tracepoint.c. This patch renames the version in common to ipa_sym_addresses_common to avoid the name clash. Because the IPA_SYM assumed the name ipa_sym_addresses, it now requires the includer to define the IPA_SYM_STRUCT_NAME macro to define the name of the structure holding the IPA symbol addresses. gdb/ChangeLog: PR build/23399 * common/agent.c (IPA_SYM_STRUCT_NAME): Define. (struct ipa_sym_addresses): Rename to... (struct ipa_sym_addresses_common): ... this. * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME. gdb/gdbserver/ChangeLog: PR build/23399 * tracepoint.c (IPA_SYM_STRUCT_NAME): Define.
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/common/agent.c8
-rw-r--r--gdb/common/agent.h9
-rw-r--r--gdb/gdbserver/ChangeLog5
-rw-r--r--gdb/gdbserver/tracepoint.c4
5 files changed, 28 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3381304..2b64e88 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2018-08-28 Simon Marchi <simon.marchi@polymtl.ca>
+
+ PR build/23399
+ * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
+ (struct ipa_sym_addresses): Rename to...
+ (struct ipa_sym_addresses_common): ... this.
+ * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
+
2018-08-28 Tom Tromey <tom@tromey.com>
* c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
diff --git a/gdb/common/agent.c b/gdb/common/agent.c
index 8f80aee..41884b9 100644
--- a/gdb/common/agent.c
+++ b/gdb/common/agent.c
@@ -21,9 +21,11 @@
#include "target/target.h"
#include "common/symbol.h"
#include <unistd.h>
-#include "agent.h"
#include "filestuff.h"
+#define IPA_SYM_STRUCT_NAME ipa_sym_addresses_common
+#include "agent.h"
+
int debug_agent = 0;
/* A stdarg wrapper for debug_vprintf. */
@@ -48,7 +50,7 @@ int use_agent = 0;
/* Addresses of in-process agent's symbols both GDB and GDBserver cares
about. */
-struct ipa_sym_addresses
+struct ipa_sym_addresses_common
{
CORE_ADDR addr_helper_thread_id;
CORE_ADDR addr_cmd_buf;
@@ -69,7 +71,7 @@ static struct
IPA_SYM(capability),
};
-static struct ipa_sym_addresses ipa_sym_addrs;
+static struct ipa_sym_addresses_common ipa_sym_addrs;
static int all_agent_symbols_looked_up = 0;
diff --git a/gdb/common/agent.h b/gdb/common/agent.h
index 66b6937..5be07b8 100644
--- a/gdb/common/agent.h
+++ b/gdb/common/agent.h
@@ -27,10 +27,15 @@ int agent_run_command (int pid, const char *cmd, int len);
int agent_look_up_symbols (void *);
#define IPA_SYM_EXPORTED_NAME(SYM) gdb_agent_ ## SYM
+
+/* Define an entry in an IPA symbol list array. If IPA_SYM is used, the macro
+ IPA_SYM_STRUCT_NAME must be defined to the structure name holding the IPA
+ symbol addresses in that particular file, before including
+ common/agent.h. */
#define IPA_SYM(SYM) \
{ \
- STRINGIFY (IPA_SYM_EXPORTED_NAME (SYM)), \
- offsetof (struct ipa_sym_addresses, addr_ ## SYM) \
+ STRINGIFY (IPA_SYM_EXPORTED_NAME (SYM)), \
+ offsetof (IPA_SYM_STRUCT_NAME, addr_ ## SYM) \
}
/* The size in bytes of the buffer used to talk to the IPA helper
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index cdc8afd..cd0318c 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,8 @@
+2018-08-28 Simon Marchi <simon.marchi@polymtl.ca>
+
+ PR build/23399
+ * tracepoint.c (IPA_SYM_STRUCT_NAME): Define.
+
2018-08-27 Tom Tromey <tom@tromey.com>
PR build/23087:
diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index ad2a801..9959d05 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -19,7 +19,6 @@
#include "server.h"
#include "tracepoint.h"
#include "gdbthread.h"
-#include "agent.h"
#include "rsp-low.h"
#include <ctype.h>
@@ -30,6 +29,9 @@
#include "ax.h"
#include "tdesc.h"
+#define IPA_SYM_STRUCT_NAME ipa_sym_addresses
+#include "agent.h"
+
#define DEFAULT_TRACE_BUFFER_SIZE 5242880 /* 5*1024*1024 */
/* This file is built for both GDBserver, and the in-process