mirror of
https://github.com/wiiu-env/WiiUPluginSystem.git
synced 2025-01-12 09:29:07 +01:00
[Loader] Added missing relocation type
This commit is contained in:
parent
46456df8fc
commit
4cdcbe2d20
@ -335,6 +335,7 @@ bool Module_ElfLinkOne(char type, size_t offset, int addend, void *destination,
|
|||||||
value = (int)symbol_addr + addend;
|
value = (int)symbol_addr + addend;
|
||||||
break;
|
break;
|
||||||
} case R_PPC_REL24:
|
} case R_PPC_REL24:
|
||||||
|
case R_PPC_PLTREL24:
|
||||||
case R_PPC_REL14:
|
case R_PPC_REL14:
|
||||||
case R_PPC_REL14_BRTAKEN:
|
case R_PPC_REL14_BRTAKEN:
|
||||||
case R_PPC_REL14_BRNTAKEN:
|
case R_PPC_REL14_BRNTAKEN:
|
||||||
@ -359,7 +360,6 @@ bool Module_ElfLinkOne(char type, size_t offset, int addend, void *destination,
|
|||||||
goto exit_error;
|
goto exit_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case R_PPC_ADDR32:
|
case R_PPC_ADDR32:
|
||||||
case R_PPC_UADDR32:
|
case R_PPC_UADDR32:
|
||||||
@ -369,6 +369,7 @@ bool Module_ElfLinkOne(char type, size_t offset, int addend, void *destination,
|
|||||||
*(int *)target = value;
|
*(int *)target = value;
|
||||||
break;
|
break;
|
||||||
} case R_PPC_ADDR24:
|
} case R_PPC_ADDR24:
|
||||||
|
case R_PPC_PLTREL24:
|
||||||
case R_PPC_REL24: {
|
case R_PPC_REL24: {
|
||||||
*(int *)target =
|
*(int *)target =
|
||||||
(*(int *)target & 0xfc000003) | (value & 0x03fffffc);
|
(*(int *)target & 0xfc000003) | (value & 0x03fffffc);
|
||||||
@ -413,7 +414,8 @@ bool Module_ElfLinkOne(char type, size_t offset, int addend, void *destination,
|
|||||||
*(int *)target =
|
*(int *)target =
|
||||||
(*(int *)target & 0x00000003) | (value & 0xfffffffc);
|
(*(int *)target & 0x00000003) | (value & 0xfffffffc);
|
||||||
break;
|
break;
|
||||||
} default:
|
}default:
|
||||||
|
DEBUG_FUNCTION_LINE("Module_ElfLinkOne01: %02X\n",type);
|
||||||
goto exit_error;
|
goto exit_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user