yath / ghidra-xtensa

Tensilica Xtensa processor module for Ghidra
MIT License
102 stars 34 forks source link

fix bbsi #4

Closed icewind1991 closed 2 years ago

Matheus-Garbelini commented 3 years ago

@yath is it possible to merge @Ebiroll changes so it goes to the official Ghidra repository? His changes are extremely mature by now.

brainstorm commented 3 years ago

Perhaps @Ebiroll's changes are mature, but only this fork (@yath) seems to compile out of the box against latest Ghidra from master :-S

Matheus-Garbelini commented 3 years ago

@brainstorm have you tried @Ebiroll latest changes? He just updated it to work with Ghidra 10.0: https://github.com/Ebiroll/ghidra-xtensa/commit/4c6216bcd7d458ab2540f15a1dce9478943fd119

brainstorm commented 3 years ago

@Matheus-Garbelini Yes I did clone Ebiroll's repo and the build failed right away on master for me (both ghidra and xtensa processor master)... so I had to go back to this repo :-S

Ebiroll commented 3 years ago

@brainstorm To clarify. My fork is done for the windowed ABI used on the esp32 and this repo works best for 8266 code. Also it in not necessary to run Make to get things to decompile. Ghidra does this at startup. It seems to work with Ghidra 10.3 I do get the following warnings, though: 2021-09-28 | 12:19:44 | WARN | (SleighCompile) 4 NOP constructors found 2021-09-28 | 12:19:44 | WARN | (SleighCompile) 6 unnecessary extensions/truncations were converted to copies The NOP instructions are not "real" xtensa instructions, just an attempt to better handle the padding inserted by the compiler. I do not think it works well though.

yath commented 2 years ago

Merged, thanks, sorry for the delay.

Will dig through @Ebiroll’s changes and see which of them I already got, e.g. the ELF relocations seem to have been copied from somewhere else but are here in b13b4d64.