[PATCH] Add support to readelf for the PT_OPENBSD_NOBTCFI segment type.

Frederic Cambus fred@statdns.com
Thu Sep 21 14:31:16 GMT 2023


binutils * readelf.c (get_segment_type): Handle PT_OPENBSD_NOBTCFI segment type.
include  * elf/common.h (PT_OPENBSD_NOBTCFI): Define.
---
 binutils/ChangeLog   | 5 +++++
 binutils/readelf.c   | 1 +
 include/ChangeLog    | 4 ++++
 include/elf/common.h | 1 +
 4 files changed, 11 insertions(+)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index ac14aff1827..4e58cc2e3dd 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2023-09-21  Frederic Cambus  <fred@statdns.com>
+
+	* readelf.c (get_segment_type): Handle PT_OPENBSD_NOBTCFI segment
+	type.
+
 2023-09-05  Nick Clifton  <nickc@redhat.com>
 
 	PR 30684
diff --git a/binutils/readelf.c b/binutils/readelf.c
index e9935c010cf..be2f3851c63 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -5082,6 +5082,7 @@ get_segment_type (Filedata * filedata, unsigned long p_type)
     case PT_OPENBSD_MUTABLE: return "OPENBSD_MUTABLE";
     case PT_OPENBSD_RANDOMIZE: return "OPENBSD_RANDOMIZE";
     case PT_OPENBSD_WXNEEDED: return "OPENBSD_WXNEEDED";
+    case PT_OPENBSD_NOBTCFI: return "OPENBSD_NOBTCFI";
     case PT_OPENBSD_BOOTDATA: return "OPENBSD_BOOTDATA";
 
     default:
diff --git a/include/ChangeLog b/include/ChangeLog
index eb54da44146..90eb51f9208 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2023-09-21  Frederic Cambus  <fred@statdns.com>
+
+	* elf/common.h (PT_OPENBSD_NOBTCFI): Define.
+
 2023-08-02  Tom Tromey  <tromey@adacore.com>
 
 	* coff/x86_64.h (COFF_X86_64_H): Add include guard.
diff --git a/include/elf/common.h b/include/elf/common.h
index 932ea94e3ae..ad95dbc965f 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -495,6 +495,7 @@
 #define PT_OPENBSD_MUTABLE   (PT_LOOS + 0x5a3dbe5)  /* Like bss, but not immutable.  */
 #define PT_OPENBSD_RANDOMIZE (PT_LOOS + 0x5a3dbe6)  /* Fill with random data.  */
 #define PT_OPENBSD_WXNEEDED  (PT_LOOS + 0x5a3dbe7)  /* Program does W^X violations.  */
+#define PT_OPENBSD_NOBTCFI   (PT_LOOS + 0x5a3dbe8)  /* no branch target CFI.  */
 #define PT_OPENBSD_BOOTDATA  (PT_LOOS + 0x5a41be6)  /* Section for boot arguments.  */
 
 /* Mbind segments */
-- 
2.41.0



More information about the Binutils mailing list