This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH users/roland/osabi-assert] Do not crash on unrecognized GNU .note.ABI-tag values
- From: Pedro Alves <palves at redhat dot com>
- To: Roland McGrath <mcgrathr at google dot com>, GDB <gdb-patches at sourceware dot org>
- Date: Fri, 29 May 2015 11:07:43 +0100
- Subject: Re: [PATCH users/roland/osabi-assert] Do not crash on unrecognized GNU .note.ABI-tag values
- Authentication-results: sourceware.org; auth=none
- References: <CAB=4xhoR0=ZaDot6rEaVhhEAxYeoBjP89AHhxgD52ANKKrDYJg at mail dot gmail dot com>
On 05/29/2015 01:21 AM, Roland McGrath wrote:
> Diagnosis of unexpected input (in this case, in an executable file)
> should not crash as if it were a bug in GDB.
Indeed.
> This one is especially
> harmless, since the "osabi" has so little effect on anything.
It's used to pick the right gdbarch for the inferior.
>
> OK for trunk and 7.9 branch?
In order to get this into a release branch, the protocol is to file
a PR and then once fixed, list the fix in the release page in the wiki:
https://sourceware.org/gdb/wiki/GDB_7.9_Release
That helps the release manager build the release notes.
> gdb/
> 2015-05-28 Roland McGrath <mcgrathr@google.com>
>
> * osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Use warning
> rather than internal_error for an unrecognized value.
>
> diff --git a/gdb/osabi.c b/gdb/osabi.c
> index 9d90c55..abf4bd4 100644
> --- a/gdb/osabi.c
> +++ b/gdb/osabi.c
> @@ -493,10 +493,9 @@ generic_elf_osabi_sniff_abi_tag_sections (bfd
> *abfd, asection *sect, void *obj)
> break;
>
> default:
> - internal_error (__FILE__, __LINE__,
> - _("generic_elf_osabi_sniff_abi_tag_sections: "
> - "unknown OS number %d"),
> - abi_tag);
> + warning ("GNU ABI tag value %u unrecognized.\n", abi_tag);
Wrap string in _().
Indentation looks odd. tabs vs spaces? (We use tabs in gdb.)
> + *osabi = GDB_OSABI_UNKNOWN;
This line is not necessary. It if were, we'd need to do the
same in the other two paths that don't match anything in
this function too.
OK with those fixed.
> + break;
> }
> return;
> }
Thanks,
Pedro Alves