summaryrefslogtreecommitdiff
path: root/gas/symbols.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2001-09-09 14:01:17 +0000
committerAlan Modra <amodra@bigpond.net.au>2001-09-09 14:01:17 +0000
commitafa4e2cdc15194e22cf8b5eb0fb5e14b629205ff (patch)
treef6d81f2854068811b051a3bd108cc4ebf3a90767 /gas/symbols.h
parent723fe7aa435d59a63d6ce5dec193061df7b9d2bc (diff)
downloadbinutils-redhat-afa4e2cdc15194e22cf8b5eb0fb5e14b629205ff.tar.gz
* expr.c (expr): Move code setting "retval" to the end of the loop,
and rearrange for efficiency. For "PIC code" subtraction, use "rightseg" rather than recalculating. For "symbol OP symbol" subtract, set "retval" to absolute_section if symbols in same section. * symbols.c (resolve_symbol_value): Resolve "sym +/- expr" to an O_symbol. Simplify a +/- b code. Allow equality and non-equality comparisons on symbols from any section. Allow other comparison operators as for subtraction. (symbol_equated_reloc_p): New predicate function. * symbols.h (symbol_equated_reloc_p): Declare. * write.c (adjust_reloc_syms): Use symbol_equated_reloc_p. (write_relocs): Likewise. (write_object_file): Likewise. (relax_segment <rs_machine_dependent>): Ensure segment for expression syms is set correctly. * config/tc-mips.c (md_estimate_size_before_relax): Likewise. * config/tc-i386.c (md_assemble <Output jumps>): Don't lose part of a complex expression when setting up frag_var.
Diffstat (limited to 'gas/symbols.h')
-rw-r--r--gas/symbols.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gas/symbols.h b/gas/symbols.h
index e7989055ea..a80ca8c7b5 100644
--- a/gas/symbols.h
+++ b/gas/symbols.h
@@ -185,6 +185,7 @@ extern void symbol_mark_resolved PARAMS ((symbolS *));
extern int symbol_resolved_p PARAMS ((symbolS *));
extern int symbol_section_p PARAMS ((symbolS *));
extern int symbol_equated_p PARAMS ((symbolS *));
+extern int symbol_equated_reloc_p PARAMS ((symbolS *));
extern int symbol_constant_p PARAMS ((symbolS *));
#ifdef BFD_ASSEMBLER