svn commit: r296570 - in head: sys/amd64/cloudabi64 sys/arm64/cloudabi64 usr.bin/kdump
John Baldwin
jhb at FreeBSD.org
Wed Mar 9 18:38:32 UTC 2016
Author: jhb
Date: Wed Mar 9 18:38:30 2016
New Revision: 296570
URL: https://svnweb.freebsd.org/changeset/base/296570
Log:
Fix reporting of the CloudABI ABI in kdump.
- Advertise the word size for CloudABI ABIs via the SV_LP64 flag. All of
the other ABIs include either SV_ILP32 or SV_LP64.
- Fix kdump to not assume a 32-bit ABI if the ABI flags field is non-zero
but SV_LP64 isn't set. Instead, only assume a 32-bit ABI if SV_ILP32 is
set and fallback to the unknown value of "00" if neither SV_LP64 nor
SV_ILP32 is set.
Reviewed by: kib, ed
Differential Revision: https://reviews.freebsd.org/D5560
Modified:
head/sys/amd64/cloudabi64/cloudabi64_sysvec.c
head/sys/arm64/cloudabi64/cloudabi64_sysvec.c
head/usr.bin/kdump/kdump.c
Modified: head/sys/amd64/cloudabi64/cloudabi64_sysvec.c
==============================================================================
--- head/sys/amd64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:03 2016 (r296569)
+++ head/sys/amd64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:30 2016 (r296570)
@@ -143,7 +143,7 @@ static struct sysentvec cloudabi64_elf_s
.sv_usrstack = USRSTACK,
.sv_stackprot = VM_PROT_READ | VM_PROT_WRITE,
.sv_copyout_strings = cloudabi64_copyout_strings,
- .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM,
+ .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM | SV_LP64,
.sv_set_syscall_retval = cloudabi64_set_syscall_retval,
.sv_fetch_syscall_args = cloudabi64_fetch_syscall_args,
.sv_syscallnames = cloudabi64_syscallnames,
Modified: head/sys/arm64/cloudabi64/cloudabi64_sysvec.c
==============================================================================
--- head/sys/arm64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:03 2016 (r296569)
+++ head/sys/arm64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:30 2016 (r296570)
@@ -144,7 +144,7 @@ static struct sysentvec cloudabi64_elf_s
.sv_usrstack = USRSTACK,
.sv_stackprot = VM_PROT_READ | VM_PROT_WRITE,
.sv_copyout_strings = cloudabi64_copyout_strings,
- .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM,
+ .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM | SV_LP64,
.sv_set_syscall_retval = cloudabi64_set_syscall_retval,
.sv_fetch_syscall_args = cloudabi64_fetch_syscall_args,
.sv_syscallnames = cloudabi64_syscallnames,
Modified: head/usr.bin/kdump/kdump.c
==============================================================================
--- head/usr.bin/kdump/kdump.c Wed Mar 9 18:38:03 2016 (r296569)
+++ head/usr.bin/kdump/kdump.c Wed Mar 9 18:38:30 2016 (r296570)
@@ -529,12 +529,11 @@ abidump(struct ktr_header *kth)
break;
}
- if (flags != 0) {
- if (flags & SV_LP64)
- arch = "64";
- else
- arch = "32";
- } else
+ if (flags & SV_LP64)
+ arch = "64";
+ else if (flags & SV_ILP32)
+ arch = "32";
+ else
arch = "00";
printf("%s%s ", abi, arch);
More information about the svn-src-all
mailing list