-
Notifications
You must be signed in to change notification settings - Fork 9
Recommendation for importing the driver into Ghidra #2
Copy link
Copy link
Open
Description
Here's a suggestion for anyone wanting to look at the pre-compiled files in Ghidra. This is most useful if you haven't already made a bunch of annotations; I don't know how to copy those over. So it's not really aimed at this repo, per se, but here's where the action seems to be.
- Run
make ARCH=arm64 rockchip_linux_defconfigto start with a kernel config that builds the EBC driver. - Run
make ARCH=arm64 nconfigand enableCONFIG_DEBUG_INFO_DWARF4(at "Kernel hacking" -> "Compile-time checks and compiler options" -> "Generate dwarf4 debuginfo"). DWARF4 is the newest debug info format that Ghidra understands, but recent GCC will generate DWARF5 by default. - Run
make ARCH=arm64to compile the kernel. If it fails, that is fine, as long asdrivers/gpu/drm/rockchip/ebc-dev/built-in.agets created. - Finally, take the archive containing the EBC driver, and convert it to an object file:
aarch64-linux-gnu-ld -r -o drivers/gpu/drm/rockchip/ebc-dev/built-in.o --whole-archive drivers/gpu/drm/rockchip/ebc-dev/built-in.a.
This will create a single file, built-in.o, that includes all of the C and pre-compiled source for the driver, so everything gets loaded together in one code browser, and you don't have to worry about function imports and thunks and whatnot.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels