This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v2 2/3] Add FreeBSD/mips architecture.
On Thursday, December 08, 2016 12:47:42 PM Luis Machado wrote:
> On 12/06/2016 03:00 PM, John Baldwin wrote:
> > +static void
> > +mips_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
> > +{
> > + enum mips_abi abi = mips_abi (gdbarch);
> > +
> > + /* Generic FreeBSD support. */
> > + fbsd_init_abi (info, gdbarch);
> > +
> > + set_gdbarch_software_single_step (gdbarch, mips_software_single_step);
> > +
> > + switch (abi)
> > + {
> > + case MIPS_ABI_O32:
> > + tramp_frame_prepend_unwinder (gdbarch, &mips_fbsd_sigframe);
> > + break;
> > + case MIPS_ABI_N32:
> > + break;
> > + case MIPS_ABI_N64:
> > + tramp_frame_prepend_unwinder (gdbarch, &mips64_fbsd_sigframe);
> > + break;
> > + }
> > +
> > + set_gdbarch_iterate_over_regset_sections
> > + (gdbarch, mips_fbsd_iterate_over_regset_sections);
> > +
> > + /* FreeBSD/mips has SVR4-style shared libraries. */
> > + set_solib_svr4_fetch_link_map_offsets
> > + (gdbarch, (gdbarch_ptr_bit (gdbarch) == 32 ?
> > + mips_fbsd_ilp32_fetch_link_map_offsets :
> > + mips_fbsd_lp64_fetch_link_map_offsets));
> > +}
> > +
> > +
>
> Do we need to set a reasonable default in case abi is something unknown
> or undefined? Maybe as a fail-safe?
Default in which sense, for the sigframe unwinder or something else?
I don't think there's any support in any toolchains I'm aware of to
generate FreeBSD binaries with other ABIs (no O64 in particular).
--
John Baldwin