summaryrefslogtreecommitdiffstats
path: root/sys/sys/imgact_elf.h
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2014-08-18 02:44:56 +0000
committerimp <imp@FreeBSD.org>2014-08-18 02:44:56 +0000
commitfe239ba9cb2cb5e3f974de1dfd10456186514ec6 (patch)
treeffb99ed520cf43d309ffb475a62840ace4a435b9 /sys/sys/imgact_elf.h
parent1ac848ec9ca515e09eb56a1433b198032a08f4c0 (diff)
downloadFreeBSD-src-fe239ba9cb2cb5e3f974de1dfd10456186514ec6.zip
FreeBSD-src-fe239ba9cb2cb5e3f974de1dfd10456186514ec6.tar.gz
Expand the elf brandelf infrastructure to give access to the whole ELF
header (Elf_Ehdr) to determine if a particular interpretor wants to accept it or not. Use this mechanism to filter EABI arm on OABI arm kernels, and vice versa. This method could also be used to implement OABI on EABI arm kernels, if desired, or to allow a single mips kernel to run o32, n32 and n64 binaries. Differential Revision: https://reviews.freebsd.org/D609
Diffstat (limited to 'sys/sys/imgact_elf.h')
-rw-r--r--sys/sys/imgact_elf.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/sys/imgact_elf.h b/sys/sys/imgact_elf.h
index faef5f8..712a55e 100644
--- a/sys/sys/imgact_elf.h
+++ b/sys/sys/imgact_elf.h
@@ -74,6 +74,7 @@ typedef struct {
const char *interp_newpath;
int flags;
Elf_Brandnote *brand_note;
+ boolean_t (*header_supported)(struct image_params *);
#define BI_CAN_EXEC_DYN 0x0001
#define BI_BRAND_NOTE 0x0002 /* May have note.ABI-tag section. */
#define BI_BRAND_NOTE_MANDATORY 0x0004 /* Must have note.ABI-tag section. */
OpenPOWER on IntegriCloud