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

Ivan Maidanski ivmai at mail.ru
Mon Oct 10 22:19:41 PDT 2011


Hi Linas,

I've committed it to master branch (commit d1ea51f): https://github.com/ivmai/bdwgc

Regards.

07 10 2011, 23:27 Linas Vepstas <linasvepstas at gmail.com>:
> 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  */
> 
> _______________________________________________
> Gc mailing list
> Gc at linux.hpl.hp.com
> http://www.hpl.hp.com/hosted/linux/mail-archives/gc/



More information about the Gc mailing list