nrv2d support for arm/pe v4a mode
This commit is contained in:
+7
-2
@@ -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_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[] = { 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);
|
UNUSED(level);
|
||||||
|
|
||||||
// FIXME this when we have v4 mode nrv2b
|
// FIXME this when we have v4 mode nrv2b
|
||||||
if (!use_thumb_stub)
|
if (!use_thumb_stub)
|
||||||
return m_nrv2e_v4;
|
return M_IS_NRV2E(method) ? m_nrv2e_v4 : m_nrv2d_v4;
|
||||||
|
|
||||||
if (M_IS_NRV2B(method))
|
if (M_IS_NRV2B(method))
|
||||||
return m_nrv2b;
|
return m_nrv2b;
|
||||||
@@ -1658,6 +1659,8 @@ int PackArmPe::buildLoader(const Filter *ft)
|
|||||||
addLoader("Call2E", NULL);
|
addLoader("Call2E", NULL);
|
||||||
else if (ph.method == M_NRV2B_8)
|
else if (ph.method == M_NRV2B_8)
|
||||||
addLoader("Call2B", NULL);
|
addLoader("Call2B", NULL);
|
||||||
|
else if (ph.method == M_NRV2D_8)
|
||||||
|
addLoader("Call2D", NULL);
|
||||||
|
|
||||||
|
|
||||||
if (ft->id == 0x50)
|
if (ft->id == 0x50)
|
||||||
@@ -1673,6 +1676,8 @@ int PackArmPe::buildLoader(const Filter *ft)
|
|||||||
{
|
{
|
||||||
if (ph.method == M_NRV2E_8)
|
if (ph.method == M_NRV2E_8)
|
||||||
addLoader(".ucl_nrv2e_decompress_8", NULL);
|
addLoader(".ucl_nrv2e_decompress_8", NULL);
|
||||||
|
else if (ph.method == M_NRV2D_8)
|
||||||
|
addLoader(".ucl_nrv2d_decompress_8", NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
+836
-630
File diff suppressed because it is too large
Load Diff
@@ -340,6 +340,14 @@ section Call2E
|
|||||||
bl ucl_nrv2e_decompress_8
|
bl ucl_nrv2e_decompress_8
|
||||||
DDUMP (#'C')
|
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"
|
#include "include/header2.ash"
|
||||||
|
|||||||
Reference in New Issue
Block a user