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]
Other format: [Raw text]

Re: Linker is broken due to _bfd_elf_merge_symbol change


On Wed, May 04, 2005 at 03:41:34PM +0930, Alan Modra wrote:
> On Tue, May 03, 2005 at 10:43:23PM -0700, H. J. Lu wrote:
> > http://sourceware.org/ml/binutils/2005-05/msg00018.html
> > 
> > I will revert it if it is't fixed soon.
> 
> Not without explaining why the patch causes a problem.
> 

If you take a look at _bfd_elf_merge_symbol, newdef and olddef can
change after:

  /* Skip weak definitions of symbols that are already defined.  */
  if (newdef && olddef && newweak && !oldweak)
    {
      *skip = TRUE;
      return TRUE;
    }

That is the wrong place to check them. My patch:

http://sourceware.org/ml/binutils/2005-05/msg00089.html

moved it after all changes of newdef and olddef.


H.J.


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