[llvm-branch-commits] [lld] f5ad8dc - [ELF][Hexagon] Fix host endianness assumption
Tobias Hieta via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Aug 5 01:56:32 PDT 2025
Author: Jessica Clarke
Date: 2025-08-05T10:56:10+02:00
New Revision: f5ad8dc6876ab667d07fe6c3bd2ac2bad434f6fb
URL: https://github.com/llvm/llvm-project/commit/f5ad8dc6876ab667d07fe6c3bd2ac2bad434f6fb
DIFF: https://github.com/llvm/llvm-project/commit/f5ad8dc6876ab667d07fe6c3bd2ac2bad434f6fb.diff
LOG: [ELF][Hexagon] Fix host endianness assumption
Fixes: b42f96bc057f ("[lld] Add thunks for hexagon (#111217)")
(cherry picked from commit 723b40a8d92f76fc913ef21061fc3d74e8c47441)
Added:
Modified:
lld/ELF/Relocations.cpp
Removed:
################################################################################
diff --git a/lld/ELF/Relocations.cpp b/lld/ELF/Relocations.cpp
index 9549cc6f56326..608cdd0d26660 100644
--- a/lld/ELF/Relocations.cpp
+++ b/lld/ELF/Relocations.cpp
@@ -2153,9 +2153,8 @@ static int getHexagonPacketOffset(const InputSection &isec,
for (unsigned i = 0;; i++) {
if (i == 3 || rel.offset < (i + 1) * 4)
return i * 4;
- uint32_t instWord = 0;
- memcpy(&instWord, data.data() + (rel.offset - (i + 1) * 4),
- sizeof(instWord));
+ uint32_t instWord =
+ read32(isec.getCtx(), data.data() + (rel.offset - (i + 1) * 4));
if (((instWord & HEXAGON_MASK_END_PACKET) == HEXAGON_END_OF_PACKET) ||
((instWord & HEXAGON_MASK_END_PACKET) == HEXAGON_END_OF_DUPLEX))
return i * 4;
More information about the llvm-branch-commits
mailing list