[PATCH] D69045: libhwasan interceptor ABI intercept longjmp/setjmp

Jiri Danek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 14 06:25:40 PDT 2020


jdanek added a comment.

In D69045#2036038 <https://reviews.llvm.org/D69045#2036038>, @mmalcomson wrote:

> In D69045#2034976 <https://reviews.llvm.org/D69045#2034976>, @jdanek wrote:
>
> > I believe I am on 2.31 already:
>
>
> Could you just double check `objdump` your libc -- if it still has a non-ptl symbol then it might be that there was something strange in my testing environment, and that in the wild this is usually non-interceptable.


I don't actually know how to check for plt symbols. Let me just try few things, maybe I got lucky

  $ readelf -Wa /lib/aarch64-linux-gnu/libc-2.31.so | grep setjmp
     653: 0000000000036ce0     8 FUNC    GLOBAL DEFAULT   13 setjmp@@GLIBC_2.17
    1031: 0000000000036cf0     8 FUNC    GLOBAL DEFAULT   13 _setjmp@@GLIBC_2.17
    1083: 0000000000036d00    88 FUNC    GLOBAL DEFAULT   13 __sigsetjmp@@GLIBC_2.17
      Name: setjmp
  $ readelf -Wa /lib/aarch64-linux-gnu/libc-2.31.so | grep longjmp
     245: 00000000000e2c28    68 FUNC    GLOBAL DEFAULT   13 __longjmp_chk@@GLIBC_2.17
     314: 0000000000036db0    68 FUNC    WEAK   DEFAULT   13 _longjmp@@GLIBC_2.17
    1020: 0000000000036db0    68 FUNC    WEAK   DEFAULT   13 longjmp@@GLIBC_2.17
    1220: 0000000000036db0    68 FUNC    WEAK   DEFAULT   13 siglongjmp@@GLIBC_2.17
    1670: 0000000000036db0    68 FUNC    GLOBAL DEFAULT   13 __libc_siglongjmp@@GLIBC_PRIVATE
    2155: 0000000000036db0    68 FUNC    GLOBAL DEFAULT   13 __libc_longjmp@@GLIBC_PRIVATE
      Name: longjmp
      Name: longjmp_target

and, with more context before 24050 at https://gist.github.com/jiridanek/c1171bdcd59e6ce499255176e8211e8c#file-objdump-d-grep

  $ objdump -d /lib/aarch64-linux-gnu/libc-2.31.so | grep __libc_start_main -A50 | grep setjmp
     24050:       94004b28        bl      36cf0 <_setjmp@@GLIBC_2.17>

and `objdump -d -s -j .plt -j .got.plt /lib/aarch64-linux-gnu/libc-2.31.so` at https://gist.github.com/jiridanek/c1171bdcd59e6ce499255176e8211e8c#file-objdump-d-s-j-plt-j-got-plt


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69045/new/

https://reviews.llvm.org/D69045





More information about the llvm-commits mailing list