From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5183 invoked by alias); 17 Jan 2013 23:52:58 -0000 Received: (qmail 5120 invoked by uid 48); 17 Jan 2013 23:52:40 -0000 From: "schwab@linux-m68k.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug sanitizer/55975] asan does not work with 46 bit address space on PowerPC64 Date: Thu, 17 Jan 2013 23:52:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: sanitizer X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: schwab@linux-m68k.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2013-01/txt/msg01675.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55975 --- Comment #12 from Andreas Schwab 2013-01-17 23:52:39 UTC --- Created attachment 29199 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29199 make check-gcc RUNTESTFLAGS='--target_board=unix/-m64 asan.exp' diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 46bb0b4..23c8c7f 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -27609,7 +27609,7 @@ rs6000_final_prescan_insn (rtx insn, rtx *operand ATTRIBUTE_UNUSED, static unsigned HOST_WIDE_INT rs6000_asan_shadow_offset (void) { - return (unsigned HOST_WIDE_INT) 1 << (TARGET_64BIT ? 41 : 29); + return (unsigned HOST_WIDE_INT) 1 << (TARGET_64BIT ? 43 : 29); } #endif diff --git a/libsanitizer/asan/asan_mapping.h b/libsanitizer/asan/asan_mapping.h index 54e21b7..6c22709 100644 --- a/libsanitizer/asan/asan_mapping.h +++ b/libsanitizer/asan/asan_mapping.h @@ -32,7 +32,7 @@ extern SANITIZER_INTERFACE_ATTRIBUTE uptr __asan_mapping_offset; # define SHADOW_OFFSET (1 << 29) # else # if defined(__powerpc64__) -# define SHADOW_OFFSET (1ULL << 41) +# define SHADOW_OFFSET (1ULL << 43) # else # define SHADOW_OFFSET (1ULL << 44) # endif @@ -46,7 +46,7 @@ extern SANITIZER_INTERFACE_ATTRIBUTE uptr __asan_mapping_offset; #if SANITIZER_WORDSIZE == 64 # if defined(__powerpc64__) - static const uptr kHighMemEnd = 0x00000fffffffffffUL; + static const uptr kHighMemEnd = 0x00003fffffffffffUL; # else static const uptr kHighMemEnd = 0x00007fffffffffffUL; # endif