[Gc] Re: [PATCH 1/2]: Hexagon machine description

Linas Vepstas linasvepstas at gmail.com
Fri Oct 7 12:18:13 PDT 2011


Add machine description for Hexagon.

Submit to gc at linux.hpl.hp.com

Signed-off-by: Linas Vepstas <linasvepstas at gmail.com>

---
 include/private/gcconfig.h |   31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

Index: gc-7.2alpha6/include/private/gcconfig.h
===================================================================
--- gc-7.2alpha6.orig/include/private/gcconfig.h	2011-09-22
10:16:47.000000000 -0500
+++ gc-7.2alpha6/include/private/gcconfig.h	2011-10-07 13:21:19.000000000 -0500
@@ -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      */


 /*
@@ -2237,6 +2242,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 <features.h>
+#            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  */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hex-port.patch
Type: text/x-patch
Size: 2044 bytes
Desc: not available
Url : http://napali.hpl.hp.com/pipermail/gc/attachments/20111007/6b300031/hex-port.bin


More information about the Gc mailing list