46 lines
1.9 KiB
Diff
46 lines
1.9 KiB
Diff
|
From 1bbcd2144710c4b1daa9c404df0ebc80c3461747 Mon Sep 17 00:00:00 2001
|
||
|
From: Ilya Leoshkevich <iii@linux.ibm.com>
|
||
|
Date: Thu, 22 Jun 2023 01:03:04 +0200
|
||
|
Subject: [PATCH 11/12] gdb: support rseq auxvs
|
||
|
|
||
|
Linux kernel commit commit 317c8194e6ae ("rseq: Introduce feature size
|
||
|
and alignment ELF auxiliary vector entries") introduced two new auxvs:
|
||
|
AT_RSEQ_FEATURE_SIZE and AT_RSEQ_ALIGN. Support them in GDB. This
|
||
|
fixes auxv.exp on kernels >= v6.3.
|
||
|
---
|
||
|
gdb/auxv.c | 4 ++++
|
||
|
include/elf/common.h | 2 ++
|
||
|
2 files changed, 6 insertions(+)
|
||
|
|
||
|
diff --git a/gdb/auxv.c b/gdb/auxv.c
|
||
|
index 812b2807554..3ce5ccd3342 100644
|
||
|
--- a/gdb/auxv.c
|
||
|
+++ b/gdb/auxv.c
|
||
|
@@ -493,6 +493,10 @@ default_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file,
|
||
|
AUXV_FORMAT_STR);
|
||
|
TAG (AT_RANDOM, _("Address of 16 random bytes"), AUXV_FORMAT_HEX);
|
||
|
TAG (AT_HWCAP2, _("Extension of AT_HWCAP"), AUXV_FORMAT_HEX);
|
||
|
+ TAG (AT_RSEQ_FEATURE_SIZE, _("rseq supported feature size"),
|
||
|
+ AUXV_FORMAT_HEX);
|
||
|
+ TAG (AT_RSEQ_ALIGN, _("rseq allocation alignment"),
|
||
|
+ AUXV_FORMAT_HEX);
|
||
|
TAG (AT_EXECFN, _("File name of executable"), AUXV_FORMAT_STR);
|
||
|
TAG (AT_SECURE, _("Boolean, was exec setuid-like?"), AUXV_FORMAT_DEC);
|
||
|
TAG (AT_SYSINFO, _("Special system info/entry points"), AUXV_FORMAT_HEX);
|
||
|
diff --git a/include/elf/common.h b/include/elf/common.h
|
||
|
index 16587f6fb06..a37b1f9a264 100644
|
||
|
--- a/include/elf/common.h
|
||
|
+++ b/include/elf/common.h
|
||
|
@@ -1353,6 +1353,8 @@
|
||
|
may differ from AT_PLATFORM. */
|
||
|
#define AT_RANDOM 25 /* Address of 16 random bytes. */
|
||
|
#define AT_HWCAP2 26 /* Extension of AT_HWCAP. */
|
||
|
+#define AT_RSEQ_FEATURE_SIZE 27 /* rseq supported feature size */
|
||
|
+#define AT_RSEQ_ALIGN 28 /* rseq allocation alignment */
|
||
|
#define AT_EXECFN 31 /* Filename of executable. */
|
||
|
/* Pointer to the global system page used for system calls and other
|
||
|
nice things. */
|
||
|
--
|
||
|
2.35.3
|
||
|
|