http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55309



--- Comment #39 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-12 
11:42:33 UTC ---

So, if Darwin keeps the old 1ULL << 44, then the corresponding gcc change (to

be applied together with asan merge) would be something like (untested):

--- gcc/sanitizer.def    2013-01-11 09:02:37.879637130 +0100

+++ gcc/sanitizer.def    2013-02-12 12:39:12.743272092 +0100

@@ -27,7 +27,7 @@ along with GCC; see the file COPYING3.

    for other FEs by asan.c.  */



 /* Address Sanitizer */

-DEF_SANITIZER_BUILTIN(BUILT_IN_ASAN_INIT, "__asan_init",

+DEF_SANITIZER_BUILTIN(BUILT_IN_ASAN_INIT, "__asan_init_v1",

               BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)

 /* Do not reorder the BUILT_IN_ASAN_REPORT* builtins, e.g. cfgcleanup.c

    relies on this order.  */

--- gcc/config/i386/i386.c    2013-02-12 11:23:35.400193705 +0100

+++ gcc/config/i386/i386.c    2013-02-12 12:38:30.775503155 +0100

@@ -5436,7 +5436,9 @@ ix86_legitimate_combined_insn (rtx insn)

 static unsigned HOST_WIDE_INT

 ix86_asan_shadow_offset (void)

 {

-  return (unsigned HOST_WIDE_INT) 1 << (TARGET_LP64 ? 44 : 29);

+  return TARGET_LP64 ? (TARGET_MACHO ? (HOST_WIDE_INT_1 << 44)

+                     : HOST_WIDE_INT_C (0x7fff8000))

+             : (HOST_WIDE_INT_1 << 29);

 }





 /* Argument support functions.  */

Reply via email to