This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: found gdbarch solib issue
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Kris Warkentin <kewarken at qnx dot com>
- Cc: "Gdb at Sources dot Redhat dot Com" <gdb at sources dot redhat dot com>,Mark Kettenis <kettenis at chello dot nl>
- Date: Mon, 16 Jun 2003 17:56:30 -0400
- Subject: Re: found gdbarch solib issue
- References: <074f01c33447$d404c2b0$0202040a@catdog>
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