elf.h: Update from glibc. Add section compression constants and structures.
authorMark Wielaard <mjw@redhat.com>
Wed, 14 Oct 2015 15:19:19 +0000 (17:19 +0200)
committerMark Wielaard <mjw@redhat.com>
Thu, 22 Oct 2015 21:25:55 +0000 (23:25 +0200)
Signed-off-by: Mark Wielaard <mjw@redhat.com>
libelf/ChangeLog
libelf/elf.h

index ef74b5b..18d7797 100644 (file)
@@ -1,3 +1,8 @@
+2015-10-14  Mark Wielaard  <mjw@redhat.com>
+
+       * elf.h: Update from glibc. Add section compression constants and
+       structures.
+
 2015-10-20  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
        * elf_begin.c (get_shnum): Elf64_Shdr.sh_size is an Elf64_Xword.
index 39bafc2..12feb91 100644 (file)
@@ -367,6 +367,7 @@ typedef struct
                                           required */
 #define SHF_GROUP           (1 << 9)   /* Section is member of a group.  */
 #define SHF_TLS                     (1 << 10)  /* Section hold thread-local data.  */
+#define SHF_COMPRESSED      (1 << 11)  /* Section with compressed data. */
 #define SHF_MASKOS          0x0ff00000 /* OS-specific.  */
 #define SHF_MASKPROC        0xf0000000 /* Processor-specific */
 #define SHF_ORDERED         (1 << 30)  /* Special ordering requirement
@@ -374,6 +375,30 @@ typedef struct
 #define SHF_EXCLUDE         (1U << 31) /* Section is excluded unless
                                           referenced or allocated (Solaris).*/
 
+/* Section compression header.  Used when SHF_COMPRESSED is set.  */
+
+typedef struct
+{
+  Elf32_Word   ch_type;        /* Compression format.  */
+  Elf32_Word   ch_size;        /* Uncompressed data size.  */
+  Elf32_Word   ch_addralign;   /* Uncompressed data alignment.  */
+} Elf32_Chdr;
+
+typedef struct
+{
+  Elf64_Word   ch_type;        /* Compression format.  */
+  Elf64_Word   ch_reserved;
+  Elf64_Xword  ch_size;        /* Uncompressed data size.  */
+  Elf64_Xword  ch_addralign;   /* Uncompressed data alignment.  */
+} Elf64_Chdr;
+
+/* Legal values for ch_type (compression algorithm).  */
+#define ELFCOMPRESS_ZLIB       1          /* ZLIB/DEFLATE algorithm.  */
+#define ELFCOMPRESS_LOOS       0x60000000 /* Start of OS-specific.  */
+#define ELFCOMPRESS_HIOS       0x6fffffff /* End of OS-specific.  */
+#define ELFCOMPRESS_LOPROC     0x70000000 /* Start of processor-specific.  */
+#define ELFCOMPRESS_HIPROC     0x7fffffff /* End of processor-specific.  */
+
 /* Section group handling.  */
 #define GRP_COMDAT     0x1             /* Mark group as COMDAT.  */