[clang] [libunwind] [lld] [llvm] [wasm] Toolchain support for `wasm32-wali-linux-musl` target (PR #156087)

Derek Schuff via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 29 12:55:04 PDT 2025


================
@@ -88,12 +88,20 @@ class LLVM_LIBRARY_VISIBILITY WebAssemblyTargetInfo : public TargetInfo {
     LongDoubleWidth = LongDoubleAlign = 128;
     LongDoubleFormat = &llvm::APFloat::IEEEquad();
     MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64;
-    // size_t being unsigned long for both wasm32 and wasm64 makes mangled names
-    // more consistent between the two.
-    SizeType = UnsignedLong;
-    PtrDiffType = SignedLong;
-    IntPtrType = SignedLong;
     HasUnalignedAccess = true;
+    if (T.isWALI()) {
+      // WALI ABI requires 64-bit longs on both wasm32 and wasm64
----------------
dschuff wrote:

I'm curious about this. AFAIK longs match pointers on other Linux ABIs. Why the change here? Is this ABI documented?

https://github.com/llvm/llvm-project/pull/156087


More information about the cfe-commits mailing list