Hello This is a version of gnu's gas which generates Amiga object code. It is robust enough to replace gas+sobja when compiling itself with gcc. I am willing to give it to the GCC Porting Project, under the usual conditions of the Gnu license. It takes care of the fact that, under AmigaDos, all reloc32 are absolute, and all reloc16 and reloc8 are relative: The code generation (m68k.c) has been changed, and no longer generates long pc relative or short absolute references. This will be useful for generating PIC code with GCC2.0. My address is Leon Bottou Avenue du Lot 48500 La Canourgue France. PS: --- AGAS does not handle the COMMON block, unless someone tell me how EXT_COMMON ( See 2.0 dos/doshunks.c! ) works. Question: How important is that? If yes, and if it appears that EXT_COMMON is a false alert, I suggest the following extension to the amiga object code: #define EXT_GCC_COMMON 4 Write EXT_GCC_COMMON definitions in the EXT hunk of the BSS section. Replace its address by the length of this common block. This will not disturb the usual object code analysis programs, like omd, disasm, cnm, etc... Relocate references to common symbols with the usual EXT_REF32, EXT_REF16, and EXT_REF8. This extension can be handled by a new linker, or by an external program called before blink! This program would append the common variable to the BSS block of the first object file defining the common variable. This is a one pass process.... This could be the option '-c'. PS (AGAIN): ---------- One of the C files, (amiga-write.c) has a stub routine for writing the DBX stab entries into the object file. Could be useful if someone decides to port GDB. The best solution probably consists in writing the stabs in BSD format within the DEBUG hunk. This could be the option '-g'. PS (3RD): -------- No time to add options '-c' and '-g' now. In a few months, may be.