From d1ea51f07d8bb79ec5d2c4e1858b48082ba7d562 Mon Sep 17 00:00:00 2001 From: Linas Vepstas Date: Mon, 10 Oct 2011 11:33:39 +0400 Subject: [PATCH] gcconfig.h: Add machine description for Hexagon --- include/private/gcconfig.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h index dcd6b2fa..2293583d 100644 --- a/include/private/gcconfig.h +++ b/include/private/gcconfig.h @@ -497,6 +497,10 @@ # define NONSTOP # define mach_type_known # endif +# if defined(__hexagon__) && defined(LINUX) +# define HEXAGON +# define mach_type_known +# endif /* Feel free to add more clauses here */ @@ -547,6 +551,7 @@ /* Handles 32 and 64-bit variants. */ /* CRIS ==> Axis Etrax */ /* M32R ==> Renesas M32R */ + /* HEXAGON ==> Qualcomm Hexagon */ /* @@ -2240,6 +2245,32 @@ # endif # endif /* X86_64 */ +# ifdef HEXAGON +# define CPP_WORDSZ 32 +# define MACH_TYPE "HEXAGON" +# define ALIGNMENT 4 +# ifdef LINUX +# define OS_TYPE "LINUX" +# define LINUX_STACKBOTTOM +# define MPROTECT_VDB +# ifdef __ELF__ +# define DYNAMIC_LOADING +# include +# if defined(__GLIBC__) && __GLIBC__ >= 2 +# define SEARCH_FOR_DATA_START +# else +# error --> unknown Hexagon libc configuration +# endif + extern int _end[]; +# define DATAEND (ptr_t)(_end) +# else +# error --> bad Hexagon Linux configuration +# endif +# else +# error --> unknown Hexagon OS configuration +# endif +# endif + #if defined(LINUX_STACKBOTTOM) && defined(NO_PROC_STAT) \ && !defined(USE_LIBC_PRIVATES) /* This combination will fail, since we have no way to get */ -- 2.40.0