Hi Frédéric,
Several untranlated strings exist in binutils 2.20 in function
process_mips_specific of readelf.c.
Actually there seems to be a lot of places in the binutils code that
need translation macros added. I am going to check in the attached
patch in order to address this problem.
Cheers
Nick
binutils/ChangeLog
2010-04-20 Nick Clifton <[email protected]>
* readelf.c: Add _() macros to constant strings that are
translatable.
Index: binutils/readelf.c
===================================================================
RCS file: /cvs/src/src/binutils/readelf.c,v
retrieving revision 1.493
diff -c -3 -p -r1.493 readelf.c
*** binutils/readelf.c 15 Apr 2010 10:56:36 -0000 1.493
--- binutils/readelf.c 20 Apr 2010 07:11:11 -0000
*************** static void (* byte_put) (unsigned char
*** 263,272 ****
#define UNKNOWN -1
! #define SECTION_NAME(X) \
! ((X) == NULL ? "<none>" \
! : string_table == NULL ? "<no-name>" \
! : ((X)->sh_name >= string_table_length ? "<corrupt>" \
: string_table + (X)->sh_name))
#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag)) /* Reverse order! */
--- 263,272 ----
#define UNKNOWN -1
! #define SECTION_NAME(X) \
! ((X) == NULL ? _("<none>") \
! : string_table == NULL ? _("<no-name>") \
! : ((X)->sh_name >= string_table_length ? _("<corrupt>") \
: string_table + (X)->sh_name))
#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag)) /* Reverse order! */
*************** dump_relocations (FILE * file,
*** 1302,1308 ****
else if (symtab_index)
{
if (symtab == NULL || symtab_index >= nsyms)
! printf (" bad symbol index: %08lx", (unsigned long) symtab_index);
else
{
Elf_Internal_Sym * psym;
--- 1302,1308 ----
else if (symtab_index)
{
if (symtab == NULL || symtab_index >= nsyms)
! printf (_(" bad symbol index: %08lx"), (unsigned long) symtab_index);
else
{
Elf_Internal_Sym * psym;
*************** decode_ARM_machine_flags (unsigned e_fla
*** 2200,2206 ****
}
if (unknown)
! strcat (buf,", <unknown>");
}
static char *
--- 2200,2206 ----
}
if (unknown)
! strcat (buf,_(", <unknown>"));
}
static char *
*************** get_machine_flags (unsigned e_flags, uns
*** 2326,2335 ****
strcat (buf, ", emb");
if (e_flags & EF_PPC_RELOCATABLE)
! strcat (buf, ", relocatable");
if (e_flags & EF_PPC_RELOCATABLE_LIB)
! strcat (buf, ", relocatable-lib");
break;
case EM_V850:
--- 2326,2335 ----
strcat (buf, ", emb");
if (e_flags & EF_PPC_RELOCATABLE)
! strcat (buf, _(", relocatable"));
if (e_flags & EF_PPC_RELOCATABLE_LIB)
! strcat (buf, _(", relocatable-lib"));
break;
case EM_V850:
*************** get_machine_flags (unsigned e_flags, uns
*** 2346,2352 ****
strcat (buf, ", v850");
break;
default:
! strcat (buf, ", unknown v850 architecture variant");
break;
}
break;
--- 2346,2352 ----
strcat (buf, ", v850");
break;
default:
! strcat (buf, _(", unknown v850 architecture variant"));
break;
}
break;
*************** get_machine_flags (unsigned e_flags, uns
*** 2402,2408 ****
MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
extension. */
break;
! default: strcat (buf, ", unknown CPU"); break;
}
switch ((e_flags & EF_MIPS_ABI))
--- 2402,2408 ----
MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
extension. */
break;
! default: strcat (buf, _(", unknown CPU")); break;
}
switch ((e_flags & EF_MIPS_ABI))
*************** get_machine_flags (unsigned e_flags, uns
*** 2417,2423 ****
This means it is likely to be an o32 file, but not for
sure. */
break;
! default: strcat (buf, ", unknown ABI"); break;
}
if (e_flags & EF_MIPS_ARCH_ASE_MDMX)
--- 2417,2423 ----
This means it is likely to be an o32 file, but not for
sure. */
break;
! default: strcat (buf, _(", unknown ABI")); break;
}
if (e_flags & EF_MIPS_ARCH_ASE_MDMX)
*************** get_machine_flags (unsigned e_flags, uns
*** 2437,2443 ****
case E_MIPS_ARCH_32R2: strcat (buf, ", mips32r2"); break;
case E_MIPS_ARCH_64: strcat (buf, ", mips64"); break;
case E_MIPS_ARCH_64R2: strcat (buf, ", mips64r2"); break;
! default: strcat (buf, ", unknown ISA"); break;
}
break;
--- 2437,2443 ----
case E_MIPS_ARCH_32R2: strcat (buf, ", mips32r2"); break;
case E_MIPS_ARCH_64: strcat (buf, ", mips64"); break;
case E_MIPS_ARCH_64R2: strcat (buf, ", mips64r2"); break;
! default: strcat (buf, _(", unknown ISA")); break;
}
break;
*************** get_machine_flags (unsigned e_flags, uns
*** 2466,2472 ****
case EF_SH2A_SH3_NOFPU: strcat (buf, ", sh2a-nofpu-or-sh3-nommu"); break;
case EF_SH2A_SH4: strcat (buf, ", sh2a-or-sh4"); break;
case EF_SH2A_SH3E: strcat (buf, ", sh2a-or-sh3e"); break;
! default: strcat (buf, ", unknown ISA"); break;
}
break;
--- 2466,2472 ----
case EF_SH2A_SH3_NOFPU: strcat (buf, ", sh2a-nofpu-or-sh3-nommu"); break;
case EF_SH2A_SH4: strcat (buf, ", sh2a-or-sh4"); break;
case EF_SH2A_SH3E: strcat (buf, ", sh2a-or-sh3e"); break;
! default: strcat (buf, _(", unknown ISA")); break;
}
break;
*************** process_file_header (void)
*** 3455,3461 ****
(elf_header.e_ident[EI_VERSION] == EV_CURRENT
? "(current)"
: (elf_header.e_ident[EI_VERSION] != EV_NONE
! ? "<unknown: %lx>"
: "")));
printf (_(" OS/ABI: %s\n"),
get_osabi_name (elf_header.e_ident[EI_OSABI]));
--- 3455,3461 ----
(elf_header.e_ident[EI_VERSION] == EV_CURRENT
? "(current)"
: (elf_header.e_ident[EI_VERSION] != EV_NONE
! ? _("<unknown: %lx>")
: "")));
printf (_(" OS/ABI: %s\n"),
get_osabi_name (elf_header.e_ident[EI_OSABI]));
*************** process_file_header (void)
*** 3504,3510 ****
printf (" (%u)", section_headers[0].sh_link);
else if (elf_header.e_shstrndx != SHN_UNDEF
&& elf_header.e_shstrndx >= elf_header.e_shnum)
! printf (" <corrupt: out of range>");
putc ('\n', stdout);
}
--- 3504,3510 ----
printf (" (%u)", section_headers[0].sh_link);
else if (elf_header.e_shstrndx != SHN_UNDEF
&& elf_header.e_shstrndx >= elf_header.e_shnum)
! printf (_(" <corrupt: out of range>"));
putc ('\n', stdout);
}
*************** get_elf_section_flags (bfd_vma sh_flags)
*** 4328,4334 ****
*p++ = ',';
*p++ = ' ';
}
! sprintf (p, "UNKNOWN (%*.*lx)", field_size, field_size,
(unsigned long) unknown_flags);
p += 10 + field_size;
}
--- 4328,4334 ----
*p++ = ',';
*p++ = ' ';
}
! sprintf (p, _("UNKNOWN (%*.*lx)"), field_size, field_size,
(unsigned long) unknown_flags);
p += 10 + field_size;
}
*************** process_section_groups (FILE * file)
*** 4925,4931 ****
strtab_size = strtab != NULL ? strtab_sec->sh_size : 0;
}
group_name = sym->st_name < strtab_size
! ? strtab + sym->st_name : "<corrupt>";
}
start = (unsigned char *) get_data (NULL, file, section->sh_offset,
--- 4925,4931 ----
strtab_size = strtab != NULL ? strtab_sec->sh_size : 0;
}
group_name = sym->st_name < strtab_size
! ? strtab + sym->st_name : _("<corrupt>");
}
start = (unsigned char *) get_data (NULL, file, section->sh_offset,
*************** process_section_groups (FILE * file)
*** 4939,4945 ****
if (do_section_groups)
{
! printf ("\n%sgroup section [%5u] `%s' [%s] contains %u sections:\n",
get_group_flags (entry), i, name, group_name, size);
printf (_(" [Index] Name\n"));
--- 4939,4945 ----
if (do_section_groups)
{
! printf (_("\n%sgroup section [%5u] `%s' [%s] contains %u sections:\n"),
get_group_flags (entry), i, name, group_name, size);
printf (_(" [Index] Name\n"));
*************** find_symbol_for_address (Elf_Internal_Sy
*** 5251,5257 ****
if (best)
{
*symname = (best->st_name >= strtab_size
! ? "<corrupt>" : strtab + best->st_name);
*offset = dist;
return;
}
--- 5251,5257 ----
if (best)
{
*symname = (best->st_name >= strtab_size
! ? _("<corrupt>") : strtab + best->st_name);
*offset = dist;
return;
}
*************** dump_ia64_unwind (struct ia64_unw_aux_in
*** 5305,5311 ****
if (UNW_VER (stamp) != 1)
{
! printf ("\tUnknown version.\n");
continue;
}
--- 5305,5311 ----
if (UNW_VER (stamp) != 1)
{
! printf (_("\tUnknown version.\n"));
continue;
}
*************** decode_arm_unwind (struct arm_unw_aux_in
*** 6120,6126 ****
} \
else \
{ \
! printf ("[Truncated opcode]\n"); \
return; \
} \
printf (_("0x%02x "), OP)
--- 6120,6126 ----
} \
else \
{ \
! printf (_("[Truncated opcode]\n")); \
return; \
} \
printf (_("0x%02x "), OP)
*************** decode_arm_unwind (struct arm_unw_aux_in
*** 6232,6237 ****
--- 6232,6238 ----
unsigned int mask = ((op & 0x0f) << 8) | op2;
int first = 1;
int i;
+
printf ("pop {");
for (i = 0; i < 12; i++)
if (mask & (1 << i))
*************** dynamic_section_mips_val (Elf_Internal_D
*** 6513,6519 ****
{
case DT_MIPS_FLAGS:
if (entry->d_un.d_val == 0)
! printf ("NONE\n");
else
{
static const char * opts[] =
--- 6514,6520 ----
{
case DT_MIPS_FLAGS:
if (entry->d_un.d_val == 0)
! printf (_("NONE\n"));
else
{
static const char * opts[] =
*************** dynamic_section_mips_val (Elf_Internal_D
*** 6526,6531 ****
--- 6527,6533 ----
};
unsigned int cnt;
int first = 1;
+
for (cnt = 0; cnt < ARRAY_SIZE (opts); ++cnt)
if (entry->d_un.d_val & (1 << cnt))
{
*************** dynamic_section_mips_val (Elf_Internal_D
*** 6538,6546 ****
case DT_MIPS_IVERSION:
if (VALID_DYNAMIC_NAME (entry->d_un.d_val))
! printf ("Interface Version: %s\n", GET_DYNAMIC_NAME (entry->d_un.d_val));
else
! printf ("<corrupt: %ld>\n", (long) entry->d_un.d_ptr);
break;
case DT_MIPS_TIME_STAMP:
--- 6540,6548 ----
case DT_MIPS_IVERSION:
if (VALID_DYNAMIC_NAME (entry->d_un.d_val))
! printf (_("Interface Version: %s\n"), GET_DYNAMIC_NAME (entry->d_un.d_val));
else
! printf (_("<corrupt: %ld>\n"), (long) entry->d_un.d_ptr);
break;
case DT_MIPS_TIME_STAMP:
*************** dynamic_section_mips_val (Elf_Internal_D
*** 6553,6559 ****
snprintf (timebuf, sizeof (timebuf), "%04u-%02u-%02uT%02u:%02u:%02u",
tmp->tm_year + 1900, tmp->tm_mon + 1, tmp->tm_mday,
tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
! printf ("Time Stamp: %s\n", timebuf);
}
break;
--- 6555,6561 ----
snprintf (timebuf, sizeof (timebuf), "%04u-%02u-%02uT%02u:%02u:%02u",
tmp->tm_year + 1900, tmp->tm_mon + 1, tmp->tm_mday,
tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
! printf (_("Time Stamp: %s\n"), timebuf);
}
break;
*************** dynamic_section_mips_val (Elf_Internal_D
*** 6578,6584 ****
}
}
-
static void
dynamic_section_parisc_val (Elf_Internal_Dyn * entry)
{
--- 6580,6585 ----
*************** print_dynamic_flags (bfd_vma flags)
*** 6776,6782 ****
case DF_TEXTREL: fputs ("TEXTREL", stdout); break;
case DF_BIND_NOW: fputs ("BIND_NOW", stdout); break;
case DF_STATIC_TLS: fputs ("STATIC_TLS", stdout); break;
! default: fputs ("unknown", stdout); break;
}
}
puts ("");
--- 6777,6783 ----
case DF_TEXTREL: fputs ("TEXTREL", stdout); break;
case DF_BIND_NOW: fputs ("BIND_NOW", stdout); break;
case DF_STATIC_TLS: fputs ("STATIC_TLS", stdout); break;
! default: fputs (_("unknown"), stdout); break;
}
}
puts ("");
*************** process_dynamic_section (FILE * file)
*** 7253,7259 ****
if (do_dynamic)
{
print_vma (entry->d_un.d_val, UNSIGNED);
! printf (" (bytes)\n");
}
break;
--- 7254,7260 ----
if (do_dynamic)
{
print_vma (entry->d_un.d_val, UNSIGNED);
! printf (_(" (bytes)\n"));
}
break;
*************** get_ver_flags (unsigned int flags)
*** 7383,7389 ****
}
if (flags & ~(VER_FLG_BASE | VER_FLG_WEAK | VER_FLG_INFO))
! strcat (buff, "| <unknown>");
return buff;
}
--- 7384,7390 ----
}
if (flags & ~(VER_FLG_BASE | VER_FLG_WEAK | VER_FLG_INFO))
! strcat (buff, _("| <unknown>"));
return buff;
}
*************** process_version_sections (FILE * file)
*** 7425,7431 ****
(unsigned long) section->sh_offset, section->sh_link,
section->sh_link < elf_header.e_shnum
? SECTION_NAME (section_headers + section->sh_link)
! : "<corrupt>");
edefs = (Elf_External_Verdef *)
get_data (NULL, file, section->sh_offset, 1,section->sh_size,
--- 7426,7432 ----
(unsigned long) section->sh_offset, section->sh_link,
section->sh_link < elf_header.e_shnum
? SECTION_NAME (section_headers + section->sh_link)
! : _("<corrupt>"));
edefs = (Elf_External_Verdef *)
get_data (NULL, file, section->sh_offset, 1,section->sh_size,
*************** process_version_sections (FILE * file)
*** 7527,7533 ****
(unsigned long) section->sh_offset, section->sh_link,
section->sh_link < elf_header.e_shnum
? SECTION_NAME (section_headers + section->sh_link)
! : "<corrupt>");
eneed = (Elf_External_Verneed *) get_data (NULL, file,
section->sh_offset, 1,
--- 7528,7534 ----
(unsigned long) section->sh_offset, section->sh_link,
section->sh_link < elf_header.e_shnum
? SECTION_NAME (section_headers + section->sh_link)
! : _("<corrupt>"));
eneed = (Elf_External_Verneed *) get_data (NULL, file,
section->sh_offset, 1,
*************** print_dynamic_symbol (bfd_vma si, unsign
*** 8075,8081 ****
if (VALID_DYNAMIC_NAME (psym->st_name))
print_symbol (25, GET_DYNAMIC_NAME (psym->st_name));
else
! printf (" <corrupt: %14ld>", psym->st_name);
putchar ('\n');
}
--- 8076,8082 ----
if (VALID_DYNAMIC_NAME (psym->st_name))
print_symbol (25, GET_DYNAMIC_NAME (psym->st_name));
else
! printf (_(" <corrupt: %14ld>"), psym->st_name);
putchar ('\n');
}
*************** process_symbol_table (FILE * file)
*** 8382,8388 ****
printf (" [%s] ", get_symbol_other (psym->st_other ^ ELF_ST_VISIBILITY (psym->st_other)));
printf (" %4s ", get_symbol_index_type (psym->st_shndx));
print_symbol (25, psym->st_name < strtab_size
! ? strtab + psym->st_name : "<corrupt>");
if (section->sh_type == SHT_DYNSYM &&
version_info[DT_VERSIONTAGIDX (DT_VERSYM)] != 0)
--- 8383,8389 ----
printf (" [%s] ", get_symbol_other (psym->st_other ^ ELF_ST_VISIBILITY (psym->st_other)));
printf (" %4s ", get_symbol_index_type (psym->st_shndx));
print_symbol (25, psym->st_name < strtab_size
! ? strtab + psym->st_name : _("<corrupt>"));
if (section->sh_type == SHT_DYNSYM &&
version_info[DT_VERSIONTAGIDX (DT_VERSYM)] != 0)
*************** process_symbol_table (FILE * file)
*** 8462,8468 ****
{
printf ("@%s (%d)",
ivna.vna_name < strtab_size
! ? strtab + ivna.vna_name : "<corrupt>",
ivna.vna_other);
check_def = 0;
}
--- 8463,8469 ----
{
printf ("@%s (%d)",
ivna.vna_name < strtab_size
! ? strtab + ivna.vna_name : _("<corrupt>"),
ivna.vna_other);
check_def = 0;
}
*************** process_symbol_table (FILE * file)
*** 8515,8521 ****
printf ((vers_data & VERSYM_HIDDEN)
? "@%s" : "@@%s",
ivda.vda_name < strtab_size
! ? strtab + ivda.vda_name : "<corrupt>");
}
}
}
--- 8516,8522 ----
printf ((vers_data & VERSYM_HIDDEN)
? "@%s" : "@@%s",
ivda.vda_name < strtab_size
! ? strtab + ivda.vda_name : _("<corrupt>"));
}
}
}
*************** process_syminfo (FILE * file ATTRIBUTE_U
*** 8691,8697 ****
if (VALID_DYNAMIC_NAME (dynamic_symbols[i].st_name))
print_symbol (30, GET_DYNAMIC_NAME (dynamic_symbols[i].st_name));
else
! printf ("<corrupt: %19ld>", dynamic_symbols[i].st_name);
putchar (' ');
switch (dynamic_syminfo[i].si_boundto)
--- 8692,8698 ----
if (VALID_DYNAMIC_NAME (dynamic_symbols[i].st_name))
print_symbol (30, GET_DYNAMIC_NAME (dynamic_symbols[i].st_name));
else
! printf (_("<corrupt: %19ld>"), dynamic_symbols[i].st_name);
putchar (' ');
switch (dynamic_syminfo[i].si_boundto)
*************** display_arm_attribute (unsigned char * p
*** 9939,9949 ****
p += len;
switch (val)
{
! case 0: printf ("None\n"); break;
! case 'A': printf ("Application\n"); break;
! case 'R': printf ("Realtime\n"); break;
! case 'M': printf ("Microcontroller\n"); break;
! case 'S': printf ("Application or Realtime\n"); break;
default: printf ("??? (%d)\n", val); break;
}
break;
--- 9940,9950 ----
p += len;
switch (val)
{
! case 0: printf (_("None\n")); break;
! case 'A': printf (_("Application\n")); break;
! case 'R': printf (_("Realtime\n")); break;
! case 'M': printf (_("Microcontroller\n")); break;
! case 'S': printf (_("Application or Realtime\n")); break;
default: printf ("??? (%d)\n", val); break;
}
break;
*************** display_arm_attribute (unsigned char * p
*** 9953,9965 ****
p += len;
switch (val)
{
! case 0: printf ("None\n"); break;
! case 1: printf ("8-byte\n"); break;
! case 2: printf ("4-byte\n"); break;
case 3: printf ("??? 3\n"); break;
default:
if (val <= 12)
! printf ("8-byte and up to %d-byte extended\n",
1 << val);
else
printf ("??? (%d)\n", val);
--- 9954,9966 ----
p += len;
switch (val)
{
! case 0: printf (_("None\n")); break;
! case 1: printf (_("8-byte\n")); break;
! case 2: printf (_("4-byte\n")); break;
case 3: printf ("??? 3\n"); break;
default:
if (val <= 12)
! printf (_("8-byte and up to %d-byte extended\n"),
1 << val);
else
printf ("??? (%d)\n", val);
*************** display_arm_attribute (unsigned char * p
*** 9972,9984 ****
p += len;
switch (val)
{
! case 0: printf ("None\n"); break;
! case 1: printf ("8-byte, except leaf SP\n"); break;
! case 2: printf ("8-byte\n"); break;
case 3: printf ("??? 3\n"); break;
default:
if (val <= 12)
! printf ("8-byte and up to %d-byte extended\n",
1 << val);
else
printf ("??? (%d)\n", val);
--- 9973,9985 ----
p += len;
switch (val)
{
! case 0: printf (_("None\n")); break;
! case 1: printf (_("8-byte, except leaf SP\n")); break;
! case 2: printf (_("8-byte\n")); break;
case 3: printf ("??? 3\n"); break;
default:
if (val <= 12)
! printf (_("8-byte and up to %d-byte extended\n"),
1 << val);
else
printf ("??? (%d)\n", val);
*************** display_arm_attribute (unsigned char * p
*** 9989,10001 ****
case 32: /* Tag_compatibility. */
val = read_uleb128 (p, &len);
p += len;
! printf ("flag = %d, vendor = %s\n", val, p);
p += strlen ((char *) p) + 1;
break;
case 64: /* Tag_nodefaults. */
p++;
! printf ("True\n");
break;
case 65: /* Tag_also_compatible_with. */
--- 9990,10002 ----
case 32: /* Tag_compatibility. */
val = read_uleb128 (p, &len);
p += len;
! printf (_("flag = %d, vendor = %s\n"), val, p);
p += strlen ((char *) p) + 1;
break;
case 64: /* Tag_nodefaults. */
p++;
! printf (_("True\n"));
break;
case 65: /* Tag_also_compatible_with. */
*************** display_gnu_attribute (unsigned char * p
*** 10079,10085 ****
{
val = read_uleb128 (p, &len);
p += len;
! printf ("flag = %d, vendor = %s\n", val, p);
p += strlen ((char *) p) + 1;
return p;
}
--- 10080,10086 ----
{
val = read_uleb128 (p, &len);
p += len;
! printf (_("flag = %d, vendor = %s\n"), val, p);
p += strlen ((char *) p) + 1;
return p;
}
*************** display_power_gnu_attribute (unsigned ch
*** 10124,10139 ****
switch (val)
{
case 0:
! printf ("Hard or soft float\n");
break;
case 1:
! printf ("Hard float\n");
break;
case 2:
! printf ("Soft float\n");
break;
case 3:
! printf ("Single-precision hard float\n");
break;
default:
printf ("??? (%d)\n", val);
--- 10125,10140 ----
switch (val)
{
case 0:
! printf (_("Hard or soft float\n"));
break;
case 1:
! printf (_("Hard float\n"));
break;
case 2:
! printf (_("Soft float\n"));
break;
case 3:
! printf (_("Single-precision hard float\n"));
break;
default:
printf ("??? (%d)\n", val);
*************** display_power_gnu_attribute (unsigned ch
*** 10150,10159 ****
switch (val)
{
case 0:
! printf ("Any\n");
break;
case 1:
! printf ("Generic\n");
break;
case 2:
printf ("AltiVec\n");
--- 10151,10160 ----
switch (val)
{
case 0:
! printf (_("Any\n"));
break;
case 1:
! printf (_("Generic\n"));
break;
case 2:
printf ("AltiVec\n");
*************** display_power_gnu_attribute (unsigned ch
*** 10176,10188 ****
switch (val)
{
case 0:
! printf ("Any\n");
break;
case 1:
printf ("r3/r4\n");
break;
case 2:
! printf ("Memory\n");
break;
default:
printf ("??? (%d)\n", val);
--- 10177,10189 ----
switch (val)
{
case 0:
! printf (_("Any\n"));
break;
case 1:
printf ("r3/r4\n");
break;
case 2:
! printf (_("Memory\n"));
break;
default:
printf ("??? (%d)\n", val);
*************** display_mips_gnu_attribute (unsigned cha
*** 10228,10246 ****
switch (val)
{
case 0:
! printf ("Hard or soft float\n");
break;
case 1:
! printf ("Hard float (-mdouble-float)\n");
break;
case 2:
! printf ("Hard float (-msingle-float)\n");
break;
case 3:
! printf ("Soft float\n");
break;
case 4:
! printf ("64-bit float (-mips32r2 -mfp64)\n");
break;
default:
printf ("??? (%d)\n", val);
--- 10229,10247 ----
switch (val)
{
case 0:
! printf (_("Hard or soft float\n"));
break;
case 1:
! printf (_("Hard float (double precision)\n"));
break;
case 2:
! printf (_("Hard float (single precision)\n"));
break;
case 3:
! printf (_("Soft float\n"));
break;
case 4:
! printf (_("64-bit float (-mips32r2 -mfp64)\n"));
break;
default:
printf ("??? (%d)\n", val);
*************** process_attributes (FILE * file,
*** 10321,10327 ****
}
len -= section_len;
! printf ("Attribute Section: %s\n", p);
if (public_name && streq ((char *) p, public_name))
public_section = TRUE;
--- 10322,10328 ----
}
len -= section_len;
! printf (_("Attribute Section: %s\n"), p);
if (public_name && streq ((char *) p, public_name))
public_section = TRUE;
*************** process_attributes (FILE * file,
*** 10358,10370 ****
switch (tag)
{
case 1:
! printf ("File Attributes\n");
break;
case 2:
! printf ("Section Attributes:");
goto do_numlist;
case 3:
! printf ("Symbol Attributes:");
do_numlist:
for (;;)
{
--- 10359,10371 ----
switch (tag)
{
case 1:
! printf (_("File Attributes\n"));
break;
case 2:
! printf (_("Section Attributes:"));
goto do_numlist;
case 3:
! printf (_("Symbol Attributes:"));
do_numlist:
for (;;)
{
*************** process_attributes (FILE * file,
*** 10379,10385 ****
printf ("\n");
break;
default:
! printf ("Unknown tag: %d\n", tag);
public_section = FALSE;
break;
}
--- 10380,10386 ----
printf ("\n");
break;
default:
! printf (_("Unknown tag: %d\n"), tag);
public_section = FALSE;
break;
}
*************** process_attributes (FILE * file,
*** 10398,10404 ****
else
{
/* ??? Do something sensible, like dump hex. */
! printf (" Unknown section contexts\n");
p = end;
}
}
--- 10399,10405 ----
else
{
/* ??? Do something sensible, like dump hex. */
! printf (_(" Unknown section contexts\n"));
p = end;
}
}
*************** print_mips_got_entry (unsigned char * da
*** 10442,10448 ****
printf ("%10s", "");
printf (" ");
if (data == NULL)
! printf ("%*s", is_32bit_elf ? 8 : 16, "<unknown>");
else
{
bfd_vma entry;
--- 10443,10449 ----
printf ("%10s", "");
printf (" ");
if (data == NULL)
! printf ("%*s", is_32bit_elf ? 8 : 16, _("<unknown>"));
else
{
bfd_vma entry;
*************** print_mips_pltgot_entry (unsigned char *
*** 10464,10470 ****
print_vma (addr, LONG_HEX);
printf (" ");
if (data == NULL)
! printf ("%*s", is_32bit_elf ? 8 : 16, "<unknown>");
else
{
bfd_vma entry;
--- 10465,10471 ----
print_vma (addr, LONG_HEX);
printf (" ");
if (data == NULL)
! printf ("%*s", is_32bit_elf ? 8 : 16, _("<unknown>"));
else
{
bfd_vma entry;
*************** process_mips_specific (FILE * file)
*** 10562,10570 ****
_("liblist"));
if (elib)
{
! printf ("\nSection '.liblist' contains %lu entries:\n",
(unsigned long) liblistno);
! fputs (" Library Time Stamp Checksum Version Flags\n",
stdout);
for (cnt = 0; cnt < liblistno; ++cnt)
--- 10563,10571 ----
_("liblist"));
if (elib)
{
! printf (_("\nSection '.liblist' contains %lu entries:\n"),
(unsigned long) liblistno);
! fputs (_(" Library Time Stamp Checksum Version Flags\n"),
stdout);
for (cnt = 0; cnt < liblistno; ++cnt)
*************** process_mips_specific (FILE * file)
*** 10590,10601 ****
if (VALID_DYNAMIC_NAME (liblist.l_name))
print_symbol (20, GET_DYNAMIC_NAME (liblist.l_name));
else
! printf ("<corrupt: %9ld>", liblist.l_name);
printf (" %s %#10lx %-7ld", timebuf, liblist.l_checksum,
liblist.l_version);
if (liblist.l_flags == 0)
! puts (" NONE");
else
{
static const struct
--- 10591,10602 ----
if (VALID_DYNAMIC_NAME (liblist.l_name))
print_symbol (20, GET_DYNAMIC_NAME (liblist.l_name));
else
! printf (_("<corrupt: %9ld>"), liblist.l_name);
printf (" %s %#10lx %-7ld", timebuf, liblist.l_checksum,
liblist.l_version);
if (liblist.l_flags == 0)
! puts (_(" NONE"));
else
{
static const struct
*************** process_mips_specific (FILE * file)
*** 10894,10900 ****
if (VALID_DYNAMIC_NAME (psym->st_name))
print_symbol (25, GET_DYNAMIC_NAME (psym->st_name));
else
! printf ("<corrupt: %14ld>", psym->st_name);
putchar ('\n');
}
--- 10895,10901 ----
if (VALID_DYNAMIC_NAME (psym->st_name))
print_symbol (25, GET_DYNAMIC_NAME (psym->st_name));
else
! printf (_("<corrupt: %14ld>"), psym->st_name);
putchar ('\n');
}
*************** process_mips_specific (FILE * file)
*** 10923,10938 ****
printf (_(" Reserved entries:\n"));
printf (_(" %*s %10s %*s Purpose\n"),
! addr_size * 2, "Address", "Access",
! addr_size * 2, "Initial");
ent = print_mips_got_entry (data, pltgot, ent);
! printf (" Lazy resolver\n");
if (data
&& (byte_get (data + ent - pltgot, addr_size)
>> (addr_size * 8 - 1)) != 0)
{
ent = print_mips_got_entry (data, pltgot, ent);
! printf (" Module pointer (GNU extension)\n");
}
printf ("\n");
--- 10924,10939 ----
printf (_(" Reserved entries:\n"));
printf (_(" %*s %10s %*s Purpose\n"),
! addr_size * 2, _("Address"), _("Access"),
! addr_size * 2, _("Initial"));
ent = print_mips_got_entry (data, pltgot, ent);
! printf (_(" Lazy resolver\n"));
if (data
&& (byte_get (data + ent - pltgot, addr_size)
>> (addr_size * 8 - 1)) != 0)
{
ent = print_mips_got_entry (data, pltgot, ent);
! printf (_(" Module pointer (GNU extension)\n"));
}
printf ("\n");
*************** process_mips_specific (FILE * file)
*** 10940,10947 ****
{
printf (_(" Local entries:\n"));
printf (_(" %*s %10s %*s\n"),
! addr_size * 2, "Address", "Access",
! addr_size * 2, "Initial");
while (ent < local_end)
{
ent = print_mips_got_entry (data, pltgot, ent);
--- 10941,10948 ----
{
printf (_(" Local entries:\n"));
printf (_(" %*s %10s %*s\n"),
! addr_size * 2, _("Address"), _("Access"),
! addr_size * 2, _("Initial"));
while (ent < local_end)
{
ent = print_mips_got_entry (data, pltgot, ent);
*************** process_mips_specific (FILE * file)
*** 10956,10964 ****
printf (_(" Global entries:\n"));
printf (_(" %*s %10s %*s %*s %-7s %3s %s\n"),
! addr_size * 2, "Address", "Access",
! addr_size * 2, "Initial",
! addr_size * 2, "Sym.Val.", "Type", "Ndx", "Name");
sym_width = (is_32bit_elf ? 80 : 160) - 28 - addr_size * 6 - 1;
for (i = gotsym; i < symtabno; i++)
{
--- 10957,10965 ----
printf (_(" Global entries:\n"));
printf (_(" %*s %10s %*s %*s %-7s %3s %s\n"),
! addr_size * 2, _("Address"), _("Access"),
! addr_size * 2, _("Initial"),
! addr_size * 2, _("Sym.Val."), _("Type"), _("Ndx"), _("Name"));
sym_width = (is_32bit_elf ? 80 : 160) - 28 - addr_size * 6 - 1;
for (i = gotsym; i < symtabno; i++)
{
*************** process_mips_specific (FILE * file)
*** 10974,10980 ****
if (VALID_DYNAMIC_NAME (psym->st_name))
print_symbol (sym_width, GET_DYNAMIC_NAME (psym->st_name));
else
! printf ("<corrupt: %14ld>", psym->st_name);
printf ("\n");
}
printf ("\n");
--- 10975,10981 ----
if (VALID_DYNAMIC_NAME (psym->st_name))
print_symbol (sym_width, GET_DYNAMIC_NAME (psym->st_name));
else
! printf (_("<corrupt: %14ld>"), psym->st_name);
printf ("\n");
}
printf ("\n");
*************** process_mips_specific (FILE * file)
*** 11015,11032 ****
printf (_("\nPLT GOT:\n\n"));
printf (_(" Reserved entries:\n"));
printf (_(" %*s %*s Purpose\n"),
! addr_size * 2, "Address", addr_size * 2, "Initial");
ent = print_mips_pltgot_entry (data, mips_pltgot, ent);
! printf (" PLT lazy resolver\n");
ent = print_mips_pltgot_entry (data, mips_pltgot, ent);
! printf (" Module pointer\n");
printf ("\n");
printf (_(" Entries:\n"));
printf (_(" %*s %*s %*s %-7s %3s %s\n"),
! addr_size * 2, "Address",
! addr_size * 2, "Initial",
! addr_size * 2, "Sym.Val.", "Type", "Ndx", "Name");
sym_width = (is_32bit_elf ? 80 : 160) - 17 - addr_size * 6 - 1;
for (i = 0; i < count; i++)
{
--- 11016,11033 ----
printf (_("\nPLT GOT:\n\n"));
printf (_(" Reserved entries:\n"));
printf (_(" %*s %*s Purpose\n"),
! addr_size * 2, _("Address"), addr_size * 2, _("Initial"));
ent = print_mips_pltgot_entry (data, mips_pltgot, ent);
! printf (_(" PLT lazy resolver\n"));
ent = print_mips_pltgot_entry (data, mips_pltgot, ent);
! printf (_(" Module pointer\n"));
printf ("\n");
printf (_(" Entries:\n"));
printf (_(" %*s %*s %*s %-7s %3s %s\n"),
! addr_size * 2, _("Address"),
! addr_size * 2, _("Initial"),
! addr_size * 2, _("Sym.Val."), _("Type"), _("Ndx"), _("Name"));
sym_width = (is_32bit_elf ? 80 : 160) - 17 - addr_size * 6 - 1;
for (i = 0; i < count; i++)
{
*************** process_mips_specific (FILE * file)
*** 11042,11048 ****
if (VALID_DYNAMIC_NAME (psym->st_name))
print_symbol (sym_width, GET_DYNAMIC_NAME (psym->st_name));
else
! printf ("<corrupt: %14ld>", psym->st_name);
printf ("\n");
}
printf ("\n");
--- 11043,11049 ----
if (VALID_DYNAMIC_NAME (psym->st_name))
print_symbol (sym_width, GET_DYNAMIC_NAME (psym->st_name));
else
! printf (_("<corrupt: %14ld>"), psym->st_name);
printf ("\n");
}
printf ("\n");
*************** process_gnu_liblist (FILE * file)
*** 11103,11109 ****
SECTION_NAME (section),
(unsigned long) (section->sh_size / sizeof (Elf32_External_Lib)));
! puts (" Library Time Stamp Checksum Version Flags");
for (cnt = 0; cnt < section->sh_size / sizeof (Elf32_External_Lib);
++cnt)
--- 11104,11110 ----
SECTION_NAME (section),
(unsigned long) (section->sh_size / sizeof (Elf32_External_Lib)));
! puts (_(" Library Time Stamp Checksum Version Flags"));
for (cnt = 0; cnt < section->sh_size / sizeof (Elf32_External_Lib);
++cnt)
*************** process_gnu_liblist (FILE * file)
*** 11128,11137 ****
printf ("%3lu: ", (unsigned long) cnt);
if (do_wide)
printf ("%-20s", liblist.l_name < strtab_size
! ? strtab + liblist.l_name : "<corrupt>");
else
printf ("%-20.20s", liblist.l_name < strtab_size
! ? strtab + liblist.l_name : "<corrupt>");
printf (" %s %#010lx %-7ld %-7ld\n", timebuf, liblist.l_checksum,
liblist.l_version, liblist.l_flags);
}
--- 11129,11138 ----
printf ("%3lu: ", (unsigned long) cnt);
if (do_wide)
printf ("%-20s", liblist.l_name < strtab_size
! ? strtab + liblist.l_name : _("<corrupt>"));
else
printf ("%-20.20s", liblist.l_name < strtab_size
! ? strtab + liblist.l_name : _("<corrupt>"));
printf (" %s %#010lx %-7ld %-7ld\n", timebuf, liblist.l_checksum,
liblist.l_version, liblist.l_flags);
}
*************** get_netbsd_elfcore_note_type (unsigned e
*** 11268,11276 ****
case EM_SPARCV9:
switch (e_type)
{
! case NT_NETBSDCORE_FIRSTMACH+0:
return _("PT_GETREGS (reg structure)");
! case NT_NETBSDCORE_FIRSTMACH+2:
return _("PT_GETFPREGS (fpreg structure)");
default:
break;
--- 11269,11277 ----
case EM_SPARCV9:
switch (e_type)
{
! case NT_NETBSDCORE_FIRSTMACH + 0:
return _("PT_GETREGS (reg structure)");
! case NT_NETBSDCORE_FIRSTMACH + 2:
return _("PT_GETFPREGS (fpreg structure)");
default:
break;
*************** get_netbsd_elfcore_note_type (unsigned e
*** 11282,11290 ****
default:
switch (e_type)
{
! case NT_NETBSDCORE_FIRSTMACH+1:
return _("PT_GETREGS (reg structure)");
! case NT_NETBSDCORE_FIRSTMACH+3:
return _("PT_GETFPREGS (fpreg structure)");
default:
break;
--- 11283,11291 ----
default:
switch (e_type)
{
! case NT_NETBSDCORE_FIRSTMACH + 1:
return _("PT_GETREGS (reg structure)");
! case NT_NETBSDCORE_FIRSTMACH + 3:
return _("PT_GETFPREGS (fpreg structure)");
default:
break;
_______________________________________________
bug-binutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-binutils