sevaa / dwex

DWARF Explorer - a GUI utility for navigating the DWARF debug information

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot load Playstation 2 ELF.

Kneesnap opened this issue · comments

I get this message upon loading the PS2 ELF I've uploaded below.
"The file contains no DWARF information, or it is in an unsupported format."

My understanding is that there is dwarf debug info in this elf, as other dwarf utilities work on it.

Could it be fixed to support this?
Thanks!

sles_507.zip

Interesting case. It's an ELF file, but the section names aren't like those on Linux. I'll see if I can parse DWARF out of this...

What "other DWARF utilities", please? I've tried dwarfdump on Linux (x64), it said "No DWARF information present",

The other program I've used is dwarf2cpp https://github.com/pslehisl/dwarf2cpp
I had to modify it slightly since it didn't have handling for unions declared inside of structs, and would exit without saying anything.

However, after making it just leave a comment whenever it encountered that (lazy fix) it exported everything just fine. I was hoping for something that would let me explore the dwarf data more directly though.

Thanks, I'll poke around that tool's sources. That said, dwex was not meant for exporting DWARF data. That's what readelf and dwarfdump are for.

Looks like this is DWARF v1, unsupported by pyelftools :( I'm on my own, more or less, but I'll see what I can do.

Any luck?

I have to write a DWARF 1 parser from scratch. It's not a one day deal.

Updated, please grab the latest.

Note that in the attached file there are some vendor defined attributes that I'm not sure what to do with, and, in one case, a vendor defined operator in a location expression.

Is this still an issue?

I thought I have provided sufficient support for your purposes in version 0.70. :) I'm really asking if dwex 0.70 opens and displays your PS2 binaries the way you'd like. It works fine (for me) with the provided binary...

Weird, there was a commit, and a tag, and I've uploaded to PyPI, and Help/Check for updates notices it. What were you looking at?

I've confirmed it seems to work properly now.