]> sourceware.org Git - glibc.git/commitdiff
elf.h: Add section compression constants and structures.
authorMark Wielaard <mjw@redhat.com>
Fri, 1 May 2015 14:21:55 +0000 (16:21 +0200)
committerMark Wielaard <mjw@redhat.com>
Fri, 1 May 2015 20:48:19 +0000 (22:48 +0200)
Add SHF_COMPRESSED section flag, Elf32_Chdr and Elf64_Chdr structs and
ELFCOMPRESS constants to elf/elf.h.

ChangeLog
elf/elf.h

index 739581704510029f039741659229ea8aac3e3a23..2cd829a744d0850c75a989cdbf735c43db9ecc8f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-01  Mark Wielaard  <mjw@redhat.com>
+
+       * elf/elf.h: Add SHF_COMPRESSED section flag, Elf32_Chdr and
+       Elf64_Chdr structs and ELFCOMPRESS constants.
+
 2015-05-01  Joseph Myers  <joseph@codesourcery.com>
 
        * math/auto-libm-test-in: Add more tests of exp, exp10, exp2 and
index 39bafc225c4a70d5a92fbe99ed55fa48bd211046..12feb915bf6e7f61b50ae1caf6bb24735c91f702 100644 (file)
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -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.  */
 
This page took 0.121817 seconds and 5 git commands to generate.