diff options
author | Yao Qi <yao.qi@linaro.org> | 2016-01-06 12:11:41 +0000 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2016-01-06 15:00:58 +0000 |
commit | b2ca446f682854c2b187178358b97174bf313fa7 (patch) | |
tree | d67cd821cb7d1cd0b9b95dab886e08cb462cabbe | |
parent | b05a65d0adb340e4129f62c1d380a09935ee433d (diff) | |
download | gdb-b2ca446f682854c2b187178358b97174bf313fa7.zip gdb-b2ca446f682854c2b187178358b97174bf313fa7.tar.gz gdb-b2ca446f682854c2b187178358b97174bf313fa7.tar.bz2 |
[ARM/AArch64] Fix -Werror=unused-const-variable warnings in GDBserver
This patch fixes gcc warning when build ARM GDBserver and AArch64
GDBserver,
AArch64 GDBserver:
gdb/gdbserver/linux-aarch32-low.h:36:29: error: 'thumb2_breakpoint' defined but not used [-Werror=unused-const-variable]
static const unsigned short thumb2_breakpoint[] = { 0xf7f0, 0xa000 };
^
gdb/gdbserver/linux-aarch32-low.h:34:29: error: 'thumb_breakpoint' defined but not used [-Werror=unused-const-variable]
static const unsigned short thumb_breakpoint = 0xde01;
^
gdb/gdbserver/linux-aarch32-low.h:28:28: error: 'arm_breakpoint' defined but not used [-Werror=unused-const-variable]
static const unsigned long arm_breakpoint = arm_eabi_breakpoint;
^
cc1: all warnings being treated as errors
ARM GDBserver:
gdb/gdbserver/linux-aarch32-low.h:34:29: error: 'thumb_breakpoint' defined but not used [-Werror=unused-const-variable]
static const unsigned short thumb_breakpoint = 0xde01;
^~~~~~~~~~~~~~~~
gdb/gdbserver/linux-aarch32-low.h:28:28: error: 'arm_breakpoint' defined but not used [-Werror=unused-const-variable]
static const unsigned long arm_breakpoint = arm_eabi_breakpoint;
^~~~~~~~~~~~~~
by simply moving these macros and variables to
linux-aarch32-low.c and only declare thumb2_breakpoint in
linux-aarch32-low.h, which is not perfect, and reveals some issues
in recent arm GDBserver software single step changes. I'll post
follow-up patches.
gdb/gdbserver:
2016-01-06 Yao Qi <yao.qi@linaro.org>
* linux-aarch32-low.h (arm_abi_breakpoint): Move to
linux-aarch32-low.c.
(arm_eabi_breakpoint, arm_breakpoint): Likewise.
(arm_breakpoint_len, thumb_breakpoint_len): Likewise.
(thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
(thumb2_breakpoint): Declare.
* linux-aarch32-low.c (arm_abi_breakpoint): Moved from
linux-aarch32-low.h.
(arm_eabi_breakpoint, arm_breakpoint): Likewise.
(arm_breakpoint_len, thumb_breakpoint_len): Likewise.
(thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
-rw-r--r-- | gdb/gdbserver/ChangeLog | 14 | ||||
-rw-r--r-- | gdb/gdbserver/linux-aarch32-low.c | 21 | ||||
-rw-r--r-- | gdb/gdbserver/linux-aarch32-low.h | 21 |
3 files changed, 36 insertions, 20 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 6f6eb1d..0c9e73e 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,17 @@ +2016-01-06 Yao Qi <yao.qi@linaro.org> + + * linux-aarch32-low.h (arm_abi_breakpoint): Move to + linux-aarch32-low.c. + (arm_eabi_breakpoint, arm_breakpoint): Likewise. + (arm_breakpoint_len, thumb_breakpoint_len): Likewise. + (thumb2_breakpoint, thumb2_breakpoint_len): Likewise. + (thumb2_breakpoint): Declare. + * linux-aarch32-low.c (arm_abi_breakpoint): Moved from + linux-aarch32-low.h. + (arm_eabi_breakpoint, arm_breakpoint): Likewise. + (arm_breakpoint_len, thumb_breakpoint_len): Likewise. + (thumb2_breakpoint, thumb2_breakpoint_len): Likewise. + 2016-01-01 Joel Brobecker <brobecker@adacore.com> * gdbreplay.c (gdbreplay_version): Change copyright year in diff --git a/gdb/gdbserver/linux-aarch32-low.c b/gdb/gdbserver/linux-aarch32-low.c index 74deca3..ed66e08 100644 --- a/gdb/gdbserver/linux-aarch32-low.c +++ b/gdb/gdbserver/linux-aarch32-low.c @@ -27,6 +27,27 @@ #include <elf.h> #endif +/* Correct in either endianness. */ +#define arm_abi_breakpoint 0xef9f0001UL + +/* For new EABI binaries. We recognize it regardless of which ABI + is used for gdbserver, so single threaded debugging should work + OK, but for multi-threaded debugging we only insert the current + ABI's breakpoint instruction. For now at least. */ +#define arm_eabi_breakpoint 0xe7f001f0UL + +#if (defined __ARM_EABI__ || defined __aarch64__) +static const unsigned long arm_breakpoint = arm_eabi_breakpoint; +#else +static const unsigned long arm_breakpoint = arm_abi_breakpoint; +#endif + +#define arm_breakpoint_len 4 +static const unsigned short thumb_breakpoint = 0xde01; +#define thumb_breakpoint_len 2 +const unsigned short thumb2_breakpoint[] = { 0xf7f0, 0xa000 }; +#define thumb2_breakpoint_len 4 + /* Some older versions of GNU/Linux and Android do not define the following macros. */ #ifndef NT_ARM_VFP diff --git a/gdb/gdbserver/linux-aarch32-low.h b/gdb/gdbserver/linux-aarch32-low.h index c8f6646..5c68454 100644 --- a/gdb/gdbserver/linux-aarch32-low.h +++ b/gdb/gdbserver/linux-aarch32-low.h @@ -15,26 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* Correct in either endianness. */ -#define arm_abi_breakpoint 0xef9f0001UL - -/* For new EABI binaries. We recognize it regardless of which ABI - is used for gdbserver, so single threaded debugging should work - OK, but for multi-threaded debugging we only insert the current - ABI's breakpoint instruction. For now at least. */ -#define arm_eabi_breakpoint 0xe7f001f0UL - -#if (defined __ARM_EABI__ || defined __aarch64__) -static const unsigned long arm_breakpoint = arm_eabi_breakpoint; -#else -static const unsigned long arm_breakpoint = arm_abi_breakpoint; -#endif - -#define arm_breakpoint_len 4 -static const unsigned short thumb_breakpoint = 0xde01; -#define thumb_breakpoint_len 2 -static const unsigned short thumb2_breakpoint[] = { 0xf7f0, 0xa000 }; -#define thumb2_breakpoint_len 4 +extern const unsigned short thumb2_breakpoint[]; extern struct regs_info regs_info_aarch32; |