summaryrefslogtreecommitdiffstats
path: root/sys/sys/imgact_elf.h
diff options
context:
space:
mode:
authordchagin <dchagin@FreeBSD.org>2009-03-13 16:40:51 +0000
committerdchagin <dchagin@FreeBSD.org>2009-03-13 16:40:51 +0000
commit2408b715a04f6a51269044473eb72c51e41c48dd (patch)
treefbdbeeec5ea5a4eb25824f4c5ab07ffceb56db40 /sys/sys/imgact_elf.h
parent2e55cf9c4afa6978ed9052a4aa6e13b410d79ced (diff)
downloadFreeBSD-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.h10
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_ */
OpenPOWER on IntegriCloud