Elf bfd routines and types are now size-independent again.

This commit is contained in:
Ken Raeburn 1993-06-26 00:47:23 +00:00
parent 41e170e271
commit d086adf85a
2 changed files with 23 additions and 6 deletions

View File

@ -1,3 +1,12 @@
Fri Jun 25 20:44:43 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
* objdump.c: Use size-independend bfd elf section names.
Sun Jun 20 23:09:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
* objdump.c (objdump_print_address): Handle wide offsets by
calling sprintf_vma.
Fri Jun 18 14:29:12 1993 Per Bothner (bothner@deneb.cygnus.com) Fri Jun 18 14:29:12 1993 Per Bothner (bothner@deneb.cygnus.com)
* objdump.c (syms2): Removed unused variable. * objdump.c (syms2): Removed unused variable.

View File

@ -39,7 +39,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define BYTES_IN_WORD 32 #define BYTES_IN_WORD 32
#include "aout/aout64.h" #include "aout/aout64.h"
#include "elf/internal.h" #include "elf/internal.h"
extern Elf32_Internal_Shdr *bfd_elf32_find_section(); extern Elf_Internal_Shdr *bfd_elf_find_section();
#endif /* ELF_STAB_DISPLAY */ #endif /* ELF_STAB_DISPLAY */
extern char *xmalloc (); extern char *xmalloc ();
@ -284,11 +284,19 @@ objdump_print_address (vma, info)
fprintf (info->stream, " <%s", syms[thisplace]->name); fprintf (info->stream, " <%s", syms[thisplace]->name);
if (syms[thisplace]->value > vma) if (syms[thisplace]->value > vma)
{ {
fprintf (info->stream, "-%04x", syms[thisplace]->value - vma); char buf[30], *p = buf;
sprintf_vma (buf, syms[thisplace]->value - vma);
while (*p == '0')
p++;
fprintf (info->stream, "-%s", p);
} }
else if (vma > syms[thisplace]->value) else if (vma > syms[thisplace]->value)
{ {
fprintf (info->stream, "+%04x", vma - syms[thisplace]->value); char buf[30], *p = buf;
sprintf_vma (buf, vma - syms[thisplace]->value);
while (*p == '0')
p++;
fprintf (info->stream, "+%s", p);
} }
fprintf (info->stream, ">"); fprintf (info->stream, ">");
} }
@ -564,20 +572,20 @@ dump_elf_stabs_1 (abfd, name1, name2)
char *name1; /* Section name of .stab */ char *name1; /* Section name of .stab */
char *name2; /* Section name of its string section */ char *name2; /* Section name of its string section */
{ {
Elf32_Internal_Shdr *stab_hdr, *stabstr_hdr; Elf_Internal_Shdr *stab_hdr, *stabstr_hdr;
char *strtab; char *strtab;
struct internal_nlist *stabs, *stabs_end; struct internal_nlist *stabs, *stabs_end;
int i; int i;
unsigned file_string_table_offset, next_file_string_table_offset; unsigned file_string_table_offset, next_file_string_table_offset;
stab_hdr = bfd_elf32_find_section (abfd, name1); stab_hdr = bfd_elf_find_section (abfd, name1);
if (0 == stab_hdr) if (0 == stab_hdr)
{ {
printf ("Contents of %s section: none.\n\n", name1); printf ("Contents of %s section: none.\n\n", name1);
return; return;
} }
stabstr_hdr = bfd_elf32_find_section (abfd, name2); stabstr_hdr = bfd_elf_find_section (abfd, name2);
if (0 == stabstr_hdr) if (0 == stabstr_hdr)
{ {
fprintf (stderr, "%s: %s has no %s section.\n", program_name, fprintf (stderr, "%s: %s has no %s section.\n", program_name,