From: Steve Chamberlain Date: Tue, 1 Oct 1991 03:58:36 +0000 (+0000) Subject: Added new macro NEWHOWTO X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e5683622186;p=binutils-gdb.git Added new macro NEWHOWTO --- diff --git a/bfd/reloc.c b/bfd/reloc.c index 0e4edd0629d..e30f936091e 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -361,6 +361,34 @@ The HOWTO define is horrible and will go away. {(unsigned)C,R,S,B, P, BI, ABS,O,SF,NAME,INPLACE,MASKSRC,MASKDST,PC} *- +And will be replaced with the totally magic way. But for the moment, +we are compatible, so do it this way.. + +*+ +#define NEWHOWTO( FUNCTION, NAME,SIZE,REL) HOWTO(0,0,SIZE,0,REL,0,false,false,FUNCTION, NAME,false,0,0,false) +*- + +Helper routine to turn a symbol into a relocation value. + +*+ + + +#define HOWTO_PREPARE(relocation, symbol) \ + { \ + if (symbol != (asymbol *)NULL) { \ + if (symbol->flags & BSF_FORT_COMM) { \ + relocation = 0; \ + } \ + else { \ + relocation = symbol->value; \ + } \ + } \ + if (symbol->section != (asection *)NULL) { \ + relocation += symbol->section->output_section->vma + \ + symbol->section->output_offset; \ + } \ +} +*- */ /*proto* reloc_chain