X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=rmac.c;h=4506a95b517616d02d86b878fccab0877bff6605;hp=ffa3165553e2e7df78f0ba4f165ccb10e69b5545;hb=090bda1c00a18b3f616e734090ba456a461879a1;hpb=b10167d55798ea184f97fafda075255c0852f3b6 diff --git a/rmac.c b/rmac.c index ffa3165..4506a95 100644 --- a/rmac.c +++ b/rmac.c @@ -29,6 +29,7 @@ int as68_flag; // as68 kludge mode int glob_flag; // Assume undefined symbols are global int lsym_flag; // Include local symbols in object file int sbra_flag; // Warn about possible short branches +int legacy_flag; // Do stuff like insert code in RISC assembler int obj_format; // Object format flag int debug; // [1..9] Enable debugging levels int err_flag; // '-e' specified @@ -104,9 +105,9 @@ int kmatch(char * p, int * base, int * check, int * tab, int * accept) // void autoeven(int sect) { - switchsect(sect); + SwitchSection(sect); d_even(); - savsect(); + SaveSection(); } @@ -203,6 +204,7 @@ void display_help(void) " b: BSD (use this for Jaguar)\n" " -i[path] Directory to search for include files\n" " -l[filename] Create an output listing file\n" + " -n Don't do things behind your back in RISC assembler\n" " -o file Output file name\n" " -r[size] Pad segments to boundary size specified\n" " w: word (2 bytes, default alignment)\n" @@ -427,6 +429,11 @@ int process(int argc, char ** argv) display_help(); errcnt++; break; + case 'n': // Turn off legacy mode + case 'N': + legacy_flag = 0; + printf("Legacy mode OFF\n"); + break; default: display_version(); printf("Unknown switch: %s\n\n", argv[argno]); @@ -463,11 +470,11 @@ int process(int argc, char ** argv) // o determine name of object file: // - "foo.o" for linkable output; // - "foo.prg" for GEMDOS executable (-p flag). - savsect(); + SaveSection(); for(i=TEXT; i<=BSS; i<<=1) { - switchsect(i); + SwitchSection(i); switch(segpadsize) { @@ -478,7 +485,7 @@ int process(int argc, char ** argv) case 32: d_qphrase(); break; } - savsect(); + SaveSection(); } if (objfname == NULL) @@ -559,6 +566,7 @@ int get_endianess(void) int main(int argc, char ** argv) { perm_verb_flag = 0; // Clobber "permanent" verbose flag + legacy_flag = 1; // Default is legacy mode on (:-P) cmdlnexec = argv[0]; // Obtain executable name endian = get_endianess(); // Get processor endianess @@ -574,3 +582,4 @@ int main(int argc, char ** argv) return 0; } +