From e5683622186b119b519c82bf58269dd5513e8e19 Mon Sep 17 00:00:00 2001 From: Steve Chamberlain Date: Tue, 1 Oct 1991 03:58:36 +0000 Subject: Added new macro NEWHOWTO --- bfd/reloc.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/bfd/reloc.c b/bfd/reloc.c index 0e4edd0..e30f936 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 -- cgit v1.1