summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/elf_machdep.c19
-rw-r--r--sys/i386/linux/linux_sysvec.c6
2 files changed, 21 insertions, 4 deletions
diff --git a/sys/i386/i386/elf_machdep.c b/sys/i386/i386/elf_machdep.c
index 48cb238..8bed56a 100644
--- a/sys/i386/i386/elf_machdep.c
+++ b/sys/i386/i386/elf_machdep.c
@@ -78,15 +78,30 @@ static Elf32_Brandinfo freebsd_brand_info = {
ELFOSABI_FREEBSD,
EM_386,
"FreeBSD",
- "",
+ NULL,
"/libexec/ld-elf.so.1",
- &elf32_freebsd_sysvec
+ &elf32_freebsd_sysvec,
+ NULL,
};
SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t) elf32_insert_brand_entry,
&freebsd_brand_info);
+static Elf32_Brandinfo freebsd_brand_oinfo = {
+ ELFOSABI_FREEBSD,
+ EM_386,
+ "FreeBSD",
+ NULL,
+ "/usr/libexec/ld-elf.so.1",
+ &elf32_freebsd_sysvec,
+ NULL,
+ };
+
+SYSINIT(oelf32, SI_SUB_EXEC, SI_ORDER_ANY,
+ (sysinit_cfunc_t) elf32_insert_brand_entry,
+ &freebsd_brand_oinfo);
+
/* Process one elf relocation with addend. */
static int
elf_reloc_internal(linker_file_t lf, const void *data, int type, int local)
diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c
index fc57c1f..e9542cc 100644
--- a/sys/i386/linux/linux_sysvec.c
+++ b/sys/i386/linux/linux_sysvec.c
@@ -899,7 +899,8 @@ static Elf32_Brandinfo linux_brand = {
"Linux",
"/compat/linux",
"/lib/ld-linux.so.1",
- &elf_linux_sysvec
+ &elf_linux_sysvec,
+ NULL,
};
static Elf32_Brandinfo linux_glibc2brand = {
@@ -908,7 +909,8 @@ static Elf32_Brandinfo linux_glibc2brand = {
"Linux",
"/compat/linux",
"/lib/ld-linux.so.2",
- &elf_linux_sysvec
+ &elf_linux_sysvec,
+ NULL,
};
Elf32_Brandinfo *linux_brandlist[] = {
OpenPOWER on IntegriCloud