[clang] [llvm] [SystemZ] Do not extend integer arguments in z/OS XPLINK64 ABI (PR #206833)

Zibi Sarbinowski via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 22 08:48:11 PDT 2026


zibi2 wrote:

Two crash fixes added (follow-up to c4b3d1d51da2)

Found when running with WYVERN_DEFAULT_TARGET_TRIPLE=s390x-ibm-zos:

SystemZMCTargetDesc.cpp — createNullTargetStreamer was returning the base SystemZTargetStreamer whose createWordDiffExpr() returns nullptr. The new PPA1 prolog-length fields pass that directly to emitValue(), causing a SIGSEGV. Fix: return SystemZTargetGOFFStreamer for z/OS, same as createObjectTargetStreamer already does.

SystemZHLASMAsmStreamer.cpp — finishImpl() unconditionally calls getADA()->getParent() for any ESD_EXE_DATA symbol, but common/BSS globals get ESD_EXE_DATA set via MCSA_ELF_TypeObject without ever having their ADA assigned. Fix: guard with && Sym.getADA().



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


More information about the llvm-commits mailing list