authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-04-27 10:16:02+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-04-27 10:16:02+02:00
logdde76ae5f7f74f9173650d4b420ed44e183b1337
treefdb0cc0496f714e75fe7d6e647109a494b0ad896
parent669c06680192f49eb7021fcf6b1601355fa10b04
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

libunwind: unregress x32 and mips n32 build

https://github.com/llvm/llvm-project/issues/194228

2 files changed, 4 insertions(+), 2 deletions(-)

lib/libunwind/src/AddressSpace.hpp+2-1
...@@ -666,7 +666,8 @@ inline bool LocalAddressSpace::findUnwindSections(...@@ -666,7 +666,8 @@ inline bool LocalAddressSpace::findUnwindSections(
666 return true;666 return true;
667 }667 }
668#endif668#endif
669 dl_iterate_cb_data cb_data = {this, &info, targetAddr};669 // zig patch: https://github.com/llvm/llvm-project/issues/194228
670 dl_iterate_cb_data cb_data = {this, &info, static_cast<pint_t>(targetAddr)};
670 int found = dl_iterate_phdr(findUnwindSectionsByPhdr, &cb_data);671 int found = dl_iterate_phdr(findUnwindSectionsByPhdr, &cb_data);
671 return static_cast<bool>(found);672 return static_cast<bool>(found);
672#endif673#endif
lib/libunwind/src/DwarfParser.hpp+2-1
...@@ -473,11 +473,12 @@ bool CFI_Parser<A>::parseFDEInstructions(...@@ -473,11 +473,12 @@ bool CFI_Parser<A>::parseFDEInstructions(
473 pint_t pcoffset;473 pint_t pcoffset;
474 };474 };
475475
476 // zig patch: https://github.com/llvm/llvm-project/issues/194228
476 ParseInfo parseInfoArray[] = {477 ParseInfo parseInfoArray[] = {
477 {cieInfo.cieInstructions, cieInfo.cieStart + cieInfo.cieLength,478 {cieInfo.cieInstructions, cieInfo.cieStart + cieInfo.cieLength,
478 (pint_t)(-1)},479 (pint_t)(-1)},
479 {fdeInfo.fdeInstructions, fdeInfo.fdeStart + fdeInfo.fdeLength,480 {fdeInfo.fdeInstructions, fdeInfo.fdeStart + fdeInfo.fdeLength,
480 upToPC - fdeInfo.pcStart}};481 static_cast<pint_t>(upToPC) - fdeInfo.pcStart}};
481482
482 for (const auto &info : parseInfoArray) {483 for (const auto &info : parseInfoArray) {
483 pint_t p = info.instructions;484 pint_t p = info.instructions;