* gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 197b9a3198cdcb6370be486acb9f0e031e088741..f27e20673570f4ae98b68e569088b068ecc1f895 100644 (file)
@@ -1,3 +1,768 @@
+Sun Jan 30 15:14:36 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       * gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
+       (only testing for m68k and vax at the moment); do verify that the
+       preprocessor didn't trash the arch name inside the string version.
+       Don't print out "pagesize =" line that prevents output from
+       compiling.  Derive BYTES_IN_WORD and ARCH values from sizeof
+       results.
+       * Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
+
+Sun Jan 30 13:25:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aoutx.h (aout_link_write_symbols): Write out correct value for
+       object file symbol.
+
+Fri Jan 28 18:34:05 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       * hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
+       KERNBASE, so hard-code 0x80000000 instead.
+
+Thu Jan 27 13:54:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * linker.c (generic_link_add_symbol_list): If symbol is common,
+       set the BSF_OLD_COMMON flag.
+
+Wed Jan 26 13:47:15 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * format.c (bfd_check_format_matches): Put the new entry in the
+       correct element of matching_vector.
+
+Tue Jan 25 11:43:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+       * som.c, som.h (bfd_som_set_section_attributes,
+       bfd_som_set_subsection_attributes): Change parameters from char
+       to int.  Following a prototype with an old-style function definition
+       in the presence of widened parameters is a GCC-ism not supported
+       by the HP compiler in ANSI mode.
+
+Tue Jan 25 11:46:46 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2.
+
+       * hp300hpux.c (MY(write_object_contents)): Write out the symbols
+       before writing out the relocs, so that the right symbol indices
+       are used.
+
+       * archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
+       try to overlay the internal carsyms on the external symdefs.  That
+       can not work if the size of a host pointer is larger than 4 bytes.
+
+       * format.c (bfd_check_format_matches): Cast result of
+       bfd_xmalloc_by_size_t.
+       * opncls.c (_bfd_new_bfd): Avoid ANSI C prototype.
+
+       * archive.c: Reindented to GNU standards.
+
+Mon Jan 24 14:41:23 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
+       "_bfd_" to function names.
+       * archive.c (_bfd_create_empty_archive_element_shell),
+       libbfd-in.h: Change callers.
+
+       * libbfd.c (bfd_zmalloc): Renamed from zalloc.
+       * libbfd.c (bfd_add_to_string_table),
+       trad-core.c (trad_unix_core_file_p),
+       targets.c (bfd_target_list),
+       ptrace-core.c (ptrace_unix_core_file_p),
+       opncls.c (new_bfd), libbfd-in.h,
+       ieee.c (ieee_make_empty_symbol),
+       elf32-hppa.c (hppa_elf_stub_branch_reloc),
+       (hppa_elf_stub_reloc): Change callers.
+       * libbfd.h: Regenerated.
+
+       * archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
+       (_bfd_get_elt_at_filepos), 
+       coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
+       Change callers.
+
+       * format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
+       elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
+       and default_vector to bfd_default_vector.
+       * libbfd.h: Regenerated.
+
+       * format.c (bfd_check_format_matches): New function.
+       (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.
+
+Mon Jan 24 12:38:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * coff-alpha.c (alpha_ecoff_object_p): New function.  Set size of
+       .pdata section based on lnnoptr field, not section header.
+       (alpha_relocate_section): Don't bother to check if r_symndx >= 0,
+       since it is unsigned.
+       (ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
+       coff_object_p.
+       * ecoff.c (ecoff_new_section_hook): Set alignment_power field of
+       .pdata section to 3.
+       (ecoff_compute_section_file_positions): Save the size of the
+       .pdata section in the line_filepos field, and actually align the
+       .pdata section to an alignment power of 4.
+       (ecoff_compute_reloc_file_positions): Set output_has_begun after
+       calling ecoff_compute_section_file_positions.
+       (ecoff_write_object_contents): Set s_lnnoptr for the .pdata
+       section from the line_filepos field.  Set vstamp for the optional
+       header from the vstamp of the symbolic header.
+       (ecoff_bfd_final_link): Set vstamp of the symbolic header to the
+       vstamp used by the first object file in the link.
+
+       * ecofflink.c (ecoff_align_debug): Align RFDs to debug_align.
+
+       * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
+       for a created common section.
+       (_bfd_generic_link_add_one_symbol): Likewise.
+
+       * elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
+       get the index of a common section, rather than always using
+       SHN_COMMON (MIPS has multiple common sections).
+
+       * elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
+
+       * bfd/aoutx.h (aout_link_input_section_std,
+       aout_link_input_section_ext): Pass additional arguments to
+       reloc_overflow callback.
+       * coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
+       alpha_relocat_section): Likewise.
+       * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
+       * coff-h8500.c (extra_case): Likewise.
+       * coff-mips.c (mips_relocate_section): Likewise.
+       * coff-z8k.c (extra_case): Likewise.
+       * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
+       * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
+
+       * bout.c (calljx_callback, callj_callback): Use get_value to get
+       the symbol value and check for undefined symbols.
+       (get_value): If the symbol is undefined, look it up in the linker
+       hash table.
+       (b_out_get_relocated_section_contents): For PCREL24 and PCREL13
+       use get_value to get the symbol value and check for undefined
+       symbols.
+       * reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
+       undefined, look it up in the linker hash table.
+
+       * aoutx.h (translate_symbol_table): The string index 0 has a
+       special meaning for normal symbols, but not for dynamic symbols.
+
+Sat Jan 22 12:26:01 1994  Stu Grossman  (grossman at cygnus.com)
+
+       * sparclynx.c:  Setup appropriate macros to enable core file
+       support.
+
+Fri Jan 21 16:25:35 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * targets.c: Add a vector of matching format names.
+       * format.c (bfd_matching_formats): New function to return it.
+       (bfd_check_format): Set it.
+       * bfd-in2.h: Regenerated.
+
+       * bfd-in.h: Remove decls of bfd_ec type and error printing functions.
+       Remove decl of type symclass; wasn't used.
+       * bfd.c: Document error handling, including code fragments
+       containing the error decls that were in bfd-in.h.
+       Remove DEFUNs.
+       * bfd-in2.h: Regenerated.
+
+Fri Jan 21 14:11:16 1994  Sean Fagan  (sef@cygnus.com)
+
+       * nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
+       The sparc (and possibly other?) NLM format requires a different
+       way to write exports, so add a write_export field to the backend
+       data (and set it to NULL for everything but the sparc).
+
+Fri Jan 21 14:11:16 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+       * sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
+       not (struct external_nlist *) NULL.  info->dynrel is a PTR, not
+       a struct external_nlist *.
+
+Fri Jan 21 09:29:01 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * bfd.c: Remove error strings for errors removed below.
+       * aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
+       oasys.c (oasys_write_sections): Rename
+       bfd_error_nonrepresentable_section to nonrepresentable_section.
+       None of the other bfd error names start with "bfd_error".
+       Remove errors symbol_not_found and no_relocation_info, which seem
+       to be unused.
+       * bfd-in2.h: Regenerated.
+
+Fri Jan 21 01:11:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * bfd.c (bfd_get_gp_size): Added support for ELF.
+
+       * syms.c (BSF_DYNAMIC): New symbol flag.
+       (bfd_print_symbol_vandf): Print it.
+       * bfd-in2.h: Rebuilt.
+       * libaout.h (struct aout_backend_data): New read_dynamic_symbols
+       and read_dynamic_relocs fields.
+       (struct aoutdata): New dynamic_info field.
+       (obj_aout_dynamic_info): New accessor macro.
+       * sunos.c (struct sunos_dynamic_info): New structure.
+       (sunos_read_dynamic_info, MY(read_dynamic_symbols),
+       MY(read_dynamic_relocs)): New functions to read dynamic symbols
+       and relocs.
+       * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
+       dynamically linked, set SEC_RELOC for both the .text and .data
+       sections.
+       (translate_from_native_sym_flags): Don't set BSF_LOCAL for an
+       undefined symbol.
+       (translate_symbol_table): New function, split out of
+       slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
+       (NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
+       (NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
+       (NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
+       return value.
+       * aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
+       out dynamic symbols or relocs against reloc symbols, since they
+       are already in the .text section and we wouldn't know where to
+       write them anyhow.
+       (sunos4_aout_backend): Initialize read_dynamic_symbols and
+       read_dynamic_relocs fields.
+       * aout-target.h (MY(backend_data)): Initialize
+       read_dynamic_symbols and read_dynamic_relocs fields.
+
+Thu Jan 20 20:57:27 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       * hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
+       typedefs, since HOST_64_BIT will take care of defining them in
+       bfd.h.
+
+Wed Jan 19 17:28:59 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       * config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
+       that's dealt with elsewhere.
+       * hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
+       (uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
+       they get copied to bfd.h.
+
+       * reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
+       types.  Reorganized some of the existing ones.
+       * coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
+       values in case of compilation on a 32-bit machine.  Fix pcrel
+       fields of some reloc types.
+       (alpha_bfd_reloc_type_lookup): Handle more relocation types.
+
+       * bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
+       definitions when not defined, regardless of whether uint64_type is
+       a defined macro or not.
+       (fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
+       already defined.
+
+Wed Jan 19 00:02:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aoutx.h (translate_to_native_sym_flags): Set the type of a
+       BSF_WARNING symbol to N_WARNING.
+
+Tue Jan 18 16:43:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
+       for an indirect or warning symbol.
+       (aout_link_write_symbols): Update sym_hash with the target of an
+       indirect or warning symbol.  If an indirect symbol is defined,
+       output the calculated value and don't output the target symbol.
+
+Tue Jan 18 03:54:59 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * aoutx.h (translate_from_native_sym_flags): Give warning symbols
+       an (unused) nonzero section value, needed for check below.
+
+Mon Jan 17 15:12:07 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * aoutx.h (translate_from_native_sym_flags,
+       aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
+       N_SET[ABDT].
+
+Fri Jan 14 16:45:43 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
+       the DYNAMIC flag for the BFD.
+       (NAME(bfd_elf,write_object_contents)): Don't try to write out a
+       BFD with the DYNAMIC flag set, since we don't generate the program
+       header table correctly.
+
+Fri Jan 14 01:04:36 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       * elfcode.h (elf_slurp_symbol_table):  Free x_symp at the end
+       of the function to avoid storage leak.
+
+Thu Jan 13 23:07:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ecoff.c (ecoff_link_write_external): An ifd can be -1.
+
+Thu Jan 13 12:33:27 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_set_reloc_info): Provide a default symbol for
+       relocations which don't actually have an associated symbol.
+
+       * som.c (hppa_som_reloc): Add new "error message" argument.
+
+Wed Jan 12 13:36:43 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       Enable gdb to write to core files on more core file readers.
+       * libbfd.c (bfd_generic_set_section_contents):  Remove range check
+       for section size, it is already done in bfd_set_section_contents
+       with bfd_get_section_size_now.
+       * aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
+       osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
+       Use bfd_generic_set_section_contents instead of bfd_false.
+
+Wed Jan 12 15:31:57 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * linker.c: Added initial documentation.
+
+       * linker.c (default_indirect_link_order): Don't expect space for
+       output relocations if there aren't any input relocations.
+
+Tue Jan 11 14:37:12 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aoutx.h (NAME(aout,final_link)): Set a_entry before computing
+       file offsets.
+
+       * elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
+       STT_NOTYPE.
+
+Tue Jan 11 09:10:56 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+       * config.bfd: Use ELF, not COFF for m88*-*-dgux*.
+       Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
+
+Tue Jan 11 00:07:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ecofflink.c: Extensive changes to compress and merge debugging
+       information, and to write some of out directly rather than saving
+       it in memory.  Several new functions and structures, and new
+       arguments to existing functions.
+       * ecoff.c (ecoff_compute_reloc_file_positions): Compute
+       sym_filepos as well.
+       (ecoff_get_extr): Use ifdmap instead of ifdbase.
+       (ecoff_write_object_contents): Don't compute sym_filepos here.
+       Only output symbols if outsymbols is not NULL.
+       (ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
+       bfd_ecoff_debug functions.  Write out debugging information here.
+       (ecoff_final_link_debug_accumulate): Adjust for changes in
+       bfd_ecoff_debug functions.
+       (ecoff_link_write_external): Use ifdmap rather than ifdbase.
+       * elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
+       first, to put them in the first memory buffer.  Clear fdr field.
+       (mips_elf_get_extr): Use pointer to unswapped external symbol.
+       (mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
+       Preserve .text, .data and .bss even if they are empty.  Save
+       pointer to unswapped external symbol rather than copying it.
+       Don't free up the external symbols.
+       * libelf.h (elf_symbol_type): Change mips_extr to PTR.
+       * bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
+       (bfd_ecoff_debug_accumulate): Update declaration.
+       (bfd_ecoff_debug_accumulate_other): Rename declaration from
+       bfd_ecoff_debug_link_other and update.
+       (bfd_ecoff_write_accumulated_debug): Declare.
+       * bfd-in2.h: Rebuilt.
+       * Makefile.in: Rebuilt dependencies.
+
+Mon Jan 10 20:46:53 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+       * Makefile.in (install): Remove "@" which follows a backslash.  In
+       this position it just causes errors, not suppresses echoes.
+
+Mon Jan 10 09:06:21 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+       * som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
+       field selectors.
+
+Sun Jan  9 04:32:25 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
+
+       * config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
+
+Fri Jan  7 10:27:27 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
+
+       * aoutx.h (adjust_z_magic): Don't merge the start of bss with the
+       end of data if they are not contiguous.
+
+       * aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
+
+Fri Jan  7 15:40:16 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
+       for .reginfo section here.
+       (ecoff_new_section_hook): Set it here instead.
+
+Fri Jan  7 10:29:27 1994  Stan Shebs  (shebs@andros.cygnus.com)
+
+       * bfd-in.h: (bfd_boolean): Add workaround for systems that also
+       define true and false as enums.
+       (ALMOST_STDC): Add as alternative to __STDC__.
+       * bfd-in2.h: Rebuilt.
+       * syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
+
+Thu Jan  6 14:24:44 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * aoutx.h (translate_to_native_sym_flags): Catch the case where
+       there is no output section.
+
+Thu Jan  6 14:37:42 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * nlmcode.h (nlm_object_p): If we can't read the fixed header,
+       count it as a wrong format error, not a system call error, since
+       the object file might simply be too small.
+
+       * targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
+       BFD64.
+       * Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
+       (BFD64_BACKENDS): Add nlm32-alpha.o.  It depends on 64 bit
+       support, even though it is for an Alpha in 32 bit mode.
+       * configure.in (nlm32_alpha_vec): Set target64 to true.
+
+       * nlm32-gen.c, nlm64-gen.c: Removed.  All nlm targets are
+       different, so there is no point to providing a generic one.
+       * libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
+       in the backend accessor macros; that should no longer be possible.
+       * targets.c (target_vector): Removed nlm32_big_generic_vec,
+       nlm64_big_generic_vec, nlm64_little_generic_vec.
+       * configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
+       nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
+       * Makefile.in: Rebuilt dependencies, and
+       (BFD32_BACKENDS): Removed nlm32-gen.o.
+       (BFD64_BACKENDS): Removed nlm64-gen.o.
+       (CFILES): Removed nlm32-gen.c and nlm64-gen.c.
+
+       * hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
+
+       * linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
+       bitsize arguments.  Changed all callers (aoutx.h).
+       * libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
+       and bitsize arguments to declaration.
+       * libbfd.h: Rebuilt.
+
+       * ecoff.c: First cut at new style of linker backend for
+       ECOFF--added a bunch of functions.  Also:
+       (ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
+       (ecoff_slurp_symbolic_header): New function.
+       (ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
+       (ecoff_compute_reloc_file_positions): New function.
+       (ecoff_set_section_contents): Get out quickly if count is zero.
+       Check errors better.
+       (ecoff_write_object_contents): Put .xdata section in data segment.
+       Call ecoff_compute_reloc_file_positions.  Don't output relocs or
+       external symbols if outsymbols is NULL.
+       (ecoff_bfd_final_link): Completely rewritten.
+       * libecoff.h: Include bfdlink.h.
+       (struct ecoff_backend_data): Add relocate_section field.
+       (ecoff_data_type): Add sym_hashes and symndx_to_section fields.
+       (struct ecoff_link_hash_entry): Define.
+       (struct ecoff_link_hash_table): Define.
+       (ecoff_bfd_link_add_symbols): Declare as function, not macro.
+       (ecoff_bfd_link_hash_table_create): Likewise.
+       * ecofflink.c (bfd_ecoff_debug_one_external): New function.
+       (bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
+       * bfd-in.h (bfd_ecoff_debug_one_external): Declare.
+       * bfd-in2.h: Rebuilt.
+       * coff-alpha.c (alpha_howto_table): Mark BRADDR as
+       partial_inplace, and set the src_mask to 0x1fffff.
+       (alpha_ecoff_get_relocated_section_contents): Remove unused
+       variable gp_warned.
+       (alpha_convert_external_reloc): New static function.
+       (alpha_relocate_section): New static function.
+       (alpha_ecoff_backend_data): Initialize relocate_section field.
+       * coff-mips.c (mips_relocate_refhi): New static function.
+       (mips_relocate_section): New static function.
+       (mips_ecoff_backend_data): Initialize relocate_section field.
+
+       * reloc.c (_bfd_relocate_contents): Corrected signed overflow
+       checking when there is an addend.
+
+       * aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
+       a non a.out file, just pass it to _bfd_default_link_order.
+       (aout_link_input_section_std): When doing a final PC relative link
+       against a section symbol, subtract the VMA of the input section.
+       (aout_link_input_section_ext): Likewise.
+
+       * linker.c (default_indirect_link_order): Renamed from
+       _bfd_generic_indirect_link_order and made static.
+       (_bfd_generic_final_link): Don't switch on link_order type, just
+       call _bfd_default_link_order.
+       (_bfd_default_link_order): Handle bfd_indirect_link_order type.
+       * genlink.h: Removed declaration of
+       _bfd_generic_indirect_link_order.
+       * elf32-mips.c (mips_elf_final_link): Don't switch on link_order
+       type, just call _bfd_default_link_order.
+
+Tue Jan  4 21:23:37 1994  Ian Lance Taylor  (ian@cygnus.com)
+
+       * linker.c (generic_link_check_archive_element): Base the name of
+       the created common section on the name of the section the symbol
+       came from.
+       (_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
+       must have a section, so don't bother to create one.
+
+Mon Jan  3 15:32:16 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
+       * aoutf1.h (NAME(aout,sunos4_write_object_contents)):
+       If the DYNAMIC flag is set, set it in the exec header.
+       * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
+       dynamically linked, set the DYNAMIC flag in the BFD.
+       * libaout.h (N_SET_DYNAMIC): New macro.
+       (N_DYNAMIC): Add missing 0 in mask.
+
+Mon Jan  3 11:41:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ecoff.c (ecoff_get_extr): Don't output section symbols as
+       external symbols.
+
+       * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
+       to unsigned int, because size_t may not be defined in bfd.h.
+       * bfd-in2.h: Rebuilt.
+
+       * bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
+       be a const pointer.
+       * bfd-in2.h: Rebuilt.
+       * libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
+       be a const pointer.
+       * targets.c (bfd_target): Change swap function pointers
+       accordingly.
+       * archive.c (do_slurp_coff_armap): Change swap accordingly.
+       * aix386-core.c: Change NO_GET and NO_GETS accordingly.
+       * hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
+       ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
+       accordingly.
+
+       * libbfd-in.h (struct artdata): Added tdata field.
+       (_bfd_add_bfd_to_archive_cache): Declare.
+       (_bfd_get_elt_at_filepos): Declare.
+       (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
+       * libbfd.h: Rebuilt.
+       * archive.c: Cleaned up some more.
+       (_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
+       pointer elements of artdata.
+       (_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
+       (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
+       (_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
+       (get_extended_arelt_filename, bfd_construct_extended_name_table,
+       bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
+       * ecoff.c: Some comment changes.
+       (ecoff_slurp_armap): Handle rename of snarf_ar_hdr.  Set
+       ardata->tdata to raw_armap.
+       (ecoff_archive_p): Initialize pointer elements of artdata.
+       * coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
+       add_bfd_to_cache.
+
+       * hash.c: Added some documentation.
+
+Mon Jan  3 11:09:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+       * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
+       and do the swapping here rather than calling ntohl from the N_*
+       macros.  This cleans up assumptions about the size of a host long,
+       the existence to ntohl, etc.
+
+Sat Jan  1 13:50:05 1994  Rob Savoye  (rob@darkstar.cygnus.com)
+
+       * config.bfd: Add support for VSTa micro-kernel. It currently uses
+       i386-aout.
+
+Sat Jan  1 10:18:54 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
+       * i386mach3.c (SEGMENT_SIZE): Fix value.
+
+Fri Dec 31 16:23:43 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       Minor cleanups suggested by CodeCenter.
+       * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
+       linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
+       appropriate.
+       * aoutx.h (struct external_exec): Removed unnecessary declaration.
+       (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
+       (adjust_z_magic): Removed useless variable data_vma.
+       (stringtab_init): Initialize hash_zero.
+       (add_to_stringtab): Removed unused fourth argument.
+       (NAME(aout,swap_std_reloc_out)): Removed useless variable
+       r_addend.
+       (aout_link_input_section): Added some casts.
+       * archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
+       bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
+       Minor code rewriting to make it more C like.
+       (do_slurp_bsd_armap): Added some casts.
+       * ecoff.c (ecoff_write_object_contents): Removed useless variable
+       scn_base.
+       (ecoff_write_armap): Added some casts.  Use "" rather than "\0".
+       * ecofflink.c (bfd_ecoff_write_debug): Added a cast.
+       * libaout.h (struct internal_exec): Removed unnecessary
+       declaration.
+       * linker.c (_bfd_generic_indirect_link_order): Added a cast.
+       * opncls.c (new_bfd): Removed a cast.
+       * reloc.c (bfd_generic_get_relocated_section_contents): Added
+       some casts.
+       * srec.c (internal_srec_write_object_contents): Removed useless
+       variable bytes_written.
+
+Fri Dec 31 11:46:13 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * i386mach3.c (N_TXTADDR): Don't define after all.
+       (TEXT_START_ADDR): Don't include exec header size in value.
+
+Thu Dec 30 15:47:54 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * i386mach3.c (N_TXTADDR): Define.
+
+Thu Dec 30 13:37:24 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       Extensive changes to move the bulk of the linker into BFD so that
+       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.
+
+Thu Dec 30 07:41:36 1993  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       * section.c (bfd_get_section_contents):  Return zero filled buffer
+       if section has no contents.
+
+Tue Dec 28 12:43:54 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
+       then skip bfd_perform_relocation even if the addend is non-zero.
+
+Tue Dec 21 09:22:19 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)
+
+       * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy
+       addend to r_offset field.
+
+       * Makefile.in (CFILES): Added coff-sparc.c.  Rebuild dependencies.
+
+       * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET,
+       CALC_ADDEND): Define.
+
+       * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing
+       the offsetof because AIX /bin/cc does not like to take the address
+       of an array.  (From Minh Tran-Le.)
+
+Thu Dec 16 13:06:32 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+       * Thu Dec 16 15:41:06 1993  Peter Hoogenboom  (hoogen@cs.utah.edu)
+
+       * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy
+       the return pointer into %r2 if no jump-in-call-delay-slot
+       optimization was done.
+
+       * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD.
+
+Wed Dec 15 08:04:16 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * hosts/std-host.h: (time): Don't declare; conflicts on Mach3.
+
+       * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding.
+       (HOST_SEGMENT_SIZE): Set to 0 for same reason.
+
+       * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above.
+       (TEXT_START_ADDR): Correct.
+       (MY_backend_data): Define.
+
+       * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic):
+       New functions; code moved from aout_<size>_adjust_sizes_and_vmas.
+
 Tue Dec 14 21:48:33 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
 
         * som.c (som_begin_writing): Fix thinkos in auxiliary header
This page took 0.029573 seconds and 4 git commands to generate.