-
Notifications
You must be signed in to change notification settings - Fork 37
Support AddressSanitizer on v10.100.0 #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Sunbreak <sunbreak.wang@gmail.com>
|
Building $ NO_INTL=true ./scripts/build.sh android x64
ninja: Entering directory `v8/out.v8.x64'
[1/1] SOLINK_MODULE ./libv8android.so
FAILED: libv8android.so lib.unstripped/libv8android.so
../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -fuse-ld=lld -Wl,--fatal-warnings -Wl,--build-id -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--color-diagnostics -Wl,--no-rosegment -Wl,--no-call-graph-profile-sort -Wl,--exclude-libs=libgcc.a -Wl,--exclude-libs=libvpx_assembly_arm.a --rtlib=libgcc --target=x86_64-linux-android23 -m64 -no-canonical-prefixes --sysroot=../android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/sysroot --gcc-toolchain=../android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64 -Wl,--warn-shared-textrel -fsanitize=address -Wl,--warn-shared-textrel -Wl,-O2 -Wl,--gc-sections -Wl,-u_sanitizer_options_link_helper -fsanitize=address -o "./lib.unstripped/libv8android.so" -Wl,-soname="libv8android.so" @"./libv8android.so.rsp" && ../third_party/llvm-build/Release+Asserts/bin/llvm-strip -o "./libv8android.so" "./lib.unstripped/libv8android.so"
ld.lld: error: cannot open ../third_party/llvm-build/Release+Asserts/lib/clang/15.0.0/lib/linux/libclang_rt.asan-x86_64-android.so: No such file or directory
ld.lld: error: cannot open ../third_party/llvm-build/Release+Asserts/lib/clang/15.0.0/lib/linux/libclang_rt.asan_static-x86_64-android.a: No such file or directory
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.However $ ls -al v8/third_party/llvm-build/Release+Asserts/lib/clang/15.0.0/lib/linux/libclang_rt.asan*android*
-rwxr-xr-x 1 ubuntu ubuntu 1390064 2月 13 16:34 v8/third_party/llvm-build/Release+Asserts/lib/clang/15.0.0/lib/linux/libclang_rt.asan-aarch64-android.so
-rwxr-xr-x 1 ubuntu ubuntu 1316764 2月 13 16:34 v8/third_party/llvm-build/Release+Asserts/lib/clang/15.0.0/lib/linux/libclang_rt.asan-arm-android.so
-rwxr-xr-x 1 ubuntu ubuntu 1385684 2月 13 16:34 v8/third_party/llvm-build/Release+Asserts/lib/clang/15.0.0/lib/linux/libclang_rt.asan-i686-android.so
-rw-r--r-- 1 ubuntu ubuntu 5576 2月 13 16:34 v8/third_party/llvm-build/Release+Asserts/lib/clang/15.0.0/lib/linux/libclang_rt.asan_static-aarch64-android.a
-rw-r--r-- 1 ubuntu ubuntu 4452 2月 13 16:34 v8/third_party/llvm-build/Release+Asserts/lib/clang/15.0.0/lib/linux/libclang_rt.asan_static-arm-android.a
-rw-r--r-- 1 ubuntu ubuntu 4536 2月 13 16:34 v8/third_party/llvm-build/Release+Asserts/lib/clang/15.0.0/lib/linux/libclang_rt.asan_static-i686-android.ahttps://github.com/Sunbreak/v8-android-buildscripts/tree/7.8.1-asan has the same problem but a different clang version. We'd better fix missing dependencies in $ ls v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan*android*
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-aarch64-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-aarch64-android.a.syms
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-aarch64-android.so
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-arm-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-arm-android.a.syms
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-arm-android.so
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan_cxx-aarch64-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan_cxx-aarch64-android.a.syms
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan_cxx-arm-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan_cxx-arm-android.a.syms
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan_cxx-i686-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan_cxx-x86_64-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan_cxx-x86_64-android.a.syms
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-i686-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-i686-android.so
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-preinit-aarch64-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-preinit-arm-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-preinit-i686-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-preinit-x86_64-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-x86_64-android.a
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-x86_64-android.a.syms
v8/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9/lib/linux/libclang_rt.asan-x86_64-android.so |
Signed-off-by: wangkun <wangkun@xiaohongshu.com>
|
hi there! thanks for your pr. could you share the insight of using asan libs in production apps? |
ASan helps to debug but reduce the performance. We use it for local test only |
|
right, but the pr tends to change the release build. imo, if someone needs to turn on asan, we could just have a flag but comment out like the debug build flag |
|
Yep. This PR is kind of draft. Feel free to change if you want |
Signed-off-by: Sunbreak sunbreak.wang@gmail.com