Hi all
Short version:
Two elf files in ps2 game. I tried loading both into Ghidra. The debug symbols arent working for the second elf file when I load that in on its own. If I load in the first elf file half of the functions are red and arent viewable. They seem to be in the second elf file.
Long version and what I've tried so far to load the elf files:
I used the elf_extract tool on a ps2 games bin file. The bin file has debug symbols inside it.
This tool found 2 elf files.
EXAMPLE.68
EXAMPLE.ELF
I loaded EXAMPLE.68 into Ghidra using the ghidra-emotionengine-reloaded extension
It was successfully detected as a PS2 Elf file with 40,000 debug symbols.
I then ran the analysis and everything is going great the functions have names.
However , half of the games functions which are listed in the Symbol Tree are red and non-clickable. If I click them it says "Can not navigate to function symbol: (Not in Memory)". These red function labels seem to be inside the second elf file EXAMPLE.ELF
So I did File -> Add to program option in Ghidra when inside the project that has the first Elf loaded
And I selected the second elf EXAMPLE.ELF. Then I reran the full analysis. It did not fix the problem.
I then started again from scratch. I re-loaded the first Elf file into a new empty Ghidra project but this time I ticked the checkbox "Load system libraries from disk" in the loader options. I added the full path to the second elf file EXAMPLE.ELF.
After waiting for the full analysis to complete and having ticked the STABS, Aggressive Instruction Finder, Decompiler Parameter ID Elf Scaler Operand References options etc for the loader to load everything
This did not fix the problem
Have I done something stupid or is this not working becauses of the emotion engine extension ?
I have also tried loading both Elfs at the same time into a new Ghidra project and running the analysis then. That did not solve the problem either.
I have spent hours trying to get this working. Can anyone help?