[PATCH] Fix compiler warnings building against Linux uapi headers
enh
enh@google.com
Mon Jun 22 19:09:00 GMT 2015
building gdb against the Linux kernel's uapi headers (as used by
Android's bionic C library) causes warnings such as:
gdb/gdbserver/linux-arm-low.c:122:0: warning: "HWCAP_VFP" redefined
[enabled by default]
because linux-arm-low.c has #defines like this:
#define HWCAP_VFP 64
but the current Linux kernel #define looks like this instead:
#define HWCAP_VFP (1 << 6)
I don't know whether you still need to support versions of glibc that
don't have these constants at all; if you don't, a better fix would be
to remove gdbserver's duplicate definitions. But on the assumption
that you do need to support old versions of glibc, here's a patch to
avoid the redefinition...
2015-06-22 Elliott Hughes <enh@google.com>
* linux-arm-low.c: Only define HWCAP_VFP and friends if they're
not already defined. Fixes build against Linux uapi headers.
diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c
index 303d9c8..f199b1c 100644
--- a/gdb/gdbserver/linux-arm-low.c
+++ b/gdb/gdbserver/linux-arm-low.c
@@ -119,11 +119,21 @@ struct arch_lwp_info
static unsigned long arm_hwcap;
/* These are in <asm/elf.h> in current kernels. */
+#ifndef HWCAP_VFP
#define HWCAP_VFP 64
+#endif
+#ifndef HWCAP_IWMMXT
#define HWCAP_IWMMXT 512
+#endif
+#ifndef HWCAP_NEON
#define HWCAP_NEON 4096
+#endif
+#ifndef HWCAP_VFPv3
#define HWCAP_VFPv3 8192
+#endif
+#ifndef HWCAP_VFPv3D16
#define HWCAP_VFPv3D16 16384
+#endif
#ifdef HAVE_SYS_REG_H
#include <sys/reg.h>
More information about the Gdb-patches
mailing list