add UPX_F_VMLINUX_AMD64, UPX_F_VMLINUX_ARM

This commit is contained in:
John Reiser
2006-12-16 08:13:34 -08:00
parent d7837d9179
commit 112eff2509
18 changed files with 5723 additions and 7 deletions
+8 -1
View File
@@ -210,7 +210,11 @@ const char *Packer::getDecompressorSections() const
|| UPX_F_LINUX_ELF64_AMD ==ph.format
|| UPX_F_LINUX_ELF32_ARMLE==ph.format
|| UPX_F_LINUX_ELFPPC32 ==ph.format
|| UPX_F_LINUX_ELF32_ARMBE==ph.format ) {
|| UPX_F_LINUX_ELF32_ARMBE==ph.format
|| UPX_F_BSD_ELF_i386 ==ph.format
|| UPX_F_VMLINUX_AMD64 ==ph.format
|| UPX_F_VMLINUX_ARM ==ph.format
) {
return opt->small ? lzma_elf_small : lzma_elf_fast;
}
return opt->small ? lzma_small : lzma_fast;
@@ -243,6 +247,8 @@ void Packer::defineDecompressorSymbols()
|| UPX_F_LINUX_ELFPPC32 ==ph.format
|| UPX_F_LINUX_ELF32_ARMBE==ph.format
|| UPX_F_BSD_ELF_i386 ==ph.format
|| UPX_F_VMLINUX_AMD64 ==ph.format
|| UPX_F_VMLINUX_ARM ==ph.format
) {
// ELF calls the decompressor many times; the parameters change!
return;
@@ -257,6 +263,7 @@ void Packer::defineDecompressorSymbols()
(res->pos_bits << 16);
if (linker->bele->isBE()) // big endian - bswap32
acc_swab32s(&properties);
linker->defineSymbol("lzma_properties", properties);
// -2 for properties
linker->defineSymbol("lzma_c_len", ph.c_len - 2);