This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH v2 2/3] Add FreeBSD/mips architecture.
On 12/08/2016 02:08 PM, John Baldwin wrote:
On Thursday, December 08, 2016 12:47:42 PM Luis Machado wrote:
On 12/06/2016 03:00 PM, John Baldwin wrote:
+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);
+ case MIPS_ABI_N32:
+ case MIPS_ABI_N64:
+ tramp_frame_prepend_unwinder (gdbarch, &mips64_fbsd_sigframe);
+ (gdbarch, mips_fbsd_iterate_over_regset_sections);
+ /* FreeBSD/mips has SVR4-style shared libraries. */
+ (gdbarch, (gdbarch_ptr_bit (gdbarch) == 32 ?
+ mips_fbsd_ilp32_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).
For the sigframe unwinders. I was mostly concerned about the switch
construct without a default case for something invalid.