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 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


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