path: root/sys/sys/elf_generic.h
diff options
authorPeter Wemm <peter@FreeBSD.org>2002-07-20 02:56:12 +0000
committerPeter Wemm <peter@FreeBSD.org>2002-07-20 02:56:12 +0000
commit3ebc124838799d79bb81993028066939255edfbf (patch)
tree442882c197085f1177ad99039e6387b24c60e44a /sys/sys/elf_generic.h
parent382f95d332eb42a6a06ef585d2855b536978a48d (diff)
Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable
handler in the kernel at the same time. Also, allow for the exec_new_vmspace() code to build a different sized vmspace depending on the executable environment. This is a big help for execing i386 binaries on ia64. The ELF exec code grows the ability to map partial pages when there is a page size difference, eg: emulating 4K pages on 8K or 16K hardware pages. Flesh out the i386 emulation support for ia64. At this point, the only binary that I know of that fails is cvsup, because the cvsup runtime tries to execute code in pages not marked executable. Obtained from: dfr (mostly, many tweaks from me).
Notes: svn path=/head/; revision=100384
Diffstat (limited to 'sys/sys/elf_generic.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/sys/elf_generic.h b/sys/sys/elf_generic.h
index cf8da57832ed..cc0c471ad90c 100644
--- a/sys/sys/elf_generic.h
+++ b/sys/sys/elf_generic.h
@@ -50,6 +50,7 @@
#error "Unknown byte order"
+#define __elfN(x) __CONCAT(__CONCAT(__CONCAT(elf,__ELF_WORD_SIZE),_),x)
#define __ElfN(x) __CONCAT(__CONCAT(__CONCAT(Elf,__ELF_WORD_SIZE),_),x)
#define __ElfType(x) typedef __ElfN(x) __CONCAT(Elf_,x)