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