svn commit: r333029 - head/lib/libsysdecode
Ed Maste
emaste at FreeBSD.org
Thu Apr 26 18:54:02 UTC 2018
Author: emaste
Date: Thu Apr 26 18:54:00 2018
New Revision: 333029
URL: https://svnweb.freebsd.org/changeset/base/333029
Log:
libsysdecode: support errno and syscalls for arm64 Linux
Sponsored by: Turing Robotic Industries Inc.
Modified:
head/lib/libsysdecode/errno.c
head/lib/libsysdecode/syscallnames.c
head/lib/libsysdecode/sysdecode.3
Modified: head/lib/libsysdecode/errno.c
==============================================================================
--- head/lib/libsysdecode/errno.c Thu Apr 26 18:46:38 2018 (r333028)
+++ head/lib/libsysdecode/errno.c Thu Apr 26 18:54:00 2018 (r333029)
@@ -36,7 +36,7 @@ __FBSDID("$FreeBSD$");
#include <stdio.h>
#include <sysdecode.h>
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__aarch64__) || defined(__amd64__) || defined(__i386__)
static
#include <compat/linux/linux_errno.inc>
#endif
@@ -130,7 +130,7 @@ sysdecode_abi_to_freebsd_errno(enum sysdecode_abi abi,
case SYSDECODE_ABI_FREEBSD:
case SYSDECODE_ABI_FREEBSD32:
return (error);
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__aarch64__) || defined(__amd64__) || defined(__i386__)
case SYSDECODE_ABI_LINUX:
case SYSDECODE_ABI_LINUX32: {
unsigned int i;
@@ -166,7 +166,7 @@ sysdecode_freebsd_to_abi_errno(enum sysdecode_abi abi,
case SYSDECODE_ABI_FREEBSD:
case SYSDECODE_ABI_FREEBSD32:
return (error);
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__aarch64__) || defined(__amd64__) || defined(__i386__)
case SYSDECODE_ABI_LINUX:
case SYSDECODE_ABI_LINUX32:
if (error >= 0 && error <= ELAST)
Modified: head/lib/libsysdecode/syscallnames.c
==============================================================================
--- head/lib/libsysdecode/syscallnames.c Thu Apr 26 18:46:38 2018 (r333028)
+++ head/lib/libsysdecode/syscallnames.c Thu Apr 26 18:54:00 2018 (r333029)
@@ -49,9 +49,11 @@ static
#include <compat/freebsd32/freebsd32_syscalls.c>
#endif
-#if defined(__amd64__) || defined(__i386__)
+#if defined(__aarch64__) || defined(__amd64__) || defined(__i386__)
static
-#ifdef __amd64__
+#ifdef __aarch64__
+#include <arm64/linux/linux_syscalls.c>
+#elif __amd64__
#include <amd64/linux/linux_syscalls.c>
#else
#include <i386/linux/linux_syscalls.c>
@@ -83,7 +85,7 @@ sysdecode_syscallname(enum sysdecode_abi abi, unsigned
return (freebsd32_syscallnames[code]);
break;
#endif
-#if defined(__amd64__) || defined(__i386__)
+#if defined(__aarch64__) || defined(__amd64__) || defined(__i386__)
case SYSDECODE_ABI_LINUX:
if (code < nitems(linux_syscallnames))
return (linux_syscallnames[code]);
Modified: head/lib/libsysdecode/sysdecode.3
==============================================================================
--- head/lib/libsysdecode/sysdecode.3 Thu Apr 26 18:46:38 2018 (r333028)
+++ head/lib/libsysdecode/sysdecode.3 Thu Apr 26 18:54:00 2018 (r333029)
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 14, 2018
+.Dd April 26, 2018
.Dt SYSDECODE 3
.Os
.Sh NAME
@@ -57,7 +57,7 @@ Supported on all platforms.
Supported on amd64 and powerpc64.
.It Li SYSDECODE_ABI_LINUX
Linux binaries of the same platform.
-Supported on amd64 and i386.
+Supported on amd64, i386, and arm64.
.It Li SYSDECODE_ABI_LINUX32
32-bit Linux binaries.
Supported on amd64.
More information about the svn-src-head
mailing list