aboutsummaryrefslogtreecommitdiff
path: root/gas/doc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-05-22 10:23:50 +0000
committerAlan Modra <amodra@gmail.com>2001-05-22 10:23:50 +0000
commit6386f3a76709a4d55f17b30449280e1b3ed01ed9 (patch)
treed54b59808b66538a730f1e79a93186fdeafaf493 /gas/doc
parentc801568a3aea2906c9134468c7389acab7f54763 (diff)
downloadfsf-binutils-gdb-6386f3a76709a4d55f17b30449280e1b3ed01ed9.zip
fsf-binutils-gdb-6386f3a76709a4d55f17b30449280e1b3ed01ed9.tar.gz
fsf-binutils-gdb-6386f3a76709a4d55f17b30449280e1b3ed01ed9.tar.bz2
* symbols.c (resolve_symbol_value): Remove "finalize" param,
instead use finalize_syms directly. Don't treat expressions specially with regard to finalize_syms. Update calls to self. (resolve_local_symbol): Update call to resolve_symbol_value. (S_GET_VALUE): Likewise. Return resolve_symbol_value if !finalize_syms. * symbols.h (resolve_symbol_value): Update prototype. * config/obj-aout.c (obj_crawl_symbol_chain): Update call to resolve_symbol_value. * config/obj-bout.c (obj_crawl_symbol_chain): Likewise. * config/obj-coff.c (do_relocs_for): Likewise. (yank_symbols): Likewise. (fixup_segment): Likewise. * config/obj-vms.c (obj_crawl_symbol_chain): Likewise. * config/tc-mips.c (md_convert_frag): Likewise. * config/tc-ppc.c (ppc_frob_symbol): Likewise. (ppc_fix_adjustable): Likewise. * dwarf2dbg.c (dwarf2dbg_estimate_size_before_relax): Likewise. (dwarf2dbg_convert_frag): Likewise. * ehopt.c (eh_frame_estimate_size_before_relax): Likewise. (eh_frame_convert_frag): Likewise. * expr.c (make_expr_symbol): Likewise. * write.c (adjust_reloc_syms): Likewise. (write_object_file): Likewise. (relax_segment): Likewise. (fixup_segment): Likewise. (finalize_syms): Init to zero, and update comment. (write_object_file): Set finalize_syms to 1 rather than 2. * doc/internals.texi (sy_value): Mention finalize_syms. (S_GET_VALUE): Remove restriction on when S_GET_VALUE can be called.
Diffstat (limited to 'gas/doc')
-rw-r--r--gas/doc/internals.texi11
1 files changed, 5 insertions, 6 deletions
diff --git a/gas/doc/internals.texi b/gas/doc/internals.texi
index eebb9bb..013b19c 100644
--- a/gas/doc/internals.texi
+++ b/gas/doc/internals.texi
@@ -130,11 +130,12 @@ Symbol structures contain the following fields:
@item sy_value
This is an @code{expressionS} that describes the value of the symbol. It might
refer to one or more other symbols; if so, its true value may not be known
-until @code{resolve_symbol_value} is called in @code{write_object_file}.
+until @code{resolve_symbol_value} is called with @var{finalize_syms} non-zero
+in @code{write_object_file}.
The expression is often simply a constant. Before @code{resolve_symbol_value}
-is called, the value is the offset from the frag (@pxref{Frags}). Afterward,
-the frag address has been added in.
+is called with @var{finalize_syms} set, the value is the offset from the frag
+(@pxref{Frags}). Afterward, the frag address has been added in.
@item sy_resolved
This field is non-zero if the symbol's value has been completely resolved. It
@@ -208,9 +209,7 @@ Set the symbol's value.
@item S_GET_VALUE
@cindex S_GET_VALUE
Get the symbol's value. This will cause @code{resolve_symbol_value} to be
-called if necessary, so @code{S_GET_VALUE} should only be called when it is
-safe to resolve symbols (i.e., after the entire input file has been read and
-all symbols have been defined).
+called if necessary.
@item S_SET_SEGMENT
@cindex S_SET_SEGMENT