commit dde76ae5f7f74f9173650d4b420ed44e183b1337 (tree)
parent 669c06680192f49eb7021fcf6b1601355fa10b04
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Mon, 27 Apr 2026 10:16:02 +0200
libunwind: unregress x32 and mips n32 build
https://github.com/llvm/llvm-project/issues/194228
Diffstat:
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/libunwind/src/AddressSpace.hpp b/lib/libunwind/src/AddressSpace.hpp
@@ -666,7 +666,8 @@ inline bool LocalAddressSpace::findUnwindSections(
return true;
}
#endif
- dl_iterate_cb_data cb_data = {this, &info, targetAddr};
+ // zig patch: https://github.com/llvm/llvm-project/issues/194228
+ dl_iterate_cb_data cb_data = {this, &info, static_cast<pint_t>(targetAddr)};
int found = dl_iterate_phdr(findUnwindSectionsByPhdr, &cb_data);
return static_cast<bool>(found);
#endif
diff --git a/lib/libunwind/src/DwarfParser.hpp b/lib/libunwind/src/DwarfParser.hpp
@@ -473,11 +473,12 @@ bool CFI_Parser<A>::parseFDEInstructions(
pint_t pcoffset;
};
+ // zig patch: https://github.com/llvm/llvm-project/issues/194228
ParseInfo parseInfoArray[] = {
{cieInfo.cieInstructions, cieInfo.cieStart + cieInfo.cieLength,
(pint_t)(-1)},
{fdeInfo.fdeInstructions, fdeInfo.fdeStart + fdeInfo.fdeLength,
- upToPC - fdeInfo.pcStart}};
+ static_cast<pint_t>(upToPC) - fdeInfo.pcStart}};
for (const auto &info : parseInfoArray) {
pint_t p = info.instructions;