many modyfications in search for more speed
This commit is contained in:
@@ -9,29 +9,40 @@
|
||||
* absolute.
|
||||
*/
|
||||
|
||||
#ifdef WORDS_REVERSED
|
||||
#ifdef BYTES_REVERSED
|
||||
#define RRR (RELO4|RELBR|RELWR)
|
||||
#else
|
||||
#define RRR (RELO4|RELWR)
|
||||
#endif
|
||||
#else
|
||||
#ifdef BYTES_REVERSED
|
||||
#define RRR (RELO4|RELBR)
|
||||
#else
|
||||
#define RRR (RELO4)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
reloc4( sym, off, pcrel)
|
||||
char *sym;
|
||||
arith off;
|
||||
int pcrel;
|
||||
{
|
||||
register struct outrelo *r;
|
||||
|
||||
if ( relo - reloc_info >= size_reloc)
|
||||
mem_relo();
|
||||
|
||||
relo->or_type = RELO4;
|
||||
#ifdef BYTES_REVERSED
|
||||
relo->or_type |= RELBR;
|
||||
#endif
|
||||
#ifdef WORDS_REVERSED
|
||||
relo->or_type |= RELWR;
|
||||
#endif
|
||||
relo->or_type |= ( pcrel) ? RELPC : S_UND;
|
||||
relo->or_sect = S_MIN + conv_seg( cur_seg);
|
||||
relo->or_nami = find_sym(sym, REFERENCE);
|
||||
relo->or_addr = cur_value();
|
||||
gen4( (pcrel) ? off - ( cur_value() + 4) : off);
|
||||
r = relo;
|
||||
|
||||
r->or_type = ( pcrel) ? RELPC|RRR : RRR;
|
||||
r->or_sect = S_MIN + conv_seg( cur_seg);
|
||||
r->or_nami = find_sym(sym, REFERENCE);
|
||||
r->or_addr = cur_value();
|
||||
gen4( (pcrel) ? off - ( r->or_addr + 4) : off);
|
||||
|
||||
/* print( "r %s r %ld s %d in %d adrr %ld off %ld\n",
|
||||
sym, pcrel, cur_seg, relo->or_nami, relo->or_addr,
|
||||
sym, pcrel, cur_seg, r->or_nami, r->or_addr,
|
||||
(pcrel) ? off-cur_value() : off);
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user