summaryrefslogtreecommitdiff
path: root/gas/symbols.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2008-10-07 14:21:59 +0000
committerH.J. Lu <hjl@lucon.org>2008-10-07 14:21:59 +0000
commit6db6dd4bfd41608326719cf8f69b33608e3c8181 (patch)
treefd9c83b7afd86a7c0fcdea44f04113b72a3c0568 /gas/symbols.c
parent814be7125949a44ddabc18c2e42d756ffd7ac8e5 (diff)
downloadbinutils-redhat-6db6dd4bfd41608326719cf8f69b33608e3c8181.tar.gz
2008-10-07 H.J. Lu <hongjiu.lu@intel.com>
* read.c (pseudo_set): Don't allow global register symbol only if TC_GLOBAL_REGISTER_SYMBOL_OK is undefined. * symbols.c (S_SET_EXTERNAL): Likewise. * config/tc-mmix.h (TC_GLOBAL_REGISTER_SYMBOL_OK): Defined. * doc/internals.texi: Document TC_GLOBAL_REGISTER_SYMBOL_OK.
Diffstat (limited to 'gas/symbols.c')
-rw-r--r--gas/symbols.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gas/symbols.c b/gas/symbols.c
index 84f394cd09..7e4f982f38 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -2191,12 +2191,14 @@ S_SET_EXTERNAL (symbolS *s)
_("section symbols are already global"));
return;
}
+#ifndef TC_GLOBAL_REGISTER_SYMBOL_OK
if (S_GET_SEGMENT (s) == reg_section)
{
as_bad ("can't make register symbol `%s' global",
S_GET_NAME (s));
return;
}
+#endif
s->bsym->flags |= BSF_GLOBAL;
s->bsym->flags &= ~(BSF_LOCAL | BSF_WEAK);