diff options
author | dchagin <dchagin@FreeBSD.org> | 2009-03-13 16:40:51 +0000 |
---|---|---|
committer | dchagin <dchagin@FreeBSD.org> | 2009-03-13 16:40:51 +0000 |
commit | 2408b715a04f6a51269044473eb72c51e41c48dd (patch) | |
tree | fbdbeeec5ea5a4eb25824f4c5ab07ffceb56db40 /sys/sys/imgact_elf.h | |
parent | 2e55cf9c4afa6978ed9052a4aa6e13b410d79ced (diff) | |
download | FreeBSD-src-2408b715a04f6a51269044473eb72c51e41c48dd.zip FreeBSD-src-2408b715a04f6a51269044473eb72c51e41c48dd.tar.gz |
Implement new way of branding ELF binaries by looking to a
".note.ABI-tag" section.
The search order of a brand is changed, now first of all the
".note.ABI-tag" is looked through.
Move code which fetch osreldate for ELF binary to check_note() handler.
PR: 118473
Approved by: kib (mentor)
Diffstat (limited to 'sys/sys/imgact_elf.h')
-rw-r--r-- | sys/sys/imgact_elf.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/sys/imgact_elf.h b/sys/sys/imgact_elf.h index deb5b10..a5c8714 100644 --- a/sys/sys/imgact_elf.h +++ b/sys/sys/imgact_elf.h @@ -55,6 +55,13 @@ typedef struct { } __ElfN(Auxargs); typedef struct { + Elf_Note hdr; + const char * vendor; + int flags; +#define BN_CAN_FETCH_OSREL 0x0001 +} Elf_Brandnote; + +typedef struct { int brand; int machine; const char *compat_3_brand; /* pre Binutils 2.10 method (FBSD 3) */ @@ -62,6 +69,7 @@ typedef struct { const char *interp_path; struct sysentvec *sysvec; const char *interp_newpath; + Elf_Brandnote *brand_note; int flags; #define BI_CAN_EXEC_DYN 0x0001 } __ElfN(Brandinfo); @@ -81,7 +89,7 @@ int __elfN(coredump)(struct thread *, struct vnode *, off_t); void __elfN(dump_thread)(struct thread *, void *, size_t *); extern int __elfN(fallback_brand); - +extern Elf_Brandnote __elfN(freebsd_brandnote); #endif /* _KERNEL */ #endif /* !_SYS_IMGACT_ELF_H_ */ |