You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
.mdebug parser failing on IDO 5.3/7.1 -g1, -g2, -g3 #272
objdiff is unable to correctly read the .mdebug section of object files compiled via IDO 5.3/7.1 with the flags -g1, -g2, and -g3. In these modes, IDO adds a ton of extra data to this section that seems to break the current parser.
Here's an example file compiled with -g0 (working) and -g3 (not working): camstatic_g0.zip camstatic_g3.zip
(the file is also compiled with -O2 -KPIC but it doesn't seem to matter, non -KPIC files also don't work)
Some files throw the error Failed to parse MIPS mdebug line info: range exceeds .mdebug size but usually it just silently fails.
Example file that emits that error (-g3, not -KPIC): main.zip
mips-linux-gnu-objdump -drl correctly displays line numbers for these files, so the section doesn't appear to be corrupt.
That does seem to partially fix it, thanks! Most files seem to be working now but those that were previously throwing the range error have incorrect line numbers (everything is basically the same line number). The main.o file I posted is one example that doesn't seem to work.
Edit: Actually all files are still a little broken. It seems to get stuck after a certain line number, functions earlier in the file are generally correct.
Activity
[-].mdebug parser failing on some IDO 5.3 -KPIC code[/-][+].mdebug parser failing on IDO 5.3/7.1 -g1, -g2, -g3[/+]Francessco121 commentedon Jul 2, 2026
Updated with new/more accurate info
dbalatoni13 commentedon Jul 2, 2026
Could you check whether #362 fixes this?
Francessco121 commentedon Jul 2, 2026
That does seem to partially fix it, thanks! Most files seem to be working now but those that were previously throwing the range error have incorrect line numbers (everything is basically the same line number). The
main.ofile I posted is one example that doesn't seem to work.Edit: Actually all files are still a little broken. It seems to get stuck after a certain line number, functions earlier in the file are generally correct.