From: Phil Blundell Date: Wed, 14 Feb 2001 09:57:29 +0000 (+0000) Subject: 2001-02-14 Philip Blundell X-Git-Tag: binutils-2_11~55 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ea17f16be44ba6f91882355b9d674884f8a813bb;p=thirdparty%2Fbinutils-gdb.git 2001-02-14 Philip Blundell From 2001-02-06 H.J. Lu * config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): Do fixup if there is no relocation. From 2001-02-06 H.J. Lu * config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): New. Defined. * config/tc-ia64.c (md_parse_option): Only accept the valid ia64 options on "-axxx". --- diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 4c4f772c505..8f827393b3e 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -5983,12 +5983,13 @@ md_parse_option (c, arg) break; case 'a': - /* ??? Conflicts with gas' listing option. */ /* indirect= Assume unannotated indirect branches behavior according to -- exit: branch out from the current context (default) labels: all labels in context may be branch targets */ + if (strncmp (arg, "indirect=", 9) != 0) + return 0; break; case 'x': diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h index 0094836487e..f2b9fe43e8f 100644 --- a/gas/config/tc-ia64.h +++ b/gas/config/tc-ia64.h @@ -246,3 +246,16 @@ typedef struct unwind_record unw_x_record x; } record; } unwind_record; + +/* This expression evaluates to false if the relocation is for a local + object for which we still want to do the relocation at runtime. + True if we are willing to perform this relocation while building + the .o file. This is only used for pcrel relocations. */ + +#define TC_RELOC_RTSYM_LOC_FIXUP(FIX) \ + ((FIX)->fx_addsy == NULL \ + || (FIX)->fx_r_type == 0 \ + || (! S_IS_EXTERNAL ((FIX)->fx_addsy) \ + && ! S_IS_WEAK ((FIX)->fx_addsy) \ + && S_IS_DEFINED ((FIX)->fx_addsy) \ + && ! S_IS_COMMON ((FIX)->fx_addsy)))