diff options
author | Ian Lance Taylor <ian@airs.com> | 1997-01-03 22:09:40 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1997-01-03 22:09:40 +0000 |
commit | ff12f303355b20de1260bc1d007f973bd02615dc (patch) | |
tree | 405f3b582a787fe20c609cda43409e3105cb6b38 /bfd/elfxx-target.h | |
parent | 98141a3cc1a9e2a5c11abc9d9f6c34e30f7e2b64 (diff) | |
download | gdb-ff12f303355b20de1260bc1d007f973bd02615dc.zip gdb-ff12f303355b20de1260bc1d007f973bd02615dc.tar.gz gdb-ff12f303355b20de1260bc1d007f973bd02615dc.tar.bz2 |
Fri Jan 3 16:58:31 1997 Richard Henderson <rth@tamu.edu>
elf64-alpha multiple .got rewrite:
* elf-bfd.h (struct elf_backend_data): Add always_size_sections entry.
(bfd_elf*_mkobject): Don't define here ...
* elfxx-target.h: ... but rather here. Default always_size_sections
hook to NULL.
* elf.c (elf_mkobject): Rename to bfd_elf_mkobject, since that was
what the #defines in elf-bfd.h transmuted it to anyway.
* section.c: Add SEC_LINKER_CREATED flag.
* bfd-in2.h: Rebuild.
* elf32-i386.c (elf_i386_check_relocs): Add SEC_LINKER_CREATED to
relocation section flags.
(elf_i386_size_dynamic_sections): Use SEC_LINKER_CREATED instead of
SEC_IN_MEMORY to recognize generated bits.
* elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_size_dynamic_sections):
Likewise.
* elf32-mips.c (mips_elf_final_link, mips_elf_create_dynamic_sections,
mips_elf_create_compact_rel_section, mips_elf_create_got_section,
mips_elf_check_relocs, mips_elf_size_dynamic_sections): Likewise.
* elf32-ppc.c (ppc_elf_create_linker_section,
ppc_elf_size_dynamic_sections): Likewise.
* elf32-sparc.c (elf32_sparc_check_relocs,
elf32_sparc_size_dynamic_sections): Likewise.
* elflink.c (_bfd_elf_create_got_section): Add SEC_LINKER_CREATED to
section flags.
(_bfd_elf_create_dynamic_sections): Likewise.
(_bfd_elf_make_linker_section_rela): Likewise.
* elflink.h (elf_link_create_dynamic_sections): Likewise.
(bfd_elf,size_dynamic_sections): Call the always_size_sections hook.
(elf_bfd_final_link): Use SEC_LINKER_CREATED instead of SEC_IN_MEMORY
to identify generated bits.
(elf_link_input_bfd): Likewise.
* elf64-alpha.c: Rewrite everything touching relocations.
Diffstat (limited to 'bfd/elfxx-target.h')
-rw-r--r-- | bfd/elfxx-target.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index 291e3c9..bed4ed3 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -154,6 +154,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define bfd_elfNN_write_archive_contents _bfd_write_archive_contents #endif +#ifndef bfd_elfNN_mkobject +#define bfd_elfNN_mkobject bfd_elf_mkobject +#endif + #ifndef bfd_elfNN_mkarchive #define bfd_elfNN_mkarchive _bfd_generic_mkarchive #endif @@ -220,6 +224,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef elf_backend_adjust_dynamic_symbol #define elf_backend_adjust_dynamic_symbol 0 #endif +#ifndef elf_backend_always_size_sections +#define elf_backend_always_size_sections 0 +#endif #ifndef elf_backend_size_dynamic_sections #define elf_backend_size_dynamic_sections 0 #endif @@ -289,6 +296,7 @@ static CONST struct elf_backend_data elfNN_bed = elf_backend_create_dynamic_sections, elf_backend_check_relocs, elf_backend_adjust_dynamic_symbol, + elf_backend_always_size_sections, elf_backend_size_dynamic_sections, elf_backend_relocate_section, elf_backend_finish_dynamic_symbol, @@ -324,7 +332,7 @@ const bfd_target TARGET_BIG_SYM = /* object_flags: mask of all file flags */ (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED), - + /* section_flags: mask of all section flags */ (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY | SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES), @@ -363,7 +371,7 @@ const bfd_target TARGET_BIG_SYM = /* bfd_set_format: set the format of a file being written */ { bfd_false, - bfd_elf_mkobject, + bfd_elfNN_mkobject, bfd_elfNN_mkarchive, bfd_false }, @@ -412,7 +420,7 @@ const bfd_target TARGET_LITTLE_SYM = /* object_flags: mask of all file flags */ (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED), - + /* section_flags: mask of all section flags */ (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY | SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES), @@ -451,7 +459,7 @@ const bfd_target TARGET_LITTLE_SYM = /* bfd_set_format: set the format of a file being written */ { bfd_false, - bfd_elf_mkobject, + bfd_elfNN_mkobject, bfd_elfNN_mkarchive, bfd_false }, |