diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2001-08-09 16:00:21 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2001-08-09 16:00:21 +0000 |
commit | ae4221d7c27786eb790a96d65a78cb0fb7d79fcf (patch) | |
tree | 554b68ba1007fa808299ebdcebbba47dc4eb5faf /bfd/elf.c | |
parent | 5789ecea4c53e1fa61db1211f4e3f132bbd57788 (diff) | |
download | gdb-ae4221d7c27786eb790a96d65a78cb0fb7d79fcf.zip gdb-ae4221d7c27786eb790a96d65a78cb0fb7d79fcf.tar.gz gdb-ae4221d7c27786eb790a96d65a78cb0fb7d79fcf.tar.bz2 |
2001-08-09 H.J. Lu <hjl@gnu.org>
* bfd-in.h (bfd_sprintf_vma): New prototype.
(bfd_fprintf_vma): Likewise.
(bfd_elf_sprintf_vma): Likewise.
(bfd_elf_fprintf_vma): Likewise.
(bfd_printf_vma): New. Defined with bfd_fprintf_vma.
* bfd-in2.h: Regenerated.
* bfd.c (bfd_sprintf_vma): New. Defined.
(bfd_fprintf_vma): Likewise.
* elf.c (bfd_elf_sprintf_vma): New. Defined.
(bfd_elf_fprintf_vma): Likewise.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r-- | bfd/elf.c | 51 |
1 files changed, 51 insertions, 0 deletions
@@ -5994,3 +5994,54 @@ bfd_get_elf_phdrs (abfd, phdrs) return num_phdrs; } + +void +bfd_elf_sprintf_vma (abfd, buf, value) + bfd *abfd; + char *buf; + bfd_vma value; +{ + Elf_Internal_Ehdr *i_ehdrp; /* Elf file header, internal form */ + + i_ehdrp = elf_elfheader (abfd); + if (i_ehdrp == NULL) + sprintf_vma (buf, value); + else + { + if (i_ehdrp->e_ident[EI_CLASS] == ELFCLASS64) +#if BFD_HOST_64BIT_LONG + sprintf (buf, "%016lx", value); +#else + sprintf (buf, "%08lx%08lx", _bfd_int64_high (value), + _bfd_int64_low (value)); +#endif + else + sprintf (buf, "%08lx", (unsigned long) (value & 0xffffffff)); + } +} + +void +bfd_elf_fprintf_vma (abfd, stream, value) + bfd *abfd; + PTR stream; + bfd_vma value; +{ + Elf_Internal_Ehdr *i_ehdrp; /* Elf file header, internal form */ + + i_ehdrp = elf_elfheader (abfd); + if (i_ehdrp == NULL) + fprintf_vma ((FILE *) stream, value); + else + { + if (i_ehdrp->e_ident[EI_CLASS] == ELFCLASS64) +#if BFD_HOST_64BIT_LONG + fprintf ((FILE *) stream, "%016lx", value); +#else + fprintf ((FILE *) stream, "%08lx%08lx", + _bfd_int64_high (value), _bfd_int64_low (value)); +#endif + else + fprintf ((FILE *) stream, "%08lx", + (unsigned long) (value & 0xffffffff)); + } +} |