1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00

More hacking Android shlib.

https://github.com/upx/upx/issues/318
	modified:   p_elf_enum.h
	modified:   p_lx_elf.cpp
This commit is contained in:
John Reiser 2019-12-12 20:23:33 -08:00
parent 5ed9c66ed9
commit cb5f590e10
2 changed files with 9 additions and 0 deletions

View File

@ -243,7 +243,12 @@
R_PPC64_JMP_SLOT = R_PPC_JMP_SLOT,
R_X86_64_JUMP_SLOT = 7
, R_ARM_ABS32 = 2
, R_ARM_GLOB_DAT = 21
, R_AARCH64_ABS64 = 257
, R_AARCH64_GLOB_DAT = 1025
};
#endif //}

View File

@ -3269,6 +3269,8 @@ void PackLinuxElf32::pack1(OutputFile *fo, Filter & /*ft*/)
r_type, -1 + (sh_size / sh_entsize) - k);
throwCantPack(msg);
} break;
case R_ARM_ABS32: // FALL THROUGH
case R_ARM_GLOB_DAT: // FALL THROUGH
case R_ARM_RELATIVE: {
if (xct_off <= w) {
set_te32(&file_image[d], asl_delta + w);
@ -3642,6 +3644,8 @@ void PackLinuxElf64::pack1(OutputFile *fo, Filter & /*ft*/)
r_type, -1 + (unsigned)(sh_size / sh_entsize) - k);
throwCantPack(msg);
} break;
case R_AARCH64_ABS64: // FALL THROUGH
case R_AARCH64_GLOB_DAT: // FALL THROUGH
case R_AARCH64_RELATIVE: {
if (xct_off <= r_addend) {
set_te64(&rela->r_addend, asl_delta + r_addend);