Recent change to display_arc_attribute
Jeff Law
law@redhat.com
Mon May 15 14:53:00 GMT 2017
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
-------------- next part --------------
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;
More information about the Binutils
mailing list