* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Add
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index fccda1bb58c7e1544f7522741dee336ba53c616e..ced528513853bc122956b01c7b1d7a5a5226d693 100644 (file)
@@ -1,3 +1,370 @@
+Thu Nov  9 13:01:31 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (XCOFF_DESCRIPTOR): Define.
+       (struct xcoff_link_hash_table): Add descriptor_section and
+       special_sections fields.
+       (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
+       (xcoff_link_add_symbols): Set linkage section alignment.  Create
+       descriptor section.  Check for magic symbol names (_text, etc.),
+       and record them in special_sections if found.  Set
+       XCOFF_DESCRIPTOR flag for a function descriptor, and set its
+       descriptor field to point back to the function code symbol.
+       (xcoff_sweep): Always mark the special descriptor_section.
+       (bfd_xcoff_export_symbol): Check whether the symbol might be a
+       function descriptor, and mark it if it is.
+       (bfd_xcoff_size_dynamic_sections): Add new special_sections
+       parameter, and fill it in.  Allocate space for the descriptor
+       section.
+       (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
+       global linkage code.  If an undefined function descriptor is
+       exported, arrange to define it.  Warn about any other undefined
+       exported symbol.
+       (_bfd_xcoff_bfd_final_link): Write out the descriptor section.
+       (xcoff_write_global_symbol): Create a function descriptor when
+       necessary.
+       * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
+       * bfd-in2.h: Rebuild.
+
+Thu Nov  9 08:40:23 1995  Kim Knuttila  <krk@cygnus.com>
+
+       * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
+       (ppc_coff_link_hash_table): new types for hashing
+       (ppc_coff_link_hash_newfunc): hash entry constructor
+       (ppc_coff_link_hash_table_init): hash table initializer
+       (ppc_coff_link_hash_table_create): hash table constructor
+       (ppc_record_toc_entry): changed references to hash table
+       (coff_ppc_relocate_section): changed references to hash table
+
+       * libcoff-in.h (coff_link_hash_entry): removed toc_offset
+       * libcoff.h: Rebuild
+
+       * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
+       (coff_link_add_symbols): removed toc_offset init
+
+Thu Nov  9 04:00:38 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * Makefile.in (.dep1): Make sure the file mkdep is to write exists
+       first.
+
+       * configure.in: Added new option --with[out]-mmap.  Set USE_MMAP
+       if it is given and mmep is available.
+       * acconfig.h: Undef USE_MMAP.
+       * configure, config.in: Regenerated.
+       * aoutx.h: If USE_MMAP is not defined, do all symbol and string
+       table handling the old way.
+       (aout_get_external_symbols): Don't complain if last byte of string
+       table is nonzero.
+       * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
+       (bfd_free_window) [! USE_MMAP]: Don't define.
+       (bfd_get_file_window,
+       _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
+
+Wed Nov  8 20:03:44 1995  Eric Freudenthal <freudenthal@nyu.edu>
+
+       * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
+       0xffff0000.
+
+Wed Nov  8 11:31:11 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
+       compatible with AMD generated COFF files.  Try to support both AMD
+       and GNU formats simultaneously.
+       (coff_a29k_relocate_section): Likewise.
+
+       * libbfd.c (bfd_get_file_window): Change writable parameter from
+       int to boolean; update all callers.  Pass MAP_SHARED if not
+       writable--it's required on Solaris.  Cast fprintf argument to
+       avoid warning.
+       * bfd-in.h (bfd_get_file_window): Update declaration.
+       * bfd-in2.h: Rebuild.
+       * aoutx.h: Update calls to bfd_get_file_window.
+
+       * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
+       Change all uses.
+       (xcoff_swap_ldhdr_in): New static function.
+       (xcoff_swap_ldsym_in): New static function.
+       (xcoff_find_reloc): Handle the case of a single reloc correctly.
+       (xcoff_link_add_symbols): If we just created a descriptor, pass it
+       to _bfd_generic_link_add_one_symbol, to save a hash lookup.
+       Handle XTY_ER/XMC_XO symbols correctly.
+       (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
+       rather than normal symbol table.
+       (bfd_xcoff_import_symbol): It's not an error if the symbol is
+       already defined with the same absolute value.
+       (xcoff_mark): When considering called symbols, check whether the
+       descriptor is from a dynamic object, rather than the symbol
+       itself.
+       (xcoff_build_ldsyms): Likewise.
+
+       * libbfd.c (bfd_get_file_window): Change return type to boolean.
+       Cast realloc and malloc return values.  If malloc or realloc fail,
+       set bfd_error_no_memory.
+       * bfd-in.h (bfd_get_file_window): Change type to boolean.
+       * bfd-in2.h: Rebuild.
+
+Tue Nov  7 11:53:48 1995  Kim Knuttila  <krk@cygnus.com>
+
+       * coff-ppc.c (ppc_record_toc_entry): new function.
+       (in_reloc_p): changed return value.
+       (coff_ppc_relocate_section): much rework.
+       (ppc_allocate_toc_section): new function.
+       (ppc_process_before_allocation): new function.
+       (ppc_coff_swap_sym_in_hook): new function.
+
+       * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
+       (coff_link_add_symbols): initialize toc_offset.
+
+       * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
+       (coff_swap_aouthdr_out): Added more sections to the data
+       dictionary for the pe file header. Also changed linker version
+       number on the ppc side.
+       (dir_names): small improvements to the dictionary printing.
+       (pe_mkobject_hook): save the file level flags.
+
+       * libcoff-in.h (coff_link_hash_entry): added toc_offset field
+       (pe_tdata): added real_flags field
+       (coff_tdata): added local_toc_sym_map and access macro
+
+       * libcoff.h (coff_link_hash_entry): added toc_offset field
+       (pe_tdata): added real_flags field
+       (coff_tdata): added local_toc_sym_map and access macro
+
+       * coffcode.h (coff_set_alignment_hook): added hook for PE.
+       (coff_mkobject): init for local_toc_sym_map
+       (coff_write_object_contents): set the internal_a.magic to
+        IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
+       ppc compilers use.
+
+Tue Nov  7 13:48:58 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
+       entries until both the line number address and the function name
+       address are too large.
+
+       * configure.in: Call AC_CHECK_PROG to find and cache AR.
+       * configure: Rebuilt.
+
+       * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
+       is defined in the environment.
+
+Tue Nov  7 10:57:24 1995  Jeffrey A Law  (law@cygnus.com)
+
+       * som.c (som_get_section_contents_in_window): Define to use
+       generic version.
+
+Mon Nov  6 17:13:15 1995  Harry Dolan  <dolan@ssd.intel.com>
+
+       * coff-i860.c: New file, based on coff-i386.c.
+       * cpu-i860.c: New file, based on cpu-i386.c.
+       * hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
+       * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
+       targets, using i860coff_vec.
+       * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
+       trad-core.o and hosts/i860mach3.h.
+       (i860coff_vec): Use coff-i860.o and cofflink.o.
+       * configure: Rebuild.
+       * Makefile.in: Rebuild dependencies.
+       (ALL_MACHINES): Add cpu-i860.o.
+       (BFD32_BACKENDS): Add coff-i860.o.
+       (CFILES): Add cpu-i860.c and coff-i860.c.
+       * targets.c (i860coff_vec): Declare.
+       (bfd_target_vector): Add &i860coff_vec. 
+       * archures.c (bfd_i860_arch): Declare.
+       (bfd_archures_list): Add &bfd_i860_arch.
+       * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
+       (coff_set_flags): Handle bfd_arch_i860.
+       (coff_write_object_contents): Handle I860 a.out magic number.
+
+Mon Nov  6 14:34:07 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
+       the created .tc section to 2.
+       (xcoff_mark): Don't keep a .loader reloc for a call to an
+       undefined symbol when creating a shared library.
+       (xcoff_build_ldsyms): When creating a shared library, generate
+       global linkage code for a call to an undefined symbol.
+
+Sun Nov  5 21:44:13 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
+       BFD32_BACKENDS, BFD64_BACKENDS.
+       (.dep1): Put mkdep output in a separate file.
+       Rebuilt dependencies.
+
+       * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
+       value.
+
+       Permit use of mmap when available:
+
+       * configure.in: Check for mmap, madvise, mprotect.
+       * config.in, configure: Regenerated.
+
+       * libbfd.c (struct _bfd_window_internal): Define type.
+       (bfd_init_window, bfd_free_window, bfd_get_file_window): New
+       functions.
+       (ok_to_map): New static variable for debugging.
+       (_bfd_generic_get_section_contents_in_window): New function.
+       * bfd-in.h (bfd_window_internal): Declare type.
+       (bfd_window): Define type.
+       (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
+       * libbfd-in.h (_bfd_generic_get_section_contents_in_window):
+       Declare.
+
+       * libaout.h (struct aoutdata): Add two window fields.
+       (obj_aout_sym_window, obj_aout_string_window): New macros.
+       * aoutx.h (some_aout_object_p): Initialize windows.
+       (aout_get_external_symbols): Get symbol data and strings in
+       windows instead of explicitly allocated buffers.
+       (slurp_symbol_table): Free window instead of memory.
+       (bfd_free_cached_info): Release windows instead of freeing storage
+       directly.
+       (aout_link_free_symbols): Ditto.
+
+       * targets.c (bfd_target): Add new field for
+       get_section_contents_in_window.
+       (BFD_JUMP_TABLE_GENERIC): Updated.
+       * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
+       coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
+       libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
+       macros for get_section_contents_in_window field.
+
+Sat Nov  4 12:23:26 1995  Fred Fish  <fnf@cygnus.com>
+
+       * core.c: Renamed to corefile.c
+       * makefile.dos (OBJS): Change core.o to corefile.o
+       * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
+       
+start-sanitize-gm
+Sat Nov  4 10:16:54 1995  Stu Grossman  (grossman@cygnus.com)
+
+       * config.bfd (mips*-*-magic*):  Add bfd_elf32_bigmips_vec to
+       targ_selvecs to allow debugging under Irix-5 native.
+
+end-sanitize-gm
+Fri Nov  3 15:54:59 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
+       to o.  Clobber and restore the list of new csects around the call
+       to _bfd_generic_link_add_one_symbol, in case it wants to report a
+       linker error and the linker wants to read the symbol table.  Reset
+       the line number count of a real section even if it has no relocs.
+       (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
+
+       * coffgen.c (_bfd_coff_read_string_table): Warn if the string size
+       is too small.
+
+Thu Nov  2 23:16:39 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
+       an undefined symbol in a shared link.
+
+       * linker.c (_bfd_generic_link_add_one_symbol): Correct type of
+       oldtype from bfd_link_order_type to bfd_link_hash_type.  From
+       phdm@info.ucl.ac.be (Philippe De Muyter).
+
+Wed Nov  1 14:26:02 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
+
+       * coff-m88k.c (rtype2howto): New static function.
+       (RTYPE2HOWTO): Use it rather than a macro definition.
+
+       * coffcode.h (coff_write_object_contents): set internal_a.magic
+       to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
+
+       * configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
+       define TRAD_HEADER to new file hosts/delta68.h.
+       m88*-motorola-sysv*, however, does use ptrace-core.o.
+       * hosts/delta68.h: New file.
+
+       * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
+       bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
+
+Wed Nov  1 13:51:54 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * i386linux.c (MY(vec)): Declare before use.
+
+Wed Nov  1 11:45:07 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
+       Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
+
+       * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
+       BFD is not of the right type.
+       (bfd_elf_get_needed_list): Likewise.
+       * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
+       * sunos.c (bfd_sunos_get_needed_list): Likewise.
+       * xcofflink.c (XCOFF_XVECP): Define.
+       (bfd_xcoff_link_record_set): Don't do anything if the BFD is not
+       of the right type.
+       (bfd_xcoff_import_symbol): Likewise.
+       (bfd_xcoff_export_symbol): Likewise.
+       (bfd_xcoff_link_count_reloc): Likewise.
+       (bfd_xcoff_record_link_assignment): Likewise.
+       (bfd_xcoff_size_dynamic_sections): Likewise.
+
+       * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
+       table index against the number of symbols for a base relative
+       reloc.
+
+       * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
+       static function.
+       * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
+       full_aouthdr flag here...
+       (_bfd_xcoff_bfd_final_link): ...not here.
+
+Tue Oct 31 12:52:02 1995  Fred Fish  <fnf@cygnus.com>
+
+       * libelf.h:  Rename to elf-bfd.h to avoid conflict with
+       systems that have a system <libelf.h>.
+       * Makefile.in: Globally replace libelf.h with elf-bfd.h.
+       * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
+       elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
+       elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
+       elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
+       elfxx-target.h: Include elf-bfd.h rather than libelf.h.
+       * elfxx-target.h: Change libelf.h reference to elf-bfd.h.
+
+Tue Oct 31 15:30:07 1995  David Mosberger-Tang  <davidm@azstarnet.com>
+
+       * ecoff.c (ecoff_set_symbol_info): Add new parameter weak.  If
+       set, set BSF_WEAK in symbol.  Change all callers.
+       (ecoff_get_extr): Set weakext based on BSF_WEAK.
+       (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
+       _bfd_generic_link_add_one_symbol.
+       (ecoff_indirect_link_order): Check that the section tdata relocs
+       are not NULL before using them.
+
+       * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
+       define TRAD_HEADER as hosts/alphalinux.h.
+       * configure: Rebuild.
+       * hosts/alphalinux.h: New file.
+       * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
+       not int.
+
+Tue Oct 31 12:34:11 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
+       C_ECOMM storage classes.
+
+       * xcofflink.c (xcoff_mark_symbol): New static function, broken out
+       of xcoff_mark.
+       (xcoff_mark): Call xcoff_mark_symbol.
+       (bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
+       (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
+       doing it by hand.
+       (xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
+
+Mon Oct 30 14:53:48 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
+       field.
+       (xcoff_find_reloc): New static function.
+       (xcoff_link_add_symbols): Use it.
+       (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
+       (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL.  Don't
+       relocate the value of C_DECL.
+
+       * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
+
 Sat Oct 28 01:25:34 1995  steve chamberlain  <sac@slash.cygnus.com>
 
        * cofflink.c (_bfd_coff_generic_relocate_section): Make
This page took 0.025901 seconds and 4 git commands to generate.