[PATCH 2/7] New regs_info for aarch32

Joel Brobecker brobecker@adacore.com
Tue Aug 11 19:40:00 GMT 2015


Hi Yao,

> 2015-08-04  Yao Qi  <yao.qi@linaro.org>
> 
> 	* configure.srv (srv_tgtobj): Add linux-aarch32-low.o.
> 	* linux-aarch32-low.c: New file.
> 	* linux-aarch32-low.h: New file.
> 	* linux-arm-low.c (arm_fill_gregset): Move it to
> 	linux-aarch32-low.c.
> 	(arm_store_gregset): Likewise.
> 	(arm_fill_vfpregset): Call arm_fill_vfpregset_num
> 	(arm_store_vfpregset): Call arm_store_vfpregset_num.
> 	(arm_arch_setup): Check if PTRACE_GETREGSET works.
> 	(regs_info): Rename to regs_info_arm.
> 	(arm_regs_info): Return regs_info_aarch32 if
> 	have_ptrace_getregset is 1 and target description is
> 	arm_with_neon or arm_with_vfpv3.
> 	(initialize_low_arch): Don't call init_registers_arm_with_neon.
> 	Call initialize_low_arch_aarch32 instead.

This patch is causing a GDBserver build failure on some versions
of GNU/Linux (the version we support is fairly old), but also on
relatively recent versions of Android as well.

The problem is that NT_ARM_VFP is not always defined. I tried
the attached patch, which I was a bit dubious about, but seems
to work ("info float" does not error out, and print a series of zeros),
but I'm not sure whether I'm exercising the code at all. The other
alternative I was thinking of was perhaps to just #ifndef out
the entry in aarch32_regsets that needs NT_ARM_VFP. It might be
cleaner, but I haven't tried it.

gdb/gdbserver/ChangeLog:

        * linux-aarch32-low.c (NT_ARM_VFP): Define if not already defined.

WDYT?

Thanks!
-- 
Joel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-gdbserver-linux-aarch32-low-build-failure-when-NT_AR.patch
Type: text/x-diff
Size: 1204 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20150811/559f08dd/attachment.bin>


More information about the Gdb-patches mailing list