diff options
author | clyon <clyon@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-04-11 12:06:04 +0000 |
---|---|---|
committer | clyon <clyon@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-04-11 12:06:04 +0000 |
commit | 507e8f275ff72338dd8078e550df463be86dd7c7 (patch) | |
tree | 9f02e321f385d2668fd21b16d70b252206be17ba /boehm-gc | |
parent | 6046367ed6454dad372c86b823064ae929bbd861 (diff) | |
download | gcc-507e8f275ff72338dd8078e550df463be86dd7c7.tar.gz |
2013-03-16 Yvan Roux <yvan.roux@linaro.org>
* include/private/gcconfig.h (AARCH64): New macro (defined only if
__aarch64__).
* include/private/gcconfig.h (mach_type_known):
Update comment adding ARM AArch64 target.
* include/private/gcconfig.h (NOSYS, mach_type_known,CPP_WORDSZ,
MACH_TYPE, ALIGNMENT, HBLKSIZE, OS_TYPE, LINUX_STACKBOTTOM,
USE_GENERIC_PUSH_REGS, DYNAMIC_LOADING, DATASTART, DATAEND,
STACKBOTTOM): Define for AArch64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197770 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc')
-rw-r--r-- | boehm-gc/include/private/gcconfig.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/boehm-gc/include/private/gcconfig.h b/boehm-gc/include/private/gcconfig.h index 9420c7caf8f..475bb2c191a 100644 --- a/boehm-gc/include/private/gcconfig.h +++ b/boehm-gc/include/private/gcconfig.h @@ -60,6 +60,13 @@ # endif /* Determine the machine type: */ +#if defined(__aarch64__) +# define AARCH64 +# if !defined(LINUX) +# define NOSYS +# define mach_type_known +# endif +# endif # if defined(__arm__) || defined(__thumb__) # define ARM32 # if !defined(LINUX) && !defined(NETBSD) @@ -239,6 +246,10 @@ # define IA64 # define mach_type_known # endif +# if defined(LINUX) && defined(__aarch64__) +# define AARCH64 +# define mach_type_known +# endif # if defined(LINUX) && defined(__arm__) # define ARM32 # define mach_type_known @@ -500,6 +511,7 @@ /* running Amdahl UTS4 */ /* S390 ==> 390-like machine */ /* running LINUX */ + /* AARCH64 ==> ARM AArch64 */ /* ARM32 ==> Intel StrongARM */ /* IA64 ==> Intel IPF */ /* (e.g. Itanium) */ @@ -1833,6 +1845,32 @@ # define HEURISTIC1 # endif +# ifdef AARCH64 +# define CPP_WORDSZ 64 +# define MACH_TYPE "AARCH64" +# define ALIGNMENT 8 +# ifndef HBLKSIZE +# define HBLKSIZE 4096 +# endif +# ifdef LINUX +# define OS_TYPE "LINUX" +# define LINUX_STACKBOTTOM +# define USE_GENERIC_PUSH_REGS +# define DYNAMIC_LOADING + extern int __data_start[]; +# define DATASTART ((ptr_t)__data_start) + extern char _end[]; +# define DATAEND ((ptr_t)(&_end)) +# endif +# ifdef NOSYS + /* __data_start is usually defined in the target linker script. */ + extern int __data_start[]; +# define DATASTART ((ptr_t)__data_start) + extern void *__stack_base__; +# define STACKBOTTOM ((ptr_t)__stack_base__) +# endif +# endif + # ifdef ARM32 # define CPP_WORDSZ 32 # define MACH_TYPE "ARM32" |