[Gc] [PATCH] Implement boehm-gc for AARCH64:ILP32
Andrew Pinski <[email protected]> Tue, 10 Feb 2015 22:03:56 -0800
| Newsgroups | gmane.comp.programming.garbage-collection.boehmgc,gmane.comp.gcc.patches,gmane.comp.gcc.java.patches |
|---|---|
| Message-ID | <CA+=Sn1=rXCGm9sqidGNvCgik98O5Uk_w075Sw4j3qQ5w6C6ADg@mail.gmail.com> |
Hi,
This is a simple patch which allows all of the boehm-gc testsuite
that is included with GCC to pass for AARCH64:ILP32.
Basically we need to set CPP_WORDSZ to 32 and the alignment to 4 so we
detect pointers correctly.
OK for GCC? Bootstrapped and tested for aarch64-linux-gnu with no
regressions and many libjava testcases now pass.
OK for boehm-gc upstream? I don't have write access to upstream
sources though, if approved there please apply it also.
Thanks,
Andrew Pinski
GCC ChangeLog:
* include/private/gcconfig.h (CPP_WORDSZ): Correct for AARCH64:ILP32.
(ALIGNMENT): Correct for AARCH64:ILP32.
_______________________________________________
bdwgc mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/bdwgc
fixboehm-gc-gcc.diff.txt
(text/plain, 834 B)
commit 7d15d08c61991c3f7fea822fb567106dde83a166 Author: Andrew Pinski <[email protected]> Date: Wed Feb 11 02:35:45 2015 +0000 Fix boehm-gc for AARCH64:ILP32 * include/private/gcconfig.h (CPP_WORDSZ): Correct for AARCH64:ILP32. (ALIGNMENT): Correct for AARCH64:ILP32. diff --git a/boehm-gc/include/private/gcconfig.h b/boehm-gc/include/private/gcconfig.h index 7e081d9..049e24c 100644 --- a/boehm-gc/include/private/gcconfig.h +++ b/boehm-gc/include/private/gcconfig.h @@ -1854,9 +1854,14 @@ # endif # ifdef AARCH64 -# define CPP_WORDSZ 64 # define MACH_TYPE "AARCH64" -# define ALIGNMENT 8 +# ifdef __ILP32__ +# define CPP_WORDSZ 32 +# define ALIGNMENT 4 +# else +# define CPP_WORDSZ 64 +# define ALIGNMENT 8 +# endif # ifndef HBLKSIZE # define HBLKSIZE 4096 # endif
fixboehm-gc-upstream.diff.txt
(text/plain, 508 B)
diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h index aa80d53..989a734 100644 --- a/include/private/gcconfig.h +++ b/include/private/gcconfig.h @@ -2020,9 +2020,14 @@ # endif # ifdef AARCH64 -# define CPP_WORDSZ 64 # define MACH_TYPE "AARCH64" -# define ALIGNMENT 8 +# ifdef __ILP32__ +# define CPP_WORDSZ 32 +# define ALIGNMENT 4 +# else +# define CPP_WORDSZ 64 +# define ALIGNMENT 8 +# endif # ifndef HBLKSIZE # define HBLKSIZE 4096 # endif