From 21dff1801f13b22d348f7e833e6714aa31d3aa59 Mon Sep 17 00:00:00 2001 From: Conrad Meyer Date: Sat, 21 Jan 2017 17:39:10 +0000 Subject: [PATCH] Add remaining ELF compression definitions and structs A follow-up to r300231. Sponsored by: Dell EMC Isilon --- sys/sys/elf32.h | 6 ++++++ sys/sys/elf64.h | 7 +++++++ sys/sys/elf_common.h | 7 +++++++ 3 files changed, 20 insertions(+) diff --git a/sys/sys/elf32.h b/sys/sys/elf32.h index 03a546c892c3..0aa3142ed119 100644 --- a/sys/sys/elf32.h +++ b/sys/sys/elf32.h @@ -254,4 +254,10 @@ typedef struct { Elf32_Half si_flags; /* per symbol flags */ } Elf32_Syminfo; +typedef struct { + Elf32_Word ch_type; + Elf32_Word ch_size; + Elf32_Word ch_addralign; +} Elf32_Chdr; + #endif /* !_SYS_ELF32_H_ */ diff --git a/sys/sys/elf64.h b/sys/sys/elf64.h index f0696196d55f..a309dfc6843e 100644 --- a/sys/sys/elf64.h +++ b/sys/sys/elf64.h @@ -257,4 +257,11 @@ typedef struct { Elf64_Half si_flags; /* per symbol flags */ } Elf64_Syminfo; +typedef struct { + Elf64_Word ch_type; + Elf64_Word ch_reserved; + Elf64_Xword ch_size; + Elf64_Xword ch_addralign; +} Elf64_Chdr; + #endif /* !_SYS_ELF64_H_ */ diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h index ede4b13a2c5e..e8a8709f37ef 100644 --- a/sys/sys/elf_common.h +++ b/sys/sys/elf_common.h @@ -849,6 +849,13 @@ typedef struct { #define SYMINFO_CURRENT 1 #define SYMINFO_NUM 2 +/* Values for ch_type (compressed section headers). */ +#define ELFCOMPRESS_ZLIB 1 /* ZLIB/DEFLATE */ +#define ELFCOMPRESS_LOOS 0x60000000 /* OS-specific */ +#define ELFCOMPRESS_HIOS 0x6fffffff +#define ELFCOMPRESS_LOPROC 0x70000000 /* Processor-specific */ +#define ELFCOMPRESS_HIPROC 0x7fffffff + /* * Relocation types. *