summaryrefslogtreecommitdiffstats
path: root/sys/compat
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/compat
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/compat')
-rw-r--r--sys/compat/ia32/ia32_sysvec.c4
-rw-r--r--sys/compat/svr4/svr4_sysvec.c1
2 files changed, 4 insertions, 1 deletions
diff --git a/sys/compat/ia32/ia32_sysvec.c b/sys/compat/ia32/ia32_sysvec.c
index 0b32b9a..e5d8828 100644
--- a/sys/compat/ia32/ia32_sysvec.c
+++ b/sys/compat/ia32/ia32_sysvec.c
@@ -148,6 +148,7 @@ static Elf32_Brandinfo ia32_brand_info = {
.interp_path = "/libexec/ld-elf.so.1",
.sysvec = &ia32_freebsd_sysvec,
.interp_newpath = "/libexec/ld-elf32.so.1",
+ .brand_note = &elf32_freebsd_brandnote,
.flags = BI_CAN_EXEC_DYN
};
@@ -163,7 +164,8 @@ static Elf32_Brandinfo ia32_brand_oinfo = {
.interp_path = "/usr/libexec/ld-elf.so.1",
.sysvec = &ia32_freebsd_sysvec,
.interp_newpath = "/libexec/ld-elf32.so.1",
- .flags = BI_CAN_EXEC_DYN,
+ .brand_note = &elf32_freebsd_brandnote,
+ .flags = BI_CAN_EXEC_DYN
};
SYSINIT(oia32, SI_SUB_EXEC, SI_ORDER_ANY,
diff --git a/sys/compat/svr4/svr4_sysvec.c b/sys/compat/svr4/svr4_sysvec.c
index 0030e3a..54406f5 100644
--- a/sys/compat/svr4/svr4_sysvec.c
+++ b/sys/compat/svr4/svr4_sysvec.c
@@ -204,6 +204,7 @@ Elf32_Brandinfo svr4_brand = {
.interp_path = "/lib/libc.so.1",
.sysvec = &svr4_sysvec,
.interp_newpath = NULL,
+ .brand_note = NULL,
.flags = 0
};
OpenPOWER on IntegriCloud