aboutsummaryrefslogtreecommitdiff
path: root/gdb/common
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 /gdb/common
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.
Diffstat (limited to 'gdb/common')
-rw-r--r--gdb/common/agent.c8
-rw-r--r--gdb/common/agent.h9
2 files changed, 12 insertions, 5 deletions
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