\f
#include <assert.h>
+#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <time.h>
#include "elf/mcore.h"
#include "elf/i960.h"
#include "elf/pj.h"
+#include "elf/avr.h"
#include "bucomm.h"
#include "getopt.h"
rtype = elf_i960_reloc_type (type);
break;
+ case EM_AVR:
+ rtype = elf_avr_reloc_type (type);
+ break;
+
case EM_OLD_SPARCV9:
case EM_SPARC32PLUS:
case EM_SPARCV9:
fprintf (stdout, _(" -I or --histogram Display histogram of bucket list lengths\n"));
fprintf (stdout, _(" -v or --version Display the version number of readelf\n"));
fprintf (stdout, _(" -H or --help Display this information\n"));
- fprintf (stdout, _("Report bugs to bug-gnu-utils@gnu.org\n"));
+ fprintf (stdout, _("Report bugs to %s\n"), REPORT_BUGS_TO);
exit (0);
}
{
case ELFOSABI_SYSV: return _("UNIX - System V");
case ELFOSABI_HPUX: return _("UNIX - HP-UX");
+ case ELFOSABI_LINUX: return _("UNIX - Linux");
case ELFOSABI_STANDALONE: return _("Standalone App");
case ELFOSABI_ARM: return _("ARM");
default:
{
if (do_dynamic)
{
+ const char *dtype;
+
putchar (' ');
print_vma (entry->d_tag, FULL_HEX);
- printf (" (%s)%*s",
- get_dynamic_type (entry->d_tag),
- (is_32bit_elf ? 27 : 19) - strlen (get_dynamic_type (entry->d_tag)),
+ dtype = get_dynamic_type (entry->d_tag);
+ printf (" (%s)%*s", dtype,
+ ((is_32bit_elf ? 27 : 19)
+ - (int) strlen (dtype)),
" ");
}
{
Elf_External_Verneed evn;
Elf_External_Vernaux evna;
- Elf_Internal_Vernaux ivna;
- unsigned long vna_off;
+ Elf_Internal_Vernaux ivna;
+ unsigned long vna_off;
GET_DATA (offset, evn, "version need");
do
{
- Elf_Internal_Vernaux ivna;
+ Elf_Internal_Vernaux ivna;
Elf_External_Verneed evn;
Elf_External_Vernaux evna;
- unsigned long a_off;
+ unsigned long a_off;
GET_DATA (offset, evn, "version need");
printf (_("\nSymbol table for image:\n"));
if (is_32bit_elf)
- printf (_(" Num Buc: Value Size Type Bind Vis Ot Ndx Name\n"));
+ printf (_(" Num Buc: Value Size Type Bind Vis Ndx Name\n"));
else
- printf (_(" Num Buc: Value Size Type Bind Vis Ot Ndx Name\n"));
+ printf (_(" Num Buc: Value Size Type Bind Vis Ndx Name\n"));
for (hn = 0; hn < nbuckets; hn++)
{
printf (" %6s", get_symbol_type (ELF_ST_TYPE (psym->st_info)));
printf (" %6s", get_symbol_binding (ELF_ST_BIND (psym->st_info)));
printf (" %3s", get_symbol_visibility (ELF_ST_VISIBILITY (psym->st_other)));
- printf (" %2d", ELF_ST_OTHER (psym->st_other));
printf (" %3.3s", get_symbol_index_type (psym->st_shndx));
printf (" %s\n", dynamic_strings + psym->st_name);
}
SECTION_NAME (section),
(unsigned long) (section->sh_size / section->sh_entsize));
if (is_32bit_elf)
- printf (_(" Num: Value Size Type Bind Vis Ot Ndx Name\n"));
+ printf (_(" Num: Value Size Type Bind Vis Ndx Name\n"));
else
- printf (_(" Num: Value Size Type Bind Vis Ot Ndx Name\n"));
+ printf (_(" Num: Value Size Type Bind Vis Ndx Name\n"));
symtab = GET_ELF_SYMBOLS (file, section->sh_offset,
section->sh_size / section->sh_entsize);
printf (" %-7s", get_symbol_type (ELF_ST_TYPE (psym->st_info)));
printf (" %-6s", get_symbol_binding (ELF_ST_BIND (psym->st_info)));
printf (" %-3s", get_symbol_visibility (ELF_ST_VISIBILITY (psym->st_other)));
- printf (" %2d", ELF_ST_OTHER (psym->st_other));
printf (" %4s", get_symbol_index_type (psym->st_shndx));
printf (" %s", strtab + psym->st_name);
offset = version_info
[DT_VERSIONTAGIDX (DT_VERNEED)] - loadaddr;
- GET_DATA (offset, evn, "version need");
-
- ivn.vn_aux = BYTE_GET (evn.vn_aux);
- ivn.vn_next = BYTE_GET (evn.vn_next);
-
do
{
unsigned long vna_off;
+ GET_DATA (offset, evn, "version need");
+
+ ivn.vn_aux = BYTE_GET (evn.vn_aux);
+ ivn.vn_next = BYTE_GET (evn.vn_next);
+
vna_off = offset + ivn.vn_aux;
do