This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: gas fails for i686-linux-gnu
Hi Guys,
> Ok, let's give him some more time to sleep. ;-)
ZZZ.... wha ?
Ah, oops, sorry guys - I was a little bit over zealous in restricting
symbols created in the abs section. It is only a problem if
WORKING_DOT_WORD is not defined, when there is no obstack available
for frag_var() to create an rs_broken_word frag.
I have applied this patch to fix the problem.
Cheers
Nick
2002-09-20 Nick Clifton <nickc@redhat.com>
* 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.
Index: gas/symbols.c
===================================================================
RCS file: /cvs/src/src/gas/symbols.c,v
retrieving revision 1.38
diff -c -3 -p -w -r1.38 symbols.c
*** gas/symbols.c 20 Sep 2002 06:57:41 -0000 1.38
--- gas/symbols.c 20 Sep 2002 14:41:03 -0000
*************** colon (sym_name) /* Just seen "x:" - ra
*** 287,298 ****
{
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
defined. */
if (LOCAL_LABELS_DOLLAR)
--- 287,292 ----
*************** colon (sym_name) /* Just seen "x:" - ra
*** 319,324 ****
--- 313,325 ----
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);