* section.c (bfd_get_section_contents): Put in parens to get
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index c080c0b9d3e682e583fbf5cf05384a8f64f305ec..d14c9c5373c3b61c052dae80245101ccefa89387 100644 (file)
@@ -1,5 +1,379 @@
+Mon Jun 27 18:07:06 1994  Steve Chamberlain  (sac@cirdan.cygnus.com)
+
+       * section.c (bfd_get_section_contents): Put in parens to get
+       precedence right.
+
+Sun Jun 26 18:08:29 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * libelf.h (relocate_section): New argument "output_names" added
+       to prototype.
+       * elfcode.h (elf_link_input_bfd): New argument "output_names"
+       added to prototype of relocate_section.  Pass the output symbol
+       names to relocate_section.
+       * elf32-i386.c (elf_i386_relocate_section): Use "output_names" to
+       determine the name of a local symbol.
+       * elf32-mips.c (mips_elf_relocate_section): Likewise.
+       * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+
+Fri Jun 24 08:15:42 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       Add Solaris BCP (the part of Solaris which allows it to run
+       SunOS4 a.out files) core file handling.
+       * aoutf1.h (external_solaris_bcp_core, swapcore_solaris_bcp):
+       New structure and its swap in function.
+       (internal_sunos_core):  New member c_data_addr, to receive the
+       start address of the data section in the core file.
+       (swapcore_sun3, swapcore_sparc, sunos4_core_file_p):  Use it.
+       (sunos4_core_file_p):  Recognize Solaris BCP core file.
+       (sunos4_core_file_matches_executable_p):  Always indicate match
+       for Solaris BCP core files.
+
+Thu Jun 23 15:31:28 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       Preliminary support for generating shared libraries, from Eric
+       Youngdale <ericy@cais.cais.com>.
+       * elfcode.h (prep_headers): If DYNAMIC, set e_type to ET_DYN.
+       (elf_link_add_object_symbols): If generating a shared library,
+       create dynamic sections for first input BFD with the right format.
+       (elf_link_create_dynamic_sections): Don't create .interp section
+       if creating a shared library.
+       (elf_link_input_bfd): Skip dynamic sections in input file.
+       (elf_bfd_final_link): If creating a shared library, it's OK for
+       dynobj to have sections which are not SEC_IN_MEMORY.
+       * elf32-i386.c (elf_i386_size_dynamic_sections): Only set .interp
+       section if not creating a shared library.
+       * elf32-sparc.c (elf_sparc_size_dynamic_sections): Likewise.
+
+       * elfcode.h (elf_object_p): Don't set DYNAMIC just because there
+       is an SHT_DYNAMIC section.
+
+       * cf-i386lynx.c (i386coff_vec): Don't include DYNAMIC in
+       object_flags.
+       * coff-sparc.c (sparccoff_vec): Likewise.
+       * hppabsd-core.c (hppabsd_core_vec): Likewise.
+
+       * aoutx.h (NAME(aout,some_aout_object_p)): Don't set SEC_RELOC
+       just because DYNAMIC is set.
+
+Thu Jun 23 12:53:41 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
+
+       * configure.in: Change --with-targets to --enable-targets and
+       --with-64-bit-bfd to --enable-64-bit-bfd.
+       * Makefile.in, mpw-make.in, targets.c: Change comments.
+
+Wed Jun 22 17:59:59 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       * config.bfd (powerpc-*-elf*): New target, just like
+       powerpc-*-sysv4*.
+
+       * linker.c (FAIL): Undefine macro before defining as enum.
+
+Wed Jun 22 10:52:47 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * linker.c (_bfd_generic_link_add_archive_symbols): Initialize
+       pass from abfd->archive_pass, and save it there as well.
+
+       * hash.c (bfd_hash_allocate): Don't call bfd_set_error if
+       obstack_alloc returns NULL unless the size is non-zero.
+
+       * linker.c (archive_hash_allocate): Define.
+       (_bfd_generic_link_add_archive_symbols): Use archive_hash_allocate
+       rather than obstack_alloc, for clarity.
+
+       * elfcode.h (elf_get_reloc_upper_bound): Correct.
+
+       * aout64.c (BMAGIC, QMAGIC): Define if not already defined.  From
+       Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.
+
+       Linux ZMAGIC support from Eric Youngdale <ericy@cais.cais.com>.
+       * libaout.h (struct aoutdata): Add field zmagic_disk_block_size.
+       * aout-target.h (MY(callback)): Only set alignment according to
+       architecture if the section sizes are aligned to that alignment,
+       for backward compatibility.
+       (MY(set_sizes)): Initialize zmagic_disk_block_size field.
+       * aoutx.h (adjust_z_magic): Set ztih if using q_magic_format.  Set
+       text section filepos to zmagic_disk_block_size if not ztih.  Use a
+       different padding algorithm if not ztih.
+       * i386linux.c (MY_text_includes_header): Don't define.
+
+       * aoutx.h (aout_link_check_ar_symbols): Just skip N_STAB and N_FN
+        symbols; don't look them up in the hash table.  From
+        ralphc@pyramid.com (Ralph Campbell).
+
+Tue Jun 21 11:47:20 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * coff-go32.c (go32coff_archive_p): Remove unused function.
+
+       * section.c (bfd_abs_section): Make const.
+       (bfd_abs_section_ptr, bfd_is_abs_section): Define.
+       (bfd_und_section): Make const.
+       (bfd_und_section_ptr, bfd_is_und_section): Define.
+       (bfd_com_section): Make const.
+       (bfd_com_section_ptr): Define.
+       (bfd_ind_section): Make const.
+       (bfd_ind_section_ptr, bfd_is_ind_section): Define.
+       (bfd_abs_symbol, bfd_com_symbol): Make const.
+       (bfd_und_symbol, bfd_ind_symbol): Likewise.
+       (global_syms): Cast initialization of section field.
+       (STD_SECTION): Define as const, and cast initializations.
+       * bfd-in2.h: Rebuilt.
+       * Many files: Change uses of bfd_abs_section, etc., to use
+       bfd_abs_section_ptr or bfd_is_abs_section, etc.
+
+Mon Jun 20 11:06:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * Many files: change all bfd_target vectors to be const.  Change
+       all uses of bfd_target * to be const bfd_target *.  Change
+       bfd_target_vector and bfd_default_vector arrays to be const
+       bfd_target * const *.
+
+       * ecoff.c, libecoff.h, ecoffswap.h, coff-alpha.c, coff-mips.c,
+       elf32-mips.c: Renamed all externally visible ECOFF routines which
+       are local to BFD to start with _bfd_ecoff instead of just ecoff.
+
+       * ecoff.c (ecoff_swap_tir_in): Change input argument to const.
+       (ecoff_swap_tir_out): Likewise.
+       (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
+       (ecoff_slurp_symbolic_info): Add new arguments to correspond to
+       read_debug_info entry point in ecoff_debug_swap structure.
+       Change all calls.
+       * libecoff.h (ecoff_slurp_symbolic_info): Change declaration.
+       * ecoffswap.h (ecoff_swap_tir_in, ecoff_swap_tir_out): Declare.
+       (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Declare.
+       * coff-alpha.c (alpha_ecoff_backend_data): Initialize new
+       ecoff_debug_swap fields.
+       * coff-mips.c (mips_ecoff_backend_data): Likewise.
+       * elf32-mips.c (mips_elf_read_ecoff_info): Undefine READ.
+       (mips_elf_ecoff_debug_swap): Initialize new ecoff_debug_swap
+       fields.
+       * configure.in (bfd_elf32_bigmips_vec): Use ecoff.o and
+       ecofflink.o.
+       (bfd_elf32_littlemips_vec): Likewise.
+       (ecoff_big_vec, ecoff_little_vec): Likewise.
+       (ecoffalpha_little_vec): Likewise.
+       * Makefile.in (BFD_LIBS): Remove ecoff.o and ecofflink.o.
+       (BFD32_BACKENDS): Add ecoff.o and ecofflink.o.
+
+       * aoutx.h (NAME(aout,final_link)): Check flavour of sub, not abfd,
+       when computing reloc sizes.  From Eric Youngdale
+       <ericy@cais.cais.com>.
+       * elfcode.h (elf_bfd_final_link): Don't try to compute maximum
+       reloc count or size for a non-ELF file.
+
+       * mipsbsd.c (MY_final_link_callback): Define to avoid warning.
+
+       * hp300hpux.c (MY_final_link_callback): Define to avoid warning.
+       (BMAGIC, QMAGIC): Define; used by aoutx.h.
+       (MY(slurp_symbol_table)): Change translate_from_native_sym_flags
+       calls to use new parameters.
+
+Fri Jun 17 14:45:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aout-target.h (MY(callback)): Set the alignments of the text,
+       data and bss sections after determining the architecture.
+
+       * sunos.c (sunos_add_one_symbol): Treat a common symbol from a
+       dynamic object as being in the .bss section of the object, rather
+       than as being undefined.
+
+Fri Jun 17 11:16:50 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * libhppa.h (bfd_hppa_insn2fmt, hppa_rebuild_insn): Make INLINE.
+
+       * elf32-hppa.h (elf_hppa_final_processing): Delete decl.
+
+Thu Jun 16 23:36:23 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * elfcode.h (elf_link_input_bfd): Don't try to read local symbols
+       if there aren't any in the input file.
+
+Thu Jun 16 14:25:22 1994  Eric Youngdale  (ericy@cais.cais.com)
+
+       * i386linux.c: Many new functions and definitions for linker
+       support for Linux shared libraries.
+       * bfd-in.h (bfd_linux_size_dynamic_sections): Declare.
+       * bfd-in2.h: Rebuild.
+
+Thu Jun 16 14:23:46 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * config.bfd: If second argument is ``_'', then, instead of
+       echoing config file name, echo whether target uses leading
+       underscores on symbol names.  Add appropriate settings to
+       different cases.  Used by binutils/configure.in to set default for
+       c++filt.
+
+       * elfcode.h (elf_bfd_final_link): If trying to generate a shared
+       object, warn and return false.
+
+       * aoutx.h (NAME(aout,some_aout_object_p)): Accept BMAGIC objects
+       and treat them as OMAGIC.
+
+Wed Jun 15 18:02:21 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       Enable sparc v9 support for release.  Note that this is still a
+       work in progress, pending release of an ABI specification.
+       * config.bfd, configure.in: Include sparc v9 elf config.
+       * elfcode.h (prep_headers): Handle sparc v9 (64 bit).
+       * reloc.c (bfd_reloc_code_real): New reloc types.
+       * elf64-sparc.c: Implement elf64-sparc target.
+       * Makefile.in, targets.c: Updated.
+
+Wed Jun 15 01:34:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * libelf.h (struct elf_obj_tdata): New field dt_needed_name.
+       (elf_dt_needed_name): New accessor macro.
+       * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
+       is set, use that instead of the filename for the DT_NEEDED dynamic
+       entry.
+       * elf.c (bfd_elf_set_dt_needed_name): New function.
+       * bfd-in.h (bfd_elf_set_dt_needed_name): Declare.
+       * bfd-in2.h: Rebuilt.
+
+       * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add sinterpptr
+       argument, and set it to the .interp section.
+       * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
+       (bfd_elf64_size_dynamic_sections): Likewise.
+       * bfd-in2.h: Rebuilt.
+
+       * coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare
+       field of the reloc rather than letting it be garbage.
+
+       * archive.c (bfd_slurp_armap): Recognize __.SYMDEF/ as well as
+       __.SYMDEF; the former was used in old Linux archives.  From
+       jrs@world.std.com (Rick Sladkey).
+
+       * i386linux.c (i386linux_write_object_contents): Define; like
+       MY(write_object_contents) in aout-target.h, but set MACHTYPE to
+       M_386.  From jrs@world.std.com (Rick Sladkey).
+       (MY_write_object_contents): Define.
+
+       * aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols
+       as N_DATA symbols.
+       (aout_link_add_symbols): Likewise.
+
+       * aoutx.h: Rewrite symbol duplicate elimination to use BFD hash
+       tables.
+       (struct stringtab_entry, struct stringtab_data): Remove.
+       (HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove.
+       (struct strtab_hash_entry, struct strtab_hash): Define.
+       (strtab_hash_newfunc, strtab_hash_lookup): Define.
+       (stringtab_free, emit_stringtab): Define.
+       (stringtab_init, add_to_stringtab): Rewrite.
+       (NAME(aout,write_syms)): Use new stringtab code.
+       (struct aout_final_link_info, NAME(aout,final_link)): Likewise.
+       (aout_link_write_symbols, aout_link_write_other_symbol): Likewise.
+
+       * bfd-in.h (BFD_TRADITIONAL_FORMAT): Define new BFD flag to
+       request BFD to write object in the traditional format, whatever
+       that means for the particular backend.
+       * bfd-in2.h: Rebuilt.
+
+       * hash.c (bfd_hash_allocate): If obstack_alloc fails, set
+       bfd_error_no_memory.
+
+Tue Jun 14 13:00:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * libaout.h (struct aoutdata): Add q_magic_format to subformat
+       enum.
+       * aout-target.h (MY_bfd_copy_private_bfd_data): Define as function
+       if not already defined.  Copy subformat information.
+       (MY_text_includes_header): Define as 0 if not already defined.
+       (MY(backend_data)): Use MY_text_includes_header rather than 0.
+       (MY_final_link_callback): Rename from final_link_callback, and
+       define only if MY_final_link_callback is not already defined.
+       (MY_bfd_final_link): Rename use of final_link_callback to
+       MY_final_link_callback.
+       * aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like
+       ZMAGIC, but set the subformat to q_magic_format.  Abort if the
+       magic number if not recognized.
+       (adjust_z_magic): Use QMAGIC if q_magic_format.
+       * i386linux.c (MY_text_includes_header): Define as 1.
+       (i386linux_bfd_final_link): New static function.
+       (MY_bfd_final_link): Define as i386linux_bfd_final_link.
+
+       * aoutx.h (translate_to_native_sym_flags): Check both section and
+       output_section against sections of abfd.
+
+       * libecoff.h (struct ecoff_link_hash_entry): Change type of
+       written from boolean to char.  Add new field small.
+       * ecoff.c (ecoff_link_hash_newfunc): Initialize written to 0
+       rather than false.  Initialize small to 0.
+       (ecoff_link_add_externals): If ECOFF type is scSUndefined, set
+       small.  If small is set, and hash table type is common, force the
+       symbol into a section named SCOMMON and change the ECOFF type from
+       scCommon to scSCommon.
+       (ecoff_link_write_external): Set written to 1 rather than true.
+       * coff-mips.c (mips_relocate_section): Correct JMPADDR reloc
+       overflow check to consider section VMA of input file.
+
+Mon Jun 13 14:20:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aoutf1.h (aout_32_sunos4_write_object_contents): Handle a
+       machine type of 68000.
+       * aoutx.h (NAME(aout,machine_type)): Add new argument unknown.
+       Set *unknown to true if machine type is really unknown, as opposed
+       to M_UNKNOWN for the 68000.
+       (NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call
+       accordingly.
+       * libaout.h (NAME(aout,machine_type)): Add new argument to
+       prototype.
+
+Sun Jun 12 20:21:03 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (EXEC_AUX_ID): Define based on availablity of HPUX_AUX_ID
+       or HIUX_AUX_ID.
+       (som_begin_writing): Use EXEC_AUX_ID instead of HPUX_AUX_ID.
+       (som_write_armap): Use CPU_PA_RISC1_0 as the magic number.  Note
+       som.c is careful to always define CPU_PA_RISC1_0.
+
+Sat Jun 11 16:32:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       Add weak symbols as an extension to a.out.
+       * aoutx.h (sym_in_text_section): Don't define.
+       (sym_in_data_section, sym_in_bss_section): Likewise.
+       (sym_is_undefined, sym_is_global_defn): Likewise.
+       (sym_is_debugger_info, sym_is_fortrancommon): Likewise.
+       (sym_is_absolute, sym_is_indirect): Likewise.
+       (translate_from_native_sym_flags): Rewrite for clarity.  Rearrange
+       arguments and change caller.  Handle weak symbols.
+       (translate_to_native_sym_flags): Likewise.
+       (aout_link_check_ar_symbols): Don't ignore weak symbols.  Pull
+       object in from archive if a weak defintion is found for an
+       existing undefined symbol.
+       (aout_link_add_symbols): Put all cases in switch.  Set flags of an
+       undefined symbol to 0.  Handle weak symbols.
+       (aout_link_write_symbols): Handle weak symbols.
+       (aout_link_write_other_symbol): Likewise.
+       (aout_link_input_section_std): Likewise.
+       (aout_link_input_section_ext): Likewise.
+       * sunos.c (sunos_write_dynamic_symbol): Likewise.
+
+Fri Jun 10 13:25:13 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aoutx.h (NAME(aout,canonicalize_reloc)): Handle .bss section.
+       (NAME(aout,get_reloc_upper_bound)): Likewise.
+
+       * coff-i960.c (coff_i960_reloc_type_lookup): Add BFD_RELOC_CTOR.
+       * linker.c (_bfd_generic_link_write_global_symbol): Don't assume
+       the section of a common symbol is not NULL.
+
+Wed Jun  8 23:15:53 1994  Stu Grossman  (grossman@cygnus.com)
+
+       * nlmcode.h (nlm_object_p):  Set EXEC_P and start address for GDB.
+
+Wed Jun  8 23:57:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aoutx.h (aout_get_external_symbols): Don't try to read the
+       strings if there are no symbols.
+       (aout_link_write_other_symbol): Use the output section when
+       working out the type.
+
 Tue Jun  7 13:25:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
+       * elfcode.h (assign_section_numbers): Put shstrtab, symtab and
+       strtab sections at end of file.  Avoids bug in some versions of
+       SVR4 strip.  From Eric Youngdale <eric@tantalus.nrl.navy.mil>.
+
        * coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
        set SEC_DEBUGGING for STYP_INFO sections.
        (coff_compute_section_file_positions): If COFF_PAGE_SIZE is
This page took 0.029921 seconds and 4 git commands to generate.