From: Simon Marchi Date: Tue, 28 Aug 2018 17:29:32 +0000 (-0400) Subject: Get rid of -Wodr warning (PR build/23399) X-Git-Tag: users/ARM/embedded-binutils-master-2018q4~970 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ad202fcc2277f351d41d4d4e897ad4f6d7c9f043;p=external%2Fbinutils.git 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. --- 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 + + 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 * 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 -#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 + + PR build/23399 + * tracepoint.c (IPA_SYM_STRUCT_NAME): Define. + 2018-08-27 Tom Tromey 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 @@ -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