Linker support for m68k-elf from Andreas Schwab
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 55a5f773fb2d23520ad8c968f681d23b155ed72f..87e2dc84bc759acfbaeaef1d6369966fd6a4feb8 100644 (file)
@@ -1,3 +1,381 @@
+Mon Jun  5 02:15:20 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
+
+       Linker support for m68k-elf from Andreas Schwab
+       <schwab@issan.informatik.uni-dortmund.de>:
+       * elfcode.h (elf_link_add_object_symbols): Check for NULL when
+       looping through the symbol hashes.
+       (elf_bfd_final_link): When looking for _init and _fini don't use
+       the symbol if it is imported from another object.
+       * elf32-m68k.c: Relocation type changed from REL to RELA.  Regular
+       and dynamic linking support functions added, similar to other elf
+       targets.
+
+       * config.bfd (i[345]86-*-gnu*): Use ELF configuration.
+
+Fri Jun  2 18:54:59 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * versados.c: New file.
+       * bfd-in2.h (struct _bfd): New field.
+       * bfd.c (struct _bfd): New field.
+       * configure.in (versados_vec): New field.
+       * targets.c (bfd_flavor): Added versados.
+
+Thu Jun  1 13:51:49 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * coffcode.h (sec_to_styp_flags, styp_to_sec_flags, 
+       coff_new_section_hook):  Any section that starts ".stab"
+       is now marked as debugging.
+
+Thu Jun  1 16:15:16 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * archive.c (_bfd_write_archive_contents): Disable extended name
+       table until it can be made optional, so that native AR has half a
+       chance on SunOS and HP/UX.
+
+       * linker.c (_bfd_generic_link_output_symbols, case
+       bfd_link_hash_indirect): Add cast to correct pointer types.
+
+Sat May 27 21:37:31 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+       * config.bfd (m68k-bull-sysv*): Added strip_underscore=yes.
+         (m68k-est-coff): Removed.  target does not effect object format.
+
+Wed May 24 10:52:01 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * linker.c (_bfd_generic_link_output_symbols): Cope with
+       indirect symbols.
+
+       pr ld/6997
+
+       * elf32-i386.c (elf_i386_relocate_section): Give error
+       message when linking to a shared reloc which isn't there.
+
+Wed May 24 10:40:00 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       Support for ARM-PE.
+
+       * Makefile.in, coffcode.h, config.bfd, configure.in, pe-arm.c,
+        pei-arm.c, reloc.c, targets.c, config/arm-pe.mt:
+        Support for ARM COFF/PE.
+
+Tue May 23 19:24:58 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * bfd.c (bfd_get_relocated_section_contents): Now a function,
+       tries calling routine from input bfd target vector for
+       bfd_indirect_link_order.  Put a declaration into the header file.
+       * bfd-in2.h: Regenerated.
+       * elf32-mips.c (gprel16_with_gp): New function, split out from
+       mips_elf_gprel16_reloc.
+       (mips_elf_gprel16_reloc): Call it.  If output bfd target vector
+       isn't elf flavoured, abort, since it's assumed to be elf in some
+       of this code, including the code that looks up the gp value.
+       (elf32_mips_get_relocated_section_contents): New function,
+       modified from bfd_generic_get_relocated_section_contents to deal
+       with passing gp to gprel16_with_gp.
+       (bfd_elf32_bfd_get_relocated_section_contents): New macro.
+       * elf32-target.h (bfd_elf32_bfd_get_relocated_section_contents):
+       Don't define if already defined.
+
+Tue May 23 15:58:15 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * Makefile.in: Install bfdlink.h too.
+
+Sun May 21 22:25:09 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * elf32-hppa.c (elf32_hppa_relocate_section): Handle undefined and
+       notsupported return codes from final_link_relocate (used when
+       $global$ is undefined or nonexistant).
+       (elf32_hppa_bfd_link_link_relocate): If $global$ exists, but is
+       not defined,then return bfd_reloc_undefined.
+
+Fri May 19 10:00:14 1995  Steve Chamberlain  <sac@rtl.cygnus.com>
+
+       * coffswap.h: (IMAGE_BASE): Define to 0 if not.
+
+Thu May 18 04:24:01 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
+
+       Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
+
+       * aoutx.h (aout_link_input_section_standard): If defined, call
+       MY_relocatable_reloc before doing a partial relocation.
+
+       * aout-arm.c: (WRITE_HEADERS): Delete.
+       (NAME): Define version to override default in aoutx.h
+       (MY(howto_table)): Reformat.  Alter some entries slightly.
+       (RELOC_ARM_BITS_NEG_{BIG,LITTLE}): Define.
+       (MY(reloc_howto), MY(put_reloc), MY(relocatable_reloc)): New functions.
+       (MY_reloc_howto, MY_put_reloc, MY_relocatable_reloc): Define.
+       (MY(fix_pcrel_26)): Renamed from aoutarm_fix_pcrel_26, return
+       bfd_reloc_ok not bfd_reloc_continue.
+       (MY(fix_pcrel_26_done)): Likewise.
+       (MY(bfd_reloc_type_lookup)): Renamed from aoutarm_reloc_type_lookup.
+       (MY_bfd_link_hash_table_create, MY_bfd_link_add_symbols,
+       MY_bfd_final_link): Delete.
+       (MY_swap_std_reloc_in, MY_swap_std_reloc_out, MY_get_section_contents):
+       Define.
+       (aoutx.h): Include it.
+       (MY(swap_std_reloc_{in,out})): New functions.
+       Use RELOC_ARM_BITS_NEG_{BIG,LITTLE} to extract negative reloc bit.
+       (aoutarm_squirt_out_relocs): Delete.
+       From: David Taylor (dtaylor@armltd.co.uk)
+       * config/arm[lb]-aout.mt: New files.
+       * aout-arm.c: New file.
+       * config.bfd: Handle arm{,e[lb]}-*-aout
+       * configure.in: Add vetor for aout_arm_{big,little}_vec.
+       * reloc.c: New relocation types for the ARM.
+       * targets.c (aout_arm_{big,little}_vec): declare.
+
+Tue May 16 10:29:51 1995  Jim Kingdon  <kingdon@deneb.cygnus.com>
+
+       * libbfd.c (bfd_stat): If bfd_cache_lookup returns an error,
+       return an error to the caller.  Call bfd_set_error on errors.
+
+Tue May 16 14:44:45 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * libcoff-in.h (coff_renumber_symbols): Modified prototypes in
+       accordance with 11 May libcoff.h change.
+
+Thu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       tekhex.c (first_phase): Understand type 0 symbols.
+       (tekhex_write_object_contents): Fix typo in final record.
+
+Thu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       pr ld/6840
+
+       * coff-i960.c (optcall_callback): don't try and optimize
+       undefined refs. 
+       (coff_write_relocs): Search for broken relocs on the way
+       out and fix them up.
+       (coff_renumber_symbols): Calculate and return index of
+       first undefined symbol.
+       (coff_write_object_contents): Call coff_renumber_symbols 
+       and coff_write_relocs with the new args.
+       * libcoff.h: (coff_renumber_symbols, coff_renumber_symbols):
+       Modified prototypes.
+
+Thu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+                         Tom Griest <griest@cs.yale.edu>
+
+       Initial support for PE format. 
+       
+       * Makefile.in, targets.c, configure.in, config.bfd:
+       Add support for i386-*-winnt and i386-*-pe.
+       * archive.c (do_slurp_coff_armap):  Understand NTPE format
+       archives.
+       (_bfd_slurp_extended_name_table): Turn \ in a filename
+       into /.
+       * bfd-in.h (bfd_link_subsystem, _bfd_link_stack_heap): New.
+       * coff-i386.c  (howto_table): Conditionalize PCRELOFFSET.
+       * coffcode.h (IMAGE_BASE): New.
+       (coff_compute_section_file_positions): Throw away .junk
+       sections for PE, align symbols.
+       (coff_write_object_contents): Throw away .junk sections
+       for PE. Remember info on .idata and .rsrc sections.
+       Fill in the PE header.
+       (coff_slurp_symbol_table): PE uses C_SECTION class.
+       * cofflink.c (_bfd_coff_final_link): Keep PE info up to date.
+       (_bfd_coff_generic_relocate_section): Cope with PE relocs.
+       * coffswap.h (coff_swap_{aout/file/scn/sym}hdr_{in/out}): 
+       New code for PE headers.
+
+Tue May  9 17:01:38 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * config.bfd: Add little endian PowerPC support.
+       * configure.in: Ditto.
+       * targets.c: Ditto.
+       * config/ppcle-elf.mt: New file, for little endian PowerPC
+       support.
+       * config/ppc-elf.mt: Add little endian powerpc to the BFD
+       selection vectors.
+       * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Complain if
+       linking a different endian object than we expect.
+       (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define, to provide little
+       endian support.
+
+Tue May  2 16:32:24 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * config.bfd (hppa*-*-lites*): Treat just like hppa*-*-*elf*.
+
+Tue Apr 25 19:38:43 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * coffgen.c (make_a_section_from_file): Initialize lma same as
+       vma.
+
+Tue Apr 25 11:03:21 1995  Jason Molenda  (crash@phydeaux.cygnus.com)
+
+       * hosts/std-host.h: #include ansidecl.h 'cause PTR is used in
+       std-host.h.
+
+Mon Apr 24 23:56:44 1995  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
+
+       * hosts/i386linux.h (HAVE_PROCFS): Don't define it.  Added lengthy
+       comment explaining why.
+
+Mon Apr 24 10:34:02 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * hosts/i386linux.h (HAVE_PROCFS): If NO_PROCFS is defined, don't
+       define HAVE_PROCFS.
+
+Mon Apr 24 08:33:12 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * elf32-ppc.c (ppc_elf_relocate_section): Do not continue
+       processing unknown symbols to prevent a cascade of errors.
+
+Fri Apr 21 12:48:48 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       Patches from H.J. Lu for Linux ELF core file support.
+       * elfcode.h (elf_core_file_matches_executable_p) [HAVE_PROCFS]:
+       Use prpsinfo_t instead of struct prpsinfo, for consistency.
+       * hosts/i386linux.h (HAVE_PROCFS): Define.
+
+Thu Apr 20 09:07:39 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * linker.c (link_action): Do the right thing when a undefined
+       strong symbol appears after an undefined weak symbol.
+
+Fri Apr 14 16:51:17 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * elf32-ppc.c (ppc_elf_relocate_section): New function to relocate
+       a whole section for the linker, bypassing bfd_perform_relocation.
+       (ppc_elf_reloc_type_lookup): New function to map the BFD
+       enumeration code into a howto structure.
+       (ppc_elf_howto_raw): Rename from ppc_elf_howto_table.
+       (ppc_elf_howto_table): New array that maps PowerPC relocation
+       numbers to howto structures without a linear search.  Change from
+       using bfd_elf_generic_reloc to use ppc_elf_std_reloc.
+       (ppc_elf_howto_init): Initialize ppc_elf_howto_table from
+       ppc_elf_howto_raw.
+       (ppc_elf_reloc_type_lookup): Use a case statement instead of a
+       loop.
+       (ppc_elf_std_reloc): Replacement for bfd_elf_generic_reloc.
+       (ppc_elf_unsupported_reloc): Print a real error message, instead
+       of calling abort.
+       (ppc_elf_addr16_ha_inner): Abstract getting adjustment from
+       ppc_elf_addr16_ha_reloc, so ppc_elf_relocate_section can use it
+       too.
+       (ppc_elf_addr16_ha_reloc): Call it.
+       (ppc_elf_got16_inner): Abstract getting adjustment from
+       ppc_elf_got16_reloc, so ppc_elf_relocate_section can use it too.
+       (ppc_elf_got16_reloc): Call it.
+       (ppc_elf_info_to_howto): Rename from powerpc_info_to_howto.
+
+       * elfcode.h (elf_symbol_from_bfd_symbol): Omit space in debugging
+       output.
+       (elf_symbol_flags): Add debug function to decode flags so that
+       defining DEBUG to be 4 will compile again.
+       (elf_debug_section): Fix typo in debug output.
+
+Fri Apr 14 16:03:04 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * config.bfd: Add m68*-*-elf*.
+       * elf32-m68k.c: Filled out implementation, except for dynamic
+       linking support.
+       * reloc.c (enum bfd_reloc_code_real): Added *_GOT_PCREL, *_GOTOFF,
+       *_PLT_PCREL, *_PLTOFF, *_68K_* relocations for ELF.
+       * libbfd.h, bfd-in2.h: Regenerated.
+
+Thu Apr 13 14:28:04 1995  Torbjorn Granlund  <tege@adder.cygnus.com>
+
+       * coff-m68k.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from
+       1 to 2.
+       (bfd_target): Change minimum section alignment from 1 to 2.
+
+Wed Apr 12 12:40:04 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * aoutx.h (machine_type, case bfd_arch_mips): Treat R8000 like
+       R6000 and R4000 for now.
+
+Tue Apr  4 12:28:25 1995  Stan Shebs  <shebs@andros.cygnus.com>
+
+       * mpw-config.in: New file, MPW version of configure.in.
+       * mpw-make.in: New file, MPW version of Makefile.in.
+       * hosts/mpw.h: New file, MPW host definitions.
+       * ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_in) [MPW_C]:
+       Alternate versions without ECOFF_64 that chokes MPW C.
+       * coffswap.h (coff_swap_scnhdr_out): Add alternative version with
+       partly-expanded macros.
+
+Thu Mar 30 14:56:21 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * reloc.c (bfd_perform_relocation): Don't bother to check for
+       overflow if the symbol is undefined.
+
+Thu Mar 30 14:32:26 1995  H.J. Lu (hjl@nynexst.com)
+
+       * config.bfd: Change linux to default to elf.  Using
+       i[345]86-*-linuxaout will build a library which defaults to a.out.
+       * config/i386-laout.mt: Rename from old config/i386-linux.mt.
+       * config/i386-linux.mt: Rename from old config/i386-lelf.mt.
+       Comment out EXTRALIBS.
+       * config/i386-lelf.mt: Remove.
+
+Wed Mar 29 12:01:30 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-i960.c (coff_i960_relocate): Cache the section symbol in
+       the used_by_bfd field of the section, to avoid looping for each
+       reloc.
+
+       * cpu-h8500.c (arch_info_struct): Change name from "H8/300" to
+       "h8300" for consistency with other cpu-* files.
+
+Tue Mar 28 15:14:11 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * bout.c (b_out_canonicalize_reloc): Handle SEC_CONSTRUCTOR
+       sections.
+       (b_out_get_reloc_upper_bound): Likewise.
+
+       * linker.c (generic_link_add_symbol_list): Skip constructor
+       symbols which the main linker code did not do anything with.
+       (_bfd_generic_link_output_symbols): Use udata.p if it is set,
+       rather than looking the symbol up in the hash table.  Just pass
+       through constructor symbols for which udata.p is not set.  If the
+       linker defined the symbol, clear the constructor flag.
+
+Tue Mar 21 10:50:32 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_set_reloc_info): Sign extend constants from
+       R_DATA_OVERRIDE fixups.
+       * libhppa.h (sign_extend): Renamed from sign_ext.  Fix.
+       (low_sign_extend): Likewise.
+
+Mon Mar 20 22:39:10 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_slurp_symbol_table): Tighten test to determine
+       what symbols are section symbols.
+
+Sat Mar 18 01:54:45 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elfcode.h (elf_bfd_link_add_symbols): An empty archive is OK.
+
+Fri Mar 17 16:29:02 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_bfd_copy_private_section_data): Just return true when
+       either the input or output section isn't attached to a SOM BFD.
+       (som_bfd_copy_private_bfd_data): Similarly for BFD private data.
+
+Fri Mar 17 11:50:34 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elfcode.h (elf_link_add_object_symbols): Check whether a dynamic
+       object has already been included, and ignore it the second time.
+
+Wed Mar 15 11:56:40 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT13 from
+       complain_overflow_bitfield to complain_overflow_signed.
+
+       * libelf.h (bfd_elf32__write_relocs): Don't declare.
+       (bfd_elf64__write_relocs): Don't declare.
+
+Tue Mar 14 05:54:33 1995  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
+
+       * stab-syms.c (aout_stab_name): Moved aout_stab_names to be local
+       to this function.  Recoded function to stop using table, to
+       improve performance (on i486-netbsd host).  Left old version
+       intact under "#if 0" for further performance testing.
+
 Mon Mar 13 13:48:49 1995  Ian Lance Taylor  <ian@cygnus.com>
 
        * elfcode.h (write_relocs): Make static.  Use PTR argument as a
This page took 0.044398 seconds and 4 git commands to generate.