* readelf.c (dump_relocations): Always print the addend on RELA
systems even if there is no symbol. (process_program_headers): Reset dynamic_size before looping through the program headers. (process_version_sections): Cast sh_offset to unsigned long for printing in case bfd_vma is wider. (process_symbol_table): Use get_symbol_index_type when printing st_shndx.
This commit is contained in:
parent
a13cba0d36
commit
1b228002a1
2 changed files with 18 additions and 11 deletions
|
@ -1,3 +1,14 @@
|
||||||
|
Thu May 27 11:58:33 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||||
|
|
||||||
|
* readelf.c (dump_relocations): Always print the addend on RELA
|
||||||
|
systems even if there is no symbol.
|
||||||
|
(process_program_headers): Reset dynamic_size before looping
|
||||||
|
through the program headers.
|
||||||
|
(process_version_sections): Cast sh_offset to unsigned long for
|
||||||
|
printing in case bfd_vma is wider.
|
||||||
|
(process_symbol_table): Use get_symbol_index_type when printing
|
||||||
|
st_shndx.
|
||||||
|
|
||||||
1999-05-17 DJ Delorie <dj@cygnus.com>
|
1999-05-17 DJ Delorie <dj@cygnus.com>
|
||||||
|
|
||||||
* windres.c: add verbose option
|
* windres.c: add verbose option
|
||||||
|
|
|
@ -555,6 +555,8 @@ dump_relocations (file, rel_offset, rel_size, symtab, strtab)
|
||||||
if (is_rela)
|
if (is_rela)
|
||||||
printf (" + %lx", (unsigned long) relas [i].r_addend);
|
printf (" + %lx", (unsigned long) relas [i].r_addend);
|
||||||
}
|
}
|
||||||
|
else if (is_rela)
|
||||||
|
printf ("%34c%lx", ' ', (unsigned long) relas[i].r_addend);
|
||||||
|
|
||||||
putchar ('\n');
|
putchar ('\n');
|
||||||
}
|
}
|
||||||
|
@ -1495,6 +1497,7 @@ process_program_headers (file)
|
||||||
|
|
||||||
loadaddr = -1;
|
loadaddr = -1;
|
||||||
dynamic_addr = 0;
|
dynamic_addr = 0;
|
||||||
|
dynamic_size = 0;
|
||||||
|
|
||||||
for (i = 0, segment = program_headers;
|
for (i = 0, segment = program_headers;
|
||||||
i < elf_header.e_phnum;
|
i < elf_header.e_phnum;
|
||||||
|
@ -2507,7 +2510,7 @@ process_version_sections (file)
|
||||||
printf (_(" Addr: 0x"));
|
printf (_(" Addr: 0x"));
|
||||||
printf_vma (section->sh_addr);
|
printf_vma (section->sh_addr);
|
||||||
printf (_(" Offset: %#08lx Link: %lx (%s)\n"),
|
printf (_(" Offset: %#08lx Link: %lx (%s)\n"),
|
||||||
section->sh_offset, section->sh_link,
|
(unsigned long) section->sh_offset, section->sh_link,
|
||||||
SECTION_NAME (section_headers + section->sh_link));
|
SECTION_NAME (section_headers + section->sh_link));
|
||||||
|
|
||||||
GET_DATA_ALLOC (section->sh_offset, section->sh_size,
|
GET_DATA_ALLOC (section->sh_offset, section->sh_size,
|
||||||
|
@ -2595,7 +2598,7 @@ process_version_sections (file)
|
||||||
printf (_(" Addr: 0x"));
|
printf (_(" Addr: 0x"));
|
||||||
printf_vma (section->sh_addr);
|
printf_vma (section->sh_addr);
|
||||||
printf (_(" Offset: %#08lx Link to section: %ld (%s)\n"),
|
printf (_(" Offset: %#08lx Link to section: %ld (%s)\n"),
|
||||||
section->sh_offset, section->sh_link,
|
(unsigned long) section->sh_offset, section->sh_link,
|
||||||
SECTION_NAME (section_headers + section->sh_link));
|
SECTION_NAME (section_headers + section->sh_link));
|
||||||
|
|
||||||
GET_DATA_ALLOC (section->sh_offset, section->sh_size,
|
GET_DATA_ALLOC (section->sh_offset, section->sh_size,
|
||||||
|
@ -2696,7 +2699,7 @@ process_version_sections (file)
|
||||||
printf (_(" Addr: "));
|
printf (_(" Addr: "));
|
||||||
printf_vma (section->sh_addr);
|
printf_vma (section->sh_addr);
|
||||||
printf (_(" Offset: %#08lx Link: %lx (%s)\n"),
|
printf (_(" Offset: %#08lx Link: %lx (%s)\n"),
|
||||||
section->sh_offset, section->sh_link,
|
(unsigned long) section->sh_offset, section->sh_link,
|
||||||
SECTION_NAME (link_section));
|
SECTION_NAME (link_section));
|
||||||
|
|
||||||
GET_DATA_ALLOC (version_info [DT_VERSIONTAGIDX (DT_VERSYM)]
|
GET_DATA_ALLOC (version_info [DT_VERSIONTAGIDX (DT_VERSYM)]
|
||||||
|
@ -3200,14 +3203,7 @@ process_symbol_table (file)
|
||||||
get_symbol_binding (ELF_ST_BIND (psym->st_info)),
|
get_symbol_binding (ELF_ST_BIND (psym->st_info)),
|
||||||
psym->st_other);
|
psym->st_other);
|
||||||
|
|
||||||
if (psym->st_shndx == 0)
|
printf ("%4s", get_symbol_index_type (psym->st_shndx));
|
||||||
fputs (" UND", stdout);
|
|
||||||
else if ((psym->st_shndx & 0xffff) == 0xfff1)
|
|
||||||
fputs (" ABS", stdout);
|
|
||||||
else if ((psym->st_shndx & 0xffff) == 0xfff2)
|
|
||||||
fputs (" COM", stdout);
|
|
||||||
else
|
|
||||||
printf ("%4x", psym->st_shndx);
|
|
||||||
|
|
||||||
printf (" %s", strtab + psym->st_name);
|
printf (" %s", strtab + psym->st_name);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue