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.
This commit is contained in:
parent
5789ecea4c
commit
ae4221d7c2
5 changed files with 100 additions and 0 deletions
|
@ -1,3 +1,18 @@
|
||||||
|
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.
|
||||||
|
|
||||||
2001-08-09 Alan Modra <amodra@bigpond.net.au>
|
2001-08-09 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* coff-rs6000.c: Add missing prototypes.
|
* coff-rs6000.c: Add missing prototypes.
|
||||||
|
|
|
@ -183,7 +183,13 @@ typedef unsigned long bfd_size_type;
|
||||||
|
|
||||||
#endif /* not BFD64 */
|
#endif /* not BFD64 */
|
||||||
|
|
||||||
|
extern void bfd_sprintf_vma PARAMS ((bfd *, char *, bfd_vma));
|
||||||
|
extern void bfd_fprintf_vma PARAMS ((bfd *, PTR, bfd_vma));
|
||||||
|
extern void bfd_elf_sprintf_vma PARAMS ((bfd *, char *, bfd_vma));
|
||||||
|
extern void bfd_elf_fprintf_vma PARAMS ((bfd *, PTR, bfd_vma));
|
||||||
|
|
||||||
#define printf_vma(x) fprintf_vma(stdout,x)
|
#define printf_vma(x) fprintf_vma(stdout,x)
|
||||||
|
#define bfd_printf_vma(abfd,x) bfd_fprintf_vma (abfd,stdout,x)
|
||||||
|
|
||||||
typedef unsigned int flagword; /* 32 bits of flags */
|
typedef unsigned int flagword; /* 32 bits of flags */
|
||||||
typedef unsigned char bfd_byte;
|
typedef unsigned char bfd_byte;
|
||||||
|
|
|
@ -183,7 +183,13 @@ typedef unsigned long bfd_size_type;
|
||||||
|
|
||||||
#endif /* not BFD64 */
|
#endif /* not BFD64 */
|
||||||
|
|
||||||
|
extern void bfd_sprintf_vma PARAMS ((bfd *, char *, bfd_vma));
|
||||||
|
extern void bfd_fprintf_vma PARAMS ((bfd *, PTR, bfd_vma));
|
||||||
|
extern void bfd_elf_sprintf_vma PARAMS ((bfd *, char *, bfd_vma));
|
||||||
|
extern void bfd_elf_fprintf_vma PARAMS ((bfd *, PTR, bfd_vma));
|
||||||
|
|
||||||
#define printf_vma(x) fprintf_vma(stdout,x)
|
#define printf_vma(x) fprintf_vma(stdout,x)
|
||||||
|
#define bfd_printf_vma(abfd,x) bfd_fprintf_vma (abfd,stdout,x)
|
||||||
|
|
||||||
typedef unsigned int flagword; /* 32 bits of flags */
|
typedef unsigned int flagword; /* 32 bits of flags */
|
||||||
typedef unsigned char bfd_byte;
|
typedef unsigned char bfd_byte;
|
||||||
|
|
22
bfd/bfd.c
22
bfd/bfd.c
|
@ -1262,3 +1262,25 @@ bfd_record_phdr (abfd, type, flags_valid, flags, at_valid, at,
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
bfd_sprintf_vma (abfd, buf, value)
|
||||||
|
bfd *abfd;
|
||||||
|
char *buf;
|
||||||
|
bfd_vma value;
|
||||||
|
{
|
||||||
|
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
|
||||||
|
return bfd_elf_sprintf_vma (abfd, buf, value);
|
||||||
|
sprintf_vma (buf, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
bfd_fprintf_vma (abfd, stream, value)
|
||||||
|
bfd *abfd;
|
||||||
|
PTR stream;
|
||||||
|
bfd_vma value;
|
||||||
|
{
|
||||||
|
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
|
||||||
|
return bfd_elf_fprintf_vma (abfd, stream, value);
|
||||||
|
fprintf_vma ((FILE *) stream, value);
|
||||||
|
}
|
||||||
|
|
51
bfd/elf.c
51
bfd/elf.c
|
@ -5994,3 +5994,54 @@ bfd_get_elf_phdrs (abfd, phdrs)
|
||||||
|
|
||||||
return num_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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue