This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: Define TRY_EMPTY_VM_SPACE for Linux/x32
On Wed, Apr 4, 2012 at 11:56 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Wed, Apr 4, 2012 at 11:53 AM, Andrew Pinski <pinskia@gmail.com> wrote:
>> On Wed, Apr 4, 2012 at 11:50 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
>>> Looking at how other targets implement this check, I don't think that
>>> this is a problem at all. This issue only shows on a non-bootstrapped
>>> build. A full bootstrap will use correct address.
>>
>> The other place where it shows up is cross compilers but who is going
>> to use a 3.2 compiler with GCC 4.8 anyways?
>>
>
> FWIW, I have no problem with checking __LP64__ only. I just want to
> mention this potential issue.
>
Here is a different patch. It checks sizeof (void *) for those hosts
where it is appropriate. Does it look OK?
Thanks.
--
H.J.
---
diff --git a/gcc/config/host-linux.c b/gcc/config/host-linux.c
index 94b7a0b..93c513e 100644
--- a/gcc/config/host-linux.c
+++ b/gcc/config/host-linux.c
@@ -64,14 +64,12 @@
/* For various ports, try to guess a fixed spot in the vm space
that's probably free. */
-#if defined(__alpha)
-# define TRY_EMPTY_VM_SPACE 0x10000000000
+#if defined(__alpha) || defined(__ARM_EABI__) || defined(__i386) \
+ || defined(__x86_64)
+# define TRY_EMPTY_VM_SPACE \
+ (sizeof (void *) == 8 ? 0x1000000000 : 0x60000000)
#elif defined(__ia64)
# define TRY_EMPTY_VM_SPACE 0x2000000100000000
-#elif defined(__x86_64)
-# define TRY_EMPTY_VM_SPACE 0x1000000000
-#elif defined(__i386)
-# define TRY_EMPTY_VM_SPACE 0x60000000
#elif defined(__powerpc__)
# define TRY_EMPTY_VM_SPACE 0x60000000
#elif defined(__s390x__)
@@ -84,8 +82,6 @@
# define TRY_EMPTY_VM_SPACE 0x60000000
#elif defined(__mc68000__)
# define TRY_EMPTY_VM_SPACE 0x40000000
-#elif defined(__ARM_EABI__)
-# define TRY_EMPTY_VM_SPACE 0x60000000
#elif defined(__mips__) && defined(__LP64__)
# define TRY_EMPTY_VM_SPACE 0x8000000000
#elif defined(__mips__)