--- libsanitizer/asan/asan_mapping.h	(revision 195997)
+++ libsanitizer/asan/asan_mapping.h	(working copy)
@@ -34,27 +34,16 @@
 #   if defined(__powerpc64__)
 #    define SHADOW_OFFSET (1ULL << 41)
 #   else
-#    define SHADOW_OFFSET (1ULL << 44)
+#    define SHADOW_OFFSET 0x7fff8000ULL
 #   endif
 #  endif
 # endif
 #endif  // ASAN_FLEXIBLE_MAPPING_AND_OFFSET

This is inconsistent with the i386.c change.  You said the 0x7fff8000ULL
shadow offset doesn't work on Darwin, so either the above should be

+#    if ASAN_MAC
+#     define SHADOW_OFFSET (1ULL << 44)
+#    else
+#     define SHADOW_OFFSET 0x7fff8000ULL
+#    endif

or i386.c should use 0x7fff8000 even for TARGET_MACHO && TARGET_LP64.

--- gcc/config/i386/i386.c	(revision 195997)
+++ gcc/config/i386/i386.c	(working copy)
@@ -5436,7 +5436,9 @@
 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);

Please use tabs instead of 8 spaces, and indent it properly (second line
: below the second ?, third line : below first ?).

+2013-02-13  Kostya Serebryany  <kcc@google.com>
+
+	* config/i386/i386.c: use 0x7fff8000 as asan_shadow_offset on x86_64
+	linux.

Start sentence, so "Use" instead of "use".
