From 7cf108933bd1b2e94d4bd531583060262abd543c Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 20 Sep 2002 14:47:14 +0000 Subject: [PATCH] symbols.c (colon): Do not allow symbols to be created in the absolute section if WORKING_DOT_WORD is not defined and new_broken_words would require a new frag to be created. --- gas/ChangeLog | 3 ++- gas/symbols.c | 15 ++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 9b4fb4be93..1ba475db7a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,7 +1,8 @@ 2002-09-20 Nick Clifton * symbols.c (colon): Do not allow symbols to be created in the - absolute section. + absolute section if WORKING_DOT_WORD is not defined and + new_broken_words would require a new frag to be created. 2002-09-20 Alan Modra diff --git a/gas/symbols.c b/gas/symbols.c index c84b5b3a00..feed359204 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -287,13 +287,7 @@ colon (sym_name) /* Just seen "x:" - rattle symbols & frags. */ { register symbolS *symbolP; /* Symbol we are working with. */ - 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 + /* Sun local labels go out of scope whenever a non-local symbol is defined. */ if (LOCAL_LABELS_DOLLAR) { @@ -319,6 +313,13 @@ colon (sym_name) /* Just seen "x:" - rattle symbols & frags. */ extern const int md_short_jump_size; extern const int md_long_jump_size; + + if (now_seg == absolute_section) + { + as_bad (_("cannot define symbol `%s' in absolute section"), sym_name); + return NULL; + } + possible_bytes = (md_short_jump_size + new_broken_words * md_long_jump_size); -- 2.34.1