ARM64: Initial changes so we can compile GCC toolchain

Signed-off-by: Jaroslaw Pelczar <[email protected]>
Change-Id: I0859d0619d601efd003472e2846d2f980ee2e457
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1799
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
Jaroslaw Pelczar
2019-08-30 19:05:16 +00:00
committed by waddlesplash
parent abdd9ab439
commit 1f52c921e2
5 changed files with 21 additions and 5 deletions
Vendored
+3 -2
View File
@@ -267,7 +267,7 @@ standard_gcc_settings()
# determine architecture from machine triple # determine architecture from machine triple
case $gccMachine in case $gccMachine in
arm-*) targetCpu=arm;; arm-*) targetCpu=arm;;
arm64-*) targetCpu=arm64;; aarch64-*) targetCpu=arm64;;
i?86-*) targetCpu=x86;; i?86-*) targetCpu=x86;;
m68k-*) targetCpu=m68k;; m68k-*) targetCpu=m68k;;
powerpc-*) targetCpu=ppc;; powerpc-*) targetCpu=ppc;;
@@ -701,6 +701,7 @@ while [ $# -gt 0 ] ; do
ppc) targetMachine=powerpc-apple-haiku;; ppc) targetMachine=powerpc-apple-haiku;;
m68k) targetMachine=m68k-unknown-haiku;; m68k) targetMachine=m68k-unknown-haiku;;
arm) targetMachine=arm-unknown-haiku;; arm) targetMachine=arm-unknown-haiku;;
arm64) targetMachine=aarch64-unknown-haiku;;
riscv64) targetMachine=riscv64-unknown-haiku;; riscv64) targetMachine=riscv64-unknown-haiku;;
sparc) targetMachine=sparc64-unknown-haiku;; sparc) targetMachine=sparc64-unknown-haiku;;
*) *)
@@ -760,7 +761,7 @@ while [ $# -gt 0 ] ; do
x86_64) targetMachine=x86_64-unknown-haiku;; x86_64) targetMachine=x86_64-unknown-haiku;;
ppc) targetMachine=powerpc-apple-haiku;; ppc) targetMachine=powerpc-apple-haiku;;
arm) targetMachine=arm-unknown-haiku;; arm) targetMachine=arm-unknown-haiku;;
arm64) targetMachine=arm64-unknown-haiku;; arm64) targetMachine=aarch64-unknown-haiku;;
riscv64) targetMachine=riscv64-unknown-haiku;; riscv64) targetMachine=riscv64-unknown-haiku;;
sparc) targetMachine=sparc64-unknown-haiku;; sparc) targetMachine=sparc64-unknown-haiku;;
*) *)
+1 -1
View File
@@ -56,7 +56,7 @@
# define __HAIKU_ARCH_ABI "armeb" # define __HAIKU_ARCH_ABI "armeb"
# define __HAIKU_ARCH_ARM 1 # define __HAIKU_ARCH_ARM 1
# define __HAIKU_BIG_ENDIAN 1 # define __HAIKU_BIG_ENDIAN 1
#elif defined(__arm64__) #elif defined(__aarch64__) || defined(__arm64__)
# define __HAIKU_ARCH arm64 # define __HAIKU_ARCH arm64
# define __HAIKU_ARCH_ABI "arm64" # define __HAIKU_ARCH_ABI "arm64"
# define __HAIKU_ARCH_ARM64 1 # define __HAIKU_ARCH_ARM64 1
+13
View File
@@ -0,0 +1,13 @@
/*
* Copyright 2019 Jaroslaw Pelczar <[email protected]>
* 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_ */
+2 -2
View File
@@ -11,7 +11,7 @@
* Architecture-specific structure passed to signal handlers * Architecture-specific structure passed to signal handlers
*/ */
#if defined(__arm64__) #if defined(__aarch64__)
struct vregs struct vregs
{ {
ulong x[30]; ulong x[30];
@@ -23,7 +23,7 @@ struct vregs
u_int fpsr; u_int fpsr;
u_int fpcr; u_int fpcr;
}; };
#endif /* defined(__arm64__) */ #endif /* defined(__aarch64__) */
#endif /* _ARCH_SIGNAL_H_ */ #endif /* _ARCH_SIGNAL_H_ */
+2
View File
@@ -7,6 +7,8 @@
# include <arch/x86_64/fenv.h> # include <arch/x86_64/fenv.h>
#elif defined(__arm__) #elif defined(__arm__)
# include <arch/arm/fenv.h> # include <arch/arm/fenv.h>
#elif defined(__aarch64__)
# include <arch/arm64/fenv.h>
#elif defined(__POWERPC__) #elif defined(__POWERPC__)
# include <arch/ppc/fenv.h> # include <arch/ppc/fenv.h>
#else #else