[cc65] Latest changes

From: Ullrich von Bassewitz <uz1musoftware.de>
Date: 2011-02-03 20:33:03
Some of you may have noticed that assembler error messages have improved
slightly. Something like this might be output in case of an error:

    test.s(19): Error: Symbol `foobar' is undefined
    test.c(12): Note: Assembler code generated from this line
    test.s(8): Note: Macro was defined here

The reason is that I have overhauled and unified source location handling. As
a result, the tools are now able to output better error messages and are for
example able to show the call tree for a macro invocation. The assembler does
output all available information in the style shown above, while the linker
does usually not, but it does have the information internally. Please let me
know if there are cases where additional information would also be useful for
the linker.

The changes do need some testing, so please tell me if anything could be
improved or is not working as expected.

In addition to the changes in diagnostics, all the source location information
is passed through the linker to the debug info file, from where it can be read
and processed using the new version of the dbginfo module.

So if you're a developer of an emulator, I would like to point you to this
module. It's written in portable C code and self contained. It does all the
nasty work of parsing the debug info file and offers a small and clear API
that allows you to access the information. Using this API, it is possible to
beef up a builtin monitor by information from the source code, or even allow
source level debugging (with some restrictions for C). If you are an emulator
user, and interested in this feature, please ask the developers about it.

Most of my emulator use is debugging 6502 assembler source code. I've always
been a fan of VICE, but I have to admit that I would change instantly if I
find another emulator that allows me to debug on source level. Especially when
debugging the cc65 runtime library, working with several windows is very
uncomfortable. Each time I step into a new function using the VICE monitor, I
have to find and load the relevant source file inside the editor, so I can see
the original source and comments about register usage and similar. Having
source level debugging on assembler level would be a real time saver!



Ullrich von Bassewitz                                  uz@musoftware.de
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Thu Feb 3 20:33:15 2011

This archive was generated by hypermail 2.1.8 : 2011-02-03 20:33:18 CET