re PR target/66488 (segfault on sizeof(long) < sizeof(void*) and large GCC memory...
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 15 Dec 2017 11:30:56 +0000 (11:30 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 15 Dec 2017 11:30:56 +0000 (11:30 +0000)
2017-12-15  Eric Botcazou  <ebotcazou@adacore.com>

        PR target/66488
        * ggc-page.c (HOST_BITS_PER_PTR): Do not define here...
        * hwint.h (HOST_BITS_PER_PTR): ...but here instead.
        * config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Delete.

From-SVN: r255687

gcc/ChangeLog
gcc/config/i386/xm-mingw32.h
gcc/ggc-page.c
gcc/hwint.h

index 453aa70025ca1e34a7b79ec9f0aa2f5c36be8256..3ae3a32965b5cf622b714164efe264c07519f992 100644 (file)
@@ -1,3 +1,10 @@
+2017-12-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/66488
+       * ggc-page.c (HOST_BITS_PER_PTR): Do not define here...
+       * hwint.h (HOST_BITS_PER_PTR): ...but here instead.
+       * config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Delete.
+
 2017-12-15  Julia Koval  <julia.koval@intel.com>
 
        * config/i386/i386-builtin.def (__builtin_ia32_vaesenclast_v16qi,
index 6eb3a626f0c32688572b4c7985b4085bd1d5aafd..d4d63f583223955b3a976ec470f730d6e2799486 100644 (file)
@@ -37,8 +37,3 @@ along with GCC; see the file COPYING3.  If not see
    "long long" values.  Instead, we use "I64".  */
 #define HOST_LONG_LONG_FORMAT "I64"
 #endif
-
-/* this is to prevent gcc-heap.c from assuming sizeof(long) == sizeof(intptr_t) */
-#ifdef __x86_64__
-#      define HOST_BITS_PER_PTR 64
-#endif
index 5f79e32ded473b5cbbbd32d2e95dda09a6ee863a..854d310e0bac284ced2b64916400295badb8a925 100644 (file)
@@ -91,11 +91,6 @@ along with GCC; see the file COPYING3.  If not see
      3: Object allocations as well.
      4: Object marks as well.  */
 #define GGC_DEBUG_LEVEL (0)
-\f
-#ifndef HOST_BITS_PER_PTR
-#define HOST_BITS_PER_PTR  HOST_BITS_PER_LONG
-#endif
-
 \f
 /* A two-level tree is used to look up the page-entry for a given
    pointer.  Two chunks of the pointer's bits are extracted to index
index 2a61e3c9be658c30c9611c2ed2770e9c88888b03..e5fa33fc60201862b823a04a73a5cdc24744fa92 100644 (file)
@@ -14,6 +14,7 @@
 #define HOST_BITS_PER_SHORT (CHAR_BIT * SIZEOF_SHORT)
 #define HOST_BITS_PER_INT   (CHAR_BIT * SIZEOF_INT)
 #define HOST_BITS_PER_LONG  (CHAR_BIT * SIZEOF_LONG)
+#define HOST_BITS_PER_PTR   (CHAR_BIT * SIZEOF_VOID_P)
 
 /* The string that should be inserted into a printf style format to
    indicate a "long" operand.  */