diff options
author | Alan Modra <amodra@gmail.com> | 2003-01-23 12:51:05 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2003-01-23 12:51:05 +0000 |
commit | ae6063d440ba5ec28af81e9fc899cc099561339e (patch) | |
tree | 739cce858065e76a0b0a86f4623429db35efb071 /gas/doc | |
parent | f0abc2a11f47c3ecdfe0b54421092d17c70fc5f2 (diff) | |
download | gdb-ae6063d440ba5ec28af81e9fc899cc099561339e.zip gdb-ae6063d440ba5ec28af81e9fc899cc099561339e.tar.gz gdb-ae6063d440ba5ec28af81e9fc899cc099561339e.tar.bz2 |
* symbols.c (S_FORCE_RELOC): Add "strict" param.
* symbols.h (S_FORCE_RELOC): Likewise.
* config/obj-aout.h (S_FORCE_RELOC): Likewise.
* config/obj-bout.h (S_FORCE_RELOC): Likewise.
* config/obj-coff.h (S_FORCE_RELOC): Likewise.
* config/obj-ieee.h (S_FORCE_RELOC): Likewise.
* config/obj-vms.h (S_FORCE_RELOC): Likewise.
* write.c (generic_force_reloc): New function.
(TC_FORCE_RELOCATION): Use it here instead of S_FORCE_RELOC.
(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
(adjust_reloc_syms): Adjust S_FORCE_RELOC call.
* as.h (generic_force_reloc): Declare.
* doc/internals.texi (S_FORCE_RELOC): Update.
(TC_FORCE_RELOCATION_SUB_SAME): Update.
* config/tc-alpha.c (alpha_force_relocation): Adjust to use
generic_force_reloc.
(alpha_fix_adjustable): Likewise.
* config/tc-arm.c (arm_force_relocation): Likewise.
* config/tc-cris.c (md_cris_force_relocation): Likewise.
* config/tc-frv.c (frv_force_relocation): Likewise.
* config/tc-i386.c (md_apply_fix3): Likewise.
* config/tc-ia64.c (ia64_force_relocation): Likewise.
* config/tc-ip2k.c (ip2k_force_relocation): Likewise.
* config/tc-m32r.c (m32r_force_relocation): Likewise.
* config/tc-m68hc11.c (tc_m68hc11_force_relocation): Likewise.
* config/tc-mcore.c (mcore_force_relocation): Likewise.
* config/tc-mips.c (mips_force_relocation): Likewise.
* config/tc-mmix.c (mmix_force_relocation): Likewise.
* config/tc-ppc.c (ppc_force_relocation): Likewise.
* config/tc-s390.c (tc_s390_force_relocation): Likewise.
* config/tc-sh.c (sh_force_relocation): Likewise.
(md_pcrel_from_section): Likewise.
* config/tc-sparc.c (tc_gen_reloc): Likewise.
* config/tc-v850.c (v850_force_relocation): Likewise.
* config/tc-xstormy16.c (xstormy16_force_relocation): Likewise.
* config/tc-i386.h (TC_FORCE_RELOCATION): Likewise.
* config/tc-mcore.h (TC_FORCE_RELOCATION): Likewise.
* config/tc-sparc.h (tc_fix_adjustable): Likewise.
* config/tc-d10v.c (d10v_force_relocation): Delete.
* config/tc-d10v.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-dlx.c (md_dlx_force_relocation): Delete.
* config/tc-dlx.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-fr30.c (fr30_force_relocation): Delete.
* config/tc-fr30.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-mn10300.c (mn10300_force_relocation): Delete.
* config/tc-mn10300.h (TC_FORCE_RELOCATION): Don't define.
(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
* config/tc-i960.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise.
* config/tc-hppa.c (hppa_force_relocation): Adjust S_FORCE_RELOC call.
* config/tc-mips.c (RELAX_BRANCH_TOOFAR): Warning fix.
* config/tc-mips.h (TC_FORCE_RELOCATION_SUB_SAME): Don't define.
* config/tc-openrisc.c (openrisc_force_relocation): Delete.
* config/tc-openrisc.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-sparc.c (elf32_sparc_force_relocation): Delete.
* config/tc-sparc.h (TC_FORCE_RELOCATION): Don't define for ELF.
* config/tc-i386.c (i386_force_relocation): Delete.
* config/tc-i386.h (TC_FORCE_RELOCATION): Don't define for
BFD_ASSEMBLER.
(EXTERN_FORCE_RELOC): Fix TE_PE and STRICT_PE_FORMAT nesting.
* config/tc-m68k.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-pj.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-sh.h (TC_FORCE_RELOCATION_SUB_ABS): Don't call
S_FORCE_RELOC.
(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
* config/tc-sh64.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise.
Diffstat (limited to 'gas/doc')
-rw-r--r-- | gas/doc/internals.texi | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gas/doc/internals.texi b/gas/doc/internals.texi index f88e6b2..afff9f9 100644 --- a/gas/doc/internals.texi +++ b/gas/doc/internals.texi @@ -1,6 +1,6 @@ \input texinfo @c Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -@c 2001, 2002 +@c 2001, 2002, 2003 @c Free Software Foundation, Inc. @setfilename internals.info @node Top @@ -1294,12 +1294,13 @@ symbol in the current section. If undefined, fixups that are not returns non-zero, will emit relocs. @item TC_FORCE_RELOCATION_SUB_SAME (@var{fix}, @var{seg}) -@cindex TC_FORCE_RELOCATION_SUB +@cindex TC_FORCE_RELOCATION_SUB_SAME This macro controls resolution of fixup expressions involving the difference of two symbols in the same section. If this macro returns zero, the subtrahend will be resolved and @code{fx_subsy} set to @code{NULL} for @code{md_apply_fix3}. If undefined, the default of -@w{@code{! SEG_NORMAL (@var{seg})}} will be used. +@w{@code{! SEG_NORMAL (@var{seg}) || TC_FORCE_RELOCATION (@var{fix})}} will +be used. @item TC_FORCE_RELOCATION_SUB_ABS (@var{fix}) @cindex TC_FORCE_RELOCATION_SUB_ABS @@ -1324,13 +1325,13 @@ to @code{md_apply_fix3}. If the macro is undefined, or returns non-zero, the symbol value will be included. For ELF, a suitable definition might simply be @code{0}, because ELF relocations don't include the symbol value in the addend. -@item S_FORCE_RELOC (@var{sym}) +@item S_FORCE_RELOC (@var{sym}, @var{strict}) @cindex S_FORCE_RELOC This macro (or function, for @code{BFD_ASSEMBLER} gas) returns true for symbols that should not be reduced to section symbols or eliminated from expressions, because they may be overridden by the linker. ie. for symbols that are -undefined, common or weak, or for ELF assemblers that support ELF shared -library linking semantics, global. +undefined or common, and when @var{strict} is set, weak, or global (for ELF +assemblers that support ELF shared library linking semantics). @item EXTERN_FORCE_RELOC @cindex EXTERN_FORCE_RELOC |