This is the mail archive of the gdb@sources.redhat.com 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: found gdbarch solib issue


On Mon, Jun 16, 2003 at 04:42:39PM -0400, Kris Warkentin wrote:
> So I was tracing around trying to figure out why my
> sysv_fetch_link_map_offsets function was getting lost when architectures
> were changing.  I noticed that <arch>_init_abi was being called which then
> calls my <arch>nto_init_abi through gdbarch_init_osabi().
> 
> Problem was, at some point we're changing arches for some reason, whether
> setting it from a file or whatever, and the generic init_abi is called
> again.  This time, however, my handler for nto_init_abi isn't called.
> 
> The change that makes this problem go away is below but I'm not entirely
> confident that it's the right thing to do.  If you look at the 'compatible'
> function, ie. mips_compatible, all it's doing is comparing arches.  The
> original test below is comparing pointers which I think might not be right.
> Either way, if I do this change, all my worries fly away.
> 
> Any reason anyone can think of why this might be bad?

Shouldn't it be returning arch_info anyway?  Why isn't it?  Is it
returning handler->arch_info?

> -      compatible = arch_info->compatible (arch_info, handler->arch_info);
> -      if (compatible == handler->arch_info)
> +      if(arch_info->compatible (arch_info, handler->arch_info))

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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