aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>1999-11-18 01:06:45 +0000
committerRichard Henderson <rth@redhat.com>1999-11-18 01:06:45 +0000
commit86dc0f79f59480ef98f870c71d2e38ea23e56a04 (patch)
treee77d39aec1b71c080b4520e09dd6103f9e562333 /bfd/elf-bfd.h
parent22b3e891f0fe72093d144f7442aa9c777e5a6bf4 (diff)
downloadgdb-86dc0f79f59480ef98f870c71d2e38ea23e56a04.zip
gdb-86dc0f79f59480ef98f870c71d2e38ea23e56a04.tar.gz
gdb-86dc0f79f59480ef98f870c71d2e38ea23e56a04.tar.bz2
* elf-bfd.h (struct elf_backend_data): Reorder collect and
type_change_ok; add sign_extend_vma. * elf32-mips.c (elf_backend_sign_extend_vma): Define. * elfcode.h (elf_swap_symbol_in): Mind be->sign_extend_vma. (elf_swap_shdr_in, elf_swap_phdr_in): Likewise. * elfxx-target.h (elf_backend_sign_extend_vma): Default. (elfNN_bed): Follow struture changes.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r--bfd/elf-bfd.h28
1 files changed, 16 insertions, 12 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 1868cb6..8256b2f 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -332,18 +332,6 @@ struct elf_backend_data
/* The maximum page size for this backend. */
bfd_vma maxpagesize;
- /* This is true if the linker should act like collect and gather
- global constructors and destructors by name. This is true for
- MIPS ELF because the Irix 5 tools can not handle the .init
- section. */
- boolean collect;
-
- /* This is true if the linker should ignore changes to the type of a
- symbol. This is true for MIPS ELF because some Irix 5 objects
- record undefined functions as STT_OBJECT although the definitions
- are STT_FUNC. */
- boolean type_change_ok;
-
/* A function to translate an ELF RELA relocation to a BFD arelent
structure. */
void (*elf_info_to_howto) PARAMS ((bfd *, arelent *,
@@ -618,6 +606,18 @@ struct elf_backend_data
bfd_vma got_header_size;
bfd_vma plt_header_size;
+ /* This is true if the linker should act like collect and gather
+ global constructors and destructors by name. This is true for
+ MIPS ELF because the Irix 5 tools can not handle the .init
+ section. */
+ unsigned collect : 1;
+
+ /* This is true if the linker should ignore changes to the type of a
+ symbol. This is true for MIPS ELF because some Irix 5 objects
+ record undefined functions as STT_OBJECT although the definitions
+ are STT_FUNC. */
+ unsigned type_change_ok : 1;
+
/* Whether the backend may use REL relocations. (Some backends use
both REL and RELA relocations, and this flag is set for those
backends.) */
@@ -635,6 +635,10 @@ struct elf_backend_data
section. */
unsigned default_use_rela_p : 1;
+ /* True if addresses "naturally" sign extend. This is used when
+ swapping in from Elf32 when BFD64. */
+ unsigned sign_extend_vma : 1;
+
unsigned want_got_plt : 1;
unsigned plt_readonly : 1;
unsigned want_plt_sym : 1;