GOT refcounting broke non-refcount targets

Daniel Jacobowitz drow@mvista.com
Wed Aug 21 18:28:00 GMT 2002


On Thu, Aug 22, 2002 at 09:19:01AM +0930, Alan Modra wrote:
> On Wed, Aug 21, 2002 at 07:14:26PM -0400, Daniel Jacobowitz wrote:
> > On Thu, Aug 22, 2002 at 08:31:03AM +0930, Alan Modra wrote:
> > > Rip the code out.  elf32_sparc_gc_sweep_hook is bogus.  It should
> > > just return true.
> > 
> > Rip out the whole function, I think you mean?
> 
> Yes.
> 
> > Aha, I missed can_refcount (Should elf32-vax be setting that?  It looks
> > like it ought to, since it tries real hard to do the refcount
> > handling...).
> 
> Not without changing some other code, as it expects zero references to
> have a -1 count.  eg.
> 
> 	      if (h->got.refcount == -1)
> 		{
> 		  h->got.refcount = 1;
> [snip]
> 		}
> 	      else
> 		{
> 		  h->got.refcount++;
> [snip]
> 
> Which was the whole point of the can_refcount patch.

Oh, right.  It may still lose on the copy_indirect bit but I'm really
not sure... if it shows up on VAX, maybe someone will be motivated to
refcount it.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



More information about the Binutils mailing list