[cfe-commits] r148842 - in /cfe/trunk: docs/LanguageExtensions.html include/clang/Basic/Attr.td include/clang/Sema/AttributeList.h lib/CodeGen/CodeGenModule.cpp lib/Sema/AttributeList.cpp lib/Sema/SemaDeclAttr.cpp test/CodeGen/address-safety-attr

Kostya Serebryany kcc at google.com
Mon Jan 30 10:17:24 PST 2012


On Fri, Jan 27, 2012 at 7:58 AM, Alexander Potapenko <glider at google.com>wrote:

> Kostya,
>
> it seems to me that this patch broke the support for ObjC.
>
It is very unlikely that this patch broke the objc support in asan.
btw, can we have objc tests on linux?

--kcc


>
> $ gobjdump -D bin_darwin/asan_test32
> ...
>
> 0013b460 <+[LoadSomething load]>:
>  13b460:       55                      push   %ebp
>  13b461:       89 e5                   mov    %esp,%ebp
>  13b463:       53                      push   %ebx
>  13b464:       57                      push   %edi
>  13b465:       56                      push   %esi
>  13b466:       83 ec 0c                sub    $0xc,%esp
>  13b469:       e8 00 00 00 00          call   13b46e <+[LoadSomething
> load]+0xe>
>  13b46e:       5b                      pop    %ebx
>  13b46f:       8d b3 72 75 1b 00       lea    0x1b7572(%ebx),%esi
>  13b475:       89 34 24                mov    %esi,(%esp)
>  13b478:       e8 4f 77 17 00          call   2b2bcc <_strlen$stub>
>  13b47d:       85 c0                   test   %eax,%eax
>  13b47f:       74 22                   je     13b4a3 <+[LoadSomething
> load]+0x43>
>  13b481:       31 ff                   xor    %edi,%edi
>  13b483:       8d 9b 72 75 1b 00       lea    0x1b7572(%ebx),%ebx
>  13b489:       0f 1f 80 00 00 00 00    nopl   0x0(%eax)
>  13b490:       8a 06                   mov    (%esi),%al
>  13b492:       88 45 f3                mov    %al,-0xd(%ebp)
>  13b495:       89 1c 24                mov    %ebx,(%esp)
>  13b498:       46                      inc    %esi
>  13b499:       47                      inc    %edi
>  13b49a:       e8 2d 77 17 00          call   2b2bcc <_strlen$stub>
>  13b49f:       39 c7                   cmp    %eax,%edi
>  13b4a1:       72 ed                   jb     13b490 <+[LoadSomething
> load]+0x30>
>  13b4a3:       83 c4 0c                add    $0xc,%esp
>  13b4a6:       5e                      pop    %esi
>  13b4a7:       5f                      pop    %edi
>  13b4a8:       5b                      pop    %ebx
>  13b4a9:       5d                      pop    %ebp
>  13b4aa:       c3                      ret
>  13b4ab:       0f 1f 44 00 00          nopl   0x0(%eax,%eax,1)
> ...
>
> -- as you can see, __asan_init is not called at the beginning of the
> function.
> This leads to crashes in Chromium, because some instrumented code ends
> up being called from such load methods before __asan_init.
> I'm going to take a look, but it'll be great if you know how to fix
> this off the top of your head.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120130/72161852/attachment.html>


More information about the cfe-commits mailing list