Fix a translation problem for the text generated by readelf at the start of a dump of a dynamic section.

PR 28072
binutils * readelf.c (process_dynamic_section): Use ngettext to help with translation of header text.
This commit is contained in:
Nick Clifton
2021-07-12 14:14:33 +01:00
parent c33be6de41
commit f253158faf

View File

@ -10943,28 +10943,19 @@ the .dynstr section doesn't match the DT_STRTAB and DT_STRSZ tags\n"));
if (do_dynamic && filedata->dynamic_addr) if (do_dynamic && filedata->dynamic_addr)
{ {
if (filedata->dynamic_nent == 1) if (filedata->is_separate)
{ printf (ngettext ("\nIn linked file '%s' the dynamic section at offset 0x%lx contains %lu entry:\n",
if (filedata->is_separate) "\nIn linked file '%s' the dynamic section at offset 0x%lx contains %lu entries:\n",
printf (_("\nIn linked file '%s' the dynamic section at offset 0x%lx contains 1 entry:\n"), (unsigned long) filedata->dynamic_nent),
filedata->file_name, filedata->file_name,
filedata->dynamic_addr); filedata->dynamic_addr,
(unsigned long) filedata->dynamic_nent);
else else
printf (_("\nDynamic section at offset 0x%lx contains 1 entry:\n"), printf (ngettext ("\nDynamic section at offset 0x%lx contains %lu entry:\n",
filedata->dynamic_addr); "\nDynamic section at offset 0x%lx contains %lu entries:\n",
} (unsigned long) filedata->dynamic_nent),
else
{
if (filedata->is_separate)
printf (_("\nIn linked file '%s' the dynamic section at offset 0x%lx contains %lu entries:\n"),
filedata->file_name,
filedata->dynamic_addr, filedata->dynamic_addr,
(unsigned long) filedata->dynamic_nent); (unsigned long) filedata->dynamic_nent);
else
printf (_("\nDynamic section at offset 0x%lx contains %lu entries:\n"),
filedata->dynamic_addr,
(unsigned long) filedata->dynamic_nent);
}
} }
if (do_dynamic) if (do_dynamic)
printf (_(" Tag Type Name/Value\n")); printf (_(" Tag Type Name/Value\n"));
@ -17295,24 +17286,27 @@ display_csky_attribute (unsigned char * p,
break; break;
case Tag_CSKY_FPU_ROUNDING: case Tag_CSKY_FPU_ROUNDING:
READ_ULEB (val, p, end); READ_ULEB (val, p, end);
if (val == 1) { if (val == 1)
printf (" Tag_CSKY_FPU_ROUNDING:\t"); {
printf ("Needed\n"); printf (" Tag_CSKY_FPU_ROUNDING:\t");
} printf ("Needed\n");
}
break; break;
case Tag_CSKY_FPU_DENORMAL: case Tag_CSKY_FPU_DENORMAL:
READ_ULEB (val, p, end); READ_ULEB (val, p, end);
if (val == 1) { if (val == 1)
printf (" Tag_CSKY_FPU_DENORMAL:\t"); {
printf ("Needed\n"); printf (" Tag_CSKY_FPU_DENORMAL:\t");
} printf ("Needed\n");
}
break; break;
case Tag_CSKY_FPU_Exception: case Tag_CSKY_FPU_Exception:
READ_ULEB (val, p, end); READ_ULEB (val, p, end);
if (val == 1) { if (val == 1)
printf (" Tag_CSKY_FPU_Exception:\t"); {
printf ("Needed\n"); printf (" Tag_CSKY_FPU_Exception:\t");
} printf ("Needed\n");
}
break; break;
case Tag_CSKY_FPU_NUMBER_MODULE: case Tag_CSKY_FPU_NUMBER_MODULE:
printf (" Tag_CSKY_FPU_NUMBER_MODULE:\t"); printf (" Tag_CSKY_FPU_NUMBER_MODULE:\t");