David Edelsohn
1d5c6cfdf0
* reloc.c: Add relocs BFD_RELOC_M32R_{HI16_[US]LO,LO16}.
...
* bfd-in2.h, libbfd.h: Regenerated.
* elf32-m32r.c: Add support for them.
1997-01-27 20:35:24 +00:00
Ian Lance Taylor
db109ca2d8
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Change type of
...
auxiliary_filters parameter to be const char * const *. Accept a
NULL terminated array.
* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
(bfd_elf32_size_dynamic_sections): Update declaration.
* bfd-in2.h: Rebuild.
1997-01-16 22:48:57 +00:00
Ian Lance Taylor
56f3b62cf5
fix copyrights
1997-01-03 22:17:57 +00:00
Ian Lance Taylor
ff12f30335
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.
1997-01-03 22:09:40 +00:00
Ian Lance Taylor
148437ec14
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Add
...
filter_shlib and auxiliary_filter_shlib parameters.
* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_AUXILIARY and
DT_FILTER.
* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
(bfd_elf64_size_dynamic_sections): Likewise.
* bfd-in2.h: Rebuild.
1996-12-31 19:46:37 +00:00
Fred Fish
fc46a9ec7a
* archures.c (enum bfd_architecture): Add bfd_arch_tic80
...
for TI TMS320c80 (MVP).
(bfd_archures_list): Add bfd_tic80_arch.
* bfd-in2.h: Regenerate by running "make headers".
1996-12-30 23:25:26 +00:00
Fred Fish
cd6213ffae
(Lay some groundwork for TIc80 port that will be filled in incrementally.)
...
* TODO: Correct a misspelling.
start-sanitize-tic80
* coff-tic80.c: New file for TI TMS320C80 (MVP).
* cpu-tic80.c: New file for TI TMS320C80 (MVP).
* configure.in (case $vec): Add tic80coff_vec entry.
* configure: Regenerate with autoconf.
* archures.c (bfd_tic80_arch): Declare.
* bfd-in2.h (enum bfd_architecture): Add bfd_arch_tic80.
* config.bfd (case ${targ}): Add tic80*-*-coff* target.
* targets.c (tic80coff_vec): Add decl as extern bfd_target.
(bfd_target_vector): Add tic80coff_vec entry.
end-sanitize-tic80
1996-12-28 04:09:34 +00:00
Jeff Law
b6d08fce22
* elf32-v850.c (enum reloc_type): Add R_V850_SDA_OFFSET,
...
R_V850_TDA_OFFSET and R_V850_ZDA_OFFSET.
(elf_v850_howto_table): Corresponding changes.
(elf_v850_reloc_map): Corresponding changes.
* reloc.c: Add additional V850 relocations.
* bfd-in2.h, libbfd.h: Rebuilt.
1996-10-17 04:45:29 +00:00
Ian Lance Taylor
6b31fd3af3
Mon Oct 14 11:17:24 1996 Richard Henderson <rth@tamu.edu>
...
* reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL. It was a
mistake to have reused the ECOFF LITERAL for ELF since they have
different semantics.
* elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL.
* bfd-in2.h, libbfd.h: Rebuild.
* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got
section overflow.
* elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a
dynamic relocation for an undefweak symbol when we are building
a static executable.
1996-10-14 15:21:54 +00:00
Jeff Law
ae1b99e42d
Grrr. The mn10200 and mn10300 are _not_ similar enough to easily support
...
with a single generic configuration. So break them up into two different
configurations. See the individual ChangeLogs for additional detail.
1996-10-03 16:42:22 +00:00
Jeff Law
efc2b06463
* cpu-mn10x00.c, elf32-mn10x00.c: New files.
...
* Makefile.in (ALL_MACHINES): Add cpu-mn10x00.o.
(BFD32_BACKENDS): Similarly for elf32-mn10x00.o.
(elf32-mn10x00.o): Add dependencies.
* archures.c (enum bfd_architecture): Add bfd_arch_mn10x00.
(bfd_mn10x00_arch): Declare.
(bfd_archures_list): Add bfd_mn10x00_arch.
* config.bfd: Add mn10x00-*-*.
* configure.in: Add bfd_elf32_mn10x00_vec.
* elf.c (prep_headers): Handle bfd_arch_mn10x00.
* targets.c (bfd_elf32_mn10x00_vec): Declare.
(bfd_target_vector): Add bfd_elf32_mn10x00_vec.
* bfd-in2.h, configure: Rebuilt.
Stubbing out Matsushita support.
1996-10-03 03:56:20 +00:00
David Edelsohn
3ebefb0701
* reloc.c: Add m32r relocs.
...
* bfd-in2.h, libbfd.h: Rebuilt.
1996-09-12 18:56:14 +00:00
Jeff Law
00d7a64b5f
* bfd-in2.h: Rebuilt after m32r changes.
1996-09-10 04:35:48 +00:00
Ian Lance Taylor
c86158e591
Add SH ELF support.
...
* elf32-sh.c: New file.
* elf.c (prep_headers): Handle bfd_arch_sh.
* elfcode.h (write_relocs): Handle absolute symbol.
* elf-bfd.h (_bfd_elf32_link_read_relocs): Declare.
(_bfd_elf64_link_read_relocs): Declare.
* elflink.h (NAME(_bfd_elf,link_read_relocs)): Rename from
elf_link_read_relocs. Make globally visible. Change all
callers.
(elf_link_input_bfd): Get external symbols from cache in
symtab_hdr->contents. Get contents from cache in
elf_section_data.
* elfxx-target.h (bfD_elfNN_bfd_relax_section): Only define if not
already defined.
* reloc.c: Define BFD_RELOC_SH_* relocs.
* libbfd-in.h (_bfd_sh_align_load_span): Declare.
* coff-sh.c (sh_insns_conflict): Fix a return value.
(_bfd_sh_align_load_span): New globally visible function, broken
out of sh_align_load.
(sh_align_load): Call _bfd_sh_align_load_span.
(sh_swap_insns): Change relocs parameter to PTR.
* bfd-in2.h, libbfd.h: Rebuild.
* targets.c (bfd_elf32_sh_vec): Declare.
(bfd_elf32_shl_vec): Declare.
* config.bfd (sh-*-elf*): New target.
* configure.in (bfd_elf32_sh_vec): New target vector.
(bfd_elf32_shl_vec): New target vector.
* configure: Rebuild.
* Makefile.in: Rebuild dependencies.
(BFD32_BACKENDS): Add elf32-sh.o.
(BFD32_BACKENDS_CFILES): Add elf32-sh.c.
* elf.c (map_sections_to_segments): Check that LMA does not skip a
page before checking D_PAGED.
1996-08-30 22:09:51 +00:00
Ian Lance Taylor
8612a388f7
Thu Aug 8 12:21:56 1996 Klaus Kaempf <kkaempf@progis.de>
...
* evax-alpha.c (evax_alpha_vec): Corrected flags, cleanup.
(evax_initialize): Remove evax_reloc_table.
(evax_close_and_cleanup): Ditto.
(reloc_nil): Ditto.
(alpha_howto_table): Remove ALPHA_R_SWREL32 and ALPHA_R_SWREL64
entries.
(evax_bfd_reloc_type_lookup): Ditto.
* evax-egsd.c (_bfd_evax_slurp_egsd): Add a few casts; set
cooked_size == raw_size.
* evax-emh.c (_bfd_evax_register_filename): Remove.
* evax-etir.c (etir_stc): Allow ETIR_S_C_STC_xx commands.
* evax-misc.c (add_new_contents): Malloc section at full size.
(_bfd_save_evax_section): Memcpy section contents directly.
* evax.h (ALPHA_R_SWREL32, ALPHA_R_SWREL64): Remove.
(evax_reloc_table): Remove.
* hosts/alphavms.h (O_ACCMODE): Define if needed.
* makefile.vms: Add better support for DEC C compilation
Add evax.h dependencies
* reloc.c (bfd_get_reloc_size): Add case for 16 byte reloc.
(BFD_RELOC_SWREL32,BFD_RELOC_SWREL64): Remove.
(BFD_RELOC_ALPHA_BASEREG): Remove.
* bfd-in2.h, libbfd.h: Rebuild.
1996-08-08 16:27:21 +00:00
Stu Grossman
2055bf857d
* aoutx.h bfd-in.h bfd-in2.h opncls.c riscix.c som.c targets.c:
...
Change NO_FLAGS to BFD_NO_FLAGS to avoid conflict with an HPUX
include file.
* libbfd.c: Create dummy getpagesize() macro if HAVE_GETPAGESIZE
isn't defined.
1996-08-08 06:27:01 +00:00
Jackie Smith Cashion
d1b40d8eeb
Wed Jul 31 15:00:12 1996 James G. Smith <jsmith@cygnus.co.uk>
...
* reloc.c: (BFD_RELOC_ARM_OFFSETIMM8, BFD_RELOC_ARM_HWLITERAL):
Added, for internal use by the ARM gas.
* libbfd.h: Rebuilt
* bfd-in2.h: Rebuilt
1996-07-31 14:34:21 +00:00
Ian Lance Taylor
f4e14cb901
* configure.in: Set and substitute VERSION, BFD_HOST_64BIT_LONG
...
(replacing HOST_64BITLONG), BFD_HOST_64_BIT_DEFINED,
BFD_HOST_64_BIT, and BFD_HOST_U_64_BIT. Add bfd-in2.h:bfd-in2.h
to AC_OUTPUT call.
* configure: Rebuild.
* bfd-in.h (BFD_ARCH_SIZE): Define as @wordsize@, not @WORDSIZE@.
(BFD_HOST_64_BIT): Define conditionally.
(BFD_HOST_U_64_BIT): Define when BFD_HOST_64_BIT is defined.
(bfd_vma): Typedef as BFD_HOST_U_64_BIT.
(symvalue, bfd_size_type): Likewise.
* bfd-in2.h: Rebuild.
* Makefile.in (do_clean): Remove bfd-tmp.h.
(do_distclean): Remove bfd-in3.h.
(stmp-bfd.h): Just do copy-if-change bfd-in3.h bfd.h.
(bfd-in3.h): New target.
1996-07-19 00:48:20 +00:00
Martin Hunt
50bd50d48f
start-sanitize-d10v
...
Wed Jul 17 14:51:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* Makefile.in (ALL_MACHINES): Add cpu-d10v.o
(BFD32_BACKENDS) Add elf32-d10v.o
* archures.c: Add bfd_d10v_arch.
* bfd-in2.h: Add bfd_d10v_arch.
* config.bfd (d10v-*-*): New target.
* configure: (bfd_elf32_d10v_vec) New vector.
* configure.in: (bfd_elf32_d10v_vec) New vector.
* cpu-d10v.c: New file.
* elf.c (prep_headers): Added case bfd_arch_d10v.
* elf32-d10v.c: New file.
* libbfd.h: Rebuild.
* reloc.c (BFD_RELOC_D10V_10_PCREL_R, BFD_RELOC_D10V_10_PCREL_L, BFD_RELOC_D10V_18,
BFD_RELOC_D10V_18_PCREL): Define.
* targets.c (bfd_elf32_d10v_vec): New vector.
end-sanitize-d10v
1996-07-18 00:47:05 +00:00
Ian Lance Taylor
4b2ef5d8bf
remove sanitization accidentally inserted in last commit
1996-07-17 13:28:31 +00:00
Stu Grossman
9676e4461a
* archures.c bfd-in2.h: Add bfd_mach_i386_i386 and
...
bfd_mach_i386_i8086 machine types.
1996-07-17 06:51:21 +00:00
Stu Grossman
3cc21bf602
* bfd-in2.h: Add bfd_mach_i386_i386 and bfd_mach_i386_i8086
...
machine types.
1996-07-15 23:41:21 +00:00
Jeff Law
34255b708c
No longer need to sanitize away h8/s stuff.
1996-07-05 18:30:03 +00:00
Ian Lance Taylor
c3d8e071bf
Tue Jun 18 14:42:58 1996 Klaus Kaempf <kkaempf@progis.de>
...
Added support for Alpha OpenVMS:
* evax.h, evax-alpha.c, evax-egsd.c, evax-emh.c: New files.
* evax-etir.c, evax-misc.c, hosts/alphavms.h: New files.
* config.h-vms, makefile.vms: New files.
* config.bfd (alpha-*-*vms*): New target.
* configure.in (evax_alpha_vec): New target vector.
* configure: Rebuild.
* reloc.c (BFD_RELOC_SWREL32, BFD_RELOC_SWREL64): Define.
(BFD_RELOC_ALPHA_LINKAGE, BFD_RELOC_ALPHA_BASEREG): Define.
* targets.c (bfd_target_evax_flavour): Define.
(evax_alpha_vec): Declare.
(bfd_target_vector): Add ecoffalpha_little_vec and evax_alpha_vec
if BFD64 is defined.
* bfd-in2.h, libbfd.h: Rebuild.
* Makefile.in: Rebuild dependencies.
(BFD64_BACKENDS): Add evax-alpha.o, evax-egsd.o, evax-etir.o,
evax-emh.o, and evax-misc.o.
(BFD64_BACKENDS_CFILES): Add evax-alpha.c, evax-egsd.c,
evax-etir.c, evax-emh.c, and evax-misc.c.
(HFILES): Add evax.h.
1996-06-18 19:07:51 +00:00
David Edelsohn
d1f74cd2c3
* aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
...
(aout_32_sunos4_write_object_contents): Likewise.
* aoutx.h (NAME(aout,machine_type)): Handle
bfd_mach_sparc_{sparclet,sparclite}.
* archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define.
(bfd_mach_sparc_v9_p): Update.
* cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite.
* libaout.h (enum machine_type): Add M_SPARCLET.
* sunos.c (MACHTYPE_OK): Define.
* bfd-in2.h: Regenerated.
1996-04-02 21:28:33 +00:00
Ian Lance Taylor
5a28331f6d
* section.c (SEC_LINK_ONCE): Define.
...
(SEC_LINK_DUPLICATES): Define.
(SEC_LINK_DUPLICATES_DISCARD): Define.
(SEC_LINK_DUPLICATES_ONE_ONLY): Define.
(SEC_LINK_DUPLICATES_SAME_SIZE): Define.
(SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
* bfd-in2.h: Rebuild.
* coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
(styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
into SEC_EXCLUDE. If IMAGE_SCN_LNK_COMDAT is set, set
SEC_LINK_ONCE, and look through the symbol table for the setting
for SEC_LINK_DUPLICATES.
(coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
set for a section, find the section symbol in the symbol table,
and set the aux entry based on SEC_LINK_DUPLICATES.
* coffgen.c (coff_print_symbol): Add a space before "checksum".
* coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
* coff-i386.c (i386coff_vec): Likewise.
* coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
1996-03-29 21:33:59 +00:00
Ian Lance Taylor
ff0e4a9341
Remove SEC_LINKER_MARK, and add a linker_mark bitfield to the asection
...
structure instead.
1996-03-27 22:23:18 +00:00
Ian Lance Taylor
7ec49f9133
* section.c (SEC_LINKER_MARK): Define.
...
* bfd-in2.h: Rebuild.
* aoutx.h (NAME(aout,final_link)): Mark sections included in the
link.
(aout_link_input_bfd): Don't link unmarked sections.
* cofflink.c (_bfd_coff_final_link): Mark sections included in the
link.
(_bfd_coff_link_input_bfd): Don't link unmarked sections.
* coff-ppc.c (ppc_bfd_coff_final_link): Mark sections included in
the link.
* elflink.h (elf_bfd_final_link): Mark sections included in the
link.
(elf_link_input_bfd): Don't link unmarked sections.
* xcofflink.c (_bfd_xcoff_bfd_final_link): Mark sections included
in the link.
(xcoff_link_input_bfd): Don't link unmarked sections.
1996-03-27 19:21:19 +00:00
J.T. Conklin
871a3f3b24
* bfd.c (tdata): Add netbsd_core_data.
...
* bfd-in2.h: Regenerated.
1996-02-21 00:29:38 +00:00
Ian Lance Taylor
b7384d226b
Add reloc.c entries MIPS_CALL_HI16/MIPS_CALL_LO16.
1996-02-14 01:36:01 +00:00
Ian Lance Taylor
e9f03cd450
* reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define.
...
(BFD_RELOC_MIPS_GOT_LO16): Define.
* bfd-in2.h, libbfd.h: Rebuild.
* elf32-mips.c (mips_reloc_map): Map new relocs.
1996-02-13 22:08:52 +00:00
Ian Lance Taylor
047c57ac71
Rename XL to JX, and remove sanitization.
1996-02-06 19:15:26 +00:00
Ian Lance Taylor
cbe75cb664
* archures.c (bfd_mach_i960_hx): Define.
...
* bfd-in2.h: Rebuild.
* cpu-i960.c (scan_960_mach): Accept machine "hx".
(MATRIX): Expand entries for HX.
(arch_info_struct): Add i960:hx entry.
* bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
* coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
(coff_set_flags): Handle bfd_mach_i960_hx.
1996-02-05 23:57:39 +00:00
David Edelsohn
75c9ddc9c5
* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
...
of flags, only flags used are controlled by mach number. Bump up
output file mach number to highest of input file mach numbers.
(elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
(elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
Also, delete v8plus sanitization.
1996-01-24 18:45:50 +00:00
David Edelsohn
049f3d4c75
* bfd-in2.h: Regenerated.
1996-01-23 00:44:17 +00:00
David Edelsohn
5bc513b4fb
* archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
...
start-sanitize-v8plus
(bfd_mach_sparc_{v8plus,v8plusa}): Define.
end-sanitize-v8plus
(bfd_mach_sparc_v9a): Define.
* bfd-in2.h: Regenerated.
* aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
bfd_mach_sparc_v9.
* config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
to bfd_elf32_sparc_vec.
* cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
start-sanitize-v8plus
Add v8plus{,a} support.
end-sanitize-v8plus
Add v9a support.
start-sanitize-v8plus
* elf32-sparc.h: #include "elf/sparc.h".
(elf32_sparc_set_private_flags, elf32_sparc_copy_private_bfd_data,
elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
elf32_sparc_final_write_processing): New functions.
(bfd_elf32_bfd_set_private_flags, bfd_elf32_bfd_copy_private_bfd_data,
bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
elf_backend_final_write_processing): Define.
end-sanitize-v8plus
1996-01-22 17:15:49 +00:00
Michael Meissner
4500a1128e
Add new PPC relocations
1996-01-15 22:50:07 +00:00
Michael Meissner
83f4323e5a
Add support for SHT_ORDERED and SHF_EXCLUDE
1996-01-11 22:47:04 +00:00
Ian Lance Taylor
64d5f5d061
Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
...
* coff-alpha.c (alpha_relocate_section): During final link, allow
output .lita section to be bigger than 64k by adjusting gp value
on a per-input section basis.
* libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
field.
(struct ecoff_section_tdata): Add gp field.
Tue Jan 9 12:00:36 1996 Ian Lance Taylor <ian@cygnus.com>
Handle Alpha ECOFF changes in OSF/1 3.2.
* libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
field.
* coff-alpha.c: Include "aout/ar.h".
(alpha_ecoff_get_relocated_section_contents): Don't require an
ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
3.2 doesn't generate one.
(alpha_relocate_section): Likewise.
(alpha_ecoff_slurp_armap): Define.
(alpha_ecoff_slurp_extended_name_table): Define.
(alpha_ecoff_construct_extended_name_table): Define.
(alpha_ecoff_truncate_arname): Define.
(alpha_ecoff_write_armap): Define.
(alpha_ecoff_generic_stat_arch_elt): Define.
(alpha_ecoff_update_armap_timestamp): Define.
(ARFZMAG): Define.
(alpha_ecoff_read_ar_hdr): New static function.
(alpha_ecoff_get_elt_at_filepos): New static function.
(alpha_ecoff_openr_next_archived_file): New static function.
(alpha_ecoff_get_elt_at_index): New static function.
(alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
(ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
_bfd_ecoff to alpha_ecoff.
* ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
field from backend structure, rather than always calling
_bfd_get_elt_at_filepos.
* coff-mips.c (mips_ecoff_backend_data): Initialize
get_elt_at_filepos field.
* archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
from _bfd_generic_read_ar_hdr with minor changes.
(_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
* libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
* libbfd.h: Rebuild.
* bfd-in.h (BFD_IN_MEMORY): Define.
* libbfd-in.h (struct bfd_in_memory): Define.
* libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
(bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
(bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
(bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
* bfd.c (struct _bfd): Change iostream field from char * to PTR.
(bfd_get_size): Handle BFD_IN_MEMORY flag.
* cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
(bfd_open_file): Cast to PTR, not char *, when setting iostream.
(bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
* opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
iostream.
(bfd_openstreamr): Likewise.
* aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
BFD_IN_MEMORY is not set.
* riscix.c (riscix_some_aout_object_p): Likewise.
* bfd-in2.h, libbfd.h: Rebuild.
* targets.c (bfd_target): Add _bfd_get_elt_at_index field.
(BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
(bfd_get_elt_at_index): Define.
* archive.c (_bfd_generic_get_elt_at_index): Rename from
bfd_get_elt_at_index. Change index parameter from int to
symindex.
* libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
(_bfd_noarchive_get_elt_at_index): Define.
(_bfd_archive_bsd_get_elt_at_index): Define.
(_bfd_archive_coff_get_elt_at_index): Define.
* bfd-in2.h, libbfd.h: Rebuild.
* aout-target.h (MY_get_elt_at_index): Define if not defined.
* coff-rs6000.c (xcoff_get_elt_at_index): Define.
* ieee.c (ieee_get_elt_at_index): Define.
* libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
* oasys.c (oasys_get_elt_at_index): Define.
* som.c (som_get_elt_at_index): Define.
1996-01-09 20:40:39 +00:00
Ian Lance Taylor
4a4a66bdc9
* xcofflink.c (struct xcoff_loader_info): Add export_defineds
...
field.
(bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
(xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
for all symbols.
* bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
* bfd-in2.h: Rebuild.
1995-12-07 01:08:54 +00:00
Ian Lance Taylor
ffd1548911
* ihex.c: New file; support for Intel Hex format.
...
* targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
(ihex_vec): Declare.
(bfd_target_vector): Always include ihex_vec.
* bfd.c (struct _bfd): Add ihex_data field to tdata union.
* Makefile.in: Rebuild dependencies.
(BFD_LIBS): Add ihex.o
(BFD_LIBS_CFILES): Add ihex.c.
* bfd-in2.h: Rebuild.
1995-12-02 02:00:08 +00:00
Ian Lance Taylor
ae0a6bea51
* bfd.c (bfd_record_phdr): New function.
...
* bfd-in.h (bfd_record_phdr): Declare.
* bfd_in2.h: Rebuild.
1995-12-01 21:45:33 +00:00
Ian Lance Taylor
0bb8ff191e
* libbfd.c (bfd_get_file_window): Change writable parameter from
...
int to boolean; update all callers. Pass MAP_SHARED if not
writable--it's required on Solaris. Cast fprintf argument to
avoid warning.
* bfd-in.h (bfd_get_file_window): Update declaration.
* bfd-in2.h: Rebuild.
* aoutx.h: Update calls to bfd_get_file_window.
1995-11-08 21:24:33 +00:00
Ian Lance Taylor
092abcdfba
* libbfd.c (bfd_get_file_window): Change return type to boolean.
...
Cast realloc and malloc return values. If malloc or realloc fail,
set bfd_error_no_memory.
* bfd-in.h (bfd_get_file_window): Change type to boolean.
* bfd-in2.h: Rebuild.
1995-11-08 16:32:40 +00:00
Ken Raeburn
4fe6d901bd
Changes for mmap; details in change log.
...
Added some new interfaces, and a new entry in the target vector. Under the new
interfaces, mmap will be used if available, otherwise malloc/seek/read, as
before. Old interfaces all still intact.
Most configurations (including all used by "--enable-targets=all") simply
changed to call the default routine for that entry in the target vector. I
might've missed some targets only included in special configurations.
Support for a.out symbol and string table reading now goes through new
interfaces, and will use mmap when available.
Linker hooks (e.g., avoiding reallocation under malloc) not ready yet.
1995-11-06 10:08:03 +00:00
Ian Lance Taylor
2d7de17d61
* xcofflink.c: More improvements, mostly to fix handling of
...
constructors and a few other special cases.
* coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
zero, reverting yesterday's change.
* bfd-in.h (bfd_xcoff_link_record_set): Declare.
(bfd_xcoff_link_count_reloc): Declare.
(bfd_xcoff_record_link_assignment): Declare.
* bfd-in2.h: Rebuild.
1995-10-27 22:20:19 +00:00
Ian Lance Taylor
28a0c10399
* xcofflink.c: Extensive changes to support linking shared objects
...
and generating a .loader section.
* libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
(struct xcoff_section_tdata): Add first_symndx, last_symndx,
and ldrel_count fields.
* libcoff.h: Rebuild.
* coff-rs6000.c (xcoff_howto_table): Correct reloc names.
* coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
is set.
* bfd-in.h (bfd_xcoff_import_symbol): Declare.
(bfd_xcoff_export_symbol): Declare.
(bfd_xcoff_size_dynamic_sections): Declare.
* bfd-in2.h: Rebuild.
1995-10-25 15:37:47 +00:00
Ian Lance Taylor
54406786f0
* bfd-in.h (struct bfd_link_needed_list): Rename from
...
bfd_elf_link_needed_list.
* bfd-in2.h: Rebuild.
* elf.c, elflink.h, libelf.h: Corresponding changes.
1995-10-16 23:10:56 +00:00
Ian Lance Taylor
0322af0d62
* targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
...
_bfd_read_ar_hdr_fn.
* libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
* bfd-in2.h, libbfd.h: Rebuild.
* archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
return value.
(do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
(bfd_slurp_bsd_armap_f2): Likewise.
(_bfd_slurp_extended_name_table): Likewise.
1995-10-09 15:29:04 +00:00
Ian Lance Taylor
c53fac125a
* targets.c (bfd_target): Add _bfd_read_ar_hdr field. Modify
...
BFD_JUMP_TABLE_ARCHIVE accordingly.
* libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
(_bfd_compute_and_write_armap): Declare.
(_bfd_generic_read_ar_hdr): Declare.
(_bfd_read_ar_hdr): Define.
(_bfd_noarchive_read_ar_hdr): Define.
(_bfd_archive_bsd_read_ar_hdr): Define.
(_bfd_archive_coff_read_ar_hdr): Define.
* archive.c: Change all callers of _bfd_snarf_ar_hdr to call
_bfd_read_ar_hdr instead.
(_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
(_bfd_compute_and_write_armap): Rename from
compute_and_write_armap. Make non-static. Change all callers.
* ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
than _bfd_snarf_ar_hdr.
* aout-target.h (MY_read_ar_hdr): Define if not defined.
* ieee.c (ieee_read_ar_hdr): Define.
* libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
* oasys.c (oasys_read_ar_hdr): Define.
* som.c (som_read_ar_hdr): Define.
* bfd-in2.h, libbfd.h: Rebuild.
1995-10-06 16:15:35 +00:00