This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Recent change to display_arc_attribute
- From: Claudiu Zissulescu <claziss at gmail dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: "claziss at gmail dot com" <claziss at synopsys dot com>, Binutils <binutils at sourceware dot org>
- Date: Mon, 15 May 2017 18:36:36 +0200
- Subject: Re: Recent change to display_arc_attribute
- Authentication-results: sourceware.org; auth=none
- References: <0789abe0-6133-c080-1b68-a01c161f89fa@redhat.com>
Hi Jeff,
It looks alright from my side. Sorry for this overlooking. I'm also
preparing a patch to add the fall through comments.
Thank you,
Claudiu
On Mon, May 15, 2017 at 4:53 PM, Jeff Law <law@redhat.com> wrote:
>
> Recent changes to display_arc_attribute are causing significant failures to
> build with modern compilers due to introduction of a switch case fallthru.
>
> The code in question:
>
> case Tag_ARC_CPU_variation:
> val = read_uleb128 (p, &len, end);
> p += len;
> printf (" Tag_ARC_CPU_variation: ");
> switch (val)
> {
> default:
> if (val > 0 && val < 16)
> {
> printf ("Core%d\n", val);
> break;
> }
> case 0:
> printf (_("Absent\n"));
> break;
> }
> break;
>
> Note the fallthru from the default to case 0.
>
>
> I'm not at all familiar with the ARC port and what we want to do here. But
> the attached seems fairly benign in that if someone added an out of range
> variation we'd flag it as "Unknown" rather than "Absent".
>
> Thoughts?
>
> Jeff
>
> diff --git a/binutils/readelf.c b/binutils/readelf.c
> index 16eb866..39bc88f 100644
> --- a/binutils/readelf.c
> +++ b/binutils/readelf.c
> @@ -13586,10 +13586,11 @@ display_arc_attribute (unsigned char * p,
> {
> default:
> if (val > 0 && val < 16)
> - {
> printf ("Core%d\n", val);
> - break;
> - }
> + else
> + printf ("Unknown\n");
> + break;
> +
> case 0:
> printf (_("Absent\n"));
> break;
>