Skip to content
Snippets Groups Projects
Commit e0638f64 authored by jdh8d's avatar jdh8d
Browse files

fixed to only handle pcrel insns w/o a WRT obj.

parent 516ede61
No related branches found
No related tags found
No related merge requests found
...@@ -191,6 +191,7 @@ void Push64Relocs_t::HandlePush64Relocs() ...@@ -191,6 +191,7 @@ void Push64Relocs_t::HandlePush64Relocs()
Instruction_t *insn=*iit; Instruction_t *insn=*iit;
Relocation_t *reloc=NULL; Relocation_t *reloc=NULL;
// caution, side effect in if statement.
if (reloc = FindPushRelocation(insn)) if (reloc = FindPushRelocation(insn))
{ {
if (m_verbose) if (m_verbose)
...@@ -198,6 +199,7 @@ void Push64Relocs_t::HandlePush64Relocs() ...@@ -198,6 +199,7 @@ void Push64Relocs_t::HandlePush64Relocs()
HandlePush64Relocation(insn,reloc); HandlePush64Relocation(insn,reloc);
push64_relocations_count++; push64_relocations_count++;
} }
// caution, side effect in if statement.
else if (reloc = FindPcrelRelocation(insn)) else if (reloc = FindPcrelRelocation(insn))
{ {
if (m_verbose) if (m_verbose)
...@@ -225,6 +227,7 @@ void Push64Relocs_t::UpdatePush64Adds() ...@@ -225,6 +227,7 @@ void Push64Relocs_t::UpdatePush64Adds()
{ {
Relocation_t *reloc = NULL; Relocation_t *reloc = NULL;
Instruction_t *insn = *insn_it; Instruction_t *insn = *insn_it;
// caution, side effect in if statement.
if (reloc = FindPushRelocation(insn)) if (reloc = FindPushRelocation(insn))
{ {
// would consider updating this if statement to be a function call for simplicity/readability. // would consider updating this if statement to be a function call for simplicity/readability.
...@@ -292,7 +295,8 @@ void Push64Relocs_t::UpdatePush64Adds() ...@@ -292,7 +295,8 @@ void Push64Relocs_t::UpdatePush64Adds()
} }
// handle basic pcrel relocations. // handle basic pcrel relocations.
// zipr_unpin_plugin handles pcrel + WRT // zipr_unpin_plugin handles pcrel + WRT
else if (reloc = FindPcrelRelocation(insn)) // caution, side effect in if statement.
else if ( (reloc = FindPcrelRelocation(insn)) != NULL && reloc->GetWRT()==NULL)
{ {
// would consider updating this if statement to be a function call for simplicity/readability. // would consider updating this if statement to be a function call for simplicity/readability.
uint8_t memory_offset = 0; uint8_t memory_offset = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment