aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSchimpe, Christina <christina.schimpe@intel.com>2023-12-27 14:19:21 +0000
committerH.J. Lu <hjl.tools@gmail.com>2023-12-28 07:51:14 -0800
commiteccdc733a50980adc99178645ea4d5c2949c7e90 (patch)
treedb3b759f9da869fb51e9aec62245301c58e39cb2
parentcca90632f83d47bc7f913e098c4531e52327d272 (diff)
downloadbinutils-eccdc733a50980adc99178645ea4d5c2949c7e90.zip
binutils-eccdc733a50980adc99178645ea4d5c2949c7e90.tar.gz
binutils-eccdc733a50980adc99178645ea4d5c2949c7e90.tar.bz2
x86: Add NT_X86_SHSTK note
Define NT_X86_SHSTK which is the note for x86 Shadow Stack (SHSTK) to support Intel SHSTK in Linux kernel. For now only userspace shadow stack and kernel IBT are supported by the linux kernel. This note should be used instead of NT_X86_CET introduced in the commit "x86: Add NT_X86_CET note", as it is outdated and only used by old binutils versions.
-rw-r--r--binutils/readelf.c2
-rw-r--r--include/elf/common.h3
2 files changed, 5 insertions, 0 deletions
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 775106f..a464692 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -20079,6 +20079,8 @@ get_note_type (Filedata * filedata, unsigned e_type)
return _("NT_X86_XSTATE (x86 XSAVE extended state)");
case NT_X86_CET:
return _("NT_X86_CET (x86 CET state)");
+ case NT_X86_SHSTK:
+ return _("NT_X86_SHSTK (x86 SHSTK state)");
case NT_S390_HIGH_GPRS:
return _("NT_S390_HIGH_GPRS (s390 upper register halves)");
case NT_S390_TIMER:
diff --git a/include/elf/common.h b/include/elf/common.h
index 244b133..690d780 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -645,6 +645,9 @@
/* note name must be "LINUX". */
#define NT_X86_CET 0x203 /* x86 CET state. */
/* note name must be "LINUX". */
+#define NT_X86_SHSTK 0x204 /* x86 SHSTK state. */
+ /* This replaces NT_X86_CET (0x203). */
+ /* note name must be "LINUX". */
#define NT_S390_HIGH_GPRS 0x300 /* S/390 upper halves of GPRs */
/* note name must be "LINUX". */
#define NT_S390_TIMER 0x301 /* S390 timer */