Add support to readelf for the OpenBSD segment types.
authorNick Clifton <nickc@redhat.com>
Wed, 26 Aug 2020 14:13:41 +0000 (15:13 +0100)
committerNick Clifton <nickc@redhat.com>
Wed, 26 Aug 2020 14:15:10 +0000 (15:15 +0100)
PR 26405
binutils* readelf.c (get_segment_type): Handle OpenBSD segment types.

include * elf/common.h (PT_OPENBSD_BOOTDATA): Define.
(PT_OPENBSD_RANDOMIZE): Define.
(PT_OPENBSD_WXNEEDED): Define.

binutils/ChangeLog
binutils/readelf.c
include/ChangeLog
include/elf/common.h

index bf56cc1a59fb5e2387ac78072c19d26d2b2e1be9..7551db27d220ff077b50f4c751bb4db7ab18e8ff 100644 (file)
@@ -1,3 +1,8 @@
+2020-08-26  Nick Clifton  <nickc@redhat.com>
+
+       PR 26405
+       * readelf.c (get_segment_type): Handle OpenBSD segment types.
+
 2020-08-26  Alan Modra  <amodra@gmail.com>
 
        PR 26412
index 86be92e3b0039d84e9cf40cd96869fdc3738580e..7f228f1a7b004e2f175930e1804c25a13943bd68 100644 (file)
@@ -4030,6 +4030,10 @@ get_segment_type (Filedata * filedata, unsigned long p_type)
     case PT_GNU_RELRO:  return "GNU_RELRO";
     case PT_GNU_PROPERTY: return "GNU_PROPERTY";
 
+    case PT_OPENBSD_RANDOMIZE: return "OPENBSD_RANDOMIZE";
+    case PT_OPENBSD_WXNEEDED: return "OPENBSD_WXNEEDED";
+    case PT_OPENBSD_BOOTDATA: return "OPENBSD_BOOTDATA";
+      
     default:
       if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
        {
index b51a186fc6e21cd1ef575a725480f845354931e0..5b2bb61ba0cb949693adb4e7bb435ee7f7a419f3 100644 (file)
@@ -1,3 +1,10 @@
+2020-08-26  Nick Clifton  <nickc@redhat.com>
+
+       PR 26405
+       * elf/common.h (PT_OPENBSD_BOOTDATA): Define.
+       (PT_OPENBSD_RANDOMIZE): Define.
+       (PT_OPENBSD_WXNEEDED): Define.
+
 2020-08-26  Alan Modra  <amodra@gmail.com>
 
        PR 26458
index efef412caafe35cadf9febf58566e6b852d6ef0e..805058146ab10da8782b1d1db11a9f3ae2e9951c 100644 (file)
 #define PT_GNU_RELRO   (PT_LOOS + 0x474e552) /* Read-only after relocation */
 #define PT_GNU_PROPERTY        (PT_LOOS + 0x474e553) /* GNU property */
 
+/* OpenBSD segment types.  */
+#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.  */
+
 /* Mbind segments */
 #define PT_GNU_MBIND_NUM 4096
 #define PT_GNU_MBIND_LO (PT_LOOS + 0x474e555)