test case: m68k symbol bug!
Nick Papadonis
npapadon@yahoo.com
Mon Mar 26 09:39:00 GMT 2001
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);
}
More information about the Binutils
mailing list