On Thu, Apr 5, 2012 at 8:36 AM, Uros Bizjak <ubiz...@gmail.com> wrote:
> On Thu, Apr 5, 2012 at 3:28 PM, H.J. Lu <hjl.to...@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?
>
> Looks OK to me, but you need a GWP reviewer to OK this change now...
>

Here is the patch with ChangeLog.  Tested on Linux/x32.  Jakub,
is this OK for trunk?

Thanks.


-- 
H.J.
2012-04-03  H.J. Lu  <hongjiu...@intel.com>

	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Check pointer size
	for alpha, arm, i386 and x86-64.

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__)

Reply via email to