Re: [PATCH 3/6] : Update dat files with arch and osabi

Alan Hayward
2018-01-22T13:22:15Z

> On 19 Jan 2018, at 22:01, Yao Qi <qiyaoltc@gmail.com> wrote:
>
> On Tue, Jan 16, 2018 at 9:52 AM, Alan Hayward <Alan.Hayward@arm.com> wrote:
>> This patch simply ensures the osabi and arch fields exist in the dat
>> files. Otherwise, they will be missing in later patches when gdbserver
>> converts target descriptions to xml.
>
> I don't think we need to change *.dat. *.dat are used to generate *.c files
> in gdbserver build directory for the following two reasons,
>
> - the port isn't converted to new style flexible target descriptions yet,
> - or the generated *.c files are used for test,
>
> The goal of this series, IMO, is to get rid of the xml features for the ports
> which already use new style flexible target descriptions, like x86
> and aarch64.
>
> For the old style target description, they still use xml files for each
> description, and osabi/arch is written in these xml files.
>

If you remove this patch, but keep all the rest of the series, then the ports
using the new style target descriptions will segfault when printing the xml
in print_xml_feature::visit_pre() because the -generated.c files do not
contain an arch or osabi.

The segfault happens on gdbserver init because the -generated.c functions
are calling tdesc_get_features_xml().
Thinking about it, I will remove this call from -generated.
That fixes the bug.

This leaves a question:
Is it required that the generated target descriptions have the osabi and arch?
If it does not need this information, then I will delete this patch.

Alan.