This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: test case: m68k symbol bug!


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);
     }



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]