* targets.c (bfd_target): Add _bfd_read_ar_hdr field. Modify
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 629b2570c4528cf951f6d05b89a1088e9d17a300..6fe55d36527c4cc46eb25da10c7836ff14e8a79c 100644 (file)
@@ -1,3 +1,392 @@
+Fri Oct  6 12:04:02 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-rs6000.c: Add full support for AIX archives.  Rewrite old
+       read-only/host-only support.
+
+       * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
+       BSF_LOCAL.
+
+       * 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.
+
+Thu Oct  5 14:04:07 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+       * peicode.c (coff_swap_filehdr_in): If symptr is
+       zero, there aren't any symbols, even if nsyms is set.
+
+Thu Oct  5 11:45:02 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * libecoff.h (struct ecoff_backend_data): Add adjust_headers
+       field.
+       * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
+       sections, and set styp correctly for them: .got, .hash, .dynamic,
+       .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
+       (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
+       types.
+       (ecoff_sort_hdrs): New static function.
+       (ecoff_compute_section_file_positions): Return boolean, not void.
+       Sort the sections by VMA before looking through them.  Put the
+       first non SEC_ALLOC section on a new page.  Put every SEC_ALLOC
+       section on an appropriate boundary within the page.
+       (ecoff_compute_reloc_file_positions): Check return value of
+       ecoff_compute_section_file_positions.
+       (_bfd_ecoff_set_section_contents): Likewise.
+       (_bfd_ecoff_write_object_contents): Check for various Alpha
+       section types when incrementing text_size and data_size.  Call
+       adjust_headers backend function if it exists.
+       * coff-alpha.c (alpha_adjust_headers): New static function.
+       (alpha_ecoff_backend_data): Initialize adjust_headers field.
+       * coff-mips.c (mips_ecoff_backend_data): Likewise.
+
+       * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
+
+Wed Oct  4 18:15:02 1995  Jeff Law  (law@hurl.cygnus.com)
+
+       * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
+       of ALTERNATE_AIX_CORE_FORMAT.
+       * configure.in (aix4): No longer need CORE_FLAGS.
+       * configure: Updated.
+
+Wed Oct  4 15:36:36 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       NS32k changes from Ian Dall:
+       * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
+       macros.
+       (aout_link_input_section_std, aout_link_input_section_ext,
+       aout_link_reloc_link_order): Call them instead of _bfd_*
+       versions.
+       * aout-target.h (MY_exec_header_not_counted): New macro, defaults
+       to zero.
+       (backend_data): Use it instead of hardcoded zero.
+
+       * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
+       (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
+
+       * ns32knetbsd.c: Include bfd.h.
+       (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
+       (MY_bfd_reloc_type_lookup): Declare function too.
+       * pc532-mach.c (set_sizes): Don't declare.
+       (MY_text_includes_header, MY_exec_header_not_counted): Define.
+       (backend_data, MY_backend_data): Don't define.
+
+       * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
+       ns32k-*-lites* like ns32k-*-netbsd*.
+
+       * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
+       compile on lites.
+
+Wed Oct  4 14:15:52 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coffcode.h (coff_write_object_contents): Restore setting
+       f_timdat to 0, deleted on August 22.
+
+Tue Oct  3 16:28:32 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+       * coffcode.h (coff_bfd_copy_private_symbol_data,
+       coff_bfd_copy_private_section_data,
+       coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
+       * peicode.h (coff_bfd_copy_private_bfd_data): New
+       (pe_bfd_copy_private_bfd_data): New.
+       (coff_swap_scnhdr_in): Swap bss size into the right place.
+       (pe_print_private_bfd_data): Add some newlines.
+
+Tue Oct  3 11:53:04 1995  Jeff Law  (law@hurl.cygnus.com)
+
+       * som.c (setup_sections): Don't die if a space has no subspaces.
+
+Mon Oct  2 14:08:55 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elflink.h (elf_link_add_object_symbols): Don't let a weak
+       dynamic symbol override a common symbol.  Don't change the size or
+       type if they have been set and the new symbol is not a definition.
+       Warn if the size or type changes.
+
+Sun Oct  1 01:34:41 1995  Jeff Law  (law@hurl.cygnus.com)
+
+        * som.c (som_begin_writing): Don't write the symbol table or
+       symbol  strings.
+       (som_finish_writing): Write them here.  Place them after the
+       subspace data, but before the relocs.
+
+Fri Sep 29 11:01:55 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * sunos.c (sunos_add_one_symbol): Just pass false, not
+       info->shared_library, to sunos_create_dynamic_sections.
+       (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
+       section.
+       (sunos_check_dynamic_reloc): Remove .text section assertion.
+
+Thu Sep 28 18:48:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
+
+       * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
+       * configure, configure.in: Add pmac_xcoff_vec case.
+       * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
+       * coff-pmac.c: New file, PowerMac XCOFF support.
+       * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
+       * targets.c (pmac_xcoff_vec): Declare.
+
+       * mpw-config.in: Various changes to be compatible with the
+       autoconf-based configury.
+       * mpw-make.sed: New file, sed commands to translate Unix
+       makefile into MPW syntax.
+       * mpw-make.in: Remove.
+       * hosts/mpw.h: Remove.
+       * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
+       true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
+
+Thu Sep 28 17:06:23 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+       * binary.c (binary_get_symtab): Return an empty string on error.
+       * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
+
+Thu Sep 28 15:30:44 1995  Kim Knuttila  <krk@nellie>
+
+       * coff-ppc.c: Reformatted according to gnu conventions
+                     Removed irrelevant "if 0" code
+
+Thu Sep 28 11:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
+       symbols rather than as indirect symbols.
+       (MY(slurp_symbol_table)): Don't do anything special about
+       secondary symbols.
+
+       * coffcode.h (coff_new_section_hook): Make sure that the alignment
+       of .ctors and .dtors sections is no larger than 2.
+
+       * sunos.c (sunos_add_one_symbol): Don't change
+       bfd_link_hash_common to bfd_link_hash_new, since it may be on the
+       undef list.
+       (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
+       dynamic symbols when creating a shared library.
+       (sunos_scan_ext_relocs): Handle relocs correctly when creating a
+       shared library.
+       (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
+       written even if it is not defined in a regular object.
+       (sunos_write_dynamic_symbol): Use plt_offset for the address of
+       the jump table reloc.  Add an assertion.  Use RELOC_JMP_SLOT
+       rather than the constant 22.
+       (sunos_check_dynamic_reloc): Handle creating a shared library.
+       (sunos_finish_dynamic_link): Set the first entry in the GOT to
+       zero when creating a shared library.
+       * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
+       write it out at the start of the symbol table.
+
+       * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
+
+Thu Sep 28 00:58:05 1995  Doug Evans  <dje@deneb.cygnus.com>
+
+       * config.bfd: Add arm-*-coff.
+       * 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.
+
+Wed Sep 27 10:37:14 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * targets.c (bfd_find_target): Remove debugging code.
+
+Wed Sep 27 07:23:39 1995  Kim Knuttila  <krk@nellie>
+
+       * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE 
+        support on powerpc.
+       * Makefile.in: added *-ppc files
+       * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
+        allow pe based .o's to be shared with other tools on ppc/NT
+       * config.bfd: added powerpc[le]-[pe|winnt] config support
+       * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec 
+       * peicode.h: Added more section flags for PE on ppc
+                    Added coff_swap_filehdr_out to allow peicode.h to be
+                    used for non-image PE files on ppc.
+                    Check for image, or not, before copying pe_opthdr
+       * targets.c: Added new bfd's
+       * targets.c: Removed two inactive bfds that shouldn't have made it this
+                     far.
+
+Tue Sep 26 14:06:41 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
+       explicit values to initialize all relocs.  Change all users.
+       (ppc_elf_brtaken_inner): New function to handle branch predicition
+       relocs.
+       (ppc_elf_brtaken_reloc): Ditto.
+       (ppc_elf_howto_raw): Use new functions.  Make sure all unsupported
+       relocs use ppc_elf_unsupported_reloc.
+       (ppc_elf_merge_private_bfd_data): Keep track of whether an error
+       needs to be reported.
+       (ppc_elf_relocate_section): Support branch prediction relocs.
+
+Tue Sep 26 12:48:05 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * bfd.c (bfd_assert): Remove \n from string passed to
+        _bfd_error_handler.
+
+       * coff-i386.c: (TWO_DATA_SECS): Don't define.
+       * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
+       (bfd_coff_make_section_hook): Don't define.
+       (coff_make_section_hook): Remove.
+       (sec_to_styp_flags): Remove TWO_DATA_SECS case.
+       (styp_to_sec_flags): Likewise.
+       (coff_write_object_contents): Likewise.
+       (bfd_coff_std_swap_table): Don't initialize make_section_hook
+       field.
+       * libcoff.h: Rebuild.
+       * coffgen.c (make_a_section_from_file): Just call
+       bfd_make_section_anyway, not bfd_make_section or
+       bfd_coff_make_section_hook.
+       * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
+       * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
+       * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
+       make_section_hook field.
+       * coff-mips.c (mips_ecoff_backend_data): Likewise.
+
+       * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
+       pointers into value field for warning and indirect symbols; just
+       leave the value field alone.
+       * linker.c (generic_link_add_symbol_list): Use next symbol for
+       warning and indirect symbols, rather than looking in symbol value.
+       * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
+       parameter.  Change all callers.  Remove support for indirect
+       symbols; it didn't work anyhow.
+       (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
+       * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
+       * bfd-in2.h: Rebuild.
+
+Mon Sep 25 16:04:09 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
+       go back to telling the tools this reloc operates on 32 bits.
+
+Mon Sep 25 11:48:02 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
+       rather than a direct fprintf.
+       * archive.c (_bfd_write_archive_contents): Likewise.
+       * coffcode.h (coff_slurp_symbol_table): Likewise.
+       * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
+       (ppc_elf_unsupported_reloc): Likewise.
+       (ppc_elf_relocate_section): Likewise.
+       * i386linux.c (linux_tally_symbols): Likewise.
+       (linux_finish_dynamic_link): Likewise.
+       * osf-core.c (osf_core_core_file_p): Likewise.
+       * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
+       * som.c (som_sizeof_headers): Likewise.
+       * srec.c (srec_bad_byte): Likewise.
+       * bfd.c (bfd_assert): Likewise.  Also change file to be const.
+       * libbfd-in.h (bfd_assert): Declare first parameter const.
+       * libbfd.h: Rebuild.
+       * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
+       bfd_reloc_overflow is enough.
+       * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
+       * coff-h8500.c (rtype2howto): Likewise.
+       * coff-z8k.c (rtype2howto): Likewise.
+       * coffcode.h (dummy_reloc16_extra_cases): Likewise.
+       * elf.c (_bfd_elf_get_lineno): Likewise.
+       (_bfd_elf_no_info_to_howto): Likewise.
+       (_bfd_elf_no_info_to_howto_rel): Likewise.
+       * hp300hpux.c (convert_sym_type): Likewise.
+       (MY(swap_std_reloc_in)): Likewise.
+       * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
+
+       * libaout.h (struct aoutdata): Add line_buf field.
+       * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
+       and filename_buffer.  Instead, use a malloc buffer stored in the
+       new line_buf field.  Remove length restrictions.
+
+       * coffgen.c (string_size): Remove static variable.
+       (debug_string_size, debug_string_section): Likewise.
+       (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
+       and debug_string_size_p parameters.  Use them instead of the
+       global variables.  Change all callers.
+       (coff_write_symbol): Likewise.
+       (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
+       (coff_write_symbols): Add local variables to replace removed
+       global variables.
+
+       * libcoff-in.h (struct coff_section_tdata): Add offset, i,
+       function, and line_base fields.
+       * libcoff.h: Rebuild.
+       * coffgen.c (coff_find_nearest_line): Use section tdata to cache
+       information, rather than using static variables.
+
+       * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
+       file.  From Peter DeWolf <pld@amt.tay1.dec.com>.
+
+       * init.c (initialized): Remove static variable.
+       (bfd_init): Don't bother setting initialized.
+       (bfd_check_init): Remove.
+       * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
+       * libbfd.h: Rebuild.
+
+Sat Sep 23 01:22:23 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       * rs6000-core.c (rs6000coff_core_p):  Don't check the core file
+       size for full core dumps. Copy core file header to private data.
+       (rs6000coff_core_file_failing_command,
+       rs6000coff_core_file_failing_signal):  New functions to extract
+       the file name and terminating signal from the core file.
+       * coff-rs6000.c:  Use them.
+
+Fri Sep 22 17:44:47 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       Change arch info to be const, initialized at compile time.
+       * archures.c: Reindent many functions.  Change CONST to const.
+       (bfd_arch_info_type): Make arch_name const.  Remove disassemble;
+       nothing set it anyhow.  Make next const.
+       (bfd_arch_info_list): Remove.
+       (bfd_archures_list): Rename from archures_init_table.  Change from
+       a table of function pointers to a table of bfd_arch_info_type
+       structure addresses.
+       (bfd_scan_arch): Rewrite accordingly.  Return a const pointer.
+       (bfd_lookup_arch): Likewise.
+       (bfd_set_arch_info): Rewrite accordingly.  Change argument to be a
+       const pointer.
+       (bfd_default_arch_struct): Make const.
+       (bfd_arch_init, bfd_arch_linkin): Remove.
+       (bfd_get_arch_info): Return a const pointer.
+       * init.c (bfd_init): Don't call bfd_arch_init.
+       * bfd.c (struct _bfd): Make arch_info const.
+       * bfd-in2.h: Rebuild.
+       * libbfd.h: Rebuild.
+       * configure.in: Put & before everything in $selarchs.
+       * configure: Rebuild.
+       * cpu-*.c: Change bfd_*_arch from a function which calls
+       bfd_arch_linkin to a const structure.
+       * ieee.c (ieee_object_p): Make arch const.
+
+Fri Sep 22 16:23:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * reloc.c (bfd_reloc_code_type): Add relocations to support all of
+       PowerPC V.4.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+       * elf32-ppc.c (reloc_type): Update names to match current draft.
+       (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
+       relative.  Update names to current V.4 draft.
+       (ppc_elf_reloc_type_lookup): Add support for more relocations.
+       (ppc_elf_relocate_section): Rename relocations to match draft.
+
 Thu Sep 21 21:53:18 1995  Michael Meissner  <meissner@cygnus.com>
 
        * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
This page took 0.029066 seconds and 4 git commands to generate.