[llvm] r310240 - Add -asan-force-dynamic-shadow test

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 7 14:00:28 PDT 2017


Particularity this one is not regression test, I just noticed that this
flag is untested.

On Mon, Aug 7, 2017 at 1:58 PM, Kuba Mracek <mracek at apple.com> wrote:

> It's a miscompile when using ASan with a dynamic shadow memory.
>
> CC'ing Vitaly and Kostya.
>
> Kuba
>
> > On 7 Aug 2017, at 13:40, Hans Wennborg <hans at chromium.org> wrote:
> >
> > Which bug? There's zero context here.
> >
> > On Mon, Aug 7, 2017 at 1:39 PM, Kuba Mracek <mracek at apple.com> wrote:
> >> It's a regression test for a recent bug.  The bug was not covered by an
> existing test.  I want to make sure the bug doesn't reappear.
> >>
> >> Kuba
> >>
> >>> On 7 Aug 2017, at 13:38, Hans Wennborg <hans at chromium.org> wrote:
> >>>
> >>> What's the motivation? It seems this just adds a test for
> >>> functionality that landed sime time back?
> >>>
> >>> On Mon, Aug 7, 2017 at 8:18 AM, Kuba Mracek <mracek at apple.com> wrote:
> >>>> Please merge into release_50.
> >>>>
> >>>> Thanks,
> >>>> Kuba
> >>>>
> >>>>> On 7 Aug 2017, at 00:12, Vitaly Buka via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
> >>>>>
> >>>>> Author: vitalybuka
> >>>>> Date: Mon Aug  7 00:12:33 2017
> >>>>> New Revision: 310240
> >>>>>
> >>>>> URL: http://llvm.org/viewvc/llvm-project?rev=310240&view=rev
> >>>>> Log:
> >>>>> Add -asan-force-dynamic-shadow test
> >>>>>
> >>>>> Added:
> >>>>>  llvm/trunk/test/Instrumentation/AddressSanitizer/force-
> dynamic-shadow.ll
> >>>>>
> >>>>> Added: llvm/trunk/test/Instrumentation/AddressSanitizer/force-
> dynamic-shadow.ll
> >>>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/
> Instrumentation/AddressSanitizer/force-dynamic-shadow.ll?rev=310240&
> view=auto
> >>>>> ============================================================
> ==================
> >>>>> --- llvm/trunk/test/Instrumentation/AddressSanitizer/force-dynamic-shadow.ll
> (added)
> >>>>> +++ llvm/trunk/test/Instrumentation/AddressSanitizer/force-dynamic-shadow.ll
> Mon Aug  7 00:12:33 2017
> >>>>> @@ -0,0 +1,22 @@
> >>>>> +; Test -asan-force-dynamic-shadow flag.
> >>>>> +;
> >>>>> +; RUN: opt -asan -asan-module -S -asan-force-dynamic-shadow=1 < %s
> | FileCheck %s --check-prefixes=CHECK,CHECK-FDS
> >>>>> +; RUN: opt -asan -asan-module -S -asan-force-dynamic-shadow=0 < %s
> | FileCheck %s --check-prefixes=CHECK,CHECK-NDS
> >>>>> +
> >>>>> +target triple = "x86_64-unknown-linux-gnu"
> >>>>> +
> >>>>> +define i32 @test_load(i32* %a) sanitize_address {
> >>>>> +; First instrumentation in the function must be to load the dynamic
> shadow
> >>>>> +; address into a local variable.
> >>>>> +; CHECK-LABEL: @test_load
> >>>>> +; CHECK: entry:
> >>>>> +; CHECK-FDS-NEXT: %[[SHADOW:[^ ]*]] = load i64, i64*
> @__asan_shadow_memory_dynamic_address
> >>>>> +; CHECK-NDS-NOT: __asan_shadow_memory_dynamic_address
> >>>>> +
> >>>>> +; Shadow address is loaded and added into the whole offset
> computation.
> >>>>> +; CHECK-FDS add i64 %{{.*}}, %[[SHADOW] ]
> >>>>> +
> >>>>> +entry:
> >>>>> +  %tmp1 = load i32, i32* %a, align 4
> >>>>> +  ret i32 %tmp1
> >>>>> +}
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> llvm-commits mailing list
> >>>>> llvm-commits at lists.llvm.org
> >>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> >>>>
> >>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170807/10d74dba/attachment.html>


More information about the llvm-commits mailing list