summaryrefslogtreecommitdiffstats
path: root/sys/ia64/ia64/elf_machdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ia64/ia64/elf_machdep.c')
-rw-r--r--sys/ia64/ia64/elf_machdep.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/sys/ia64/ia64/elf_machdep.c b/sys/ia64/ia64/elf_machdep.c
index dcee3a4..320ce80 100644
--- a/sys/ia64/ia64/elf_machdep.c
+++ b/sys/ia64/ia64/elf_machdep.c
@@ -34,7 +34,45 @@
#include <sys/fcntl.h>
#include <sys/vnode.h>
#include <sys/linker.h>
+#include <sys/sysent.h>
+#include <sys/imgact_elf.h>
+#include <sys/syscall.h>
+#include <sys/signalvar.h>
#include <machine/elf.h>
+#include <machine/md_var.h>
+
+struct sysentvec elf64_freebsd_sysvec = {
+ SYS_MAXSYSCALL,
+ sysent,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ elf64_freebsd_fixup,
+ sendsig,
+ sigcode,
+ &szsigcode,
+ 0,
+ "FreeBSD ELF64",
+ __elfN(coredump),
+ NULL,
+ MINSIGSTKSZ
+};
+
+static Elf64_Brandinfo freebsd_brand_info = {
+ ELFOSABI_FREEBSD,
+ EM_IA_64,
+ "FreeBSD",
+ "",
+ "/usr/libexec/ld-elf.so.1",
+ &elf64_freebsd_sysvec
+ };
+
+SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_ANY,
+ (sysinit_cfunc_t) elf64_insert_brand_entry,
+ &freebsd_brand_info);
Elf_Addr link_elf_get_gp(linker_file_t);
OpenPOWER on IntegriCloud