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