summaryrefslogtreecommitdiff
path: root/gas/doc/internals.texi
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2005-11-17 07:29:28 +0000
committerJan Beulich <jbeulich@novell.com>2005-11-17 07:29:28 +0000
commit92757bc91688685a680cc6c6cd03324b894c4501 (patch)
treeaf7f90015e9fa7a13331367da0e55c3fbe02b9b7 /gas/doc/internals.texi
parent2be701a30fd949e7a486fcf6843fdb34f6bc00dc (diff)
gas/
2005-11-17 Jan Beulich <jbeulich@novell.com> * symbols.h (S_CLEAR_VOLATILE): Declare. * symbols.c (colon): Also accept redefinable symbols for redefinition. Clone them before modifying. (S_CLEAR_VOLATILE): Define. * cond.c (s_ifdef): Also test for equated symbols. * read.c (s_comm_internal): Also exclude non-redefinable equated symbols. Clone redefinable ones before modifying. (s_weakref): Clone redefinable symbols before modifying. * doc/internals.texi: Document sy_volatile, sy_forward_ref, S_IS_VOLATILE, S_SET_VOLATILE, S_CLEAR_VOLATILE, S_IS_FORWARD_REF, and S_SET_FORWARD_REF. gas/testsuite/ 2005-11-17 Jan Beulich <jbeulich@novell.com> * gas/all/cond.s: Also check ifdef works on equates and commons. * gas/all/cond.l: Adjust. * gas/all/redef2.s: Also test redefining equate to label. * gas/all/redef2.d: Adjust. * gas/all/redef3.[sd]: New. * gas/all/redef4.s: New. * gas/all/redef5.s: New. * gas/elf/redef.s: New, copied from original gas/all/redef2.s. * gas/elf/redef.d: Remove #source. * gas/all/gas.exp: Remove exclusion of iq2000-*-* from and adjust xfails for redefinition tests. Run new tests. Exclude alpha*-*-*, mips*-*-*, *c54x*-*-* from weakref tests.
Diffstat (limited to 'gas/doc/internals.texi')
-rw-r--r--gas/doc/internals.texi29
1 files changed, 29 insertions, 0 deletions
diff --git a/gas/doc/internals.texi b/gas/doc/internals.texi
index 51b4061030..dffdb1e04f 100644
--- a/gas/doc/internals.texi
+++ b/gas/doc/internals.texi
@@ -93,6 +93,12 @@ responsible for setting it when a symbol is used in backend routines.
Whether the symbol is an MRI common symbol created by the @code{COMMON}
pseudo-op when assembling in MRI mode.
+@item sy_volatile
+Whether the symbol can be re-defined.
+
+@item sy_forward_ref
+Whether the symbol's value must only be evaluated upon use.
+
@item sy_weakrefr
Whether the symbol is a @code{weakref} alias to another symbol.
@@ -165,6 +171,16 @@ Return non-zero if the symbol is a @code{weakref} alias.
Return non-zero if the symbol was aliased by a @code{weakref} alias and has not
had any strong references.
+@item S_IS_VOLATILE
+@cindex S_IS_VOLATILE
+Return non-zero if the symbol may be re-defined. Such symbols get created by
+the @code{=} operator, @code{equ}, or @code{set}.
+
+@item S_IS_FORWARD_REF
+@cindex S_IS_FORWARD_REF
+Return non-zero if the symbol is a forward reference, that is its value must
+only be determined upon use.
+
@item S_IS_COMMON
@cindex S_IS_COMMON
Return non-zero if this is a common symbol. Common symbols are sometimes
@@ -222,6 +238,19 @@ Clear the @code{weakref} aliased status of a symbol. This is implicitly called
whenever the symbol is looked up, as part of a direct reference or a
definition, but not as part of a @code{weakref} directive.
+@item S_SET_VOLATILE
+@cindex S_SET_VOLATILE
+Indicate that the symbol may be re-defined.
+
+@item S_CLEAR_VOLATILE
+@cindex S_CLEAR_VOLATILE
+Indicate that the symbol may no longer be re-defined.
+
+@item S_SET_FORWARD_REF
+@cindex S_SET_FORWARD_REF
+Indicate that the symbol is a forward reference, that is its value must only
+be determined upon use.
+
@item S_GET_TYPE
@item S_GET_DESC
@item S_GET_OTHER