|
From: Philippe W. <phi...@sk...> - 2015-08-06 17:05:29
|
On Wed, 2015-08-05 at 22:30 -0400, Zhi-Gang Liu wrote:
> Philippe,
>
>
> I'm not sure how to create the right XML files for tilegx right now.
> For ARM64, its target_xml() just simply returns NULL.
>
> I'd like to do same here i.e. the patch below. Any thought?
Defining xml files allows GDB to display shadow registers.
The classical way to define xml files is to start from the xml
files part of gdb, in directory gdb/features.
However, I see that in GDB 7.9.1, there is no tilegx xml files.
So, the alternative is to start from an existing file set
(e.g. starting from mips64-linux.xml and mips64-linux-valgrind.xml)
and modify the file content (and the content of the included files).
Basically, you describe the registers as expected by GDB,
using the predefined types.
This file has then to be duplicated to define the equivalent
shadow 1 and shadow 2 sets.
So, in theory, no difficulty expected
(but maybe tilegx is special, as gdb has no xml files for it?).
Otherwise, the alternative is the patch below, which effectively
ensures no xml files are needed (but it means users cannot look
at shadow registers).
If no user complained for lack of --vgdb-shadow-registers=yes support
on tilegx, then the patch below will ensure a consistent distribution.
Thanks
Philippe
>
>
> ---ZhiGang
>
>
>
> Index: coregrind/m_gdbserver/valgrind-low-tilegx.c
> ===================================================================
> --- coregrind/m_gdbserver/valgrind-low-tilegx.c (revision 15500)
> +++ coregrind/m_gdbserver/valgrind-low-tilegx.c (working copy)
> @@ -225,11 +225,13 @@
> static
> const char* target_xml ( Bool shadow_mode )
> {
> - if (shadow_mode) {
> + return NULL;
> +#if 0
> + if (shadow_mode)
> return "tilegx-linux-valgrind.xml";
> - } else {
> + else
> return "tilegx-linux.xml";
> - }
> +#endif
> }
>
> static CORE_ADDR** target_get_dtv (ThreadState *tst)
>
>
> On Wed, Aug 5, 2015 at 12:49 PM, Philippe Waroquiers
> <phi...@sk...> wrote:
> On Mon, 2015-08-03 at 11:33 +0200, Florian Krohm wrote:
> > You ought to run "make regtest" when making changes that
> have the
> > potential to break stuff.
> > There are zillions of messages like this one:
> >
> > none/tests/tilegx/Makefile.am:1: error:
> > insn_test_ldnt4u_add_X1.stderr.exp is in EXTRA_DIST but
> doesn't exist
> > none/tests/tilegx/Makefile.am:1: error:
> insn_test_ldnt4u_add_X1.vgtest
> > is in EXTRA_DIST but doesn't exist
> > none/tests/tilegx/Makefile.am:1: error:
> insn_test_ldnt_add_X1.stdout.exp
> > is in EXTRA_DIST but doesn't exist
> Hello Zhigang,
>
> While we are speaking about missing files ...
>
>
> The tilegx xml files are referenced in
> coregrind/m_gdbserver/valgrind-low-tilegx.c
> but are not present in coregrind/m_gdbserver directory
> and are not mentionned in coregrind/Makefile.am
>
>
> So, could you also add the missing tilegx gdbserver xml files
> and add them to the Makefile.am 'GDBSERVER_XML_FILES =' ?
>
> Thanks
>
> Philippe
>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Valgrind-developers mailing list
> Val...@li...
> https://lists.sourceforge.net/lists/listinfo/valgrind-developers
>
>
>
|