From 40883e54a528bc424c55e2ed042a211e17a3aca8 Mon Sep 17 00:00:00 2001 From: Shamus Hammons Date: Tue, 8 Jun 2021 19:41:45 -0500 Subject: [PATCH] Somehow these files slipped through the cracks... :-/ --- docs/rmac.rst | 20 ++++++++++---------- object.c | 18 ++++++++++++++++++ rmac.c | 2 +- version.h | 2 +- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/docs/rmac.rst b/docs/rmac.rst index a562e85..bfbd66c 100644 --- a/docs/rmac.rst +++ b/docs/rmac.rst @@ -4,7 +4,7 @@ RMAC ===================== Reference Manual ================ -version 2.0.18 +version 2.0.21 ============== © and notes @@ -154,8 +154,8 @@ Switch Description -o\ *file[.o]* Direct object code output to the specified file. +/~oall Turn all optimisations on/off -+o\ *0-9* Enable specific optimisation -~o\ *0-9* Disable specific optimisation ++o\ *0-10*/*p* Enable specific optimisation +~o\ *0-10*/*p* Disable specific optimisation `0: Absolute long adddresses to word (on by default)` @@ -177,7 +177,7 @@ Switch Description `9: Convert adda.w/l #x,Dy to lea x(Dy),Dy` - 'p: Enforce PC relative' + `p: Force PC-Relative mode (alternative: o10)` -p Produce an executable (**.prg**) output file. -ps Produce an executable (**.prg**) output file with symbols. -px Produce an executable (**.prg**) output file with extended symbols. @@ -803,7 +803,7 @@ Operator Description **~** Tilde: bitwise not (l's complement). **^^defined** *symbol* True if symbol has a value. **^^referenced** *symbol* True if symbol has been referenced. -**^^streq** *stringl*,*string2* True if the strings are equal. +**^^streq** *stringl*, *string2* True if the strings are equal. **^^macdef** *macroName* True if the macro is defined. **^^abscount** Returns the size of current .abs section **^^filesize** *string_filename* Returns the file size of supplied filename @@ -2088,7 +2088,7 @@ indicates that the assembler could not determine which file had the problem. The following sections list warnings, errors and fatal errors in alphabetical order, along with a short description of what may have caused the problem. -.. [3] If you come across an internal error, we would appreciate it if you would contact Atari Technical Support and let us know about the problem. +.. [3] If you come across an internal error, we would appreciate it if you would contact the rmac development team and let us know about the problem. `Warnings`_ ''''''''''' @@ -2406,13 +2406,13 @@ order, along with a short description of what may have caused the problem. **unknown symbol following ^^** - You followed a ^^ with something other than one of the names defined, ref- - erenced or streq. + You followed a ^^ with something other than one of the names defined, referenced + or streq. **unsupported 68020 addressing mode** - The assembler saw a 68020-type addressing mode. RMAC does not assem- - ble code for the 68020 or 68010. + The assembler saw a 68020-type addressing mode. RMAC does not assemble + code for the 68020 or 68010. **unterminated string** diff --git a/object.c b/object.c index 1b33ffc..ada5337 100644 --- a/object.c +++ b/object.c @@ -161,6 +161,24 @@ uint8_t * AddSymEntry(register uint8_t * buf, SYM * sym, int globflag) // // Add an entry to the BSD symbol table // +// From stab.def (https://sites.uclouvain.be/SystInfo/usr/include/bits/stab.def.html): +/* +_________________________________________________ +| 00 - 1F are not dbx stab symbols | +| In most cases, the low bit is the EXTernal bit| + +| 00 UNDEF | 02 ABS | 04 TEXT | 06 DATA | +| 01 |EXT | 03 |EXT | 05 |EXT | 07 |EXT | + +| 08 BSS | 0A INDR | 0C FN_SEQ | 0E WEAKA | +| 09 |EXT | 0B | 0D WEAKU | 0F WEAKT | + +| 10 WEAKD | 12 COMM | 14 SETA | 16 SETT | +| 11 WEAKB | 13 | 15 | 17 | + +| 18 SETD | 1A SETB | 1C SETV | 1E WARNING| +| 19 | 1B | 1D | 1F FN | +*/ uint8_t * AddBSDSymEntry(uint8_t * buf, SYM * sym, int globflag) { chptr = buf; // Point to buffer for depositing longs diff --git a/rmac.c b/rmac.c index ef190ec..0da81be 100644 --- a/rmac.c +++ b/rmac.c @@ -185,7 +185,7 @@ void DisplayHelp(void) " o7: clr.l Dx to moveq #0,Dx (off)\n" " o8: adda.w/l #x,Dy to addq.w/l #x,Dy (off)\n" " o9: adda.w/l #x,Dy to lea x(Dy),Dy (off)\n" - " op: Enforce PC relative (off)\n" + " op: Enforce PC relative (alternative: o10) (off)\n" " ~o[value] Turn a specific optimisation off\n" " +oall Turn all optimisations on\n" " ~oall Turn all optimisations off\n" diff --git a/version.h b/version.h index bd53516..8f2bce0 100644 --- a/version.h +++ b/version.h @@ -15,6 +15,6 @@ #define MAJOR 2 // Major version number #define MINOR 1 // Minor version number -#define PATCH 3 // Patch release number +#define PATCH 4 // Patch release number #endif // __VERSION_H__ -- 2.37.2