ELF2 arm64: fix exit from lzma de-compressor

modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   linker.cpp
	modified:   stub/src/arch/arm64/v8/lzma_d.S
	modified:   stub/src/arm64-expand.S
           plus generated *.h *.map *.dump
This commit is contained in:
John Reiser
2024-06-27 18:49:21 -07:00
parent 2c4e5c7a47
commit 35fca2062e
9 changed files with 2193 additions and 2187 deletions
+1 -1
View File
@@ -680,7 +680,7 @@ void ElfLinkerArm64LE::relocate1(const Relocation *rel, byte *location, upx_uint
upx_uint32_t const m19 = ~(~0u << 19);
upx_uint32_t w = get_le32(location);
set_le32(location, (w & ~(m19 << 5)) | ((((w >> 5) + (value >> 2)) & m19) << 5));
} else if (!strcmp(type, "CALL26")) {
} else if (!strcmp(type, "CALL26") || !strcmp(type, "JUMP26")) {
value -= rel->section->offset + rel->offset;
upx_uint32_t const m26 = ~(~0u << 26);
upx_uint32_t w = get_le32(location);