This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC 6/7] Lazily and dynamically create i386-linux target descriptions
- From: Pedro Alves <palves at redhat dot com>
- To: Yao Qi <qiyaoltc at gmail dot com>, gdb-patches at sourceware dot org
- Date: Wed, 17 May 2017 16:43:51 +0100
- Subject: Re: [RFC 6/7] Lazily and dynamically create i386-linux target descriptions
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=palves at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 743E2796E4
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 743E2796E4
- References: <1494518105-15412-1-git-send-email-yao.qi@linaro.org> <1494518105-15412-7-git-send-email-yao.qi@linaro.org>
On 05/11/2017 04:55 PM, Yao Qi wrote:
> +#if GDB_SELF_TEST
> + struct xml_and_mask
> + {
> + const char *xml_file_name;
> + uint64_t mask;
> + };
Minor nit: I'd instinctively find it more natural to read the
list below as { input, output } (left to right), while you
have have { output, input }.
> +
> + struct xml_and_mask array[] = {
> + { "i386/i386-linux.xml", X86_XSTATE_SSE_MASK },
> + { "i386/i386-mmx-linux.xml", X86_XSTATE_X87_MASK },
> + { "i386/i386-avx-linux.xml", X86_XSTATE_AVX_MASK },
> + { "i386/i386-mpx-linux.xml", X86_XSTATE_MPX_MASK },
> + { "i386/i386-avx-mpx-linux.xml", X86_XSTATE_AVX_MPX_MASK },
> + { "i386/i386-avx-avx512-linux.xml", X86_XSTATE_AVX_AVX512_MASK },
> + { "i386/i386-avx-mpx-avx512-pku-linux.xml",
> + X86_XSTATE_AVX_MPX_AVX512_PKU_MASK },
About these xml files. Is your idea that:
#1 - we remove these xml description files at some point, keeping only
the description fragments which are currently xi:included by the xml
files above?
#2 - or, we'll still continue adding new xml files and grow this
list here?
#3 - or, we'll keep the existing xml files as representative / legacy,
and use them in the unit tests going forward, just to make sure
the machinery builds correct descriptions?
(I don't expect to answer to be #2, I just put it there for completeness.)
> + };
> +
> + for (auto &a : array)
> + {
> + auto tdesc = i386_linux_read_description (a.mask);
> +
> + selftests::record_xml_tdesc (a.xml_file_name, tdesc);
> + }
> +#endif /* GDB_SELF_TEST */
> }
>
Thanks,
Pedro Alves