mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
nrv2d support for arm/pe v4a mode
This commit is contained in:
parent
98942f5528
commit
d15e789200
|
@ -185,12 +185,13 @@ const int *PackArmPe::getCompressionMethods(int method, int level) const
|
|||
{
|
||||
static const int m_nrv2b[] = { M_NRV2B_8, M_NRV2E_8, -1 };
|
||||
static const int m_nrv2e[] = { M_NRV2E_8, M_NRV2B_8, -1 };
|
||||
static const int m_nrv2e_v4[] = { M_NRV2E_8, -1 };
|
||||
static const int m_nrv2d_v4[] = { M_NRV2D_8, M_NRV2E_8, -1 };
|
||||
static const int m_nrv2e_v4[] = { M_NRV2E_8, M_NRV2D_8, -1 };
|
||||
UNUSED(level);
|
||||
|
||||
// FIXME this when we have v4 mode nrv2b
|
||||
if (!use_thumb_stub)
|
||||
return m_nrv2e_v4;
|
||||
return M_IS_NRV2E(method) ? m_nrv2e_v4 : m_nrv2d_v4;
|
||||
|
||||
if (M_IS_NRV2B(method))
|
||||
return m_nrv2b;
|
||||
|
@ -1658,6 +1659,8 @@ int PackArmPe::buildLoader(const Filter *ft)
|
|||
addLoader("Call2E", NULL);
|
||||
else if (ph.method == M_NRV2B_8)
|
||||
addLoader("Call2B", NULL);
|
||||
else if (ph.method == M_NRV2D_8)
|
||||
addLoader("Call2D", NULL);
|
||||
|
||||
|
||||
if (ft->id == 0x50)
|
||||
|
@ -1673,6 +1676,8 @@ int PackArmPe::buildLoader(const Filter *ft)
|
|||
{
|
||||
if (ph.method == M_NRV2E_8)
|
||||
addLoader(".ucl_nrv2e_decompress_8", NULL);
|
||||
else if (ph.method == M_NRV2D_8)
|
||||
addLoader(".ucl_nrv2d_decompress_8", NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -340,6 +340,14 @@ section Call2E
|
|||
bl ucl_nrv2e_decompress_8
|
||||
DDUMP (#'C')
|
||||
|
||||
section .ucl_nrv2d_decompress_8
|
||||
|
||||
#include "arch/arm/v4a/nrv2d_d8.S"
|
||||
|
||||
section Call2D
|
||||
bl ucl_nrv2d_decompress_8
|
||||
DDUMP (#'C')
|
||||
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
|
||||
#include "include/header2.ash"
|
||||
|
|
Loading…
Reference in New Issue
Block a user