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

Frederic Cambus fred@statdns.com
Fri Mar 17 07:50:42 GMT 2023


binutils/ChangeLog:

2023-03-17  Frederic Cambus  <fred@statdns.com>

	* readelf.c (get_segment_type): Handle PT_OPENBSD_MUTABLE segment type.

include/ChangeLog:

2023-03-17  Frederic Cambus  <fred@statdns.com>

	* elf/common.h (PT_OPENBSD_MUTABLE): Define.
---
 binutils/readelf.c   | 1 +
 include/elf/common.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/binutils/readelf.c b/binutils/readelf.c
index 0d9d2017901..33df75561c1 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -4643,6 +4643,7 @@ get_segment_type (Filedata * filedata, unsigned long p_type)
     case PT_OPENBSD_RANDOMIZE: return "OPENBSD_RANDOMIZE";
     case PT_OPENBSD_WXNEEDED: return "OPENBSD_WXNEEDED";
     case PT_OPENBSD_BOOTDATA: return "OPENBSD_BOOTDATA";
+    case PT_OPENBSD_MUTABLE: return "OPENBSD_MUTABLE";
 
     default:
       if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
diff --git a/include/elf/common.h b/include/elf/common.h
index d19d6f9927d..e99f2bb864e 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -492,6 +492,7 @@
 #define PT_GNU_SFRAME	(PT_LOOS + 0x474e554) /* SFrame stack trace information */
 
 /* OpenBSD segment types.  */
+#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_BOOTDATA  (PT_LOOS + 0x5a41be6)  /* Section for boot arguments.  */
-- 
2.39.2



More information about the Binutils mailing list