llvm-project
db7e8f2a - [compiler-rt] Hardcode uptr/sptr typedefs on Linux Arm (#108105)

Commit
1 year ago
[compiler-rt] Hardcode uptr/sptr typedefs on Linux Arm (#108105) After #106155, Android arm32 asan builds stopped working with missing definition linker errors. This is due to inconsistent definitions of `uptr` of either `unsigned long` or `unsigned int` even between TUs in compiler-rt. This is caused by Linux arm32 headers redefining `__UINTPTR_TYPE__` (see `arch/arm/include/uapi/asm/types.h` in the Linux kernel repo), meaning include order/whether or not the Linux header is included changes compiler-rt symbol mangling. As a workaround, this hardcodes `uptr`/`sptr` in compiler-rt to `unsigned int`/`int` on Linux arm32, matching clang/gcc.
Author
Parents
Loading