@@ -68,8 +68,14 @@
# define TRY_EMPTY_VM_SPACE 0x10000000000
#elif defined(__ia64)
# define TRY_EMPTY_VM_SPACE 0x2000000100000000
-#elif defined(__x86_64)
+/* __LP64__ is defined for LP64 after GCC 3.3. If __LP64__ isn't
+ defined for GCC 4.0 or newer, it must be x32. */
+#elif defined(__x86_64) && (defined(__LP64__) \
+ || !defined(__GNUC__) \
+ || __GNUC__ < 4)
# define TRY_EMPTY_VM_SPACE 0x1000000000
+#elif defined(__x86_64)
+# define TRY_EMPTY_VM_SPACE 0x60000000
#elif defined(__i386)
# define TRY_EMPTY_VM_SPACE 0x60000000
#elif defined(__powerpc__)