dej@qpoint.amiga.ocunix.on.ca (David Jones) (01/16/91)
I have a couple of questions concerning the output from the SAS/C compiler. First, if two C modules declare global variables, the compiler treats them as offsets from A4. When the modules are linked, the linker reserves space for the globals of each module in the global space. However, in order to do so, the linker must know how much global space each module consumes. The compiler therefore outputs some hunks which tell blink that certain variables are local and that these variables require so much space. I believe this is called base-relative addressing but I'm not sure. Second, the compiler and assembler output debug information so that CPR can effectively display the program being debugged. It does so by using debug hunks. In the AmigaDOS manual, it says that any information can be put into debug hunks. I have seen debuggers (I think MetaScope is one) that read "standard debug hunks". Questions: Are the formats for base-relative addressing hunks and debug hunks Commodore standards which were developed after the AmigaDOS manual was published, or are they SAS/Lattice proprietary standards? In either case, does anyone have (and is willing to share) or know where I can my hands on such specifications? Thanks in advance to anyone who replies. -- David Jones UUCP: dej@qpoint.amiga.ocunix.on.ca Fido: 1:163/109.8