aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2008-11-22 12:36:15 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2008-11-22 12:36:15 +0000
commitb4cf0e62f47f88a6528f3e7586b4550b1db85d86 (patch)
treec5e6cdb7219d5ec854c9a25a01e8ddfce232c5e9 /sys/amd64
parentc85e8dcf1806fd9b1bb156b0b1f5ee0ce96c5f95 (diff)
downloadsrc-b4cf0e62f47f88a6528f3e7586b4550b1db85d86.tar.gz
src-b4cf0e62f47f88a6528f3e7586b4550b1db85d86.zip
Add sv_flags field to struct sysentvec with intention to provide description
of the ABI of the currently executing image. Change some places to test the flags instead of explicit comparing with address of known sysentvec structures to determine ABI features. Discussed with: dchagin, imp, jhb, peter
Notes
Notes: svn path=/head/; revision=185169
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/elf_machdep.c3
-rw-r--r--sys/amd64/linux32/linux32_sysvec.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/amd64/amd64/elf_machdep.c b/sys/amd64/amd64/elf_machdep.c
index ec1afc7d9245..4f6d178eb35a 100644
--- a/sys/amd64/amd64/elf_machdep.c
+++ b/sys/amd64/amd64/elf_machdep.c
@@ -72,7 +72,8 @@ struct sysentvec elf64_freebsd_sysvec = {
.sv_copyout_strings = exec_copyout_strings,
.sv_setregs = exec_setregs,
.sv_fixlimit = NULL,
- .sv_maxssiz = NULL
+ .sv_maxssiz = NULL,
+ .sv_flags = SV_ABI_FREEBSD | SV_LP64
};
static Elf64_Brandinfo freebsd_brand_info = {
diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c
index e2337007ef5d..3acee30ca6b1 100644
--- a/sys/amd64/linux32/linux32_sysvec.c
+++ b/sys/amd64/linux32/linux32_sysvec.c
@@ -1026,6 +1026,7 @@ struct sysentvec elf_linux_sysvec = {
.sv_setregs = exec_linux_setregs,
.sv_fixlimit = linux32_fixlimit,
.sv_maxssiz = &linux32_maxssiz,
+ .sv_flags = SV_ABI_LINUX | SV_ILP32 | SV_IA32
};
static Elf32_Brandinfo linux_brand = {