aboutsummaryrefslogtreecommitdiff
path: root/bfd/targets.c
AgeCommit message (Collapse)AuthorFilesLines
1996-01-09Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com>Ian Lance Taylor1-0/+3
* 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-05 * config.bfd (i[345]86-*-freebsd*): Add target.Fred Fish1-2/+6
* configure.in (i386freebsd_vec): Add vec. * configure: Regenerate. * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o. (BFD32_BACKENDS_CFILES): Add i386freebsd.c. Rebuild dependencies.. * freebsd.h: New file. * i386freebsd.c: New file. * targets.c (i386freebsd_vec): Declare. (bfd_target_vector): Add i386freebsd_vec. * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE * i386netbsd.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
1995-12-02 * ihex.c: New file; support for Intel Hex format.Ian Lance Taylor1-0/+6
* 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-11-29 * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory ifIan Lance Taylor1-3/+2
obstack_alloc fails. (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish fails. * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails. * Many files: don't set bfd_error_no_memory if one of the above routines fails.
1995-11-15 * targets.c (bfd_target): Change type of second argument toIan Lance Taylor1-1/+3
_bfd_print_private_bfd_data from void * to PTR. * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast using PTR rather than void *. * bfd-in2, libbfd.h: Rebuild. * peicode.h (pe_print_private_bfd_data): Change vfile from void * to PTR. * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as _bfd_generic_bfd_print_private_bfd_data rather than casting bfd_true.
1995-11-06Changes for mmap; details in change log.Ken Raeburn1-2/+7
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-10-06 * targets.c (bfd_target): Add _bfd_read_ar_hdr field. ModifyIan Lance Taylor1-0/+7
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-09-28 * config.bfd: Add arm-*-coff.David Edelsohn1-0/+4
* configure.in, configure: Add armcoff_{little,big}_vec. * targets.c (armcoff_{little,big}_vec): Declare. (bfd_target_vector): Add armcoff_{little,big}_vec. * coff-arm.c (armcoff_{little,big}_vec): Always define.
1995-09-27Removed inactive bfd entriesKim Knuttila1-4/+0
1995-09-27 * targets.c (bfd_find_target): Remove debugging code.Ian Lance Taylor1-1/+0
1995-09-27Configury for new ppc bfdKim Knuttila1-0/+13
1995-09-19 * targets.c (bfd_target): Remove unused align_power_min field.Ian Lance Taylor1-4/+0
* bfd-in2.h: Rebuild. * All backends: Remove initialization of align_power_min.
1995-09-06 * configure.in: Call AC_CONFIG_HEADER. SubstituteIan Lance Taylor1-4/+10
HOST_64BIT_LONG. Check that various header files exist. Check that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc and/or free need to be declared. Don't make a link to sysdep.h. Define TRAD_HEADER for various hosts. * configure: Rebuild. * configure.host: Don't set my_host. Add definitions taken from host header files for various entries. Remove entries which now do nothing. * acconfig.h: New file. * config.h.in: New file, built by autoheader. * sysdep.h: New file. * Makefile.in (do_distclean): Don't remove sysdep.h. (RECONFIG): Remove. (LOCAL_H_DEPS): New variable. ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and $(RECONFIG). ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise. ($(OPTIONAL_BACKENDS)): Likewise. (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than looking through sysdep.h. * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile. (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG. (fprintf_vma, sprintf_vma): Likewise. (int64_type, uint64_type): Don't define. * bfd-in2.h: Rebuild. * archures.c, bfd.c, srec.c: Include <ctype.h>. * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS. * lynx-core.c: Include stuff from old hosts/lynx.h. * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL), rather than NO_FCNTL. * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__ rather than NATIVE_HPPAHPUX_COMPILER. * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it is defined. * hosts/*.h: Remove all header files which merely include, declare, and define things. Leave header files which define information needed by trad-core.c.
1995-07-19 * coff-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.David Edelsohn1-5/+17
* configure.in (armpe_vec, armpei_vec): Add bi-endian support. * configure: "regenerated". * pe-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM. (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME. * pei-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM. (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME. * targets.c (armpe_vec, armpei_vec): Deleted. (armpe_little_vec, armpe_big_vec, armpei_little_vec, armpei_big_vec): Added. * config/arm-pe.mt (DEFAULT_VECTOR): Default is armpe_little_vec. (SELECT_VECS): Add bi-endian support.
1995-07-03 * targets.c (enum bfd_flavour): Add bfd_target_msdos_flavour here,Ian Lance Taylor1-1/+2
rather than in bfd-in2.h.
1995-06-29Wed Jun 28 18:04:42 1995 Steve Chamberlain <sac@slash.cygnus.com>Steve Chamberlain1-4/+28
* Makefile.in: versados.o is now conditionally built. * coffcode.h (add_data_entry): New function. (coff_write_object_contents): Clean up. Calculate data entries. * cofflink.c (_bfd_coff_generic_relocate_section): .reloc and .edata sections are IMAGE_BASED too. If there's a base_file then write out base information. * configure.host (i386-*-pe): New. * syms.c (coff_section_type): Only scan prefixes. * targets.c (bfd_target_vector): Versados is now conditionally built. * config/m68k-coff.mt: Build versados.o * hosts/i386pe.h: New file.
1995-05-09Add little endian PowerPC support.Michael Meissner1-1/+9
1995-03-08 * configure.in (SELECT_VECS): Split bfd_elf32_arc_vec into big/little.David Edelsohn1-6/+14
* targets.c (bfd_target_vector): Likewise. * elf32-arc.c (TARGET_BIG_SYM): Define. (TARGET_BIG_NAME): Define. * config/arc-elf.mt (DEFAULT_VECTOR): Set to bfd_elf32_littlearc_vec. (SELECT_VECS): Add bfd_elf32_bigarc_vec.
1995-01-16 * archures.c, Makefile.in, targets.c, bfd-in2.h, coffcode.h,Steve Chamberlain1-0/+7
config.bfd, configure.in, config/w65.mt: Initial support for the W65.
1994-11-25Rename r16 files to rce, and fix some more .Sanitize typos.Michael Tiemann1-6/+6
1994-11-24Safely check in r16 targets for binutils.Michael Tiemann1-0/+6
1994-11-24 * coff-sh.c (shlcoff_vec): New target vector.Steve Chamberlain1-0/+4
(no_archive): New function. * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Handle little endian SH. * configure.in: Handle shl. * targets.c (bfd_target_vector): Add shlcoff_vec. * config/sh-coff.mt (SELECT_VECS): Handle shl_coff_vec.
1994-10-25 * Makefile.in (ALL_MACHINES): Add tekhex.o.Ian Lance Taylor1-2/+0
* targets.c (bfd_target_vector): If SELECT_VECS is not defined, include tekhex_vec. * tekhex.c (NIBBLE, ISHEX): Cast array arguments to unsigned char. (getvalue, getsym, out): Likewise. (find_chunk): Remove unused variable s. (first_phase): Remove unused variable s. (pass_over): Remove unused variable address. (tekhex_object_p): Remove unused variable section. (move_section_contents): Change return type from boolean to void. (tekhex_write_object_contents): Remove unused variables tdata and list.
1994-10-21 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add case forIan Lance Taylor1-0/+3
_construct_extended_name_table. (bfd_target): Add _bfd_construct_extended_name_table. * archive.c (_bfd_archive_bsd_construct_extended_name_table): New function. (_bfd_archive_coff_construct_extended_name_table): New function. (_bfd_construct_extended_name_table): Renamed by adding a leading underscore, and made externally visible. Added trailing_slash argument, and used it instead of elf_style. Changed type of tablen to bfd_size_type *. (_bfd_write_archive_contents): Use BFD_SEND to call construct_extended_name_table. Use the returned name. * libbfd-in.h (_bfd_construct_extended_name_table): Declare. (_bfd_noarchive_construct_extended_name_table): Define. (_bfd_archive_bsd_construct_extended_name_table): Declare. (_bfd_archive_coff_construct_extended_name_table): Declare. * bfd-in2.h: Rebuild. * libbfd.h: Rebuild. * som.c (som_construct_extended_name_table): New static function. * aout-target.h (MY_construct_extended_name_table): Define. * coff-rs6000.c (rs6000coff_construct_extended_name_table): Define. * ieee.c (ieee_construct_extended_name_table): Define. * libecoff.h (_bfd_ecoff_construct_extended_name_table): Define. * oasys.c (oasys_construct_extended_name_table): Define.
1994-10-18 * binary.c: New file for raw binary output format.Ian Lance Taylor1-2/+8
* Makefile.in (BFD_LIBS): Add binary.o. (CFILES): Add binary.c. * targets.c (binary_vec): Declare. (bfd_target_vector): Include binary_vec.
1994-09-13* configure.host (sparc-*-netbsd): use sparcnbsd.J.T. Conklin1-95/+114
(ns32k-*-netbsd): use ns32knbsd. * hosts/{nbsd,i386nbsd,ns32knbsd,sparcnbsd}.h: New files, NetBSD host support. * sparcnetbsd.c: New file, adds support for NetBSD/sparc. * config/sparc-nbsd.mt: Likewise. * netbsd.h: New file, definitions common to all netbsd ports. * i386netbsd.c: Use it. * ns32knetbsd.c: Use it. * Makefile.in, configure.in, targets.c, config/i386-nbsd.mt, config/ns32k-nbsd.mt: canonicalize netbsd targets to conform to file/variable naming conventions. * i386netbsd.c: New file, renamed from netbsd386.c. * ns32knetbsd.c: New file, renamed from netbsd532.c.
1994-06-15unsanitize v9Ken Raeburn1-4/+2
1994-05-20Removed sanitization of PowerPC NetWare. Also rebuilt MakefileIan Lance Taylor1-2/+3
dependencies.
1994-04-07 * targets.c (bfd_target): Add fieldsIan Lance Taylor1-8/+25
_bfd_get_dynamic_symtab_upper_bound, _bfd_canonicalize_dynamic_symtab, _bfd_get_dynamic_reloc_upper_bound, _bfd_canonicalize_dynamic_reloc. (BFD_JUMP_TABLE_DYNAMIC): Define. * libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound): Define. (_bfd_nodynamic_canonicalize_dynamic_symtab): Define. (_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define. (_bfd_nodynamic_canonicalize_dynamic_reloc): Define. * bfd.c (bfd_get_dynamic_symtab_upper_bound): Define. (bfd_canonicalize_dynamic_symtab): Define. (bfd_get_dynamic_reloc_upper_bound): Define. (bfd_canonicalize_dynamic_reloc): Define. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt.
1994-04-06 * targets.c (bfd_target): Rearranged fields in target vector.Ian Lance Taylor1-56/+95
Removed _bfd_debug_info_start, _bfd_debug_info_end and _bfd_debug_info_accumulate, which were never used. (BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined. (BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined. (BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined. (BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined. * All backends: Changed to use the new BFD_JUMP_TABLE_* macros rather than the single JUMP_TABLE macro. Removed many of the weird macro definitions needed to support the monolithic JUMP_TABLE. * bfd-in.h (JUMP_TABLE): Removed. * libbfd-in.h: Define a bunch of macros, and declare a few functions, for use with the new BFD_JUMP_TABLE_* macros. * libbfd.c (_bfd_dummy_new_section_hook): Removed. (bfd_false): Set bfd_error_invalid_operation. (bfd_nullvoidptr): Likewise. (bfd_n1): New function. (_bfd_nocore_core_file_matches_executable_p): Renamed from _bfd_dummy_core_file_matches_executable_p. (_bfd_nocore_core_file_failing_command): Similar rename. Set bfd_error_invalid_operation. (_bfd_nocore_core_file_failing_signal): Likewise. (_bfd_generic_get_section_contents): Renamed from bfd_generic_get_section_contents. Changed all callers. (_bfd_generic_set_section_contents): Similar rename. * ieee.c: #if 0 out ieee_bfd_debug_info_start, ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate. They were never called. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt.
1994-04-01 * targets.c (bfd_target): Add _bfd_free_cached_info field.Ian Lance Taylor1-0/+3
* bfd.c (bfd_free_cached_info): Define. * bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info. * bfd-in2.h: Rebuilt. * All backends: Initialize bfd_free_cached_info entry point to bfd_true.
1994-03-30Wed Mar 30 16:25:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)Ian Lance Taylor1-6/+6
Changes to let BFD return an error indication from get_symtab_upper_bound, bfd_canonicalize_symtab, bfd_get_reloc_upper_bound, and bfd_canonicalize_reloc. They now return long instead of unsigned int, and use -1 to indicate an error. Along the way, rename get_symtab_upper_bound to bfd_get_symtab_upper_bound. * bfd.c (bfd_get_reloc_upper_bound): Return long, and -1 on errors. (bfd_canonicalize_reloc): Likewise. * syms.c (bfd_get_symtab_upper_bound): Renamed from get_symtab_upper_bound. * targets.c (bfd_target): Renamed _get_symtab_upper_bound to _bfd_get_symtab_upper_bound, and changed it and _bfd_canonicalize_symtab and _get_reloc_upper_bound and _bfd_canonicalize_reloc to all return long. * aoutx.h (NAME(aout,get_symtab)): Return long, and -1 on errors. (NAME(aout,canonicalize_reloc)): Likewise. (NAME(aout,get_reloc_upper_bound)): Likewise. (NAME(aout,get_symtab_upper_bound)): Likewise. * bout.c (b_out_canonicalize_reloc): Likewise. (b_out_get_reloc_upper_bound): Likewise. * coffcode.h (coff_canonicalize_reloc): Likewise. * coffgen.c (coff_get_symtab_upper_bound): Likewise. (coff_get_symtab): Likewise. (coff_get_reloc_upper_bound): Likewise. * ecoff.c (ecoff_get_symtab_upper_bound): Likewise. (ecoff_get_symtab): Likewise. (ecoff_canonicalize_reloc): Likewise. * elfcode.h (elf_get_symtab_upper_bound): Likewise. (elf_get_reloc_upper_bound): Likewise. (elf_canonicalize_reloc): Likewise. (elf_get_symtab): Likewise. * hp300hpux.c (MY(get_symtab)): Likewise. (MY(get_symtab_upper_bound)): Likewise. (MY(canonicalize_reloc)): Likewise. * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise. * ieee.c (ieee_slurp_external_symbols): Change return type to boolean. Check for errors from get_symbol. (ieee_slurp_symbol_table): Change return type to boolean. Check for errors from ieee_slurp_external_symbols. (ieee_get_symtab_upper_bound): Return long, and -1 on errors. (ieee_get_symtab): Likewise. (ieee_get_reloc_upper_bound): Likewise. (ieee_canonicalize_reloc): Likewise. * mipsbsd.c (MY(canonicalize_reloc)): Likewise. * nlmcode.h (nlm_get_symtab_upper_bound): Likewise. (nlm_get_symtab): Likewise. (nlm_get_reloc_upper_bound): Likewise. (nlm_canonicalize_reloc): Likewise. * oasys.c (oasys_get_symtab_upper_bound): Likewise. (oasys_get_symtab): Likewise. (oasys_get_reloc_upper_bound): Likewise. (oasys_canonicalize_reloc): Likewise. * som.c (som_get_symtab_upper_bound): Likewise. (som_get_symtab): Likewise. (som_get_reloc_upper_bound): Likewise. (som_canonicalize_reloc): Likewise. * srec.c (srec_get_symtab_upper_bound): Likewise. (srec_get_symtab): Likewise. (srec_get_reloc_upper_bound): Define as bfd_0l. (srec_canonicalize_reloc): Likewise. * tekhex.c (tekhex_get_symtab): Return long, and -1 on errors. (tekhex_get_symtab_upper_bound): Likewise. (tekhex_get_reloc_upper_bound): Define as bfd_0l. (tekhex_canonicalize_reloc): Likewise. * libaout.h (NAME(aout,get_symtab_upper_bound)): Change declaration to return long. (NAME(aout,get_symtab)): Likewise. (NAME(aout,canonicalize_reloc)): Likewise. (NAME(aout,get_reloc_upper_bound)): Likewise. * libcoff-in.h (coff_get_symtab_upper_bound): Likewise. (coff_get_symtab): Likewise. (coff_get_reloc_upper_bound): Likewise. * libecoff.h (ecoff_get_symtab_upper_bound): Likewise. (ecoff_get_symtab): Likewise. (ecoff_canonicalize_reloc): Likewise. * libelf.h (bfd_elf32_get_symtab_upper_bound): Likewise. (bfd_elf32_get_symtab): Likewise. (bfd_elf32_get_reloc_upper_bound): Likewise. (bfd_elf32_canonicalize_reloc): Likewise. (bfd_elf64_get_symtab_upper_bound): Likewise. (bfd_elf64_get_symtab): Likewise. (bfd_elf64_get_reloc_upper_bound): Likewise. (bfd_elf64_canonicalize_reloc): Likewise. * libnlm.h (nlmNAME(get_symtab_upper_bound)): Likewise. (nlmNAME(get_symtab)): Likewise. (nlmNAME(get_reloc_upper_bound)): Likewise. (nlmNAME(canonicalize_reloc)): Likewise. * archive.c (compute_and_write_armap): Use error_return and no_memory_return labels rather than freeing information in various places. Change storage, symcount and src_count to long. Check errors from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab. * bout.c (b_out_relax_section): Change reloc_size to long. Check for errors from bfd_get_reloc_upper_bound and bfd_canonicalize_reloc. (b_out_get_relocated_section_contents): Likewise. * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise. * elf32-mips.c: Likewise. * elf32-hppa.c (hppa_elf_stub_finish): Likewise. (hppa_look_for_stubs_in_section): Check for errors from bfd_get_symtab_upper_bound, bfd_canonicalize_symtab, and bfd_canonicalize_reloc. * ecofflink.c (bfd_ecoff_debug_accumulate_other): Check for errors from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab. * linker.c (generic_link_read_symbols): Likewise. (_bfd_generic_final_link): Check for errors from bfd_get_reloc_upper_bound and bfd_canonicalize_reloc. * reloc.c (bfd_generic_get_relocated_section_contents): Likewise. * reloc16.c (bfd_coff_reloc16_relax_section): Likewise. (bfd_coff_reloc16_get_relocated_section_contents): Likewise. * libbfd.c (bfd_0l): New function. * libbfd-in.h (bfd_0l): Declare. * aix386-core.c: Change get_symtab_upper_bound, get_symtab, get_reloc_upper_bound, and canonicalize_reloc to use bfd_0l rather than bfd_0u. * cisco-core.c, hppabsd-core.c, hpux-core.c: Likewise. * irix-core.c, osf-core.c, ptrace-core.c, trad-core.c: Likewise. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt. * libcoff.h: Rebuilt. * nlm32-sparc.c (nlm_sparc_read_reloc): Remove unused variables temp and name.
1994-03-30 * i386dynix.c, config/i386-dynix.mt: New files, handling DynixPeter Schauer1-1/+10
variant of a.out. * configure.in, config.bfd: Use them for Dynix. * Makefile.in: Add dependencies for i386dynix.o. * targets.c: Add definition for i386dynix_vec.
1994-03-15 * Most files:David MacKenzie1-4/+4
Replace DEFUN and DEFUN_VOID with K&R-style function definition. Indent some of them to GNU standards. * aout32.c, archures.c, core.c, cpu-h8300.c, cpu-i960.c, cpu-m68k.c, cpu-m88k.c, cpu-mips.c, cpu-vax.c, ctor.c, demo64.c, elf32-hppa.h, gen-aout.c, host-aout.c, init.c, libhppa.h, libieee.h, liboasys.h, newsos3.c, som.h, stab-syms.c, sunos.c: Update copyright years.
1994-02-28Modified Files:Kung Hsu1-1/+4
ChangeLog targets.c Makefile.in cache.c Added Files: i386os9k.c * i386os9k.c : new file to handle os9k format bfd. * Makefile.in : Handle new file i386os9k.c * bfd-in2.h : Add bfd_target_os9k_flavour. * targets.c : Add bfd_target_os9k_flavour and i386os9k_vec. * cache.c : Initialize cache_sentinel to 0.
1994-02-27Sun Feb 27 15:22:36 1994 Stan Shebs (shebs@andros.cygnus.com)Stan Shebs1-1/+21
* targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that check all the pointer dereferences. Enabled via DEBUG_BFD_SEND. * bfd-in2.h: Rebuilt.
1994-02-17 * bfd.c (bfd_get_error, bfd_set_error): New functions.David MacKenzie1-19/+19
(bfd_error): Make static. (bfd_error_type): Renamed from bfd_ec. Prepend "bfd_error_" to all values. * bfd-in2.h: Regenerated. * aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h, aoutf1.h, aoutx.h, archive.c, archures.c, bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c, coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c, ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c, elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c, i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c, lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c, ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c, srec.c, sunos.c, syms.c, targets.c, tekhex.c, trad-core.c: Change callers.
1994-01-24 * format.c (bfd_check_format_matches): New function.David MacKenzie1-6/+4
(bfd_check_format): Call it. (bfd_matching_formats): Function removed. * targets.c: Replace the vector added on Jan 21 with a count of entries in default_vector. * bfd-in2.h: Regenerated.
1994-01-22 * targets.c: Add a vector of matching format names.David MacKenzie1-20/+18
* format.c (bfd_matching_formats): New function to return it. (bfd_check_format): Set it. * bfd-in2.h: Regenerated.
1993-12-30 Extensive changes to move the bulk of the linker into BFD so thatIan Lance Taylor1-7/+21
more efficient backend code can be written for specific object files. Only existing efficient backend is a.out. * seclet.c, seclet.h: Removed. * hash.c, linker.c, genlink.h: New files. * bfd-in.h: Removed bfd_error_vector. Declared hash table structures and functions. (JUMP_TABLE): Removed bfd_seclet_link, added bfd_link_hash_table_create, bfd_link_add_symbols and bfd_final_link. * All backends: Changed accordingly. * bfd-in2.h: Rebuilt. * bfd.c (struct _bfd): Added link_next and archive_pass fields. Removed ld_symbols field. (bfd_nonrepresentable_section, bfd_undefined_symbol, bfd_reloc_value_truncated, bfd_reloc_is_dangerous, bfd_error_vector): Removed. (bfd_default_error_trap, bfd_error_trap, bfd_error_nonrepresentabltrap): Removed. (bfd_get_relocated_section_contents): Pass link_info. Pass link_order instead of seclet. Pass symbols. (bfd_relax_section): Pass link_info. (bfd_seclet_link): Removed. (bfd_link_hash_table_create, bfd_link_add_symbols, bfd_final_link): New macros. * libbfd-in.h: If __GNUC__ is defined and alloca is not, define alloca as __builtin_alloca. Declare internal linking functions. * libbfd.h: Rebuilt. * libbfd.c (bfd_seek): Comment out fseek assertion. It's worked for months. * reloc.c (reloc_howto_type): Added error_message argument to special_function field. Changed all callers and all definitions. (bfd_get_reloc_size): Make argument a const pointer. (bfd_perform_relocation): Add error_message argument to hold string set if return value if bfd_reloc_dangerous. Changed all callers. (_bfd_final_link_relocate, _bfd_relocate_contents): New functions. * section.c (asection): Renamed seclets_head and seclets_tail to link_order_head and link_order_tail. * targets.c (bfd_target): Replaced seclet argument with link_info and link_order and symbols arguments in bfd_get_relocated_section_contents. Added symbols argument to bfd_relax_section. Removed bfd_seclet_link. Added bfd_link_hash_table_create, bfd_link_add_symbols and bfd_final_link. * libaout.h (struct aoutdata): Added external_syms, external_sym_count, external_strings, sym_hashes fields. (obj_aout_external_syms, obj_aout_external_sym_count, obj_aout_external_strings, obj_aout_sym_hashes): New accessor macros. (WRITE_HEADERS): Only output symbols if outsymbols is not NULL. * aoutx.h: Wrote new back end linker routines. (translate_to_native_sym_flags): Return boolean value. Don't use bfd_error_vector. (NAME(aout,write_syms)): Return boolean value. Check return value of translate_to_native_sym_flags and bfd_write. * aout-target.h (final_link_callback): New function. (MY_bfd_final_link): New function. * aout-adobe.c (aout_adobe_write_object_contents): Check return value of aout_32_write_syms. * hp300hpux.c (MY(write_object_contents)): Likewise. * i386lynx.c (WRITE_HEADERS): Likewise. * libaout.h (WRITE_HEADERS): Likewise. * bout.c: Changed functions to use link_info->callbacks rather than bfd_error_vector, and link_orders rather than seclets. * coff-alpha.c: Likewise. * coff-h8300.c: Likewise. * coff-h8500.c: Likewise. * coff-sh.c: Likewise. * coff-z8k.c: Likewise. * elf32-hppa.c: Likewise. * reloc16.c: Likewise. * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look up _gp in the hash table rather than in outsymbols. * coff-a29k.c (a29k_reloc): Pass errors back in new error_message argument rather than printing them. * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and link_order arguments rather than seclet. Changed all uses and definitions. (bfd_coff_reloc16_estimate): Pass link_info arguments. Changed all uses and definitions. * libcoff.h: Rebuilt. * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but not by ECOFF, make it scAbs. (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and rewritten. * elf32-mips.c (mips_elf_final_link): Renamed from mips_elf_seclet_link and rewritten. * elf32-hppa.c (elf32_hppa_stub_description): Added link_info field. (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub, hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section): Added link_info arguments. Changed all callers. * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is not NULL. * oasys.c (oasys_write_sections): Return boolean value rather than using bfd_error_vector. (oasys_write_object_contents): Check return value of oasys_write_sections. * hosts/std-host.h: Don't declare qsort or strtol. * Makefile.in: Rebuild dependencies. (BFD_LIBS): Removed seclet.o. Added hash.o and linker.o. (CFILES): Removed seclet.c. Added hash.c and linker.c. (HFILES): Removed seclet.h. Added genlink.h.
1993-12-01declare sparccoff_vecKen Raeburn1-0/+1
1993-11-30 * irix-core.c: New file for Irix 4 and Irix 5 core support.Ian Lance Taylor1-0/+9
Functions taken out of coff-mips.c. Handle vmap type VMAPFILE. * coff-mips.c: Irix 4 core file support moved to irix-core.c. * targets.c: If IRIX_CORE defined, include irix_core_vec in target_vector. * config/irix4.mh (HDEFINES): Add -DIRIX_CORE. (HDEPFILES): Define to be irix-core.o. * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE. (HDEPFILES): Define to be irix-core.o. * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed sco-core.o, which no longer exists. (CFILES): Added all *-core.c files. Rebuilt dependencies.
1993-11-17Need to declare nlm32_sparc_vec; oopsie.Sean Eric Fagan1-4/+9
1993-11-05doc cleanupDavid MacKenzie1-55/+61
1993-10-28 * configure.in, config/i386-mach3.mt: Update for new configurationJim Kingdon1-0/+1
(--with-targets and so on). * hosts/i386mach3.h: Declare errno. * targets.c: Declare i386mach3_vec.
1993-10-26 * targets.c (target_vector): Remove SCO_CORE. On Sep 11 1993,Jim Kingdon1-11/+9
we started using trad-core.c for SCO instead. * targets.c (target_vector): Re-enable generic ELF and NLM targets.
1993-10-26From Jeff Law and Pete Hoogenboom at Utah:Ken Raeburn1-4/+2
* elf32-hppa.h (hppa_elf_stub_finish): Add prototype. (ELF32_HPPA_R_ARG_RELOC): Renamed without the ELF32 prefix and moved into libhppa.h. All references changed. (ELF32_HPPA_R_CONSTANT, ELF32_HPPA_R_ADDEND): Likewise. (get_opcode and opcode defines): Move into libhppa.h * elf32-hppa.c (hppa_elf_insn2fmt): Rename and move info libhppa.h. * libhppa.h (HPPA_R_*): Moved here. Reformatted slightly to make for easier reading. (get_opcode): Moved here. FIXME! this really should be a C function inside the opcode library! (bfd_hppa_insn2fmt): Likewise. * targets.c (target_vector): Enable elf32-hppa vector. * elf32-hppa.c (hppa_elf_get_section_contents): Add new comments and clarify existing comments. Do not use DEFUN to declare this function. Fix numerous indention problems. Correctly handle cases where symbol extension section may need to be read from disk, read from memory, or built then read from memory. * elf32-hppa.h: Reformat with gnu-indent and hand fix numerous formatting and indention problems gnu-indent can not handle. Clarify some comments about relocation types. Comment basic relocation "classes". Group PARAM declarations together. (HPPA_SXT_{NULL, SYMNDX, RG_RELOC}): Make members of a new enumerated type rather than #defines.
1993-10-21elfcode.h (FILE_ALIGN_: Renamed from EALIGN, to avoid conflict with UltrixKen Raeburn1-5/+18
header files. Also, lots of changes for PA elf and som support from Utah; see ChangeLog for details.
1993-08-19targets.c (target_vector): Remove hp300bsd_vec due to clash with sunos_big_vec.David MacKenzie1-0/+2
1993-08-19Thu Aug 19 09:45:51 1993 David J. Mackenzie (djm@thepub.cygnus.com)David MacKenzie1-90/+143
* configure.in, targets.c: Add missing vectors to the tables. * targets.c (target_vector) [!SELECT_VECS]: Add DEFAULT_VECTOR.