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: [PATCH] sim: unify symbol table handling


On 15 Aug 2016 10:22, Nick Clifton wrote:
> Hi Mike,
> > diff --git a/sim/aarch64/memory.h b/sim/aarch64/memory.h
> > -extern void         mem_add_blk (sim_cpu *, uint64_t, char *, uint64_t, bfd_boolean);
> 
> (I have no problem with this part of the patch, but just to note
> that it is nothing to do with unifying symbol table handling...)

true, but it was collateral damage.  by removing the (now unused &
unneeded) bfd.h include from this header, this prototype broke (as
it uses bfd_boolean).  so i had to drop it as well.

> > +int
> > +trace_load_symbols (SIM_DESC sd)
> > +{
> 
> Wouldn't it make sense for trace_load_symbols to also remove useless
> symbols and then sort the table ?  Isn't this something that all 
> sims will want ?  [The code for remove_useless_symbols in aarch64/interp.c
> is basically generic, not aarch64 specific].

i hadn't fully digested this bit of logic ... i was focusing on the bits
the core already handled, and were requiring custom clean ups/callbacks
in the non-common code.  you're right though that we could update the
core to include this code for the benefit of all.

> > +bfd_vma
> > +trace_sym_value (SIM_DESC sd, const char *name)
> > +{
> > [...]
> > +  for (i = 0; i < STATE_PROG_SYMS_COUNT (sd); ++i)
> > +    if (strcmp (asymbols[i]->name, name) == 0)
> > +      return bfd_asymbol_value (asymbols[i]);
> 
> If there was a flag to say that the symbol table was sorted, then
> this lookup could be done using bsearch().
> 
> 
> So basically as far as I can see there is nothing wrong with the patch.
> Certainly not from an AArch64 of MSP430 point of view.

thanks.  i'll merge this as-is, and add your ideas to my TODO list :).
-mike

Attachment: signature.asc
Description: Digital signature


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