uweigand wrote: > Two crash fixes added (follow-up to > [c4b3d1d](https://github.com/llvm/llvm-project/commit/c4b3d1d51da2570de41fbfab9784ca31558641a8)) > > 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.
This looks fine, but really should go into a separate PR, it has nothing to do with the ABI. > 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(). This doesn't look right to be - my understanding is that we *need* the ADA as we cannot use `EXTRN` for data symbols. The ADA should have been set wherever the symbol was marked as data. If that's not happening, we may need to fix it there. In any case, that's also a separate PR. https://github.com/llvm/llvm-project/pull/206833 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
