This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: test case: m68k symbol bug!
- To: Alan Modra <alan at linuxcare dot com dot au>
- Subject: Re: test case: m68k symbol bug!
- From: Nick Papadonis <npapadon at yahoo dot com>
- Date: 26 Mar 2001 12:39:19 -0500
- Cc: binutils at sourceware dot cygnus dot com
- Organization: None
- References: <Pine.LNX.4.21.0103260908560.3568-100000@front.linuxcare.com.au>
Alan Modra <alan@linuxcare.com.au> writes:
> On 25 Mar 2001, Nick Papadonis wrote:
>
> > I would assume it a bug...
>
> Probably, but I want confirmation from one of the coff experts before
> diving in and changing gas/read.c:equals. Perhaps other people know
> about the gas coff difference between .set and `=', and make use of it.
>
> > When compiling libgcc.a for
> > target=m68k-coff, the symbol table has symbols that I know should only
> > be local. Looking at gcc/config/m68k/lb1sf68.asm these symbols are
> > meant to be local, not global.
>
This patch looks like it fixed my problem. I don't know if it creates
any others... anyone?
2001-03-26 Nick Papadonis <nick@coelacanth.com>
* read.c Added SF_SET_LOCAL to equals(). Equals should
by default be local.
--- read.c Mon Mar 26 12:33:13 2001
+++ read.c.new Mon Mar 26 12:32:20 2001
@@ -4863,6 +4863,12 @@
&& S_IS_DEFINED (symbolP)
&& S_GET_SEGMENT (symbolP) != reg_section)
as_bad (_("symbol `%s' already defined"), S_GET_NAME (symbolP));
+
+#ifdef OBJ_COFF
+ /* "set" symbols are local unless otherwise specified. */
+ SF_SET_LOCAL (symbolP);
+#endif /* OBJ_COFF */
+
pseudo_set (symbolP);
}