From a52113d2368551dc2c530b765f656e724fcd7739 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Wed, 4 Dec 2024 17:27:59 -0600 Subject: user/llvm14: Move to bootstrap/ Package is only needed by Rust bootstrap packages. --- bootstrap/llvm14/macho32.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 bootstrap/llvm14/macho32.patch (limited to 'bootstrap/llvm14/macho32.patch') diff --git a/bootstrap/llvm14/macho32.patch b/bootstrap/llvm14/macho32.patch new file mode 100644 index 000000000..31279d502 --- /dev/null +++ b/bootstrap/llvm14/macho32.patch @@ -0,0 +1,17 @@ +Use integer offset math instead of pointer math to determine load +command bounds. + +Upstream-URL: https://github.com/llvm/llvm-project/issues/56746 + +--- llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp.old 2022-06-22 16:46:24.000000000 +0000 ++++ llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp 2022-11-28 04:21:02.730211841 +0000 +@@ -190,7 +190,8 @@ + getLoadCommandInfo(const MachOObjectFile &Obj, const char *Ptr, + uint32_t LoadCommandIndex) { + if (auto CmdOrErr = getStructOrErr(Obj, Ptr)) { +- if (CmdOrErr->cmdsize + Ptr > Obj.getData().end()) ++ uint64_t Offset = Ptr - Obj.getData().begin(); ++ if (CmdOrErr->cmdsize + Offset > Obj.getData().size()) + return malformedError("load command " + Twine(LoadCommandIndex) + + " extends past end of file"); + if (CmdOrErr->cmdsize < 8) -- cgit v1.2.3-70-g09d2