X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=object.c;h=f100e4ae18fd1a95a8c9fc3e903231fd3c7f614a;hp=29fd8f3ce0d672e42757eed92131ccfd47b6461d;hb=bf4dbb2860116dd1d0fd934b28a16f9eb15cd7fd;hpb=29fa5dcf504b966803063a1c2891f58f97126d04 diff --git a/object.c b/object.c index 29fd8f3..f100e4a 100644 --- a/object.c +++ b/object.c @@ -124,7 +124,8 @@ uint8_t * AddSymEntry(register uint8_t * buf, SYM * sym, int globflag) w |= AL_EXTERN | AL_GLOBAL; // Common symbol w &= ~AL_BSS; // They're not BSS in Alcyon object files } - else if (w1 & DEFINED) + + if (w1 & DEFINED) { if (globflag) // Export the symbol w |= AL_GLOBAL; @@ -218,12 +219,7 @@ uint8_t * AddELFSymEntry(uint8_t * buf, SYM * sym, int globflag) register WORD w1 = sym->sattr; - if (w1 & COMMON) - { - //w |= AL_EXTERN | AL_GLOBAL; // common symbol - //w &= ~AL_BSS; // they're not BSS in Alcyon object files - } - else if (w1 & DEFINED) + if (w1 & DEFINED) { if (globflag) // Export the symbol st_info |= 16; //STB_GLOBAL (1<<4) @@ -314,14 +310,13 @@ uint32_t DepositELFSymbol(uint8_t * ptr, uint32_t name, uint32_t addr, uint32_t // int WriteObject(int fd) { - LONG t; // Scratch long LONG tds; // TEXT & DATA segment size int i; // Temporary int CHUNK * cp; // Chunk (for gather) uint8_t * buf; // Scratch area uint8_t * p; // Temporary ptr LONG trsize, drsize; // Size of relocations - long unused; // For supressing 'write' warnings + uint32_t unused; // For supressing 'write' warnings if (verb_flag) { @@ -484,6 +479,9 @@ int WriteObject(int fd) sy_assign(buf + HDRSIZE + tds, AddSymEntry); chptr = buf + 0x0E; // Point to symbol table size entry D_long(symsize); + + if (verb_flag) + printf("Symbol table: %d bytes\n", symsize); } // Write out the header + text & data + symbol table (if any) @@ -810,7 +808,7 @@ for(int j=0; j