elf.h: Add section compression constants and structures.

Add SHF_COMPRESSED section flag, Elf32_Chdr and Elf64_Chdr structs and
ELFCOMPRESS constants to elf/elf.h.
This commit is contained in:
Mark Wielaard 2015-05-01 16:21:55 +02:00
parent e1483b365d
commit b4336ba4f5
2 changed files with 30 additions and 0 deletions

View File

@ -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

View 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. */