On 05/28/2013 09:43 AM, Marcus Shawcroft wrote:
Actually, on the GDB side, nothing seems to use the without_fpu
description either, not even for supporting bare metal:
$ grep aarch64-without-fpu *.c
aarch64-tdep.c:#include "features/aarch64-without-fpu.c"
$ grep aarch64_without_fpu *
aarch64-tdep.c: initialize_tdesc_aarch64_without_fpu ();
aarch64-tdep.c:aarch64_gdbarch_init defaults to _with_ fpu:
/* Ensure we always have a target descriptor. */
if (!tdesc_has_registers (tdesc))
tdesc = tdesc_aarch64;
Though it checks for the existence of the .fpu feature:
/* Look for the V registers. */
feature = tdesc_find_feature (tdesc, "org.gnu.gdb.aarch64.fpu");
if (feature)
{
...
}
If the target stub's reported target description doesn't
include the .fpu feature, this returns tdesc_aarch64 anyway...
I was a bit wrong here. What this is doing is, if the target
doesn't send a target description at all, then GDB assumes
a register set that includes an FPU. But it still supports
an explicit target description that doesn't include an FPU.
.. this code is also unused.
I suggest that until alternative PCS and platform ABI's require otherwise we remove all of the currently unused "without-fpu" fpu code throughout gdb.
Alright. Like this then?