summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-09-20 06:57:41 +0000
committerNick Clifton <nickc@redhat.com>2002-09-20 06:57:41 +0000
commit9a64bbcb599d942e9fdf876bed2fbdff15339311 (patch)
tree9dce3ae2768adef587e5093239cf2e769dfe7ce6
parente15a8bff82d9a7d350ce036ab48006e799ee2885 (diff)
downloadbinutils-redhat-9a64bbcb599d942e9fdf876bed2fbdff15339311.tar.gz
Do not allow symbols to be created in the absolute section.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/symbols.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index ab054abdb0..9b4fb4be93 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-20 Nick Clifton <nickc@redhat.com>
+
+ * symbols.c (colon): Do not allow symbols to be created in the
+ absolute section.
+
2002-09-20 Alan Modra <amodra@bigpond.net.au>
* expr.c (expr): Simplify foo-foo here.
diff --git a/gas/symbols.c b/gas/symbols.c
index 6d8147ce84..c84b5b3a00 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -287,7 +287,13 @@ colon (sym_name) /* Just seen "x:" - rattle symbols & frags. */
{
register symbolS *symbolP; /* Symbol we are working with. */
- /* Sun local labels go out of scope whenever a non-local symbol is
+ if (now_seg == absolute_section)
+ {
+ as_bad (_("cannot define symbol `%s' in absolute section"), sym_name);
+ return NULL;
+ }
+
+ /* Sun local labels go out of scope whenever a non-local symbol is
defined. */
if (LOCAL_LABELS_DOLLAR)
{