/* Target-dependent code for FreeBSD/arm.
- Copyright (C) 2017-2019 Free Software Foundation, Inc.
+ Copyright (C) 2017-2020 Free Software Foundation, Inc.
This file is part of GDB.
#include "defs.h"
#include "elf/common.h"
+#include "target-descriptions.h"
+#include "aarch32-tdep.h"
#include "arm-tdep.h"
#include "arm-fbsd-tdep.h"
#include "auxv.h"
regcache_supply_regset, regcache_collect_regset
};
-/* Implement the "regset_from_core_section" gdbarch method. */
+/* Implement the "iterate_over_regset_sections" gdbarch method. */
static void
arm_fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
CORE_ADDR arm_hwcap = 0;
if (target_auxv_search (target, AT_FREEBSD_HWCAP, &arm_hwcap) != 1)
- return NULL;
+ return nullptr;
if (arm_hwcap & HWCAP_VFP)
{
if (arm_hwcap & HWCAP_NEON)
- return tdesc_arm_with_neon;
+ return aarch32_read_description ();
else if ((arm_hwcap & (HWCAP_VFPv3 | HWCAP_VFPD32))
== (HWCAP_VFPv3 | HWCAP_VFPD32))
- return tdesc_arm_with_vfpv3;
+ return arm_read_description (ARM_FP_TYPE_VFPV3);
else
- return tdesc_arm_with_vfpv2;
+ return arm_read_description (ARM_FP_TYPE_VFPV2);
}
- return NULL;
+ return nullptr;
}
/* Implement the "core_read_description" gdbarch method. */
set_gdbarch_software_single_step (gdbarch, arm_software_single_step);
}
+void _initialize_arm_fbsd_tdep ();
void
-_initialize_arm_fbsd_tdep (void)
+_initialize_arm_fbsd_tdep ()
{
gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_FREEBSD,
arm_fbsd_init_abi);