diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-01-11 21:06:42 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-01-11 21:06:42 +0000 |
commit | 5b3b9ff61d3a2a6cdd90fcec1a61d38699f3c608 (patch) | |
tree | 4a38d859537ed0e9e8ac23a9e6b9989bd9bd9d0d /bfd/elfxx-target.h | |
parent | f9407a89f45c77372d823af6a5aaffe23b2653b2 (diff) | |
download | gdb-5b3b9ff61d3a2a6cdd90fcec1a61d38699f3c608.zip gdb-5b3b9ff61d3a2a6cdd90fcec1a61d38699f3c608.tar.gz gdb-5b3b9ff61d3a2a6cdd90fcec1a61d38699f3c608.tar.bz2 |
* elf32-mips.c: Extensive changes for a start at dynamic linking
support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
* elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
(struct elf_backend_data): Remove
elf_backend_create_program_headers field. Add
elf_backend_additional_program_headers and
elf_backend_modify_segment_map fields.
* elfxx-target.h (elf_backend_type_change_ok): Define if not
defined.
(elf_backend_additional_program_headers): Likewise.
(elf_backend_modify_segment_map): Likewise.
(elf_backend_create_program_headers): Don't define.
(elfNN_bed): Change to account for field changes.
* elf.c (assign_file_positions_for_segments): Call new
modify_segment_map backend function. Don't call old
create_program_headers backend function.
(get_program_header_size): Call additional_program_headers rather
than create_program_headers.
* elflink.h (elf_link_add_object_symbols): Initialize
type_change_ok from new backend field.
(elf_link_output_extsym): Don't warn if _rld_new_interface is
defined.
(elf_reloc_link_order): Treat a reloc against a defined symbol as
a reloc against the appropriate section.
Diffstat (limited to 'bfd/elfxx-target.h')
-rw-r--r-- | bfd/elfxx-target.h | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index e719d0d..989a1dc 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -156,6 +156,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef elf_backend_collect #define elf_backend_collect false #endif +#ifndef elf_backend_type_change_ok +#define elf_backend_type_change_ok false +#endif #ifndef elf_backend_sym_is_global #define elf_backend_sym_is_global 0 @@ -214,8 +217,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef elf_backend_final_write_processing #define elf_backend_final_write_processing 0 #endif -#ifndef elf_backend_create_program_headers -#define elf_backend_create_program_headers 0 +#ifndef elf_backend_additional_program_headers +#define elf_backend_additional_program_headers 0 +#endif +#ifndef elf_backend_modify_segment_map +#define elf_backend_modify_segment_map 0 #endif #ifndef elf_backend_ecoff_debug_swap #define elf_backend_ecoff_debug_swap 0 @@ -242,6 +248,7 @@ static CONST struct elf_backend_data elfNN_bed = ELF_MACHINE_CODE, /* elf_machine_code */ ELF_MAXPAGESIZE, /* maxpagesize */ elf_backend_collect, + elf_backend_type_change_ok, elf_info_to_howto, elf_info_to_howto_rel, elf_backend_sym_is_global, @@ -263,7 +270,8 @@ static CONST struct elf_backend_data elfNN_bed = elf_backend_finish_dynamic_sections, elf_backend_begin_write_processing, elf_backend_final_write_processing, - elf_backend_create_program_headers, + elf_backend_additional_program_headers, + elf_backend_modify_segment_map, elf_backend_ecoff_debug_swap, ELF_MACHINE_ALT1, ELF_MACHINE_ALT2, @@ -283,11 +291,11 @@ const bfd_target TARGET_BIG_SYM = /* flavour: general indication about file */ bfd_target_elf_flavour, - /* byteorder_big_p: data is big endian */ - true, + /* byteorder: data is big endian */ + BFD_ENDIAN_BIG, - /* header_byteorder_big_p: header is also big endian */ - true, + /* header_byteorder: header is also big endian */ + BFD_ENDIAN_BIG, /* object_flags: mask of all file flags */ (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS | @@ -367,11 +375,11 @@ const bfd_target TARGET_LITTLE_SYM = /* flavour: general indication about file */ bfd_target_elf_flavour, - /* byteorder_big_p: data is big endian */ - false, /* Nope -- this one's little endian */ + /* byteorder: data is little endian */ + BFD_ENDIAN_LITTLE, - /* header_byteorder_big_p: header is also big endian */ - false, /* Nope -- this one's little endian */ + /* header_byteorder: header is also little endian */ + BFD_ENDIAN_LITTLE, /* object_flags: mask of all file flags */ (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS | |