* coffgen.c (coff_print_symbol): Make names for section number and
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index a7d4ead913744fcc67590bc2d4d15e0ea3162588..86a6838415ceba7eddf6b74962d76d94ef470032 100644 (file)
@@ -1,5 +1,883 @@
+Wed Oct 19 13:28:29 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+       * coffgen.c (coff_print_symbol): Make names for section number and
+       storage class slightly more verbose.  It's not clear how many
+       characters I can justify using up, but before this change they
+       both were abbreviated "sc" which is (IMHO) clearly unacceptable.
+
+Wed Oct 19 01:26:39 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * binary.c (binary_set_section_contents): Set the base file
+       position from the lowest section VMA, not the start address.
+
+       * aoutx.h (NAME(aout,slurp_symbol_table)): Don't return an error
+       if there are no symbols.
+       * coffgen.c (coff_get_normalized_symtab): Likewise.
+       * hp300hpux.c (MY(slurp_symbol_table)): Likewise.
+
+Tue Oct 18 12:56:43 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * aout-target.h (MY_bfd_copy_private_section_data): Only copy
+       subformat to another bfd_target_aout_flavour file.
+
+       * binary.c: New file for raw binary output format.
+       * Makefile.in (BFD_LIBS): Add binary.o.
+       (CFILES): Add binary.c.
+       * targets.c (binary_vec): Declare.
+       (bfd_target_vector): Include binary_vec.
+
+       * srec.c (tdata_type): Add field tail.
+       (srec_mkobject): Initialize tail.
+       (srec_set_section_contents): Sort S record list by address.
+
+Mon Oct 17 11:38:16 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * elfcode.h (elf_map_symbols): Sort the symbols into a new array,
+       rather than messing with Elf_Sym_Extra.  Store the symbol index in
+       the udata.i field.
+       (swap_out_syms): Use outbound_syms as a pointer rather than as an
+       array.  Don't worry about elf_sym_num.
+       * libelf.h (struct elf_sym_extra): Don't define.
+       (Elf_Sym_Extra): Don't define.
+       (struct elf_obj_tdata): Remove sym_extra field.
+       (elf_sym_extra): Don't define.
+       * elf32-hppa.c (elf32_hppa_backend_final_write_processing): Use
+       udata.i rather than elf_sym_extra array.
+
+       * syms.c (asymbol): Change udata field into a union.
+       * bfd-in2.h: Rebuild.
+       * aoutx.h (NAME(aout,translate_symbol_table)): Use udata.p rather
+       than just udata.
+       * bout.c (perform_slip): Likewise.
+       * hp300hpux.c (MY(slurp_symbol_table)): Likewise.
+       * ieee.c (ieee_slurp_external_symbols): Likewise.
+       * linker.c (generic_link_add_symbol_list): Likewise.
+       (default_indirect_link_order): Likewise.
+       * oasys.c (oasys_slurp_symbol_table): Likewise.
+       * reloc16.c (bfd_perform_slip): Likewise.
+       * srec.c (fillup_symbols): Likewise.
+       * coffcode.h (get_index): Use udata.i rather than just udata.
+       (coff_slurp_symbol_table): Likewise.
+       * coffgen.c (set_index): Likewise.
+       * ecoff.c (ecoff_set_symbol_info): Likewise.
+       * elfcode.h (elf_symbol_from_bfd_symbol): Likewise.
+       * libecoff.h (ecoff_get_sym_index, ecoff_set_sym_index): Likewise.
+       * som.c (compare_syms): Likewise.
+       (som_prep_for_fixups): Likewise.
+       (som_write_fixups): Likewise.
+
+       Use a hash table when writing out ELF symbol names.
+       * elfcode.h (elf_stringtab_init): New static function.
+       (bfd_new_strtab, bfd_add_to_strtab, bfd_add_2_to_strtab): Remove.
+       Change all callers to use elf_stringtab_init or
+       _bfd_stringtab_add, and get stringtab lengths using
+       _bfd_stringtab_size.
+       (elf_fake_sections): Change ignored argument to pointer to
+       boolean, and set the boolean to true if an error occurs.  If an
+       error has already occurred, don't do anything.
+       (assign_section_numbers): Just set sh_size, not contents.
+       (elf_compute_section_file_positions): Pass the address of a
+       boolean to elf_fake_sections.  Pass the address of a
+       bfd_strtab_hash to swap_out_syms.  Write out the .strtab section.
+       (prep_headers): Change shstrtab to bfd_strtab_hash.
+       (swap_out_syms): Take a pointer to a bfd_strtab_hash as an
+       argument.  Set it to the symbol names.
+       (NAME(bfd_elf,write_object_contents)): Write out the section
+       header names using _bfd_stringtab_emit.
+       (elf_debug_section): Remove first argument; get the section name
+       via the bfd_section pointer.  Change caller.
+       (elf_bfd_final_link): Write out the symbol names using
+       _bfd_stringtab_emit.  Likewise for the .dynstr section contents.
+       Free the symbol names at the end of the function.
+       (elf_link_input_bfd): Remove the last argument, output_names,
+       from relocate_section.  Save the old symbol contents before
+       calling elf_link_output_sym, and restore them afterward.
+       * libelf.h (struct elf_link_hash_table): Change dynstr field to
+       struct bfd_strtab_hash.
+       (struct elf_backend_data): Remove last argument, output_names,
+       from elf_backend_relocate_section field.
+       (struct strtab): Don't define.
+       (struct elf_obj_tdata): Change strtab_ptr field to struct
+       bfd_strtab_hash.
+       * elf32-hppa.c (elf32_hppa_relocate_section): Remove last
+       argument, output_names.
+       * elf32-i386.c (elf_i386_relocate_section): Likewise.
+       * elf32-mips.c (mips_elf_relocate_section): Likewise.
+       * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+
+       * libbfd-in.h (DEFAULT_STRING_SPACE_SIZE): Don't define.
+       (bfd_add_to_string_table): Don't declare.
+       * libbfd.h: Rebuild.
+       * libbfd.c (bfd_add_to_string_table): Remove.
+
+       * elfcode.h (elf_swap_shdr_in): Use bfd_section, not rawdata.
+       Clear contents field.
+       (bfd_section_from_shdr): In SHT_STRTAB case, check bfd_section,
+       not rawdata.  Don't set rawdata if e_shstrndx.  Use bfd_section
+       rather than rawdata in commented out code.  In SHT_REL[A] case,
+       don't bother to check elf_section_data of section returned by
+       section_from_elf_index.
+       (elf_fake_sections): Set bfd_section, not rawdata.  Don't set
+       size.
+       (elf_map_symbols): Don't set elf_num_section_syms.  Don't create
+       section symbols that already exist.
+       (assign_file_position_for_section): Use bfd_section, not rawdata.
+       (section_from_elf_index): Just check bfd_section field.
+       (elf_section_from_bfd_section): Likewise.
+       (elf_debug_section): Don't print rawdata, contents, or size.
+       (elf_link_add_object_symbols): Don't error out if
+       section_from_elf_index returns NULL.
+       (elf_bfd_final_link): Check return value from
+       section_from_elf_index against NULL, not bfd_is_abs_section.
+       (elf_link_input_bfd): Don't check section_from_elf_index return
+       value.
+       * libelf.h (struct elf_obj_tdata): Remove num_section_syms field.
+       (elf_num_section_syms): Don't define.
+       * elf.c (elf_get_str_section): Store section contents in contents
+       field rather than rawdata field.
+       (elf_string_from_elf_section): Likewise.
+       (_bfd_elf_make_section_from_shdr): Store BFD section pointer in
+       bfd_section field rather than rawdata field.
+       * elf32-hppa.c (elf32_hppa_read_symext_info): Use bfd_section
+       rather than rawdata.
+       (elf32_hppa_size_stubs): Likewise.
+       (elf32_hppa_backend_symbol_table_processing): Don't set
+       symextn_hdr->size; just use sh_size.
+       * elf32-mips.c (mips_elf_final_write_processing): Use bfd_section
+       rathern than rawdata.
+       (mips_elf_section_from_shdr): Likewise.
+       (mips_elf_section_processing): Likewise.
+       (mips_elf_section_from_bfd_section): Remove rawdata check.
+
+       * srec.c (pass_over): Set the start address for S7, S8 or S9.
+
+Fri Oct 14 19:15:46 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * VERSION: Updated to 2.5.
+
+Fri Oct 14 11:07:50 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * bfd.c (bfd_scan_vma): Cast end to be non const before passing it
+       to strtoul.
+
+Thu Oct 13 14:40:41 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * bfd.c (bfd_scan_vma): Pass end argument on to strtoul.
+
+Wed Oct 12 16:46:43 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * opncls.c (bfd_realloc): Deleted, since it's broken and fixing it
+       would make it slow.  Besides, it isn't used much.
+       * elfcode.h (elf_map_symbols): Always allocate new storage for the
+       symbol table.
+
+Wed Oct 12 11:54:37 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * ecoff.c (ecoff_set_symbol_info): Mark local stProc, stLabel or
+       stabs symbols as BSF_DEBUGGING.
+
+       * rs6000-core.c (rs6000coff_core_file_matches_executable_p): Make
+       str1 and str2 const pointers.
+
+       * Makefile.in (INSTALL): Use top level install.sh script.
+       * config/README (INSTALL): Remove.
+       * config/delta88.mh (INSTALL): Remove.
+       * config/i386v4.mh (INSTALL): Remove.
+       * config/irix4.mh (INSTALL): Remove.
+       * config/irix5.mh (INSTALL): Remove.
+       * config/ncrt3000.mh (INSTALL): Remove.
+
+Tue Oct 11 13:57:56 1994  Eric Youngdale  (eric@andante.aib.com)
+
+       * elf32-i386.c (elf_i386_check_relocs): Make sure that a symbol
+       with a global offset table entry or a procedure linkage table
+       entry is added to the dynamic symbol table.
+       * elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
+       * elf32-i386.c (elf_i386_adjust_dynamic_symbol): If a symbol has
+       already gotten a procedure linkage table entry, change the
+       definition to the PLT entry.
+       * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
+
+Tue Oct 11 17:12:00 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * lynx-core.c (lynx_core_file_p): SPARC Lynx appears to start
+       dumping the .data section in a core file at a page boundary.
+
+Mon Oct 10 16:24:44 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * cofflink.c (_bfd_coff_final_link): Cast argument to bfd_h_put_32
+       to correct type.
+       (coff_read_string_table): Cast argument to bfd_h_get_32 to correct
+       type.
+       * elfcode.h (elf_link_output_extsym): Cast argument to
+       bfd_elf_hash to correct type.
+
+       * elf32-sparc.c (elf_sparc_howto_table): The PC10, PC22, and
+       WPLT30 relocations are PC-relative.
+
+Thu Oct  6 12:57:26 1994  Richard Earnshaw (rwe@pegasus.esprit.ec.org)
+
+       * aoutx.h (adjust_o_magic): Correctly initialize vma if the vma of
+       the text section was user-defined.
+
+Wed Oct  5 14:42:12 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * archive.c (bfd_construct_extended_name_table): SVR4 uses slash
+       newline at the end of the file name, not just newline.
+
+Tue Oct  4 11:23:12 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * ecoff.c (_bfd_ecoff_new_section_hook): Default section alignment
+       power to 4, rather than using align_power_min.
+
+       * coffcode.h (coff_new_section_hook): Don't use align_power_min;
+       use COFF_DEFAULT_SECTION_ALIGNMENT_POWER instead.  Force the .stab
+       and .stabstr sections to be aligned to no more than 2.  Remove
+       COFF_SPARC special cases.
+       * coff-a29k.c: Define COFF_DEFAULT_SECTION_ALIGNMENT_POWER.
+       * coff-apollo.c, coff-go32.c, coff-h8300.c: Likewise.
+       * coff-h8500.c, coff-i386.c, coff-i960.c, coff-m68k.c: Likewise.
+       * coff-m88k.c, coff-rs6000.c, coff-sh.c, coff-sparc.c: Likewise.
+       * coff-we32k.c, coff-z8k.c: Likewise.
+
+       * configure.in: Use ${config_shell} when running config.bfd.
+
+       * cofflink.c (coff_link_input_bfd): Don't try to convert a long
+       filename if the offset field is zero.
+
+       * elfcode.h (swap_out_syms): If the alignment of a common symbol
+       was not set, use a sensible default rather than zero.
+
+Mon Oct  3 16:04:29 1994  H.J. Lu (hjl@nynexst.com)
+
+       * opncls.c (bfd_close): Honor umask when setting execution bits.
+       (bfd_close_all_done): Likewise.
+
+Mon Oct  3 04:41:49 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       * rs6000-core.c (rs6000coff_core_p):  Set SEC_HAS_CONTENTS flag
+       for .stack and .ldinfo sections. Cast coredata.c_tab to a
+       file_ptr to avoid warnings from gcc.
+
+Fri Sep 30 13:11:38 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * elfcode.h (elf_bfd_final_link): Remove assertion when a non
+        SEC_IN_MEMORY section is found in dynobj.  This can happen when
+       linking PIC compiled code.
+
+Thu Sep 29 15:21:44 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * reloc.c (bfd_install_relocation): Change type of "data" to
+       bfd_byte *, to go along with yesterday's change.
+
+       * elf.c (bfd_elf_print_symbol): Moved here from elf_print_symbol
+       in elfcode.h.  (case bfd_print_symbol_all): Print symbol's size
+       field, except for common symbols; print their alignment.
+       * elfcode.h (elf_print_symbol): Deleted.
+       * libelf.h (bfd_elf_print_symbol): Declare.
+       (bfd_elf{32,64}_print_symbol): Replace declarations with macros.
+
+       * syms.c (bfd_print_symbol_vandf): Show BSF_LOCAL and BSF_GLOBAL
+       in one column.  Use the column freed up to show BSF_FUNCTION and
+       BSF_FILE.
+
+Thu Sep 29 12:29:01 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * syms.c (stt): Add .rdata and .rodata.
+
+Wed Sep 28 13:35:05 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * reloc.c (bfd_install_relocation): Cast data_start to bfd_byte *
+       before trying to add values to it.
+
+Tue Sep 27 16:47:58 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * elf32-hppa.c (elf32_hppa_backend_final_write_processing): Cast
+       return value from elf_sym_extra.
+       (elf32_hppa_build_stubs): Cast return value from bfd_zalloc.
+       (elf32_hppa_size_stubs): Cast return value from malloc.
+
+       * gen-aout.c (main): Declare and initialize "arch".
+
+       * cofflink.c (coff_link_add_symbols): Cast return value of
+       bfd_hash_allocate.
+
+       * riscix.c (riscix_callback): Use PARAMS macro in prototype.
+
+       * reloc.c (bfd_install_relocation): New function, mostly copied
+       from bfd_perform_relocation, adjusted for the assembler's needs.
+       * bfd-in2.h: Regenerated.
+
+Mon Sep 26 11:00:14 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * elfcode.h (assign_file_positions_except_relocs): Align the
+       section VMA and the file position even if D_PAGED is not set.
+
+       * bfd-in.h (bfd_seek): Change declaration to not mark fp const.
+       * bfd-in2.h: Rebuild.
+       * libbfd.c (bfd_seek): Don't mark parameters const, to avoid
+       conflicts with declaration.
+
+Fri Sep 23 15:15:31 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * elfcode.h (map_program_segments): Don't abort if we allocated
+       too much space for the program header, only if we allocated too
+       little.
+       (assign_file_positions_except_relocs): Similar change.
+
+Tue Sep 20 13:17:07 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
+
+       * libaout.h: Fix comment.
+       * ns32knbsd.h: Changed M_NS32K_NETBSD to M_532_NETBSD to match
+         libaout.h.
+
+Tue Sep 20 15:23:21 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * Makefile.in: Rebuilt dependencies.
+       (BFD32_BACKENDS): Add sparcnetbsd.o.
+       (CFILES): Add ns32knetbsd.c and sparcnetbsd.c.
+       * targets.c: ns32knetbsd_vec was renamed to pc532netbsd_vec.
+
+       * coff-sh.c (rtype2howto): Remove; unused.
+       (coff_sh_relocate_section): Remove unused local variable rstat.
+       (reloc_processing): Comment out; unused.
+
+Fri Sep 16 12:12:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * aoutx.h (aout_link_write_other_symbol): If h->indx is -2, then
+       always write it out even if it would normally be stripped.
+       (aout_link_input_section_std): If we find a reloc against a
+       stripped global symbol, force it to be written out rather than
+       merely calling unattached_reloc.
+       (aout_link_input_section_ext): Likewise.
+       (aout_link_reloc_link_order): Likewise.
+
+Wed Sep 14 15:37:19 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.h (struct somdata): New field sorted_syms.
+       (obj_som_sorted_syms): Accessor macro.
+       * som.c (som_object_setup): Initialize sorted_syms to NULL.
+       (som_prep_for_fixups): Sort a copy of the BFD's symbol table;
+       store the sorted symbol table in sorted_syms.
+       (som_write_fixups): Initalize tmp_reloc to NULL to make GCC happy.
+       (som_begin_writing): Similarly for exec_header.  Pass the sorted
+       symbol table to som_write_symbol_strings.
+       (som_build_and_write_symbol_table): Use the sorted symbols rather
+       than the canonical symbol table.
+
+       * som.h (som_symbol_type): Add "stringtab_offset" field.
+       * som.c (som_write_symbol_strings): Use "stringtab_offset"
+       rather than destroying the "name" field in the BFD symbol.
+       (som_build_and_write_symbol_table): Likewise.
+
+Wed Sep 14 15:06:55 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * aoutx.h (aout_link_write_symbols): Rename skip_indirect to
+       skip_next.  If we find an N_WARNING symbol which has already been
+       written out, set skip_next.
+
+       * libecoff.h (struct ecoff_tdata): Add field find_buffer.
+       * ecoff.c: Include aout/stab_gnu.h.
+       (ecoff_find_nearest_line): Handle stabs debugging information.
+
+       * elfcode.h (elf_link_output_extsym): Keep a symbol marked as weak
+       even if it is referenced by another object.
+
+Tue Sep 13 17:57:00 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_fixup_formats): Case R_ENTRY (0xb3), set both
+       'T' and 'U' to grab all the unwind information.
+       (som_set_reloc_info): Make 'U' unwind bits persist across
+       multiple SOM relocations.  Set the addend field of an R_ENTRY
+       relocation to the value in 'T'; set the addend field on an
+       R_EXIT relocation to the value in 'U'.
+
+       * som.h (som_symbol_type): Delete unwind field.
+
+       * som.c (som_write_fixups): For R_ENTRY fixups, get 32bits of
+       unwind information from the addend field of the R_ENTRY, get the
+       other 32bits from the addend field of the R_EXIT.
+       (bfd_som_attach_unwind_info): Delete function and all references.
+
+       * som.h (som_symbol_type): Delete unused a.out-related fields.
+
+       * som.c (bfd_section_from_som_symbol): Use bfd_abs_section_ptr
+       instead of &bfd_abs_section.
+
+       * som.c (som_object_setup): Handle exec_entry and exec_flags being
+       switched in executables created by the OSF1 linker.
+       (som_write_fixups): Handle R_EXIT just like the R_{F,L,R}SEL
+       fixups.  Support R_ALT_ENTRY (handle just like R_EXIT).
+
+Tue Sep 13 16:04:07 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
+
+       * cofflink.c (coff_link_input_bfd): syment_base is unsigned
+       so can't compare -ve numbers with it.
+
+Mon Sep 12 20:31:17 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
+
+       * configure.in (shcoff_vec): Use cofflink.o now.
+       * coff-sh.c: Rewritten to use new fast coff backend.
+
+Tue Sep 13 16:23:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * aoutx.h (NAME(aout,final_link)): Don't assume that all the input
+        files are a.out.
+
+Tue Sep 13 11:09:39 1994  J.T. Conklin  (jtc@rtl.cygnus.com)
+
+       * configure.host (sparc-*-netbsd): use sparcnbsd.
+         (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.
+       
+Mon Sep 12 21:56:20 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_reloc_skip): Correct off-by-one error for 4-byte
+       R_NO_RELOCATION fixups.
+       (bfd_section_from_som_symbol): Return the absolute section if the
+       symbol isn't contained in any section in the output file.
+       (som_slurp_symbol_table): ST_PRI_PROG and ST_SEC_PROG symbols are
+       not function symbols (they are magic code labels which *can* be the
+       targets of cross space branches).  $START$ is not a section symbol.
+
+Mon Sep 12 11:43:08 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * coff-alpha.c (ecoffalpha_little_vec): Add SEC_CODE and SEC_DATA
+       to section_flags.
+       * coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
+
+       * elfcode.h (swap_out_syms): Set the type of an undefined symbol
+       to STT_FUNC if the BSF_FUNCTION flag is set.
+
+       * cofflink.c (coff_link_input_bfd): If r_symndx is -1, don't
+       change it.
+       (_bfd_coff_generic_relocate_section): If r_symndx is -1, it is an
+       absolute reloc.  Don't dump core using r_symndx as an array index.
+       * cf-m68klynx.c (coff_bfd_link_add_symbols): Define.
+       (lynx_link_add_symbols): New static function (copy of function in
+       coff-i386.c).
+       (coff_m68k_lynxrtype_to_howto): sym argument may be NULL.
+       * coff-i386.c (coff_i386_rtype_to_howto): Likewise.
+       * coff-a29k.c (coff_a29k_relocate_section): Handle an r_symndx
+       value of -1, meaning an absolute reloc.
+
+       * ctor.c: Remove; obsolete.
+       * Makefile.in: Rebuild dependencies.
+       (BFD_LIBS): Remove ctor.o.
+       (CFILES): Remove ctor.c.
+       * libbfd.h: Rebuild.
+
+Mon Sep 12 01:58:47 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * elf32-hppa.c (elf32_hppa_relocate_section): If there was a link
+       error of some sort (for example, undefined symbols), then do not
+       apply any relocs, just notify the user of the errors.
+       (elf32_hppa_backend_begin_write_processing): Do not build a symbol
+       extension section for an executable (it's useless).
+       (elf32_hppa_link_output_symbol_hook): Do nothing if there was a
+       link error of some sort (for example, undefined symbols).
+       (elf32_hppa_read_symext_info): Kludge.  Turn off SEC_HAS_CONTENTS
+       for all the input symbol extension sections to keep the generic
+       BFD code happy.  Temporarily turn it on to read the contents of
+       the symbol extension section.
+
+Sun Sep 11 21:58:59 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * config/hppaosf.mh (RANLIB): Do not set.
+       * config/hppabsd.mh (RANLIB): Likewise.
+
+Sun Sep 11 22:50:49 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * cf-i386lynx.c: Remove #if 0 code.
+       (i386_lynxos_coff_object_p): Remove unused function.
+       (coff_bfd_link_add_symbols): Define.
+       (lynx_link_add_symbols): New static function.
+       * coffcode.h (coff_bfd_link_hash_table_create): If
+       coff_relocate_section is defined, only define this if not already
+       defined.
+       (coff_bfd_link_add_symbols, coff_bfd_final_link): Likewise.
+
+       * linker.c (_bfd_generic_final_link): Handle
+       bfd_indirect_link_order explicitly, rather than via
+       _bfd_default_link_order.
+       (set_symbol_from_hash): New static function, broken out of
+       _bfd_generic_link_write_global_symbol.
+       (_bfd_generic_link_write_global_symbol): Symbol setting code moved
+       to set_symbol_from_hash; call it.
+       (default_indirect_link_order): Add generic_linker argument.
+       Change all callers.  If false, set the generic symbols based on
+       the hash table entries.
+
+Fri Sep  9 11:51:49 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * coffgen.c (coff_get_symtab): Reindented.  Removed commented out
+       call to bfd_constructor_entry.
+
+       Convert m68k COFF to use new COFF backend linker.
+       * coff-m68k.c (coff_relocate_section): Define.
+       * cf-m68klynx.c (coff_rtype_to_howto): Define.
+       (coff_m68k_lynx_rtype_to_howto): New static function.
+       * configure.in (m68kcoff_vec): Build cofflink.o.
+       (m68kcoffun_vec, m68klynx_coff_vec): Likewise.
+
+Thu Sep  8 16:20:38 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
+
+       * coff-h8300.c (h8300_reloc16_extra_cases, case RELBYTE): Flag
+       overflows correctly.
+
+Wed Sep  7 19:01:42 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * libelf.h (struct elf_backend_data): Change second argument of
+       elf_backend_final_write_processing hook to boolean.
+       (struct elf_obj_tdata): Add linker field.
+       * elfcode.h (NAME(bfd_elf,write_object_contents)): Pass value of
+       tdata linker field to final_write_processing, rather than NULL.
+       (elf_bfd_final_link): Don't call final_write_processing hook.  Set
+       tdata linker field to true.
+       * elf32-mips.c (mips_elf_final_write_processing): Change type of
+       second argument to boolean.
+       * elf32-hppa.c (elf32_hppa_backend_final_write_processing):
+       Likewise.
+
+       * coff-go32.c (RTYPE2HOWTO): Fully parenthesize arguments.
+       * coff-i960.c (RTYPE2HOWTO): Likewise.
+       * coff-m88k.c (RTYPE2HOWTO): Likewise.
+       * coff-we32k.c (RTYPE2HOWTO): Likewise.
+
+       Make i386 COFF use new COFF backend linker.
+       * coff-i386.c (RTYPE2HOWTO): Fully parenthesize arguments.
+       (coff_relocate_section): Define.
+       (coff_i386_rtype_to_howto): New function.
+       * configure.in (i386coff_vec): Use cofflink.o.
+       (i386lynx_coff_vec): Likewise.
+
+       * coffcode.h (bfd_coff_backend_data): Add new field
+       _bfd_coff_rtype_to_howto.
+       (bfd_coff_rtype_to_howto): Define.
+       (coff_rtype_to_howto): Define to use RTYPE2HOWTO, if not already
+       defined.
+       (bfd_coff_std_swap_table): Initialize new field.
+       * cofflink.c (_bfd_coff_final_link): Allocate section_count + 1
+       section_info structures, since the target_index is 1 based.
+       (coff_link_input_bfd): Set *secpp to bfd_com_section_ptr for a
+       common symbol.  Adjust rel_hash by the output reloc count.
+       (_bfd_coff_generic_relocate_section): New function.
+       * libcoff-in.h (_bfd_coff_generic_relocate_section): Declare.
+       * libcoff.h: Rebuild.
+       * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
+       * coff-mips.c (mips_ecoff_backend_data): Likewise.
+
+Tue Sep  6 23:28:52 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_bfd_derive_misc_symbol_info): Treat undefined code
+       symbols and undefined symbols which no type in the same manner
+       if the associated BFD symbol has BSF_FUNCTION set.  For a defined
+       symbol which no type, select a SOM type based on the flags of the
+       section containing the symbol.
+       (som_slurp_symbol_type): Set BSF_FUNCTION for undefined ST_STUB
+       or ST_CODE symbols (importing a non-function code symbol is
+       meaningless in SOM).
+       (som_set_reloc_info): Don't set "offset" to the section's vma; it
+       should always start at zero.
+
+Tue Sep  6 14:51:11 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       Add new style linker support to COFF backend.  a29k only for now.
+       * cofflink.c: New file.
+       * libcoff-in.h: Include bfdlink.h.
+       (obj_coff_external_syms, obj_coff_strings): Define accessor macro.
+       (obj_coff_sym_hashes): Define accessor macro.
+       (struct coff_tdata): Add fields external_syms, strings, and
+       sym_hashes.
+       (struct coff_link_hash_entry): Define.
+       (struct coff_link_hash_table): Define.
+       (coff_link_hash_lookup, coff_link_hash_traverse): Define.
+       (coff_hash_table): Define.
+       (_bfd_coff_link_hash_table_create): Declare.
+       (_bfd_coff_link_add_symbols, _bfd_coff_final_link): Declare.
+       * coffcode.h (bfd_coff_backend_data): Add fields _bfd_relsz,
+       _bfd_coff_swap_reloc_in, _bfd_coff_sym_is_global,
+       _bfd_coff_compute_section_file_positions,
+       _bfd_coff_relocate_section.
+       (bfd_coff_relsz, bfd_coff_swap_reloc_in): Define.
+       (bfd_coff_sym_is_global): Define.
+       (bfd_coff_compute_section_file_positions): Define.
+       (bfd_coff_relocate_section): Define.
+       (coff_mkobject_hook): Initialize obj_raw_syment_count and
+       obj_conv_table_size.
+       (coff_compute_section_file_positions): Set target_index of all
+       sections.  Set output_has_begun field.
+       (coff_write_object_contents): Don't set target_index; now done by
+       coff_compute_section_file_positions.  Remove obsolete handling of
+       scn_base and data_base.  Don't bother to check that target_index
+       is positive, since it always is.  Remove use of pad, which is
+       always zero.  Check obj_raw_syment_count, not bfd_get_symcount,
+       for the number of symbols, but only write them out if
+       bfd_get_symcount is non-zero.  Don't check obj_raw_syment_count
+       until after coff_write_symbols is called.
+       (coff_slurp_symbol_table): Use obj_raw_syment_count, not
+       bfd_get_symcount for the number of symbols.  Don't set
+       obj_conv_table_size.
+       (coff_sym_is_global): New static function or macro.
+       (coff_slurp_reloc_table): Call coff_swap_reloc_in, not
+       bfd_swap_reloc_in.
+       (coff_bfd_link_hash_table_create): If coff_relocate_section is
+       defined, define as _bfd_coff_link_hash_table_create.
+       (coff_bfd_link_add_symbols): Similar change.
+       (coff_bfd_final_link): Similar change.
+       (coff_relocate_section): Define as NULL if not defined.
+       (bfd_coff_std_swap_table): Initialize new fields.
+       * coffgen.c (coff_real_object_p): Don't set obj_raw_syment_count
+       and obj_conv_table_size here.
+       (coff_count_linenumbers): Reindent.  If bfd_get_symcount is zero,
+       add up the line numbers from the sections.
+       (coff_write_symbols): Set obj_raw_syment_count, not
+       bfd_get_symcount.
+       (coff_pointerize_aux): Don't pointerize a nonpositive x_endndx
+       field.
+       (coff_get_normalized_symtab): Use obj_raw_syment_count, not
+       bfd_get_symcount.
+       (coff_print_symbol): If auxp->fix_end, print x_endndx value.
+       * coffswap.h (coff_swap_reloc_in): Rename from bfd_swap_reloc_in.
+       Reindent.  Change argument type to  PTR.
+       * coff-a29k.c (coff_a29k_relocate_section): New static function.
+       (coff_relocate_section): Define.
+       * configure.in (a29kcoff_big_vec): Compile cofflink.o.
+       * coff-alpha.c (alpha_ecoff_backend_data): Initialize new fields.
+       * coff-mips.c (mips_ecoff_backend_data): Likewise.
+       * libcoff.h: Rebuilt.
+       * Makefile.in: Rebuilt dependencies.
+       (BFD32_BACKENDS): Add cofflink.o.
+       (CFILES): Add cofflink.c.
+
+Tue Sep  6 14:00:45 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       * coffgen.c (coff_print_symbol, case bfd_symbol_print_all): Check
+       for section symbol, and print its aux fields with appropriate
+       labels.
+
+       * Makefile.in (ALL_MACHINES): Added cpu-arm.o.
+
+Sun Sep 04 17:58:10 1994  Richard Earnshaw (rwe@pegasus.esprit.ec.org)
+
+       * aoutx.h (NAME(aout,machine_type)): Recognize the ARM processor.
+       * archures.c, config.bfd, configure.host, libaout.h, reloc.c,
+       targets.c: Add support for the ARM.
+       * cpu-arm.c, riscix.c, config/riscix.mh, config/riscix.mt: New files.
+
+       * aoutx.h (add_to_stringtable): Check that str isn't a NULL pointer.
+
+Fri Sep  2 14:10:30 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       * reloc.c (enum bfd_reloc_code_real): Rewrote definition to use
+       new "chew" commands for simultaneous definition of enumerator and
+       enumerator name table.
+       (bfd_get_reloc_code_name): New function, for retrieving a symbolic
+       name associated with an enumerator.
+       * libbfd.h, bfd-in2.h: Regenerated.
+
+Tue Aug 30 21:24:54 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_write_fixups, case R_ENTRY): Handle case where no
+       unwind descriptor information is available.
+
+Tue Aug 30 11:43:30 1994  Eric Youngdale  (ericy@cais.cais.com)
+
+       * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add soname
+       argument, and use it to set DT_SONAME dynamic entry.
+       * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
+       (bfd_elf64_size_dynamic_sections): Update prototype.
+       * bfd-in2.h: Rebuilt.
+
+Fri Aug 26 15:47:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * coffgen.c (coff_real_object_p): Set obj_raw_syment_count.
+       (coff_get_normalized_symtab): Verify obj_raw_syment_count, rather
+       than setting it.
+
+Thu Aug 25 10:44:53 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * archive.c (bsd_write_armap): Remove host dependencies.
+
+       * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error
+       before adding BYTES_IN_WORD.
+
+       * coffgen.c (coff_find_nearest_line): Look for the best C_FILE,
+       not merely the first.
+
+       * coffgen.c (coff_write_alien_symbol): If we are not using the
+       symbol, clear the name so that it is not put in the string table.
+       From Antti.Miettinen@ntc.nokia.com.
+
+Wed Aug 24 11:49:19 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * coffgen.c (coff_print_symbol): Cast pointer different to long
+       and use %ld to print it.
+       * osf-core.c (osf_core_core_file_p): Remove unused variable
+       dseccnt.
+       * ecoffswap.h (ecoff_swap_ext_out): If ECOFF_64, clear remaining
+       bytes in bits2.
+
+       * configure.host, config.bfd: Change i[34]86 to i[345]86.
+       * coffgen.c (coff_real_object_p): Set obj_conv_table_size here,
+       rather than waiting until coff_slurp_symbol_table.
+       (coff_write_alien_symbol): Just ignore BSF_DEBUGGING symbols.
+       From Antti.Miettinen@ntc.nokia.com.
+
+       * section.c (bfd_make_section_anyway): Fix failure check of
+       bfd_make_empty_symbol.  From Antti.Miettinen@ntc.nokia.com.
+
+       * aoutx.h (translate_to_native_sym_flags): Use the output_section
+       (and output_offset) if there is one.
+
+       * aoutx.h (aout_link_check_archive_element): Discard the symbols
+       if the archive element was not needed.
+
+       * aoutx.h (aout_get_external_symbols): Ensure that a zero string
+       index yields an empty string.
+       (aout_link_write_symbols): If info->keep_memory is false, use name
+       from original hash table entry, not from entry in *sym_hash.
+
+       * aoutx.h (struct aout_final_link_info): Add fields contents,
+       relocs, symbol_map and output_syms.
+       (NAME(aout,final_link)): Work out the largest section size, reloc
+       size, and number of symbols.  Use them to preallocate buffers that
+       are large enough for all cases.
+       (aout_link_input_bfd): Use preallocated symbol_map.
+       (aout_link_write_symbols): Remove symbol_map argument; use
+       preallocated symbol_map instead.  Change all callers.  Use
+       preallocated output_syms.
+       (aout_link_input_section): Remove symbol_map argument.  Change all
+       callers.  Use preallocated contents and relocs.
+       (aout_link_input_section_std): Remove symbol_map argument; use
+       preallocated symbol_map instead.  Change all callers.
+       (aout_link_input_section_ext): Likewise.
+
+Tue Aug 23 10:51:09 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * archive.c (_bfd_write_archive_contents): Don't update the
+       symbol map timestamp if there is no symbol map.  From
+       schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
+
+Mon Aug 22 12:26:42 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add _update_armap_timestamp.
+       (bfd_target): Add field _bfd_update_armap_timestamp.
+       * bfd.c (bfd_update_armap_timestamp): Define.
+       * bfd-in2.h: Rebuilt.
+       * libbfd-in.h (_bfd_noarchive_update_armap_timestamp): Define.
+       (_bfd_archive_bsd_update_armap_timestamp): Declare.
+       (_bfd_archive_coff_update_armap_timestamp): Define.
+       * libbfd.h: Rebuilt.
+       * archive.c (_bfd_write_archive_contents): Call
+       bfd_update_armap_timestamp instead of checking for a BSD archive
+       and calling bsd_update_armap_timestamp.
+       (_bfd_archive_bsd_update_armap_timestamp): Rename from
+       _bsd_update_armap_timestamp.  Don't assume that armap_datepos is
+       already set.
+       * aout-target.h (MY_update_armap_timestamp): Define if not already
+       defined.
+       * coff-rs6000.c (rs6000coff_update_armap_timestamp): Define.
+       * ieee.c (ieee_update_armap_timestamp): Define.
+       * libecoff.h (_bfd_ecoff_update_armap_timestamp): Define.
+       * oasys.c (oasys_update_armap_timestamp): Define.
+       * som.c (som_update_armap_timestamp): Define.
+
+       * hash.c: Copy string hash functions from aoutx.h.
+       * aoutx.h: String hash functions moved to hash.c.  Retain
+       simplified versions of add_to_stringtab and emit_stringtab.
+       Change all callers to use new function and structure names.
+       * libbfd-in.h (_bfd_stringtab_init, _bfd_stringtab_free): Declare.
+       (_bfd_stringtab_size, _bfd_stringtab_add): Declare.
+       (_bfd_stringtab_emit): Declare.
+       * libbfd.h: Rebuilt.
+
+Mon Aug 22 10:49:37 1994  Eric Youngdale  (ericy@cais.cais.com)
+
+       * i386linux.c (linux_add_one_symbol): Create a fixup for any
+       defined absolute symbol, not just GOT or PLT symbols.
+       (linux_tally_symbols): Correct handling of references to defined
+       symbols.
+
+Thu Aug 18 16:29:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       Get ld -x -r to handle a.out set symbols correctly.
+       * aoutx.h (adjust_o_magic): If the .bss VMA was set outside of
+       BFD, pad the .data section up to the VMA of the .bss section.
+       (aout_link_add_symbols): If a set symbol does not get modified,
+       treat it as a local symbol.
+       (aout_link_write_symbols): Set the value of set symbols
+       correctly.  Don't discard set symbols even if discarding local
+       symbols.
+       (aout_link_write_other_symbol): Don't abort on bfd_link_hash_new,
+       since it can now happen for set symbols.
+
+       * elfcode.h (elf_fake_sections): Just check for ".rela" and
+       ".rel", not ".rela." and ".rel."; make this work by checking
+       use_rela_p.
+       * elf32-i386.c (elf_i386_check_relocs): Just check for ".rel", not
+       ".rel."
+       (elf_i386_size_dynamic_sections): Likewise.
+       (elf_i386_relocate_section): Likewise.
+       * elf32-sparc.c (elf32_sparc_check_relocs): Just check for
+       ".rela", not ".rela."
+       (elf32_sparc_size_dynamic_sections): Likewise.
+       (elf32_sparc_relocate_section): Likewise.
+
+Wed Aug 17 16:54:18 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * linker.c (_bfd_generic_link_add_archive_symbols): Initialize
+       PASS to the old value + 1.
+
+       * coffgen.c (coff_get_normalized_symtab): If a C_FILE symbol has
+       no aux entries, use the symbol name as the file name.
+       (coff_find_nearest_line): Look for the right C_FILE symbol, rather
+       than always using the first one.  If there is a debugging symbol
+       after a function symbol, skip it.  Add the section VMA to the line
+       offset, since it was subtracted out in coff_slurp_line_table.
+
+Tue Aug 16 16:53:00 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_prep_headers): If writing some form of an executable,
+       allocate and attach an exec header to the BFD private data.
+       (som_begin_writing): Don't fill fields of the exec header based
+       on BFD private data here (like the exec flags).  Do not write
+       the exec header here.
+       (som_write_headers): Instead do it here.
+       * som.h (struct somdata): New field "exec_hdr" for the executable
+       file header.
+       (obj_som_exec_hdr): New accessor macro.
+
+Tue Aug 16 00:12:31 1994  Eric Youngdale  (ericy@cais.cais.com)
+
+       * i386linux.c (linux_link_create_dynamic_sections): Create section
+       named .linux-dynamic, not .dynamic.
+       (linux_add_one_symbol): Use .linux-dynamic, not .dynamic.
+       (bfd_linux_size_dynamic_sections): Likewise.
+       (linux_finish_dynamic_link): Likewise.
+
 Mon Aug 15 12:16:56 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
 
+       * coffgen.c (STRING_SIZE_SIZE): Define.
+       (coff_fix_symbol_name): Use STRING_SIZE_SIZE, not 4.
+       (coff_write_symbols, build_string_table): Likewise.
+       (coff_get_normalized_symtab): Likewise.
+
        * libcoff-in.h (obj_symbol_slew): Don't define.
        (struct coff_tdata): Remove unused fields index_slew, raw_linenos,
        and flags.
This page took 0.031136 seconds and 4 git commands to generate.