diff options
author | Zach van Rijn <me@zv.io> | 2024-12-06 19:22:35 +0000 |
---|---|---|
committer | Zach van Rijn <me@zv.io> | 2024-12-06 19:22:37 +0000 |
commit | 57762abcbf59410fc77ac48a3027bdee08c9291f (patch) | |
tree | 089c78d5e2738f92acc7dd22fbc18daa53bfd480 /bootstrap/llvm18/macho32.patch | |
parent | cf1b9041544c3a70181778535ba310653593e9c3 (diff) | |
download | packages-57762abcbf59410fc77ac48a3027bdee08c9291f.tar.gz packages-57762abcbf59410fc77ac48a3027bdee08c9291f.tar.bz2 packages-57762abcbf59410fc77ac48a3027bdee08c9291f.tar.xz packages-57762abcbf59410fc77ac48a3027bdee08c9291f.zip |
bootstrap/llvm18: replace symlink with files.
Note: default_llvm="no"
Effectively reverts 1c7549b7bb4dcf1142d6c19876841ccc93fcafd5
since 'abuild' uses readlink to derive repository information.
The user/llvm18 package is free to be updated independently.
Diffstat (limited to 'bootstrap/llvm18/macho32.patch')
-rw-r--r-- | bootstrap/llvm18/macho32.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/bootstrap/llvm18/macho32.patch b/bootstrap/llvm18/macho32.patch new file mode 100644 index 000000000..e18098372 --- /dev/null +++ b/bootstrap/llvm18/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 +@@ -192,7 +192,8 @@ + getLoadCommandInfo(const MachOObjectFile &Obj, const char *Ptr, + uint32_t LoadCommandIndex) { + if (auto CmdOrErr = getStructOrErr<MachO::load_command>(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) |