This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: Fix powerpc64-linux inferior function calls


On Mon, Oct 03, 2005 at 08:52:28AM +0930, Alan Modra wrote:
> >  I'm thinking of
> > the patch I posted here:
> >     http://sourceware.org/ml/gdb-patches/2005-06/msg00220.html           
> > and pinged a few weeks ago.
> 
> Which I see you do in this patch too.  I didn't know about your patch
> when I wrote mine..  The order of processing doesn't matter at all.
> It just fell out that way in my patch.  Incidentally, why did you
> need to fudge the synthetic syms?
> 
> +	  /* Synthetic symbols are not, strictly speaking, either local
> +	     or global.  But we can treat them as global symbols, since
> +	     they are effectively dynamic symbols.  */
> +	  synth_symbol_table[i]->flags |= BSF_GLOBAL;
> 
> Seems like this should be done in bfd if necessary.

I don't remember precisely... ah, here it is.  See elf_symtab_read.

          if (sym->flags & BSF_FILE)
...
          else if (sym->flags & BSF_SECTION_SYM)
...
          else if (sym->flags & (BSF_GLOBAL | BSF_LOCAL | BSF_WEAK))

They won't be recorded as symbols if they have none of these bits set.
Do you want to change BFD to always create them as BSF_GLOBAL?

-- 
Daniel Jacobowitz
CodeSourcery, LLC


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