This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]