openMSX / debugger

31 stars 14 forks source link

SYM files from Hitech C cross compiler V7.8pl2 not supported #51

Closed artrag closed 2 years ago

artrag commented 7 years ago

The SYM files from Hitech C cross compiler V7.8pl2 seems to not supported anymore in the last debugger release. This is a set of files of a demo project where I find the problem https://github.com/artrag/C-experiments-for-msx No label from the SYM file is loaded, nor the file appears in the symbol manager

I use debugger 0.10.0-246-g33957cc

MBilderbeek commented 7 years ago

Hi,

Which version before that still worked?

Although you have the latest Windows binary, it isn't the latest code. Unfortunately there haven't been built any newer binaries since then. The last changes on the Symbol file support in the debugger have been of January 2014 by the way, which is well before the one you use, which is of 30 Dec 2014.

Anyway, it's quite important to now which version still worked for you. Please let me know!

artrag commented 7 years ago

Hi where do I find the binaries of the debugger that was with openMSX 0.9.1 ? AR

MBilderbeek commented 7 years ago

The debugger was always a separate download, so there never came one with openMSX 0.9.1...

MBilderbeek commented 7 years ago

Oh, I see there is explicit support for HiTech .map files. Did you try to load the .map file instead?

I just checked in more detail. We never had support for the SYM file generated by Hi-Tech. It's quite unlike any other SYM file type we support. But we do have support for the MAP file. Although I was not able to load it. The code doesn't seem to have changed since 2009. That again makes me wonder which version you used in which it worked :) (And that must have been the MAP file then, not the SYM file.)

artrag commented 7 years ago

I'm pretty sure I was using the SYM file. Actually the MAP file does not work but I do not remember I've ever used it. Why do you say the SYM file is odd ? It is: label hex_address segment_numer You can skip segment numbers and any other line that does not have 3 values separated by spaces

_en 2F78 0 <- it stays for _en: equ 02F78h csv 2AFE 0 _loadvramdata 5A8 0 amod 1F37 0 lmod 1F3C 0 _brk 24CC 0 _fsm 375 0

etc etc etc...

startup 833 0 _isatty 12C9 0 %locals <- skip vdpio.obj <- skip _l17 58D 0 randSeed 3058 0 dskio.obj <- skip F381 305A 0

MBilderbeek commented 7 years ago

I didn't say it's odd, it looks quite simple indeed. I'm saying there was never code in openMSX to support these files. So it can never have worked before. The MAP file should work though, and it doesn't, so that's definitely a bug (regression even, although the MAP format support was probably based on the CP/M version of the compiler, maybe that one had a slightly different format?). And supporting this SYM format is a feature request.

artrag commented 7 years ago

I've never used the CP/M version of the compiler so I cannot compare their MAP and SYM files, sorry. If I could have the SYM (or MAP) file supported I would start using the Hitech C cross compiler again.

MBilderbeek commented 7 years ago

I'm trying to build in support for this simple SYM format. It's almost working :)

MBilderbeek commented 7 years ago

OK, I added it in commit 87b78ed7ffa8de189b683aab66889ab57837a9e5 - it is able to load that SYM file now.

All you need now is a build...

artrag commented 7 years ago

This is great! Thanks! Where do I get a build of the debugger ?

MBilderbeek commented 7 years ago

Good question... BiFi built the previous ones...

MBilderbeek commented 7 years ago

Try this: https://openmsx.vampier.net/openmsx-debugger_64bit.zip

MBilderbeek commented 2 years ago

This issue can be closed, I guess. @artrag unless it wasn't working, but I never heard back from you anymore.