mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2026-02-13 05:10:51 +00:00
- Makes the default behavior of on-device building with the address sanitizer match the default behavior of building with the address sanitizer on Clang for Desktop Linux distros, which is to use the static library - Fixes https://github.com/termux/termux-packages/issues/26485 - On devices that do not have `libclang_rt.asan-$arch-android.so` or which have a corrupted one, fixes building on-device with `-fsanitize=address` - Samsung Galaxy S III SPH-L710 with LineageOS 14.1 Android 7.1.2 before: ``` ~ $ clang test.c -fsanitize=address ~ $ ./a.out WARNING: linker: /data/data/com.termux/files/home/a.out: unsupported flags DT_FLAGS_1=0x8000001 CANNOT LINK EXECUTABLE "./a.out": library "libclang_rt.asan-arm-android.so" not found Aborted ./a.out ~ $ clang test.c -fsanitize=address -Wl,-rpath=$PREFIX/lib/clang/20/lib/linux ~ $ ./a.out WARNING: linker: /data/data/com.termux/files/home/a.out: unsupported flags DT_FLAGS_1=0x8000001 ~ $ termux-elf-cleaner ./a.out termux-elf-cleaner: Replacing unsupported DF_1_* flags 134217729 with 1 in './a.out' ~ $ ./a.out ~ $ file /system/lib/libclang_rt.asan-arm-android.so /system/lib/libclang_rt.asan-arm-android.so: cannot open `/system/lib/libclang_rt.asan-arm-android.so' (No such file or directory) ~ $ ``` - After: ``` ~ $ clang test.c -fsanitize=address ~ $ ./a.out WARNING: linker: /data/data/com.termux/files/home/a.out: unsupported flags DT_FLAGS_1=0x8000001 ~ $ termux-elf-cleaner a.out termux-elf-cleaner: Replacing unsupported DF_1_* flags 134217729 with 1 in 'a.out' ~ $ ./a.out ~ $ ``` - Vivo iQOO Neo8 V2301A with Android 15 before: ``` thread #1, name = 'a.out', stop reason = signal SIGILL: illegal opcode ``` - After: believed to work
52 lines
1.1 KiB
Bash
52 lines
1.1 KiB
Bash
TERMUX_SUBPKG_INCLUDE="
|
|
bin/amdgpu-arch
|
|
bin/analyze-build
|
|
bin/c++
|
|
bin/cc
|
|
bin/clang*
|
|
bin/cpp
|
|
bin/diagtool
|
|
bin/find-all-symbols
|
|
bin/g++
|
|
bin/gcc
|
|
bin/git-clang-format
|
|
bin/hmaptool
|
|
bin/intercept-build
|
|
bin/*-linux-android*
|
|
bin/modularize
|
|
bin/nvptx-arch
|
|
bin/offload-arch
|
|
bin/pp-trace
|
|
bin/run-clang-tidy
|
|
bin/scan-*
|
|
include/clang*
|
|
lib/clang/*/include/*.h
|
|
lib/clang/*/include/module.modulemap
|
|
lib/clang/*/include/cuda_wrappers/
|
|
lib/clang/*/include/llvm_libc_wrappers/
|
|
lib/clang/*/include/llvm_offload_wrappers/
|
|
lib/clang/*/include/openmp_wrappers/
|
|
lib/clang/*/include/ppc_wrappers/
|
|
lib/clang/*/include/zos_wrappers/
|
|
lib/clang/latest
|
|
lib/cmake/clang
|
|
lib/cmake/openmp
|
|
lib/libarcher.so
|
|
lib/libclang*so
|
|
lib/libear/
|
|
lib/libomp.a
|
|
lib/libscanbuild/
|
|
libexec/
|
|
share/clang
|
|
share/clang-doc
|
|
share/man/man1/clang.1.gz
|
|
share/man/man1/diagtool.1.gz
|
|
share/man/man1/scan-build.1.gz
|
|
share/scan-*
|
|
"
|
|
TERMUX_SUBPKG_DESCRIPTION="C language frontend for LLVM"
|
|
TERMUX_SUBPKG_DEPENDS="libcompiler-rt, lld, llvm, ndk-sysroot"
|
|
TERMUX_SUBPKG_BREAKS="libllvm (<< 16.0.0), clangd"
|
|
TERMUX_SUBPKG_REPLACES="libllvm (<< 16.0.0), clangd"
|
|
TERMUX_SUBPKG_GROUPS="base-devel"
|