diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2018-08-28 13:29:32 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2018-08-28 17:23:16 -0400 |
commit | ad202fcc2277f351d41d4d4e897ad4f6d7c9f043 (patch) | |
tree | c26bf79e57c584e66195e2527eb5033224ba2b97 /gdb/common | |
parent | ead9aa39bfc80007336bc96c6374df7f79341485 (diff) | |
download | binutils-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.c | 8 | ||||
-rw-r--r-- | gdb/common/agent.h | 9 |
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 |