<div dir="ltr">Hi Will,<div><br></div><div>It's possible that FooBarBaz() just doesn't get inlined. Could you check if the attached patch fixes the test for you?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 27, 2014 at 3:23 PM, Will Schmidt <span dir="ltr"><<a href="mailto:will_schmidt@vnet.ibm.com" target="_blank">will_schmidt@vnet.ibm.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Fri, 2014-10-24 at 18:34 +0000, Alexey Samsonov wrote:<br>
> Author: samsonov<br>
> Date: Fri Oct 24 13:34:43 2014<br>
> New Revision: 220582<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=220582&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=220582&view=rev</a><br>
> Log:<br>
> Add runtime flag 'symbolize_inline_frames' to disable symbolization of inlined frames done in llvm-symbolizer<br>
><br>
<br>
</span><span class="">> Modified: compiler-rt/trunk/test/sanitizer_common/TestCases/print-stack-trace.cc<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/print-stack-trace.cc?rev=220582&r1=220581&r2=220582&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/print-stack-trace.cc?rev=220582&r1=220581&r2=220582&view=diff</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/test/sanitizer_common/TestCases/print-stack-trace.cc (original)<br>
> +++ compiler-rt/trunk/test/sanitizer_common/TestCases/print-stack-trace.cc Fri Oct 24 13:34:43 2014<br>
> @@ -1,13 +1,14 @@<br>
>  // RUN: %clangxx -O0 %s -o %t && %run %t 2>&1 | FileCheck %s<br>
>  // RUN: %clangxx -O3 %s -o %t && %run %t 2>&1 | FileCheck %s<br>
> -//<br>
> +// RUN: %tool_options=symbolize_inline_frames=false %run %t 2>&1 | FileCheck %s --check-prefix=NOINLINE<br>
> +<br>
<br>
</span>Hi Alexey,<br>
<br>
This one fails for me, in a local build, on ppc64*.  The output from the<br>
run portion ( that gets passed into FileCheck ) looks the same,<br>
regardless of the ASAN_OPTIONS=symbolize_inline_frames=*  value used.<br>
So I'd guess this is an architecture limitation for the moment, but<br>
thats not obvious from the other changes...   Am I missing something<br>
else in my environment here?  (should be all fresh build, etc).<br>
<br>
> /home/willschm/llvm_build/native/llvm.cmake/./bin/clang --driver-mode=g++ -gline-tables-only -fsanitize=address  -O3 /home/willschm/llvm/projects/compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cc -o /home/willschm/llvm_build/native/llvm.cmake/projects/compiler-rt/test/sanitizer_common/asan/Output/print-stack-trace.cc.tmp<br>
<br>
> ASAN_OPTIONS=symbolize_inline_frames=true  /home/willschm/llvm_build/native/llvm.cmake/projects/compiler-rt/test/sanitizer_common/asan/Output/print-stack-trace.cc.tmp<br>
    #0 0x100c07dc in __sanitizer_print_stack_trace /home/willschm/llvm/projects/compiler-rt/lib/asan/asan_stack.cc:23<br>
    #1 0x100def70 in FooBarBaz /home/willschm/llvm/projects/compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cc:12:3<br>
    #2 0x100def70 in main /home/willschm/llvm/projects/compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cc:16<br>
    #3 0x1000003b4cfc in generic_start_main /build/buildd/eglibc-2.19/csu/../csu/libc-start.c:287<br>
<br>
Thanks,<br>
-Will<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
>  // Not yet implemented for TSan.<br>
>  // <a href="https://code.google.com/p/address-sanitizer/issues/detail?id=243" target="_blank">https://code.google.com/p/address-sanitizer/issues/detail?id=243</a><br>
>  // XFAIL: tsan<br>
><br>
>  #include <sanitizer/common_interface_defs.h><br>
><br>
> -void FooBarBaz() {<br>
> +static inline void FooBarBaz() {<br>
>    __sanitizer_print_stack_trace();<br>
>  }<br>
><br>
> @@ -16,5 +17,8 @@ int main() {<br>
>    return 0;<br>
>  }<br>
>  // CHECK: {{    #0 0x.* in __sanitizer_print_stack_trace}}<br>
> -// CHECK: {{    #1 0x.* in FooBarBaz(\(\))? .*print-stack-trace.cc:11}}<br>
> -// CHECK: {{    #2 0x.* in main.*print-stack-trace.cc:15}}<br>
> +// CHECK: {{    #1 0x.* in FooBarBaz(\(\))? .*print-stack-trace.cc:12}}<br>
> +// CHECK: {{    #2 0x.* in main.*print-stack-trace.cc:16}}<br>
> +<br>
> +// NOINLINE: #0 0x{{.*}} in __sanitizer_print_stack_trace<br>
> +// NOINLINE: #1 0x{{.*}} in main{{.*}}print-stack-trace.cc:12<br>
<br>
<br>
<br>
<br>
<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Alexey Samsonov<br><a href="mailto:vonosmas@gmail.com" target="_blank">vonosmas@gmail.com</a></div>
</div>