From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 064123858D28 for ; Wed, 7 Sep 2022 09:12:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 064123858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn Received: from [10.20.4.52] (unknown [10.20.4.52]) by localhost.localdomain (Coremail) with SMTP id AQAAf8BxXWtrYBhj+o8TAA--.18205S2; Wed, 07 Sep 2022 17:12:12 +0800 (CST) Subject: Re: [commited PATCH v2] LoongArch: Fix pr106828 by define hook TARGET_ASAN_SHADOW_OFFSET in loongarch backend. To: Xi Ruoyao , gcc-patches@gcc.gnu.org Cc: xuchenghua@loongson.cn References: <20220907073946.1102002-1-chenglulu@loongson.cn> <886a2abd8dfdaaf82ca6c2445f5ecb584121987f.camel@xry111.site> From: Lulu Cheng Message-ID: Date: Wed, 7 Sep 2022 17:12:11 +0800 User-Agent: Mozilla/5.0 (X11; Linux mips64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <886a2abd8dfdaaf82ca6c2445f5ecb584121987f.camel@xry111.site> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-CM-TRANSID:AQAAf8BxXWtrYBhj+o8TAA--.18205S2 X-Coremail-Antispam: 1UD129KBjvJXoWxWrWDZr45CFyDZw4ruw4Uurg_yoW5ArWDpa s3AF43trW8AFZ7Krn0q345XryDJryxW3W293WSqF40kw43Ar12qF1kWr9agayDJay8Jr12 vr18Ca13ZF1jy3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUvI14x267AKxVWUJVW8JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4j 6F4UM28EF7xvwVC2z280aVAFwI0_Cr1j6rxdM28EF7xvwVC2z280aVCY1x0267AKxVW0oV Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcVAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCYjI0SjxkI62AI1cAE67vI Y487MxkIecxEwVCm-wCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s 026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_ Jrv_JF1lIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20x vEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE 14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf 9x0JUywZ7UUUUU= X-CM-SenderInfo: xfkh0wpoxo3qxorr0wxvrqhubq/ X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00,BODY_8BITS,GIT_PATCH_0,KAM_DMARC_STATUS,NICE_REPLY_A,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 在 2022/9/7 下午4:02, Xi Ruoyao 写道: > On Wed, 2022-09-07 at 15:39 +0800, Lulu Cheng wrote: >> Sorry, asan shadow offset is wrong in v1. >> >> In the file asan_mapping.h line 207: >>         #    define ASAN_SHADOW_OFFSET_CONST 0x0000400000000000 >> >> So it's should be 1<<46. > LGTM. I forgot to include this change in r13-2296 :(. pushed to r13-2510.:-) > >> ------------------------------------ >> gcc/ChangeLog: >> >>         PR target/106828 >>         * config/loongarch/loongarch.cc >> (loongarch_asan_shadow_offset): New. >>         (TARGET_ASAN_SHADOW_OFFSET): New. >> >> gcc/testsuite/ChangeLog: >> >>         PR target/106828 >>         * g++.target/loongarch/pr106828.C: New test. >> --- >>  gcc/config/loongarch/loongarch.cc             | 13 +++++++++++++ >>  gcc/testsuite/g++.target/loongarch/pr106828.C |  4 ++++ >>  2 files changed, 17 insertions(+) >>  create mode 100644 gcc/testsuite/g++.target/loongarch/pr106828.C >> >> diff --git a/gcc/config/loongarch/loongarch.cc >> b/gcc/config/loongarch/loongarch.cc >> index 10acf06ef79..424fa4487f8 100644 >> --- a/gcc/config/loongarch/loongarch.cc >> +++ b/gcc/config/loongarch/loongarch.cc >> @@ -6471,6 +6471,16 @@ loongarch_use_anchors_for_symbol_p (const_rtx >> symbol) >>    return default_use_anchors_for_symbol_p (symbol); >>  } >> >> +/* Implement the TARGET_ASAN_SHADOW_OFFSET hook.  */ >> + >> +static unsigned HOST_WIDE_INT >> +loongarch_asan_shadow_offset (void) >> +{ >> +  /* We only have libsanitizer support for LOONGARCH64 at present. >> +     This value is taken from the file >> libsanitizer/asan/asan_mappint.h.  */ >> +  return TARGET_64BIT ? (HOST_WIDE_INT_1 << 46) : 0; >> +} >> + >>  /* Initialize the GCC target structure.  */ >>  #undef TARGET_ASM_ALIGNED_HI_OP >>  #define TARGET_ASM_ALIGNED_HI_OP "\t.half\t" >> @@ -6665,6 +6675,9 @@ loongarch_use_anchors_for_symbol_p (const_rtx >> symbol) >>  #undef  TARGET_USE_ANCHORS_FOR_SYMBOL_P >>  #define TARGET_USE_ANCHORS_FOR_SYMBOL_P >> loongarch_use_anchors_for_symbol_p >> >> +#undef TARGET_ASAN_SHADOW_OFFSET >> +#define TARGET_ASAN_SHADOW_OFFSET loongarch_asan_shadow_offset >> + >>  struct gcc_target targetm = TARGET_INITIALIZER; >> >>  #include "gt-loongarch.h" >> diff --git a/gcc/testsuite/g++.target/loongarch/pr106828.C >> b/gcc/testsuite/g++.target/loongarch/pr106828.C >> new file mode 100644 >> index 00000000000..190c1db715f >> --- /dev/null >> +++ b/gcc/testsuite/g++.target/loongarch/pr106828.C >> @@ -0,0 +1,4 @@ >> +/* { dg-do-preprocess } */ >> +/* { dg-options "-mabi=lp64d -fsanitize=address" } */ >> + >> +/* Tests whether the compiler supports compile option '- >> fsanitize=address'.  */