Add function bfd_elf_get_sign_extend_vma.

This commit is contained in:
Andrew Cagney 2000-07-11 07:28:25 +00:00
parent 23e2c83b83
commit 6d9019e4c0
4 changed files with 27 additions and 0 deletions

View File

@ -1,3 +1,10 @@
Tue Jul 11 17:21:52 2000 Andrew Cagney <cagney@b1.cygnus.com>
* elf.c (bfd_elf_get_sign_extend_vma): Return tendency of VMA
addresses to be "naturally" sign extended. Return -1 if unknown.
* bfd-in.h (bfd_elf_get_sign_extend_vma): : Add declaration.
* bfd-in2.h: Regenerate.
Tue Jul 11 16:25:52 2000 Andrew Cagney <cagney@b1.cygnus.com>
* ecoffswap.h (ecoff_get_off, ecoff_put_off): Add ECOFF_SIGNED_32

View File

@ -646,6 +646,9 @@ extern int bfd_get_elf_phdrs PARAMS ((bfd *abfd, void *phdrs));
/* Return the arch_size field of an elf bfd, or -1 if not elf. */
extern int bfd_elf_get_arch_size PARAMS ((bfd *));
/* Return true if address "naturally" sign extends, or -1 if not elf. */
extern int bfd_elf_get_sign_extend_vma PARAMS ((bfd *));
/* SunOS shared library support routines for the linker. */
extern struct bfd_link_needed_list *bfd_sunos_get_needed_list

View File

@ -646,6 +646,9 @@ extern int bfd_get_elf_phdrs PARAMS ((bfd *abfd, void *phdrs));
/* Return the arch_size field of an elf bfd, or -1 if not elf. */
extern int bfd_elf_get_arch_size PARAMS ((bfd *));
/* Return true if address "naturally" sign extends, or -1 if not elf. */
extern int bfd_elf_get_sign_extend_vma PARAMS ((bfd *));
/* SunOS shared library support routines for the linker. */
extern struct bfd_link_needed_list *bfd_sunos_get_needed_list

View File

@ -1777,6 +1777,20 @@ bfd_elf_get_arch_size (abfd)
return (get_elf_backend_data (abfd))->s->arch_size;
}
/* True if addresses "naturally" sign extend. Return 0/1 if known.
-1 if unknown. */
int
bfd_elf_get_sign_extend_vma (abfd)
bfd *abfd;
{
if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
{
bfd_set_error (bfd_error_wrong_format);
return -1;
}
return (get_elf_backend_data (abfd)->sign_extend_vma);
}
/* Assign all ELF section numbers. The dummy first section is handled here
too. The link/info pointers for the standard section types are filled
in here too, while we're at it. */