X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=mark.c;h=664e318f5790e53eddd7103597a774eebcba4750;hp=6c40c304292586e6b0c2f620aef5c071a9597f77;hb=05d0350b35a6a6b255cb2a3fab7796f5d4ee4d02;hpb=60f204cb9e3905100da0d89f14bb40db764acd9e diff --git a/mark.c b/mark.c index 6c40c30..664e318 100644 --- a/mark.c +++ b/mark.c @@ -1,7 +1,7 @@ // -// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System +// RMAC - Reboot's Macro Assembler for all Atari computers // MARK.C - A record of things that are defined relative to any of the sections -// Copyright (C) 199x Landon Dyer, 2011-2012 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 // Source utilised with the kind permission of Landon Dyer // @@ -90,16 +90,13 @@ if (symbol) // // Complain about some things are not allowed in '-p' (PRG) mode: - // o Marks that aren't to LONGs - // o External references + // o Marks that aren't to LONGs + // o External references // if (prg_flag) { - if ((flags & MLONG) == 0) - error("illegal word relocatable (in .PRG mode)"); - if (symbol != NULL) - errors("illegal external reference (in .PRG mode) to '%s'", + error("illegal external reference (in .PRG mode) to '%s'", symbol->sname); } @@ -368,7 +365,7 @@ printf("MarkBSDImage():\n"); continue; #ifdef DEBUG_IMAGE_MARKING -printf(" validsegment: raddr = $%08X\n", raddr); +printf(" validsegment: raddr = $%08X\n", loc); #endif uint32_t rflag = 0x00000040; // Absolute relocation @@ -527,10 +524,7 @@ uint32_t CreateELFRelocationRecord(uint8_t * buf, uint8_t * secBuf, uint16_t sec else r_type = 1; // R_68K_32 - if (symbol != NULL) - r_addend = symbol->svalue; // Mark offset into section - else - r_addend = GETBE32(secBuf + r_offset, 0); + r_addend = GETBE32(secBuf + r_offset, 0); // Deposit the relocation record D_long(r_offset);