* coff-mips.c (mips_relocate_section): Don't convert a reloc
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 24264271305e2e7aa8433db212769db219644732..f850718221191b97294502683bc7085e44b0eb44 100644 (file)
@@ -1,3 +1,857 @@
+Thu Aug 31 11:49:21 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-mips.c (mips_relocate_section): Don't convert a reloc
+       against an absolute symbol into a reloc against a section.
+
+Thu Aug 31 08:00:14 1995  steve chamberlain  <sac@slash.cygnus.com>
+       
+       * coff-arm.c (coff_arm_reloc): Fix common size problem.
+       (i3coff_object_p): Delete.
+
+Wed Aug 30 20:41:27 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+       * coff-arm.c (deletemeacoff_arm_reloc): Deleted.
+       (arm26): Not partial inplace.
+       * coffcode.h (coff_compute_section_file_positions): Don't
+       do page aligning if COFF_PAGE_SIZE isn't defined.
+       * coffswap.h (coff_swap_scnhdr_in): Update image base correctly.
+
+Tue Aug 29 13:50:21 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+       * coffcode.h (coff_compute_section_file_positions):
+       Compile even if COFF_PAGE_SIZE isn't defined.
+       * cofflink.c (_bfd_coff_generate_reloc_section): Write
+       base file info as rvas.
+       * coff-arm.c (coff_rtype_to_howto): Deal with reloc 11.
+       * coffcode.h (coff_write_object_contents): Remove #if0ed code
+       Only remove empty sections in PE inmage files.
+       * libbfd.h, bfd-in2.h: regenerated.
+       * coff-arm.c (aoutarm_std_relo): New entry at 11.
+       (arm_reloc_type_lookup) : Understand type 11.
+       * coff-i386.c (howto_table): fix name of rva type.
+       (coff-i386_rtype_to_howto): Understand R_IMAGEBASE type.
+       * coffcode.h (sec_to_styp_flags): .edata is data.
+       (coff_compute_section_file_positions): Get page size right for PE.
+       Pagesize info is only valid in PE image files.
+       (fill_pe_header_info): Fix fields.
+       (coff_write_object_contents): Remove end_of_image calc.
+       (_bfd_coff_generate_reloc_section): Remove orphaned comment.
+       * coffswap.h (coff_swap_scnhdr_in): Don't always add IMAGE_BASE.
+       Swap in PE header.
+       (coff_swap_scnhdr_out): Setup PE flags correctly.
+       * reloc.c (BFD_RELOC_RVA): New field.
+
+Thu Aug 24 17:49:59 1995  Ian Lance Taylor  (ian@cygnus.com)
+
+       * cofflink.c (coff_link_input_bfd): Don't include line numbers for
+       a section if its output section has no contents.
+
+Wed Aug 23 16:48:52 1995  Ian Lance Taylor  (ian@cygnus.com)
+
+       * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Add parentheses to FIX
+       expression to avoid compiler bug on HP-UX 9.01.
+
+Wed Aug 23 09:49:39 1995  Steve Chamberlain  <sac@rtl.cygnus.com>
+
+       * coffcode.h (pe_value): Unansify.
+
+Mon Aug 21 17:49:28 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+       * bfd-in.h (bfd_link_subsystem): Turn enum into #defines.
+       (bfd_link_pe_info_dval): New
+       (bfd_link_stack_heap): Renamed and massaged into bfd_link_pe_info.
+       * bfd-in2.h: rebuilt.
+       * bfd.c (NT_subsystem, NT_stack_heap): Deleted.
+       * coffcode.h (pe_value): New function.
+       (fill_pe_header_info): New function.
+       (coff_write_object_contents): Use new function.
+       (coff_write_object_contents): Initialze link_data if not set.
+       * cofflink.c (coff_final_link_info): Remove pe randomness.
+       (dores_com): Update info in bfd_link_pe_info_dval.
+       (process_embedded_commands): Use the bfd_link_pe_info_dval.
+       (_bfd_coff_final_link): Remove PE stuff, initialize
+       coff_data->link_info.
+       * coffswap.h (coff_swap_[aout|filehdr]_out): Use indirect PE pointer.
+       (coff_swap_scnhdr_out): Use real imagebase.
+       * libcoff-in.h (coff_data_type.link_info): New field.
+
+Mon Aug 21 11:10:32 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * linker.c (link_action): If an undefined reference follows an
+       undefined weak reference, change the type to undefined.
+       * elflink.h (elf_link_add_archive_symbols): Don't record an
+       undefined weak reference as defined, in case it turns into a real
+       undefined reference later in the same archive.
+
+Thu Aug 17 16:29:09 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
+
+       * coff-sh.c (sh_relax_section): Cast value for used_by_bfd field
+       to PTR, not coff_section_tdata pointer, since PTR is the real type
+       of the field.
+       * cofflink.c (_bfd_coff_read_internal_relocs): Ditto.
+
+Thu Aug 17 14:44:26 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       Add support for linking SPARC SunOS PIC compiled code.
+       * sunos.c (SPARC_PLT_PIC_WORD0): Define.
+       (SPARC_PLT_PIC_WORD1, SPARC_PLT_PIC_WORD2): Define.
+       (struct sunos_link_hash_entry): Add got_offset and plt_offset
+       fields.
+       (struct sunos_link_hash_table): Add dynamic_sections_created and
+       dynamic_sections_needed fields.
+       (sunos_link_hash_newfunc): Initialize new fields.
+       (sunos_link_hash_table_create): Initialize new fields.
+       (sunos_create_dynamic_sections): New static function, broken out
+       of sunos_add_dynamic_symbols.
+       (sunos_add_dynamic_symbols): Call sunos_create_dynamic_sections.
+       (sunos_add_one_symbol): Call sunos_create_dynamic_sections.
+       (bfd_sunos_size_dynamic_sections): Call sunos_scan_relocs before
+       checking whether we need to set up the dynamic link information.
+       Define __GLOBAL_OFFSET_TABLE if anything referred to it.
+       (sunos_scan_std_relocs): Call sunos_create_dynamic_sections.  Use
+       plt_offset field; only put symbol in .plt if it is not defined by
+       a regular object.
+       (sunos_scan_ext_relocs): Likewise.  Handle base relative relocs.
+       (sunos_scan_dynamic_symbol): Store dynobj in local variable.
+       (sunos_write_dynamic_symbol): Check plt_offset rather than
+       checking whether symbol is in .plt section.  If symbol is defined
+       in a regular object file, use SPARC_PLT_PIC_WORD[012], and don't
+       add a JMP_TBL reloc.
+       (sunos_check_dynamic_reloc): Add contents and relocationp fields.
+       If plt_offset is set, redirect relocation to PLT.  If this is a
+       base relative reloc, redirect relocation to GOT.  Check
+       dynamic_sections_needed field rather than whether dynobj is set.
+       (sunos_finish_dynamic_link): Check dynamic_sections_needed field
+       rather than whether dynobj is set.  Don't die if .need and .rules
+       sections were not created.
+       * aoutx.h (howto_table_ext): Mark PC10, PC22, and JMP_TBL entries
+       PC relative.  Mark PC10 complain_overflow_dont.  Mark PC22 and
+       JMP_TBL complain_overflow_signed.
+       (NAME(aout,final_link)): If info->shared is set, set DYNAMIC.
+       (aout_link_input_section_std): Call check_dynamic_reloc for all
+       relocs.  Pass contents and &relocation.  Don't warn about an
+       undefined symbol until check_dynamic_reloc has been called.  Don't
+       warn about an undefined symbol for a base relative reloc.
+       (aout_link_input_section_ext): Likewise.  For a base relative
+       reloc, always treat r_index as an index into the symbol table.
+       * libaout.h (struct aout_backend_data): Add contents and
+       relocation argument to check_dynamic_reloc entry point.
+       (struct aoutdata): Add local_got_offsets field.
+
+Wed Aug 16 01:03:07 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-i386.c (elf_i386_check_relocs): Fix bug in last change.
+
+Mon Aug 14 11:39:24 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aoutx.h (NAME(aout,machine_type)): Handle a machine of
+       bfd_mach_sparc or bfd_mach_sparc64.
+
+       * elflink.h (elf_link_add_object_symbols): If a symbol is a weak
+       definition, add it to the dynamic symbol table if any dynamic
+       object mentions it.  If we do add it, make sure we add the
+       corresponding real symbol.
+       (elf_adjust_dynamic_symbol): Adjust a weak defined symbol which we
+       put in the dynamic symbol table, even if no regular object refers
+       to it.
+       * elf32-i386.c (elf_i386_check_relocs): When creating a shared
+       library, don't allocate space for a PC relative reloc against a
+       local symbol.
+       * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
+       * elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
+       * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Change assertion
+       to accept symbol with weakdef set.
+       * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
+       * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
+       * elf32-m68k.c (elf_m68k_relocate_section): When creating a shared
+       libary, don't copy over a PC relative reloc against a local
+       symbol.
+       * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+
+Sun Aug 13 00:40:58 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.h (R_HPPA_BEGIN_BRTAB): Define.
+       (R_HPPA_END_BRTAB): Likewise.
+       * som.c (som_write_fixups): Handle R_BEGIN_BRTAB and R_END_BRTAB.
+
+Thu Aug 10 15:53:29 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coffswap.h (coff_swap_aux_in): Swap the array dimensions
+       whenever x_fcnary is not being used for something else, rather
+       than only for an array.
+       (coff_swap_aux_out): Likewise.
+
+Tue Aug  8 16:34:57 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+       * cofflink.c (_bfd_coff_generic_relocate_section): Remove most
+       of special case stuff for PE.  Now handled by relocs.
+       * coff-i386.c (coff_i386_reloc): Special case of PE type 7s.
+       (howto_table): Type 7 is dir32-rva.
+
+Tue Aug  8 10:15:43 1995  Jeffrey A. Law  <law@rtl.cygnus.com>
+
+       * configure.host: Recognize aix4 explicitly.
+       * rs6000-core.c (CORE_DATA_SIZE_FIELD): New macro to get a the size
+       of a core dump's data section.  Provide alternate definition for aix4.
+       (SAVE_FIELD): Similarly for save state field (register info).
+       (STACK_END_ADDR): Provide definition suitable for aix4.
+       * config/{aix4.mh,aix4.mt}: New configuration files.
+       * hosts/aix4.h: Likewise.
+
+Mon Aug  7 23:03:21 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * som.c (som_bfd_copy_private_symbol_data): Cast initializations
+       to avoid warnings.
+
+Mon Aug  7 14:51:08 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_decode_symclass): Handle absolute symbols by checking
+       the SOM type (since they will rarely if ever be in the absolute
+       section).
+
+Wed Aug  6 09:12:50 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+       * archures.c (bfd_mach_sparc, bfd_mach_sparc64): Define.
+       * bfd-in2.h: Regenerated.
+       * cpu-sparc.c (sparc_arch_info): Renamed from arch_info_struct.
+       (sparc64_arch_info): New static variable.
+       (bfd_sparc_arch): Link in sparc64_arch_info.
+       * elf64-sparc.c (sparc64_elf_xxx): Renamed from elf64_xxx.
+       (sparc64_elf_object_p): New static function.
+       (elf_backend_object_p): Define.
+       * config/sparc64-elf.mt (SELECT_VECS): Add bfd_elf32_sparc_vec.
+
+Sat Aug  5 00:04:08 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som (som_get_reloc_upper_bound): Return -1 on error.  Compute
+       return value with sizeof (arelent *), not sizeof (arelent).
+
+Wed Aug  2 12:32:21 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf.c (bfd_section_from_shdr): If the section pointed to by the
+       sh_link field of a reloc section is not a symbol table, and the
+       file contains a single symbol table, clobber the sh_link field of
+       the reloc section to point to the symbol table.
+
+Tue Aug  1 10:09:01 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+       * coff-arm.c (howto reloc ARM26): Change size from 3 to 2.
+       (howto reloc ARM26D): Likewise.
+
+Mon Jul 24 14:17:50 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aoutx.h (NAME(aout,find_nearest_line)): Use the line just before
+       the offset, not the one just after.  Break out of the loop after
+       finding a function past the offset, not merely when finding a
+       function with a line defined.
+
+       * ecofflink.c (_bfd_ecoff_locate_line): When handling stabs:
+       correct setting of sym_ptr_end to consider symbols skipped when
+       setting sym_ptr; don't leave loop early unless an N_FUN is found
+       with a larger value.
+
+       * coff-sh.c (sh_coff_howtos): Mark R_SH_PCDISP8BY2 and R_SH_PCDISP
+       as PC relative.  Describe R_SH_IMM16.  Add entries for
+       R_SH_SWITCH16, R_SH_SWITCH32, R_SH_USES, R_SH_COUNT, and
+       R_SH_ALIGN.
+       (SWAP_IN_RELOC_OFFSET): Define.
+       (SWAP_OUT_RELOC_OFFSET): Define.
+       (CALC_ADDEND): Define.
+       (sh_reloc): Change sym_value and addr to type bfd_vma.  Skip reloc
+       types other than R_SH_IMM32 and R_SH_PCDISP on an external symbol.
+       (coff_bfd_relax_section): Define.
+       (coff_bfd_get_relocated_section_contents): Define.
+       (sh_relax_section): New static function.
+       (sh_relax_delete_bytes): New static function.
+       (sh_relocate_section): Handle R_SH_PCDISP on an external symbol.
+       (sh_coff_get_relocated_section_contents): New static function.
+
+       * cofflink.c (coff_link_add_object_symbols): Call
+       _bfd_coff_get_external_symbols, not coff_link_get_symbols.  Call
+       _bfd_coff_free_symbols, not coff_link_free_symbols.  Call
+       _bfd_coff_read_string_table, not coff_read_string_table.
+       (coff_link_check_archive_element): Likewise.
+       (coff_link_input_bfd): Likewise.
+       (coff_link_get_symbols): Move to coffgen.c.
+       (coff_read_string_table): Likewise.
+       (coff_link_free_symbols): Likewise.
+       (_bfd_coff_internal_syment_name): New static function.
+       (coff_link_check_ar_symbols): Use _bfd_coff_internal_syment_name.
+       (coff_link_add_symbols): Likewise.
+       (coff_link_input_bfd): Likewise.
+       (_bfd_coff_generic_relocate_section): Likewise.
+       (_bfd_coff_read_internal_relocs): New function.
+       (coff_link_input_bfd): Use cached section contents if available.
+       Use _bfd_coff_read_internal_relocs.
+       * coffcode.h (coff_slurp_symbol_table): Don't call bfd_seek.
+       (coff_bfd_get_relocated_section_contents): Only define if not
+       already defined.
+       (coff_bfd_relax_section): Likewise.
+       * coffgen.c (build_string_table): Remove.
+       (_bfd_coff_get_external_symbols): New function, moved in from old
+       coff_link_get_symbols in cofflink.c.
+       (_bfd_coff_read_string_table): New function, moved in from old
+       coff_read_string_table in cofflink.c.
+       (_bfd_coff_free_symbols): New function, moved in frmo old
+       coff_link_free_symbols in cofflink.c.
+       (coff_get_normalized_symtab): Use _bfd_coff_get_external_symbols
+       rather than reading the symbols directly.  To free them, call
+       _bfd_coff_free_symbols.  Use _bfd_coff_read_string_table rather
+       than build_string_table.
+       * libcoff-in.h (obj_coff_keep_syms): Define.
+       (obj_coff_keep_strings): Define.
+       (coff_data_type): Add fields keep_syms and keep_strings.
+       (coff_section_tdata): Define new structure.
+       (coff_section_data): Define.
+       (_bfd_coff_get_external_symbols): Declare.
+       (_bfd_coff_read_string_table): Declare.
+       (_bfd_coff_free_symbols): Declare.
+       (_bfd_coff_read_internal_relocs): Declare.
+       * libcoff.h: Rebuild.
+
+Fri Jul 21 22:32:54 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * elf32-ppc.c (ppc_elf_howto_raw): Add support for R_PPC_SDAREL
+       relocation.
+       (ppc_elf_reloc_type_lookup): Ditto.
+       (ppc_elf_got16_inner): Ditto.
+       (ppc_elf_relocate_section): Ditto.
+
+Thu Jul 20 19:19:06 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * elf32-hppa.c (hppa_elf_gen_reloc_type): Add new (ignored)
+       argument.
+       * elf32-hppa.h: Corresponding change.
+
+Thu Jul 20 19:01:07 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * libaout.h (set_aout_section_data): New macro.
+       * sunos.c (sunos_scan_relocs): Use it.
+
+       * aout-ns32k.c (MY_swap_std_reloc_out): Undef KEEPIT before
+       defining it.
+
+Thu Jul 20 13:48:00 1995  Fred Fish  <fnf@cygnus.com>
+
+       * hosts/i386v4.h (getgid, getuid):  Change prototypes to be
+       compatible with Unixware 1.x and Unixware 2.x, and probably other
+       i386 svr4 versions as well.
+
+Thu Jul 20 13:41:21 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * targets.c (bfd_target_vector): Since armpe and armpei have been
+       split into big- and little-endian variants, list all of them,
+       instead of the now-nonexistant armpe[i]_vec.
+
+Thu Jul 20 00:06:39 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf.c (bfd_section_from_phdr): Set lma based on p_paddr.
+       (elf_fake_sections): Set sh_addr based on lma, not vma.
+
+Wed Jul 19 15:52:01 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+       * coff-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
+       * configure.in (armpe_vec, armpei_vec): Add bi-endian support.
+       * configure: "regenerated".
+       * pe-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
+       (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME.
+       * pei-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
+       (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME.
+       * targets.c (armpe_vec, armpei_vec): Deleted.
+       (armpe_little_vec, armpe_big_vec, armpei_little_vec, armpei_big_vec):
+       Added.
+       * config/arm-pe.mt (DEFAULT_VECTOR): Default is armpe_little_vec.
+       (SELECT_VECS): Add bi-endian support.
+
+Wed Jul 19 10:47:25 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-sh.c: Clean up and comment.
+       (r_imm32): Remove.
+       (sh_coff_howtos): New static array.
+       (SH_COFF_HOWTO_COUNT): Define.
+       (get_symbol_value): Make relocation bfd_vma rather than long.
+       (RTYPE2HOWTO): Rewrite to use sh_coff_howtos.
+       (coff_relocate_section): Define to sh_relocate_section.
+       (sh_relocate_section): New static function.
+
+Sat Jul 15 01:02:53 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       * configure.host:  Add support for generic m68k SVR4 host.
+
+Fri Jul 14 13:13:55 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aoutx.h (KEEPIT): Change definition to udata.i.
+       (KEEPITTYPE): Remove.
+       (NAME(aout,reloc_type_lookup)): Add cases to the
+       extended reloc type switch: SPARC_GOT10, SPARC_GOT13, SPARC_GOT22,
+       SPARC_PC10, SPARC_PC22, SPARC_WPLT30.
+       (NAME(aout,swap_std_reloc_out)): Don't bother to use stoi when
+       retrieving KEEPIT value.
+       (NAME(aout,swap_ext_reloc_out)): Likewise.  Also, only add in
+       output section VMA for section symbols, and check BSF_SECTION_SYM
+       to control whether to set r_extern to 1.
+
+       * syms.c: Fix comments so that `make info' works.
+
+       * elf32-mips.c (mips_elf_find_nearest_line): Set SEC_HAS_CONTENTS
+       in .mdebug section, in case backend linker has cleared it.
+
+Fri Jul 14 11:58:34 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * elf32-ppc.c (ppc_elf_addr16_ha_inner): Rewrite to take just one
+       argument, the final relocated address.
+       (ppc_elf_addr16_ha_inner): Adjust ppc_elf_addr16_ha_inner caller.
+       (ppc_elf_relocate_section): Ditto.
+
+Thu Jul 13 17:22:03 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (hppa_som_gen_reloc_type): Choose a reasonable field
+       selector relocation for the difference of two symbols.
+
+Thu Jul 13 10:33:25 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aoutx.h (NAME(aout,slurp_reloc_table)): Cast argument to size_t
+       for malloc.
+       * coff-mips.c (mips_relocate_section): Likewise, for memmove.
+       (mips_relax_section): Likewise, for malloc.
+       * cofflink.c (process_embedded_commands): Likewise.
+       (_bfd_coff_final_link): Likewise.
+       * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
+       (ecoff_final_link_debug_accumulate): Likewise.
+       (ecoff_indirect_link_order): Likewise, for memcpy and malloc.
+       (ecoff_reloc_link_order): Likewise, for malloc.
+       * ecofflink.c (ecoff_align_debug): Likewise, for memset.
+       (ecoff_write_symhdr): Likewise, for malloc.
+       * elf32-hppa.c (elf32_hppa_read_symext_info): Likewise.
+       * elf.c (assign_file_positions_except_relocs): Likewise, for
+       qsort.
+       * elf32-mips.c (mips_elf_read_ecoff_info): Likewise, for malloc.
+       * elfcode.h (elf_slurp_reloc_table): Likewise.
+       * elfcore.h (elf_corefile_note): Likewise.
+       * elflink.h (elf_link_add_object_symbols): Likewise.
+       (elf_link_read_relocs): Likewise.
+       (NAME(bfd_elf,size_dynamic_sections)): Likewise, for memset.
+       * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
+       * ieee.c (do_with_relocs): Likewise.
+       * linker.c (default_indirect_link_order): Likewise, for malloc.
+       * nlmcode.h (nlm_object_p): Likewise.
+       (nlm_write_object_contents): Likewise.
+       * oasys.c (oasys_set_section_contents): Likewise, for memcpy.
+       * reloc.c (bfd_generic_get_relocated_section_contents): Likewise,
+       for malloc.
+       * section.c (bfd_get_section_contents): Likewise, for memcpy.
+       * srec.c (srec_get_section_contents): Likewise.
+       (srec_set_section_contents): Likewise.
+       * sunos.c (bfd_sunos_size_dynamic_sections): Likewise, for
+       realloc and memset.
+       (sunos_scan_relocs): Likewise, for malloc.
+       (sunos_scan_dynamic_symbol): Likewise, for realloc.
+       * syms.c (_bfd_generic_read_minisymbols): Likewise, for malloc.
+       * versados.c (versados_get_section_contents): Likewise, for
+       memcpy.
+
+       * libbfd.c (real_read): Add prototype.  Change argument types from
+       int to size_t.
+       (bfd_read): Cast real_read argument to size_t, not int.
+       (bfd_write): Cast fwrite argument to size_t, not int.
+
+       * elf64-gen.c (elf_info_to_howto): Fix definition for recent elf.c
+       changes.
+
+       * configure.in: Fix typo: change {$enableval} to ${enableval}.
+       * configure: Rebuild.
+
+       * Makefile.in (BFD32_BACKENDS): Add elflink.o.
+
+       * targets.c (bfd_target): Add fields _read_minisymbols and
+       _minisymbol_to_symbol.
+       (BFD_JUMP_TABLE_SYMBOLS): Add _read_minisymbols and
+       _minisymbol_to_symbol.
+       (bfd_read_minisymbols): Define.
+       (bfd_minisymbol_to_symbol): Define.
+       * syms.c (_bfd_generic_read_minisymbols): Define.
+       (_bfd_generic_minisymbol_to_symbol): Define.
+       * libbfd-in.h (_bfd_nosymbols_read_minisymbols): Define.
+       (_bfd_nosymbols_minisymbol_to_symbol): Define.
+       (_bfd_generic_read_minisymbols): Declare.
+       (_bfd_generic_minisymbol_to_symbol): Declare.
+       * bfd-in2.h: Rebuild.
+       * libbfd.h: Rebuild.
+       * aoutx.h (MINISYM_THRESHOLD): Define.
+       (NAME(aout,read_minisymbols)): New function.
+       (NAME(aout,minisymbol_to_symbol)): New function.
+       * libaout.h (NAME(aout,read_minisymbols)): Declare.
+       (NAME(aout,minisymbol_to_symbol)): Declare.
+       * aout-target.h (MY_read_minisymbols): Define.
+       (MY_minisymbol_to_symbol): Define.
+       * All targets: Define read_minisymbols and minisymbol_to_symbol.
+
+Wed Jul 12 17:55:55 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * elflink.h (elf_link_add_object_symbols): Cast return value from
+       bfd_alloc.
+
+       * elfcode.h (size_info): Don't use "&" before function names.
+
+Wed Jul 12 00:16:48 1995  Ken Raeburn  <raeburn@kr-pc.cygnus.com>
+
+       * libelf.h (elf_backend_data): Use unsigned, not unsigned char,
+       for bitfields.
+
+Tue Jul 11 15:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf.c (bfd_section_from_shdr): In case SHT_REL[A], only get the
+        BFD section for the sh_link section if it is a SYMTAB section.
+
+       * aoutx.h (NAME(aout,link_add_symbols)): Don't bother to check
+       that archives hold a.out objects.
+       * cf-i386lynx.c (coff_bfd_link_add_symbols): Don't define.
+       (lynx_link_add_symbols): Remove.
+       * cf-m68klynx.c (coff_bfd_link_add_symbols): Don't define.
+       (lynx_link_add_symbols): Remove.
+       * elflink.h (elf_bfd_link_add_symbols): Don't bother to check that
+       archives hold ELF objects.
+
+       * archive.c (bfd_generic_archive_p): If the archive has a map, and
+       the target was defaulted, but the first object in the archive can
+       not be matched with that target, then return a bad format error.
+
+       * elf64-sparc.c (elf_sparc_howto_table): Set howto for WDISP16 to
+       elf64_wdisp16_reloc.
+       (elf64_wdisp16_reloc): New static function.
+       (elf64_sparc_relocate_section): New static function.
+       (elf_backend_relocate_section): Define.
+
+       * libelf.h (struct elf_size_info): Change type of last argument to
+       swap_symbol_out from char * to PTR.
+       (bfd_elf32_swap_symbol_out): Update declaration.
+       (bfd_elf64_swap_symbol_out): Likewise.
+       * elfcode.h (elf_swap_symbol_out): Change type of cdst from char *
+       to PTR.
+       * elf.c (swap_out_syms): Cast to PTR, not char *, when calling
+       swap_symbol_out routine.
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Likewise.
+       (elf_link_output_sym): Likewise.
+       (elf_link_output_extsym): Likewise.
+       * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Likewise.
+
+Tue Jul 11 12:29:49 1995  Rick Sladkey  <jrs@world.std.com>
+
+       * elf.c (_bfd_elf_find_nearest_line): Handle the simple case where
+       there is no debugging information.
+
+Mon Jul 10 11:45:55 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * makefile.dos (OBJS): Add binary.o and tekhex.o.  From DJ
+       Delorie.
+
+Mon Jul 10 11:09:58 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * linker.c (set_symbol_from_hash): bfd_link_hash_new case: Don't
+       abort; it can happen for constructor symbols when not building
+       constructors.
+
+       * coff-i960.c (coff_i960_relocate): Correct typo: use ! on strcmp,
+       not on string.
+       * cofflink.c (_bfd_coff_generic_relocate_section): Remove unused
+       local i.
+       * coff-arm.c (coff_arm_rtype_to_howto): Don't declare.
+       (PCRELOFFSET): Define if not already defined.
+       * Makefile.in: Rebuild dependencies.
+       (BFD32_BACKENDS): Add coff-arm.o
+       (CFILES): Add coff-arm.c, pe-arm.c, pei-arm.c.
+
+       * aoutx.h (NAME(aout,link_hash_table_create)): Allocate hash table
+       using bfd_alloc, not malloc.
+       * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
+       * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
+       * i386linux.c (linux_link_hash_table_create): Likewise.
+       * linker.c (_bfd_generic_link_hash_table_create): Likewise.
+       * sunos.c (sunos_link_hash_table_create): Likewise.
+
+       Based on patches from Eric Youngdale <eric@aib.com>:
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): If -Bsymbolic,
+       output a DT_SYMBOLIC dynamic entry.
+       (elf_adjust_dynamic_symbol): If -Bsymbolic, don't require a PLT
+       entry for a locally defined symbol.
+       * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, do warn
+       about undefined symbols, and fill in the GOT entry for a symbol
+       defined in a regular object file.
+       (elf_i386_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE
+       reloc rather than a GLOB_DAT reloc for a symbol defined in a
+       regular object file.
+       * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, do warn
+       about undefined symbols, and fill in the GOT entry for a symbol
+       defined in a regular object file.
+       (elf_m68k_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE
+       reloc rather than a GLOB_DAT reloc for a symbol defined in a
+       regular object file.
+       * elf32-sparc.c (elf32_sparc_relocate_section): If -Bsymbolic, do
+       warn about undefined symbols, and fill in the GOT entry for a
+       symbol defined in a regular object file.
+       (elf32_sparc_finish_dynamic_symbol): If -Bsymbolic, output a
+       RELATIVE reloc rather than a GLOB_DAT reloc for a symbol defined
+       in a regular object file.
+
+       * config/m68k-coff.mt (SELECT_VECS): Rename from SELECT_VECTORS.
+       Correct elements to be actual BFD vector names.
+
+       * Makefile.in (Makefile): Don't depend upon @frags@.
+       (config.status): Depend upon @frags@.
+
+Fri Jul  7 17:36:44 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coffgen.c (coff_renumber_symbols): Sort defined symbols that are
+       neither BSF_FUNCTION not BSF_NOT_AT_END just before undefined
+       symbols.
+       * coffcode.h (coff_slurp_symbol_table): Set BSF_FUNCTION as well
+       as BSF_NOT_AT_END.
+
+Fri Jul  7 17:16:15 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * Makefile.in (do_mostlyclean): Remove config.log.
+       (do_distclean): Remove config.cache.
+
+Thu Jul  6 14:37:43 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-i386.c (elf_i386_relocate_section): Revert May 24 patch.
+        Don't copy PC32 reloc against section into shared object.
+
+       * Makefile.in: Rebuild dependencies.
+       (CFILES): Added elflink.c.
+       (Makefile): Depend upon config.status, not configure.in.
+       (config.status): New target; depend upon configure configure.host
+       and config.bfd.
+
+Wed Jul  5 20:17:14 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * elfcore.h, elflink.h, elfcode.h, elf.c, elflink.c: Moved some
+       primarily size-independent code from elfcode.h to elf.c and new
+       file elflink.c; moved out other core- or linker-related routines
+       into other new .h files for clarity.  Renamed many routines to
+       start with bfd_elf or _bfd_elf.  Added a structure of
+       size-dependent but target-independent info to elfcode.h.
+       * Makefile.in: Build elflink.o.  Update dependencies.
+       * libelf.h: Updated some declarations.  Added a definition for the
+       new structure in elfcode.h.  Added more fields to elf backend data
+       structure.
+       * elfxx-target.h: Refer to the appropriate size-dependent info.
+       * elf32-*.c: Changed some function names.  Moved common
+       create_dynamic_sections code from m68k, sparc, and i386 support
+       into elflink.c.  Define some new macros to fill in new fields of
+       back end data.  Also clean up some "gcc -Wall" warnings regarding
+       unused or uninitialized variables.
+
+       * Makefile.in (BFD_LIBS): No, don't put elflink.o here.
+       * configure.in: Include it here whenever elf.o is specified.
+
+Wed Jul  5 10:31:47 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-mips.c (mips_elf_object_p): Unconditionally set
+       elf_bad_symtab, since sometimes the symbol table is messed up and
+       the last symbol is global.
+
+       * ecoff.c (_bfd_ecoff_bfd_is_local_label): New function.
+       * libecoff.h (_bfd_ecoff_bfd_is_local_label): Declare.
+       * elf32-mips.c (mips_elf_is_local_label): New static function.
+       (bfd_elf32_bfd_is_local_label): Define.
+
+       * configure.in: Use $ac_config_sub, not $configsub.
+       * configure: Likewise.
+
+       Permit --enable-targets=ieee:
+       * config.bfd (*-*-ieee*): New target.
+       * config/ieee.mt: New file.
+
+Wed Jul  5 04:16:35 1995  Ken Raeburn  <raeburn@kr-pc.cygnus.com>
+
+       * config/i386aix.mh (HDEFINES): Remove -DFASCIST_FDOPEN.
+
+       Autoconfiscation:
+       * configure.in, Makefile.in, doc/Makefile.in: Switch from Cygnus
+       configure to autoconf ways of processing --enable arguments,
+       setting up symlinks, incorporating makefile fragments, printing
+       messages at configuration time, setting variables in Makefile.
+       Deleted some unused variables.  Check for ranlib via autoconf.
+       For now, configure script removes doc/config.status.
+       * configure: New file.
+       * dep-in.sed: Use @SRCDIR@ instead of @srcdir@, so Makefile.in
+       line doesn't get broken by configure.
+       * doc/configure.in: Removed.
+
+Tue Jul  4 12:22:21 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * archive.c (_bfd_construct_extended_name_table): If
+       BFD_TRADITIONAL_FORMAT is set, limit the length of all file names
+       to ar_max_namelen.
+       (bfd_dont_truncate_arname): If BFD_TRADITIONAL_FORMAT is set, call
+       bfd_bsd_truncate_arname.
+       (_bfd_write_archive_contents): Revert June 1 change.
+
+       * elfcode.h (NAME(bfd_elf,record_link_assignment)): Add provide
+       argument.
+       * bfd-in.h (bfd_elf32_record_link_assignment): Update prototype.
+       (bfd_elf64_record_link_assignment): Likewise.
+       * bfd-in2.h: Rebuild.
+
+       * libelf.h (struct elf_link_hash_table): Add needed field.  Remove
+       saw_needed field.
+       * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
+       is an empty string, don't make a DT_NEEDED entry in the output
+       file.  Record all DT_NEEDED entries found in input dynamic
+       objects.
+       (elf_link_output_extsym): Don't check saw_needed when issuing
+       warnings.
+       * elf.c (_bfd_elf_link_hash_table_init): Initialize needed, not
+       saw_needed.
+       (bfd_elf_get_needed_list): New function.
+       * bfd-in.h (struct bfd_elf_link_needed_list): Define.
+       (bfd_elf_get_needed_list): Define.
+       * bfd-in2.h: Rebuild.
+
+       * ecoff.c (_bfd_ecoff_find_nearest_line): Also initialize
+       find_buffer and fdrtab_len fields of newly allocated
+       find_line_info structure.
+
+Mon Jul  3 17:03:52 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (hppa_som_gen_reloc_type): New argument "sym_diff",
+       nonzero when we're generating relocations for an expression
+       using the difference of two symbols.  All callers changed.
+       Handle difference of symbols for both R_HPPA and R_COMPLEX
+       cases.
+       (som_write_fixups): Handle R_COMP1, R_COMP2 and R_CODE_EXPR
+       fixups.
+
+Mon Jul  3 13:55:18 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * config.bfd (win32): New configuration.
+       * configure.host (pe): Changed to i386win32.
+       * config/i386pe.mh: Deleted.
+       * config/i386win32.mh: New file.
+
+Mon Jul  3 11:30:45 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ecoff.c (_bfd_ecoff_find_nearest_line): If we allocate
+       find_line_info, clear the fdrtab field.
+
+       * targets.c (enum bfd_flavour): Add bfd_target_msdos_flavour here,
+       rather than in bfd-in2.h.
+
+       * bfd.c (enum bfd_error): Define bfd_error_no_armap.
+       (bfd_errmsgs): Add string for bfd_error_no_armap.
+       * bfd-in2.h: Rebuild.
+       * ecoff.c (ecoff_link_add_archive_symbols): If an archive has no
+       armap, set bfd_error_no_armap rather than bfd_error_no_symbols.
+       * elfcode.h (elf_link_add_archive_symbols): Likewise.
+       * linker.c (_bfd_generic_link_add_archive_symbols): Likewise.
+
+       * elfcode.h (elf_link_add_object_symbols): Permit common and
+       indirect symbols in weakdefs BFD_ASSERT.
+       * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Simplify
+       BFD_ASSERT to permit some legal, but odd, cases.
+       * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
+       * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
+
+       * Makefile.in: Rebuild dependencies.
+       (BFD32_BACKENDS): Add versados.o.
+       (CFILES): Add pe-i386.c, pei-i386.c, and versados.c.
+start-sanitize-arc
+       (elf32-arc.o): New target.  This target should be removed when
+       elf32-arc.c can be added to CFILES, after which the automatic
+       dependency building will handle it.
+end-sanitize-arc
+
+Sun Jul  2 17:49:32 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * cofflink.c (_bfd_coff_generic_relocate_section): Cast base_file
+       to FILE * before using it.
+       * stab-syms.c: Revert yesterday's patch.
+
+Sat Jul  1 12:10:42 1995  Fred Fish  <fnf@cygnus.com>
+
+       * stab-syms.c (stdio.h):  Include prior to libaout.h, which
+       includes bfdlink.h, which now uses FILE.
+
+Sat Jul  1 00:11:08 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * elfxx-target.h: New file.
+
+       * libelf.h (struct elf_backend_data): Remove elf_64_p field.
+       * elfxx-target.h (elfNN_bed): Don't set it.
+
+       * elf32-target.h, elf64-target.h: Deleted.
+       * Makefile.in (elf32-target.h, elf64-target.h): Build them from
+       elfxx-target.h.
+
+Fri Jun 30 16:07:18 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * cofflink.c (_bfd_coff_generic_relocate_section): Compare
+       the full text of .reloc or .edata section names.
+
+Fri Jun 30 15:47:37 1995  Fred Fish  <fnf@cygnus.com>
+
+       * cofflink.c (_bfd_coff_generic_relocate_section):
+       Remove extra '+'.
+
+Thu Jun 29 17:24:52 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * coff-h8300.c (COFF_LONG_FILENAMES): Define.
+
+Wed Jun 28 18:04:42 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * Makefile.in: versados.o is now conditionally built.
+       * coffcode.h (add_data_entry): New function.
+       (coff_write_object_contents): Clean up. Calculate
+       data entries.
+       * cofflink.c (_bfd_coff_generic_relocate_section):
+       .reloc and .edata sections are IMAGE_BASED too.
+       If there's a base_file then write out base information.
+       * configure.host (i386-*-pe): New.
+       * syms.c (coff_section_type): Only scan prefixes.
+       * targets.c (bfd_target_vector): Versados is now conditionally
+       built.
+       * config/m68k-coff.mt: Build versados.o
+       * hosts/i386pe.h: New file.
+
+Mon Jun 26 13:53:49 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * elf32-hpa.c (elf32_hppa_relocate_section): Close comment before
+       R_PARISC_DPREL21L handling.
+
+Thu Jun 22 19:28:36 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       Sun May  7 11:53:41 MDT 1995  Bryan Ford  <baford@cs.utah.edu>
+
+       * config/i386-moss.mt: created.
+
+Thu Jun 22 08:56:10 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * reloc.c (bfd_perform_relocation): Add case for -ve words.
+
+Wed Jun 21 13:13:49 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * elf32-hppa.c (elf32_hppa_relocate_section): Don't try to apply a
+       relocation against an undefined symbols.
+
+Wed Jun 21 10:16:10 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * versados.c: Second pass/rewrite.
+
+Mon Jun 19 08:40:45 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * syms.c (coff_section_type): Compare only the front part
+       of a section name.
+
+Sat Jun 17 09:40:44 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * elf32-hppa.c (elf32_hppa_size_stubs): Set the size of the stub
+       section if we get an error.
+
+       * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Don't mess
+       with the operands of an R_PARISC_DPREL21L relocation if the insn
+       is not "addil <symbol>,%r27".
+
 Fri Jun 16 15:04:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
 
        * bfd-in.h (NT_subsystem, NT_stack_heap): Declare but don't
@@ -87,7 +941,7 @@ Tue Jun  6 17:29:32 1995  Steve Chamberlain  <sac@slash.cygnus.com>
 Mon Jun  5 09:07:13 1995  Steve Chamberlain  <sac@slash.cygnus.com>
 
        * coff-a29k.c (coff_a29k_adjust_symndx): Completely parenthesize
-       macro. (pr ld/7127)
+       macro.
 
 Mon Jun  5 02:15:20 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
 
@@ -136,8 +990,6 @@ 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.
 
@@ -146,7 +998,7 @@ 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:
+        pei-arm.c, coff-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>
@@ -234,8 +1086,6 @@ Thu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
 
 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
This page took 0.031194 seconds and 4 git commands to generate.