summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Machado <luis.machado@arm.com>2022-06-28 14:08:46 +0100
committerLuis Machado <luis.machado@arm.com>2022-07-19 14:24:00 +0100
commit3c539d41b48e5a70cc22b0151ee79b8bd752341d (patch)
tree48883e6f16ce689be359fb9fc82df0c912a3706c
parent76e4fa70e79ee959c0e11eaacd4cf863291b1ddb (diff)
downloadbinutils-gdb-3c539d41b48e5a70cc22b0151ee79b8bd752341d.tar.gz
[AArch64] Fix testcase compilation failure
Newer distros carry newer headers that contains MTE definitions. Account for that fact in the MTE testcases (gdb.arch/aarch64-mte.exp) and define constants conditionally to prevent compilation failures.
-rw-r--r--gdb/testsuite/gdb.arch/aarch64-mte.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/gdb/testsuite/gdb.arch/aarch64-mte.c b/gdb/testsuite/gdb.arch/aarch64-mte.c
index bd7f1a6cf53..fc38d58fe5e 100644
--- a/gdb/testsuite/gdb.arch/aarch64-mte.c
+++ b/gdb/testsuite/gdb.arch/aarch64-mte.c
@@ -30,22 +30,27 @@
#include <sys/prctl.h>
/* From arch/arm64/include/uapi/asm/hwcap.h */
+#ifndef HWCAP2_MTE
#define HWCAP2_MTE (1 << 18)
+#endif
/* From arch/arm64/include/uapi/asm/mman.h */
+#ifndef PROT_MTE
#define PROT_MTE 0x20
+#endif
-/* From include/uapi/linux/prctl.h */
+#ifndef PR_SET_TAGGED_ADDR_CTRL
#define PR_SET_TAGGED_ADDR_CTRL 55
-#define PR_GET_TAGGED_ADDR_CTRL 56
#define PR_TAGGED_ADDR_ENABLE (1UL << 0)
+#endif
+
+/* From include/uapi/linux/prctl.h */
+#ifndef PR_MTE_TCF_SHIFT
#define PR_MTE_TCF_SHIFT 1
-#define PR_MTE_TCF_NONE (0UL << PR_MTE_TCF_SHIFT)
#define PR_MTE_TCF_SYNC (1UL << PR_MTE_TCF_SHIFT)
#define PR_MTE_TCF_ASYNC (2UL << PR_MTE_TCF_SHIFT)
-#define PR_MTE_TCF_MASK (3UL << PR_MTE_TCF_SHIFT)
#define PR_MTE_TAG_SHIFT 3
-#define PR_MTE_TAG_MASK (0xffffUL << PR_MTE_TAG_SHIFT)
+#endif
void
access_memory (unsigned char *tagged_ptr, unsigned char *untagged_ptr)