Allow osabi to be optional in target descriptors
Commit Message
> On 16 Nov 2017, at 09:17, Yao Qi <qiyaoltc@gmail.com> wrote:
>
> Alan Hayward <Alan.Hayward@arm.com> writes:
>
> Patch is good to me, some nits on commit log and code,
>
>> Osabi is an option field in target descriptors, according to:
>
> s/target descriptors/target descriptions/
>
>> https://sourceware.org/gdb/current/onlinedocs/gdb/Target-Description-Format.html
>>
>> However, removing the osabi field from the i386 and amd64 target descriptors
>
> Likewise.
>
>>
>> The following patch fixes this error.
>>
>> Tested with gdbserver on x86 and also on aarch64 with my target descriptor patch.
>
> Likewise.
>
>> @@ -105,9 +104,12 @@ tdesc_get_features_xml (target_desc *tdesc)
>> buffer += tdesc->arch;
>> buffer += "</architecture>";
>>
>> - buffer += "<osabi>";
>> - buffer += tdesc->osabi;
>> - buffer += "</osabi>";
>> + if (tdesc->osabi != NULL)
>
> As we are in C++, I prefer nullptr.
>
> s/NULL/nullptr/
>
Thanks.
Pushed with changes as above.
@@ -92,8 +92,7 @@ tdesc_get_features_xml (target_desc *tdesc)
/* Either .xmltarget or .features is not NULL. */
gdb_assert (tdesc->xmltarget != NULL
|| (tdesc->features != NULL
- && tdesc->arch != NULL
- && tdesc->osabi != NULL));
+ && tdesc->arch != NULL));
if (tdesc->xmltarget == NULL)
{
@@ -105,9 +104,12 @@ tdesc_get_features_xml (target_desc *tdesc)
buffer += tdesc->arch;
buffer += "</architecture>";
- buffer += "<osabi>";
- buffer += tdesc->osabi;
- buffer += "</osabi>";
+ if (tdesc->osabi != nullptr)
+ {
+ buffer += "<osabi>";
+ buffer += tdesc->osabi;
+ buffer += "</osabi>";
+ }
char *xml;