diff --git a/configure b/configure index b737049b47..e2d8693ced 100755 --- a/configure +++ b/configure @@ -267,7 +267,7 @@ standard_gcc_settings() # determine architecture from machine triple case $gccMachine in arm-*) targetCpu=arm;; - arm64-*) targetCpu=arm64;; + aarch64-*) targetCpu=arm64;; i?86-*) targetCpu=x86;; m68k-*) targetCpu=m68k;; powerpc-*) targetCpu=ppc;; @@ -701,6 +701,7 @@ while [ $# -gt 0 ] ; do ppc) targetMachine=powerpc-apple-haiku;; m68k) targetMachine=m68k-unknown-haiku;; arm) targetMachine=arm-unknown-haiku;; + arm64) targetMachine=aarch64-unknown-haiku;; riscv64) targetMachine=riscv64-unknown-haiku;; sparc) targetMachine=sparc64-unknown-haiku;; *) @@ -760,7 +761,7 @@ while [ $# -gt 0 ] ; do x86_64) targetMachine=x86_64-unknown-haiku;; ppc) targetMachine=powerpc-apple-haiku;; arm) targetMachine=arm-unknown-haiku;; - arm64) targetMachine=arm64-unknown-haiku;; + arm64) targetMachine=aarch64-unknown-haiku;; riscv64) targetMachine=riscv64-unknown-haiku;; sparc) targetMachine=sparc64-unknown-haiku;; *) diff --git a/headers/config/HaikuConfig.h b/headers/config/HaikuConfig.h index a120f216f7..f02efdeeff 100644 --- a/headers/config/HaikuConfig.h +++ b/headers/config/HaikuConfig.h @@ -56,7 +56,7 @@ # define __HAIKU_ARCH_ABI "armeb" # define __HAIKU_ARCH_ARM 1 # define __HAIKU_BIG_ENDIAN 1 -#elif defined(__arm64__) +#elif defined(__aarch64__) || defined(__arm64__) # define __HAIKU_ARCH arm64 # define __HAIKU_ARCH_ABI "arm64" # define __HAIKU_ARCH_ARM64 1 diff --git a/headers/posix/arch/arm64/arch_setjmp.h b/headers/posix/arch/arm64/arch_setjmp.h new file mode 100644 index 0000000000..d6ea773899 --- /dev/null +++ b/headers/posix/arch/arm64/arch_setjmp.h @@ -0,0 +1,13 @@ +/* + * Copyright 2019 Jaroslaw Pelczar + * Distributed under the terms of the MIT License. + */ + +#ifndef _ARCH_SETJMP_H_ +#define _ARCH_SETJMP_H_ + + +#define _SETJMP_BUF_SZ (32) +typedef __int128_t __jmp_buf[_SETJMP_BUF_SZ]; + +#endif /* _ARCH_SETJMP_H_ */ diff --git a/headers/posix/arch/arm64/signal.h b/headers/posix/arch/arm64/signal.h index 96bfc51d59..0f09480646 100644 --- a/headers/posix/arch/arm64/signal.h +++ b/headers/posix/arch/arm64/signal.h @@ -11,7 +11,7 @@ * Architecture-specific structure passed to signal handlers */ -#if defined(__arm64__) +#if defined(__aarch64__) struct vregs { ulong x[30]; @@ -23,7 +23,7 @@ struct vregs u_int fpsr; u_int fpcr; }; -#endif /* defined(__arm64__) */ +#endif /* defined(__aarch64__) */ #endif /* _ARCH_SIGNAL_H_ */ diff --git a/headers/posix/fenv.h b/headers/posix/fenv.h index 10f4cf12bf..2c82833090 100644 --- a/headers/posix/fenv.h +++ b/headers/posix/fenv.h @@ -7,6 +7,8 @@ # include #elif defined(__arm__) # include +#elif defined(__aarch64__) +# include #elif defined(__POWERPC__) # include #else