#include "defs.h"
#include "arch-utils.h"
+#include "floatformat.h"
#include "osabi.h"
#include "regcache.h"
#include "regset.h"
static void
ppcobsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
+ /* OpenBSD doesn't support the 128-bit `long double' from the psABI. */
+ set_gdbarch_long_double_bit (gdbarch, 64);
+ set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_double_big);
+
+ /* OpenBSD currently uses a broken GCC. */
+ set_gdbarch_return_value (gdbarch, ppc_sysv_abi_broken_return_value);
+
/* OpenBSD uses SVR4-style shared libraries. */
set_solib_svr4_fetch_link_map_offsets
(gdbarch, svr4_ilp32_fetch_link_map_offsets);