This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] [ARM/AArch64] Fix -Werror=unused-const-variable warnings in GDBserver


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b2ca446f682854c2b187178358b97174bf313fa7

commit b2ca446f682854c2b187178358b97174bf313fa7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Jan 6 12:11:41 2016 +0000

    [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.

Diff:
---
 gdb/gdbserver/ChangeLog           | 14 ++++++++++++++
 gdb/gdbserver/linux-aarch32-low.c | 21 +++++++++++++++++++++
 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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]