[all-commits] [llvm/llvm-project] db7e8f: [compiler-rt] Hardcode uptr/sptr typedefs on Linux...

Arthur Eubanks via All-commits all-commits at lists.llvm.org
Tue Sep 10 17:02:37 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: db7e8f2ae81fe10170dc202e45ee8b784e75c74c
      https://github.com/llvm/llvm-project/commit/db7e8f2ae81fe10170dc202e45ee8b784e75c74c
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-09-10 (Tue, 10 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h

  Log Message:
  -----------
  [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.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list