gcconfig.h (AARCH64): New macro (defined only if __aarch64__).

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.

From-SVN: r197770
This commit is contained in:
Yvan Roux 2013-04-11 14:06:04 +02:00 committed by Christophe Lyon
parent 4ba5ea117a
commit dff5c59148
1 changed files with 38 additions and 0 deletions

View File

@ -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"