Note by Detlef Wuerkner: The following is the original documentation, that came with the Atari version. Most things discussed belong to that parts of the Atari release that are not portated to the Amiga (because Assembler and Linker are not needed). If you want to order a newer version, notice that you need a program that can read Atari disks (This format is physical, but not logical the same than MS-DOS format). A sidecar, PC/AT card or a standalone PC/XT/AT/386/486 clone can NOT read Atari disks. You need either a friend with an Atari, who copies the files to an MS-DOS formatted disk, and a sidecar/PC/AT card, or the CrossDOS filesystem from Fish #252 (readonly 'tryware' version). You should also notice that I will try to get a newer version than 2.0, and that I will send it to Fred Fish when the necessary Amiga changes are made. ------------------------ Cut here! ----------------------------------------- Sozobon C Compiler, release 2.0 Release 2.0 of the compiler, contains two main new features in addition to various bug fixes and performance enhancements. Consult sozobon.doc and rel12.doc for a discussion of previous features. 1) Long external names The old Alcyon object file format provided for only 8 characters in external names. Since the compiler prefixes names with a '_' char, you were effectively limited to 7 characters. Since more and more C source code uses longer names, we have extended the Alcyon format to allow names of any length. The assembler, link-loader, and debugger understand the new format. Other tools have also been updated. Old libraries can still be used with the compiler since the loader has been designed to recognise both old and new format object files. 2) Cross tools under UNIX Sources have been modified to allow use of the compiler, assembler, linker, etc (but not 'make' or 'szadb' obviously) under UNIX systems. Even systems with Intel byte-order and strict alignment requirements can be used. Makefiles for unix are called 'make.unx'. You should set the BYTEORDER macro appropriately. Also grep the source for references to '/home/hans' and change them as needed. The support of UNIX is experimental and we do NOT guarantee that you will have no trouble at all. However, it has been tested somewhat on Sun, Intel 386 and Intel 860 systems. Good luck. 3) Details of the new symbol table format An extended symbol table begins with a symbol which has a special name, flags and value: name: 'SozobonX' flags: 0x42 (absolute text) value: 0x87654321 After this are the usual symbols except that symbols with 9 or more characters in length have special name extension symbols after them. Each name extension symbol adds up to 8 characters to the length of the name. It is recognized because of the special flags and value: flags: 0x42 (absolute text) value: 0x87654321 Note that no normal symbol would have this combination of flags and value since all text symbols have an EVEN value. If you tried to use the old 'nm' with a new object file, you would see what it thinks are a lot of these funny symbols. Thus old tools MAY work with the new object and binary files.