+
+ * elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count.
+ (sparc64_elf_relocate_section): Likewise.
+
+
+ * elf32-sparc.c (_bfd_sparc_elf_howto_table): Treat R_SPARC_UA32
+ similar to R_SPARC_32.
+ * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
+
+
+ * elf32-i386.c (elf_i386_check_relocs): Reserve R_386_PC32
+ relocation entries for weak definitions when building DSO with
+ -Bsymbolic.
+
+
+ * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Respect weakness
+ before visibility. Locally defined protected symbols are not
+ dynamic.
+
+
+ * config.bfd: Enable coff64 for rs6000-*. Patch from
+
+
+ * coffgen.c (coff_find_nearest_line): If stabs info is successfully
+ found, do not attempt to find dwarf2 info before returning.
+
+
+ * elflink.h (is_global_symbol_definition): Rename to
+ is_global_data_symbol_definition and have it reject function
+ symbols.
+ (elf_link_is_defined_archive_symbol): Use renamed function.
+
+
+ * libbfd-in.h (bfd_target_vector): Change extern array to pointer.
+ * libbfd.h (bfd_target_vector): Likewise.
+ * targets.c (bfd_target_vector): Rename to _bfd_target_vector and
+ make static; create pointer reference named bfd_target_vector.
+ (_bfd_target_vector_entries): Calculate this based on the array
+ typed _bfd_target_vector.
+
+
+ * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Only hidden and
+ internal symbols are not dynamic.
+ * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
+
+
+ * Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-ia64.c, so
+ that it will not be pulled into the list of files that make up
+ po/POTFILES.in.
+ * Makefile.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+
+
+ * bfd/peicode.h (coff_swap_filehdr_in): Remove the e_magic
+ checking.
+ (pe_bfd_object_p): Rewrite with external_PEI_DOS_hdr and
+ external_PEI_IMAGE_hdr.
+
+
+ * elf-m10200.c: Fix formatting.
+
+
+ * elf32-v850.c (v850_elf_reloc): Do not convert reloc addend to PC
+ rel, it will be handled later on.
+
+
+ * Makefile.in: Fix typo.
+
+
+ * elf-m10300.c: Fix formatting.
+
+
+ * elf64-hppa.c (elf64_hppa_elf_get_symbol_type): New function.
+ (elf_backend_get_symbol_type): Define.
+ (elf64_hppa_object_p): Set architecture and machine from elf
+ header flags.
+
+
+ * elf64-alpha.c (elf64_alpha_find_nearest_line): Query dwarf2
+ before mdebug.
+
+
+ * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Return false
+ for non-default visibility.
+ * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise, but
+ delete ugly macro and replace with pretty function.
+
+
+ * coff-go32.c: Update copyright.
+ * coff-stgo32.c: Likewise.
+ * coff-go32.c (COFF_LONG_FILENAMES): Define.
+ * coff-stgo32.c (COFF_LONG_FILENAMES): Likewise.
+ * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Remove .bss entry.
+ * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
+
+
+ * bfd-in2.h: Rebuild.
+ * libbfd.h: Likewise.
+
+
+ * bfd-in2.h: Rebuild.
+
+
+ * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_buf)
+ is NULL or PRIV(vms_rec) is outside of the buffer.
+
+
+ * coff64-rs6000.c: Fix formatting.
+ * coff-arm.c: Likewise.
+ * coffgen.c: Likewise.
+ * cofflink.c: Likewise.
+ * coff-mcore.c: Likewise.
+ * coff-mips.c: Likewise.
+ * coff-pmac.c: Likewise.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * elf32.c: Likewise.
+ * elf32-fr30.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-i860.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elflink.c: Likewise.
+ * elflink.h: Likewise.
+ * elf-m10200.c: Likewise.
+ * elf-m10300.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+
+ * aoutx.h: Fix formatting.
+ * bfd.c: Likewise.
+ * bfd-in2.h: Likewise.
+ * bfd-in.h: Likewise.
+ * cpu-i386.c: Likewise.
+ * cpu-m68hc11.c: Likewise.
+ * dwarf2.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * format.c: Likewise.
+ * freebsd.h: Likewise.
+ * hash.c: Likewise.
+ * hp300hpux.c: Likewise.
+ * hppabsd-core.c: Likewise.
+ * hpux-core.c: Likewise.
+
+
+ * elf64-x86-64.c: Added PIC support for X86-64.
+ (elf64_x86_64_link_hash_newfunc): Function added.
+ (elf64_x86_64_link_hash_table_create): Likewise.
+ (elf64_x86_64_check_relocs): Likewise.
+ (elf64_x86_64_gc_mark_hook): Likewise.
+ (elf64_x86_64_gc_sweep_hook): Likewise.
+ (elf64_x86_64_adjust_dynamic_symbol): Likewise.
+ (elf64_x86_64_size_dynamic_sections): Likewise.
+ (elf64_x86_64_discard_copies): Likewise.
+ (elf64_x86_64_finish_dynamic_symbol): Likewise.
+ (elf64_x86_64_finish_dynamic_sections): Likewise.
+ (elf64_x86_64_relocate_section): Add relocation of PIC sections.
+
+
+ * Makefile.am (install-data-local): Make use of $(DESTDIR).
+ * Makefile.in: Regenerate.
+
+
+ * coff-a29k.c: Fix formatting.
+
+
+ * elf32-i386.c (elf_i386_check_relocs): Report files with bad
+ relocation section names.
+ (elf_i386_relocate_section): Report files with bad relocation
+ section names and return false.
+
+
+ * targets.c: Alphabetize list of xvecs.
+
+
+ * config.bfd: Add linux target variant for elfxx-hppa.
+ * configure.in: Recognize bfd_elf32_hppa_linux_vec and
+ bfd_elf64_hppa_linux_vec.
+ * configure: Regenerate.
+ * elf64-hppa.c: Include elf64-target.h again to support linux
+ target variant.
+ (elf64_hppa_post_process_headers): Set ELFOSABI_LINUX for linux.
+ * elf32-hppa.c: Include elf32-target.h again to support linux
+ target variant.
+ (elf32_hppa_post_process_headers): New function.
+ (elf_backend_post_process_headers): Define.
+ * targets.c (bfd_target_vector): Add bfd_elf64_hppa_linux_vec and
+ bfd_elf32_hppa_linux_vec.
+
+ * elf32-hppa.c (elf32_hppa_link_hash_table): Add text_segment_base,
+ and data_segment_base fields.
+ (elf32_hppa_link_hash_table_create ): Init them.
+ (elf32_hppa_check_relocs): Update comments.
+ (hppa_record_segment_addr): New function.
+ (elf32_hppa_relocate_section): Call it.
+ (final_link_relocate): Handle R_PARISC_SEGREL32.
+ (elf32_hppa_final_link): New function.
+ (bfd_elf32_bfd_final_link): Define to call it.
+ (hppa_unwind_entry_compare): New function.
+ * cache.c (bfd_open_file): Create files in write+read mode.
+
+ * elf-hppa.h (elf_hppa_howto_table): Set bitsize value for
+ SEGREL32 and numerous other relocs. Change duplicate
+ R_PARISC_NONE relocs to R_PARISC_UNIMPLEMENTED.
+
+ * opncls.c (bfd_fdopenr): Add parens like the comment says around
+ O_ACCMODE.
+
+ * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Don't create
+ .plt entries for DT_INIT and DT_FINI.
+ (elf32_hppa_finish_dynamic_sections): Remove special handling of
+ DT_INIT and DT_FINI.
+
+ * elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Use 16-bit
+ offsets for stub .plt access if wide mode. Check offset in range.
+
+
+ * elf32-fr30.c (fr30_elf_howto_table): Remove spurious blank
+ line.
+
+ * coffcode.h (coff_canonicalize_reloc): Remove spurious blank
+ line.
+
+
+ * configure.in ([bfd_elf64_x86_64_vec]): Set target64.
+ * configure: Regenerate.
+
+
+ * bfd-in2.h (bfd_architecture): Add bfd_mach_arc_5,
+ bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8 for ARC variants.
+ * cpu-arc.c (arch_info_struct): Add entries for variants.
+ (bfd_arc_arch) Set default to bfd_mach_arc_5.
+ (arc_get_mach) Don't assume machine names prefixed arc- before
+ testing.
+ * elf32-arc.c (arc_elf_object_p): Set machine number based on new
+ selections.
+ (arc_elf_final_write_processing) Likewise.
+ (ELF_MACHINE_CODE) Use EM_ARC.
+
+
+ * coff-arm.c (LOCAL_LABEL_PREFIX): Change definition to "".
+
+
+
+
+ * som.c: Fix formatting.
+
+
+ * ecoffswap.h: Fix formatting.
+ * elf-bfd.h: Likewise.
+ * elfarm-nabi.c: Likewise.
+ * elfarm-oabi.c: Likewise.
+ * elfcode.h: Likewise.
+ * elfcore.h: Likewise.
+ * elflink.c: Likewise.
+ * elflink.h: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-target.h: Likewise.
+ * libbfd.c: Likewise
+ * linker.c: Likewise.
+ * lynx-core.c: Likewise.
+
+
+ * pc532-mach.c: Fix formatting.
+ * pe-arm.c: Likewise.
+ * pe-i386.c: Likewise.
+ * pe-mips.c: Likewise.
+ * pe-ppc.c: Likewise.
+ * pe-sh.c: Likewise.
+ * pei-mips.c: Likewise.
+ * pei-sh.c: Likewise.
+ * peicode.h: Likewise.
+ * ppcboot.c: Likewise.
+ * ptrace-core.c: Likewise.
+
+
+ * reloc.c: Fix formatting.
+ * riscix.c: Likewise.
+ * rs6000-core.c: Likewise.
+ * xcoff-target.h: Likewise.
+
+
+ * elfcode.h (elf_object_p): Also restore the bfd mach field on
+ error, by calling bfd_default_set_arch_mach with incoming
+ values.
+
+
+ * vaxnetbsd.c: Fix formatting.
+ * versados.c: Likewise.
+ * vms-gsd.c: Likewise.
+ * vms-hdr.c: Likewise.
+ * vms-misc.c: Likewise.
+
+
+ * archive.c (coff_write_armap): Don't write more than symbol_count
+ `archive_member_file_ptr's.
+
+
+ * vms-tir.c: Fix formatting.
+
+
+ * vms.c: Fix formatting.
+ * vms.h: Likewise.
+
+
+ * vms-hdr.c: Include alloca.h if HAVE_ALLOCA_H is defined.
+
+ * peicode.h (pe_ILF_object_p): Add const to import of TARGET_LITTLE_SYM.
+
+ * elf32-m32r.c (m32r_elf_generic_reloc): Add cast to avoid (void *)
+ arithmetic.
+
+ * elf32-fr30.c: Add casts to avoid (void *) arithmetic.
+
+ * coffcode.h (styp_to_sec_flags): Add empty statement after label.
+
+
+ * libbfd.c (bfd_get_bits): Added
+ (bfd_put_bits): Likewise
+ * bfd-in.h: Declared the above.
+ * bfd-in2.h: Regenerated.
+
+
+ * targets.c: Fix formatting.
+ * tekhex.c: Likewise.
+ * trad-core.c: Likewise.
+
+
+ * sco5-core.c: Fix formatting.
+ * section.c: Likewise.
+ * sparclinux.c: Likewise.
+ * sparclynx.c: Likewise.
+ * sparcnetbsd.c: Likewise.
+ * srec.c: Likewise.
+ * stabs.c: Likewise.
+ * stab-syms.c: Likewise.
+ * sunos.c: Likewise.
+ * syms.c: Likewise.
+ * sysdep.h: Likewise.
+
+
+ * coff-arm.c (EXTRA_S_FLAGS): Only define if not already
+ defined.
+ * epoc-pe-arm.c (EXTRA_S_FLAGS): Define.
+ * epoc-pei-arm.c (EXTRA_S_FLAGS): Define.
+
+
+ * vms-misc.c (_bfd_vms_get_record): Add default case to
+ file_format switch.
+
+
+ * elfcore.h (elf_core_file_p): Move to the start of the program
+ headers before attempting to read them.
+
+
+ * peigen.c: Fix formatting.
+ * som.c: Likewise.
+ * som.h: Likewise.
+
+
+ * peigen.c: Fix formatting.
+
+
+ * elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *.
+
+
+ * binary.c (binary_set_section_contents): Ignore sections
+ with zero size.
+
+
+ * m68klinux.c: Fix formatting.
+ * m68knetbsd.c: Likewise.
+ * mipsbsd.c: Likewise.
+ * netbsd-core.c: Likewise.
+ * netbsd.h: Likewise.
+ * newsos3.c: Likewise.
+ * nlm32-alpha.c: Likewise.
+ * nlm32-i386.c: Likewise.
+ * nlm32-ppc.c: Likewise.
+ * nlm32-sparc.c: Likewise.
+ * nlmcode.h: Likewise.
+ * nlmswap.h: Likewise.
+ * nlm-target.h: Likewise.
+ * ns32knetbsd.c: Likewise.
+
+
+ * elflink.h (elf_link_output_extsym): Don't complain about undefined
+ symbols in shared objects if allow_shlib_undefined is true.
+
+
+ * cpu-sh.c: Fix formattng.
+ * elf.c: Fix formattng.
+ * elf32-mips.c: Fix formattng.
+ * elf32-sh.c: Fix formattng.
+ * elf64-alpha.c: Fix formattng.
+
+
+ * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Pass
+ dwarf2_find_line_info as last parameter to invocation of
+ _bfd_dwarf2_find_nearest_line.
+ * elf32-arm.h (elf32_arm_find_nearest_line): Pass
+ dwarf2_find_line_info as last parameter to invocation of
+ _bfd_dwarf2_find_nearest_line.
+
+
+ * Makefile.am (BFD32_BACKENDS): Move dwarf2.lo from here...
+ (BFD_LIBS): ...to here.
+ (BFD32_BACKENDS_CFILES): Move dwarf2.c from here...
+ (BFD_LIBS_CFILES): ...to here.
+ * Makefile.in: Regenerate.
+ * configure.in: Remove dwarf.lo from the elf shell variable.
+ * configure: Regenerate.
+ * libcoff-in.h (coff_tdata): Add pointer dwarf2_find_line_info.
+ * libcoff.h: Regenerate.
+ * coffgen.c (coff_find_nearest_line): Call
+ _bfd_dwarf2_find_nearest_line.
+ * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add parameter. Update
+ accordingly.
+ (read_abbrevs): Likewise
+ (decode_line_info): Likewise.
+ (parse_comp_unit): Likewise.
+ (comp_unit_find_nearest_line): Likewise.
+ * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
+ * libbfd.h: Regenerate.
+ * elf.c (_bfd_elf_find_nearest_line): Update call.
+ * elf-bfd.h (elf_obj_tdata): Change dwarf2_find_line_info to type PTR.
+ * dwarf2.c (concat_filename): Use IS_ABSOLUTE_PATH.
+ * coffcode.h (STYP_XCOFF_DEBUG, STYP_DEBUG_INFO): New macros.
+ (sec_to_styp_flags): Use them. Handle DWARF2 sections.
+ (styp_to_sec_flags): Handle DWARF2 sections.
+ * elf32-arm.h (elf32_arm_find_nearest_line): Add parameter to call
+ to _bfd_find_nearest_line.
+ * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Add parameter to
+ call to _bfd_find_nearest_line.
+
+
+ * coffgen.c: Fix formatting.
+ * elf-m10300.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-i960.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * elf64-sparc.c: Likewise.
+
+
+ * elf32-ppc.c: Fix formatting.
+ * elf64-x86-64.c: Likewise.
+
+
+
+ * elf32-mips.c (elf32_mips_merge_private_bfd_data): Always permit
+ BFDs containing no sections or empty .text, .data or .bss sections
+ to be merged, regardless of their flags.
+
+
+ * elf32-m32r.c: Fix formatting.
+ * elf32-m68hc11.c: Likewise.
+ * elf32-m68hc12.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-pj.c: Likewise.
+ * elf32-ppc.c: Likewise.
+
+
+ * elf32-fr30.c: Fix formatting.
+ * elf32-hppa.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-i860.c: Likewise.
+ * elf32-i960.c: Likewise.
+
+
+ * elf32-arm.h: Fix formatting.
+ * elf32-avr.c: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-d10v.c: Likewise.
+ * elf32-d30v.c: Likewise.
+ * elf-hppa.h: Likewise.
+ * elf-m10200.c: Likewise.
+ * elf-m10300.c: Likewise.
+
+
+ * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mips32 and
+ bfd_mach_mips32_4k. Update FIXME comment.
+ * archures.c (bfd_mach_mips32): New constant.
+ (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to
+ the latter, renumber it.
+ * bfd-in2.h (bfd_mach_mips32): New constant.
+ (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to
+ the latter, renumber it.
+ * cpu-mips.c (I_mips32): New constant.
+ (I_mips4K, I_mips32_4k): Rename the former to the latter.
+ (arch_info_struct): Add bfd_mach_mips32 entry, replace
+ bfd_mach_mips4K entry with bfd_mach_mips32_4k entry.
+ * elf32-mips.c (elf_mips_isa): Add E_MIPS_ARCH_32 case.
+ (elf_mips_mach): Likewise. Also, replace E_MIPS_MACH_MIPS32
+ with E_MIPS_MACH_MIPS32_4K.
+ (_bfd_mips_elf_final_write_processing): Replace
+ bfd_mach_mips4K with bfd_mach_mips32_4k case, add
+ bfd_mach_mips32 case.
+ (_bfd_mips_elf_merge_private_bfd_data): Generalize ISA mixing
+ comparison with support for MIPS32.
+ (_bfd_mips_elf_print_private_bfd_data): Print ISA name for
+ MIPS32.
+
+ * aoutx.h (NAME(aout,machine_type)): Add cases for
+ bfd_mach_mips5 and bfd_mach_mips64.
+ * archures.c (bfd_mach_mips5, bfd_mach_mips64): New constants.
+ * bfd-in2.h (bfd_mach_mips5, bfd_mach_mips64): Likewise.
+ * cpu_mips.c (I_mips5, I_mips64): New definitions.
+ (arch_info_struct): Add entries for bfd_mach_mips5 and
+ bfd_mach_mips64.
+ * elf32-mips.c (elf_mips_isa, elf_mips_mach,
+ _bfd_mips_elf_print_private_bfd_data): Add cases for
+ E_MIPS_ARCH_5 and E_MIPS_ARCH_64.
+ (_bfd_mips_elf_final_write_processing): Add cases for
+ bfd_mach_mips5 and bfd_mach_mips64.
+
+ * bfd/aoutx.h (NAME(aout,machine_type)): Add a
+ bfd_mach_mips_sb1 case.
+ * bfd/archures.c (bfd_mach_mips_sb1): New constant.
+ * bfd/bfd-in2.h (bfd_mach_mips_sb1): New constant.
+ * bfd/cpu-mips.c (I_sb1): New constant.
+ (arch_info_struct): Add entry for bfd_mach_mips_sb1.
+ * bfd/elf32-mips.c (elf_mips_mach): Add case for
+ E_MIPS_MACH_SB1.
+ (_bfd_mips_elf_final_write_processing): Add case for
+ bfd_mach_mips_sb1.
+
+
+ * config.bfd (arm-*-rtems*, a29k-*rtems*): New targets.
+ (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets.
+ (sparc*-*-rtems*): Switched from a.out to ELF.
+
+
+ * Makefile.am (BFD64_BACKENDS): Add elf64-x86-64.lo
+ BFD64_BACKENDS_CFILES): Add elf64-x86-64.c
+ (elf64-x86-64.lo): Add dependencies.
+ * archures.c (DESCRIPTION): Add bfd_mach_x86_64,
+ bfd_mach_x86_64_intel_syntax.
+ * elf.c (prep_headers): Use EM_x86_64 for 64bit output.
+ * config.bfd (x86_64): Add.
+ * configure.in: Add support for bfd_elf64_x86_64_vec.
+ * cpu-i386.c (bfd_x86_64_arch_intel_syntax, bfd_x86_64_arch): Add.
+ (bfd_i386_arch, i8086_ar): Link in.
+ * elf64-x86-64.c: New file.
+ * reloc.c (ENUMDOC): Add BFD_RELOC_X86_64*.
+ * targets.c (bfd_elf64_x86_64_vec): Add.
+ (bfd_target_vect): Add bfd_elf64_x86_64_vec.
+
+
+ * xcofflink.c: Fix formatting.
+
+
+ * aoutx.h: Fix formatting.
+ * bfd-in.h: Likewise.
+ * bfd-in2.h: Likewise.
+ * cache.c: Likewise.
+ * cisco-core.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * coffswap.h: Likewise.
+ * corefile.c: Likewise.
+ * elf32-mips.c: Likewise.
+
+
+ * aout-adobe.c: Fix formatting.
+ * coff64-rs6000.c: Likewise.
+ * coffgen.c: Likewise.
+ * cofflink.c: Likewise.
+
* libcoff-in.h (coff_tdata): Add `strings_written' flag.
- * cofflink.c (_bfd_coff_generic_relocate_section): Don't object to
+ * cofflink.c (_bfd_coff_generic_relocate_section): Don't object to
weak undefined symbols.
(get_got): Delete unused local srel.
(elfNN_ia64_check_relocs): Initialize dynrel_type when declared.
(elfNN_ia64_relocate_section): Delete unused local dynindx.
-
+
* coff-a29k.c: Fix formatting.
if a relocation for an undefined symbol also results in an
overflow.
* config.bfd: Add support for Sun Chorus.
* configure.in: Recognize alpha-*-freebsd*.
* configure: Regenerate.
* srec.c (CHUNK): Rename to DEFAULT_CHUNK.
(Chunk): New global variable set by a parameter in objcopy.c.
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* po/bfd.pot: Regenerate.
-
+
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle
* elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse
attempts to mix PIC code with non-PIC, just mark the output as
being position dependent.
- (elf32_arm_merge_private_bfd_data): Likewise. Print an error
- message for EF_SOFT_FLOAT mismatches. Display diagnostics for
+ (elf32_arm_merge_private_bfd_data): Likewise. Print an error
+ message for EF_SOFT_FLOAT mismatches. Display diagnostics for
all mismatches, not just the first one.
-
+
* ieee.c (ieee_archive_p): Plug one of many possible
local_p. Add symbol value only for non-R_MIPS_REL32 relocations
against local symbols.
(_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01.
-
+
* section.c (struct sec): Add kept_section.
* bfd-in2.h: Regenerate.
* elflink.h (elf_link_add_object_symbols): Remove unnecessary
- zeroing of `flags'.
+ zeroing of `flags'.
(elf_link_input_bfd): Set all asection->symbol->value's here, and
fudge values for discarded link-once section symbols.
- * section.c (bfd_make_section_anyway): Release newsect ptr when
+ * section.c (bfd_make_section_anyway): Release newsect ptr when
newsect->symbol fails to alloc. Use bfd_release instead of free.
* elfcode.h (elf_object_p): Preserve and clear abfd section
- information. Restore at error.
+ information. Restore at error.
- * cpu-mips.c (arch_info_struct): Add mips:4K
- * bfd-in2.h (bfd_mach_mips4K): New define.
- * archures.c: Add bfd_mach_mips4K to comment.
- * elf32-mips.c (_bfd_mips_elf_final_write_processing): Return
+ * cpu-mips.c (arch_info_struct): Add mips:4K
+ * bfd-in2.h (bfd_mach_mips4K): New define.
+ * archures.c: Add bfd_mach_mips4K to comment.
+ * elf32-mips.c (_bfd_mips_elf_final_write_processing): Return
E_MIPS_ARCH_2 for bfd_mach_mips4K.
* som.c (som_write_symbol_strings): Do not used fixed buffers,
use size_t as a counter.
* elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert 2000-08-27
change.
* elf32-sh.c (sh_elf_merge_private_data): If ibfd's elf header flags
not initialized, set them to indicate the SH1 instruction set.
DT_PLTPAD, DT_MOVETAB, DT_SYMINFO, DT_RELACOUNT, DT_RELCOUNT,
DT_FLAGS_1, DT_USED and DT_CHECKSUM.
* elf.c (bfd_elf_get_sign_extend_vma, bfd_elf_get_arch_size): Move
renamed functions from here...
* elf64-hppa.c (elf64_hppa_check_relocs): Fix some warnings.
(elf64_hppa_modify_segment_map): Likewise.
* elf.c (bfd_elf_get_sign_extend_vma): Return tendency of VMA
addresses to be "naturally" sign extended. Return -1 if unknown.
* bfd-in.h (bfd_elf_get_sign_extend_vma): Add declaration.
* bfd-in2.h: Regenerate.
* ecoffswap.h (ecoff_get_off, ecoff_put_off): Add ECOFF_SIGNED_32
and ECOF_SIGNED_64 to list ways to extract an offset.
* elf64-mips.c (ECOFF_SIGNED_64): Define instead of ECOFF_64.
* elf32-mips.c (ECOFF_SIGNED_32): Define instead of ECOFF_32.
* elfcode.h (elf_object_p): Use bfd_set_start_address and not
bfd_get_start_address.
* configure: Regenerate.
* peicode.h (pe_ILF_object_p): Use TARGET_LITTLE_SYM instead of
armpei_little_vec.
(i[3456]86-*-netbsd*): Add bfd_elf32_i386_vec to targ_selvecs.
(i[3456]86-*-openbsd*): Likewise.
* trad-core.c: From hpux-core.c, include <dirent.h> or
<sys/ndir.h> when possible.
* elflink.h (elf_bfd_final_link, elf_link_input_bfd): When emiting
relocs for an executable, ensure that they are virtual addresses.
* config.bfd (hppa*64*-*-hpux11*): New target triplet.
read idata section only from dataoff.
(pe_print_edata): Correctly check for valid eat_member.
* elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
(_bfd_pe_print_private_bfd_data_common): Print Reserved1 field as
Win32Version.
* xcoff.h: Rename to xcoff-target.h
* Makefile.am: Change all instances of xcoff.h to xcoff-target.h
* coff-pmac.c: Ditto.
* Makefile.in: Regenerate.
* coffcode.h (coff_set_arch_mach_hook, coff_set_flags):
Change U802TOC64MAGIC to U803XTOCMAGIC.
dependencies.
* Makefile.in: Regenerate.
* Makefile.am (BFD32_BACKENDS): Add efi-app-ia32.lo.
(BFD32_BACKENDS_CFILES): Add efi-app-ia32.c.
* coff-sh.c (bfd_coff_small_swap_table): Fix Fri Apr 28 change.
* vms.c (vms_openr_next_archived_file): Return NULL.
* coffcode.h Copy changes mistakenly done to libcoff.h in
4/24/2000 patch.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
* Makefile.am (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): Add
coffdu-rs6000.{lo,c}.
common to the xcoff backends into xcoff.h
* coff64-rs6000.c: Ditto,
* coff-mips.c (mips_ecoff_backend_data): Add initialization of
_bfd_coff_force_symnames in strings and
_bfd_coff_debug_string_prefix_length to their default values.
* coff-sh.c: (bfd_coff_small_swap_table): Ditto.
* coff-alpha.c (alpha_ecoff_backend_data): Add initialization of
_bfd_coff_force_symnames in strings and
can use a relative reloc for got as elf_i386_relocate_section.
(bfd_elf32_bfd_final_link): Define to use gc form of final link.
* config.bfd: Remove extraneous bfd_powerpc_64_arch.
* Makefile.am (coff64-rs6000.lo): New rule.
* Makefile.in: Regenerate.
* configure.in: Add rs6000coff64_vec case.
* cpu-powerpc.c: New bfd_arch_info_type.
* config.bfd: Only disable elf32-hppa vectors, not all of the
BSD and OSF configuration support. Provide (disabled) clauses
* elf64-hppa.c, elf64-hppa.h: New files with PA64 support.
* libhppa.h (dis_assemble_16): New function.
(pa_arch): Added pa20w element.
* elf-bfd.h: Add prototypes for bfd_elf32_write_relocs,
bfd_elf32_slurp_reloc_table, bfd_elf64_write_relocs, and
* coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx
= scnhsz, filhsz, relsz, aoutsz, etc)
- * coffswap.h: Ditto.
+ * coffswap.h: Ditto.
* elflink.h (elf_link_add_object_symbols): Combine visibilities.
* elf.c (bfd_elf_print_symbol): Interpret st_other as visibility.
-
- * elflink.h (bfd_elf,size_dynamic_sections): Don't export all
- if no dynamic sections created.
-
-
- * peicode.h (pe_bfd_object_p): Only define for PE format
- targets.
-
-
- * coff-i386.c (i3coff_object_p): Delete.
- (i386coff_vec): Replace reference to i3coff_object_p with a
- reference to coff_object_p.
-
- * coff-mcore.c (pe_object_p): Delete.
-
- * peicode.h (pe_bfd_object_p): New function: Detect the
- presence of a PE format COFF object file. Also detect and
- warn about the presence of LINK6 format Image Library Format
- object files.
-
-
- * coff-arm.c (NUM_ELEM): New macro.
- (NUM_RELOCS): New macro: The number of known ARM relocs.
- (RTYPE2HOWTO): Return NULL if the reloc type is out of range.
- (coff_arm_rtype_to_howto): Return NULL if the reloc type is out
- of range.
- (bfd_arm_process_before_allocation): Produce a warning message if
- an out of range symbol index is encountered.
-
-
- * elflink.h (is_global_symbol_definition): New Function: Return
- true iff the symbol is being given a global definition in this
- bfd.
- (elf_link_is_defined_archive_symbol): Do not bother processing
- symbols for an archive element that has already been included
- in the link.
- Use is_global_symbol_definition().
-
-
- * config.bfd: Add support for sparc-*-netbsdelf* and
- sparc-*-netbsdaout*.
-
-
- * elflink.h (elf_link_is_defined_archive_symbol): Check to see
- if the symbol is in the common section.
-
-
- * elflink.h (elf_link_is_defined_archive_symbol): New
- function: Decide if a symbol, in an archive map is there
- because it is defined in the archive element, or because it is
- just another common declaration of it.
- (elf_link_add_archive_symbols): Use
- elf_link_is_defined_archive_symbol to decide if an archive
- element contain a reference to a common symbol should be
- linked in or not.
-
-
- * elflink.h: Revert previous patch.
- * targets.c: Revert previous patch.
- * libbfd-in2.h: Revert previous patch.
- * libbfd.h: Revert previous patch.
- * elfxx-target.h: Revert previous patch.
- * archive.c: Revert previous patch.
- * aout-target.h: Revert previous patch.
- * aout-tic30.h: Revert previous patch.
- * bfd.c: Revert previous patch.
- * coff-alpha.c: Revert previous patch.
- * coff-rs6000.c: Revert previous patch.
- * elf64-mips.c: Revert previous patch.
- * ieee.c: Revert previous patch.
- * libecoff.h: Revert previous patch.
- * oasys.c: Revert previous patch.
- * som.c: Revert previous patch.
- * vms.c: Revert previous patch.
-
-
- * elflink.h (elf_link_add_archive_symbols): Add an archive
- element even if contains a symbol which is currently only
- considered to be a common.
-
- * targets.c (struct bfd_target): Add new field
- _bfd_allow_commons_in_armap.
- * bfd-in2.h:Regenerate.
-
- * libbfd-in2.h (_bfd_noarchive_allow_commons_in_armap):
- Define.
- (_bfd_archive_bsd_allow_commons_in_armap): Define.
- * libbfd.h: Regenerate.
-
- * elfxx-target.h: If using COFF archive map, override
- definition of allow_commons_in_armap and replace with
- bfd_false.
-
- * archive.c (bfd_compute_and_write_armap): Do not place common
- symbols into the archive map unless _bfd_allow_commons_in_armap
- returns true.
-
- * aout-target.h (MY_allow_commons_in_armap): Define.
- * aout-tic30.h (MY_allow_commons_in_armap): Define.
- * bfd.c (bfd_allow_commons_in_armap): Define.
- * coff-alpha.h (alpha_ecoff_allow_commons_in_armap): Define.
- * coff-rs6000.h (xcoff_allow_commons_in_armap): Define.
- * elf64-mips.c (bfd_elf64_allow_commons_in_armap): Define.
- * ieee.c (ieee_ecoff_allow_commons_in_armap): Define.
- * libecoff.h (_bfd_ecoff_allow_commons_in_armap): Define.
- * oasys.c (oasys_allow_commons_in_armap): Define.
- * som.c (som_allow_commons_in_armap): Define.
- * vms.c (vms_allow_commons_in_armap): Define.
-
-
- Add support for SSE registers in ELF core files.
- * elf.c (elfcore_make_note_pseudosection): New function.
- (elfcore_grok_prfpreg): Use it.
- (elfcore_grok_prxfpreg): New function.
- (elfcore_grok_note): Recognize Linux NT_PRXFPREG notes.
-
-
- * elf32-mips.c (mips_elf_calculate_relocation): Divide R_MIPS_PC16
- value by 4 before storing it back in the field. From
-
-
- * archures.c (bfd_mach_am33): Define.
- * bfd-in2.h: Rebuilt.
- * cpu-m10300.c (bfd_am33_arch): Add to the mn103 architecture list
- * elf-m10300.c (mn10300_elf_relax_section): Handle am33 instructions.
- (compute_function_info): Handle additional registers saved by
- movm on the am33.
- (elf_mn10300_mach): Handle E_MN10300_MACH_AM33.
- (_bfd_mn10300_elf_final_write_processing): Handle bfd_mach_am33.
-
-
- * elf.c (bfd_get_elf_phdrs, bfd_get_elf_phdr_upper_bound): New
- functions.
- * bfd-in2.h (bfd_get_elf_phdrs, bfd_get_elf_phdr_upper_bound): New
- declarations.
-
-
- * reloc.c (BFD_RELOC_ALPHA_USER_LITERAL): New relocation for
- internal use within gas for alpha explicit relocations.
- (BFD_RELOC_ALPHA_USER_LITUSE_BASE): Ditto.
- (BFD_RELOC_ALPHA_USER_LITUSE_BYTOFF): Ditto.
- (BFD_RELOC_ALPHA_USER_LITUSE_JSR): Ditto.
- (BFD_RELOC_ALPHA_USER_GPDISP): Ditto.
- (BFD_RELOC_ALPHA_USER_GPRELHIGH): Ditto.
- (BFD_RELOC_ALPHA_USER_GPRELLOW): Ditto.
-
- * elf64-alpha.c (elf64_alpha_reloc_map): Add mappings for
- BFD_RELOC_ALPHA_USER_*.
-
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
-
-
- * elf.c (elfcore_read_notes): Add prototype for static function.
- (_bfd_elf_make_section_from_phdr): Renamed from bfd_section_from_phdr.
- (bfd_section_from_phdr): Replacement function that calls
- _bfd_elf_make_section_from_phdr for generic segment types and
- backend fucntion pointed to by elf_backend_section_from_phdr for
- backend specific segment types.
- (_bfd_elfcore_section_from_phdr): Remove call to elfcore_read_notes,
- now called by _bfd_elf_make_section_from_phdr. Note that this func
- is now just a stub between the caller and bfd_section_from_phdr.
-
- * elf-bfd.h (struct elf_backend_data): Add new function pointer
- elf_backend_section_from_phdr.
- (elf_backend_section_from_phdr): Add prototype.
-
- * elfxx-target.h (elf_backend_section_from_phdr): Define default.
- (elfNN_bed): Add elf_backend_section_from_phdr.
-
-
- * coff-arm.c (bfd_arm_get_bfd_for_interworking): Add
- SEC_CODE and SEC_READONLY flags to glue sections.
-
- * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Add
- SEC_CODE and SEC_READONLY flags to glue sections.
-
-
- * coff-mcore.c (coff_mcore_relocate_section): Fix typo in previous
- delta.
-
-
- * elf32-m68k.c (elf_cpu32_plt0_entry): Fix encoding.
- (elf_cpu32_plt_entry): Likewise.
-
-
- * coff-mcore.c (coff_mcore_rtype_to_howto): Special case handling
- for RVA relocs.
- (coff_mcore_relocate_section): Initialise addend to 0.
- Special case processing of RVA reloc.
-
-
- * elf-bfd.h (struct elf_backend_data): Reorder collect and
- type_change_ok; add sign_extend_vma.
- * elf32-mips.c (elf_backend_sign_extend_vma): Define.
- * elfcode.h (elf_swap_symbol_in): Mind be->sign_extend_vma.
- (elf_swap_shdr_in, elf_swap_phdr_in): Likewise.
- * elfxx-target.h (elf_backend_sign_extend_vma): Default.
- (elfNN_bed): Follow struture changes.
-
-
- * libbfd.c (bfd_read): Check result of read against desired result
- using !=, not <.
- (_bfd_generic_get_section_contents): Set bfd_error if the seek is
- invalid compared to the section size.
-
- * ieee.c (ieee_slurp_debug): Get the length of the debug
- information right if there is no data part.
-
-
- * som.c (som_fixup_formats): Improve handling of R_AUX_UNWIND,
- R_LINETAB, R_LINETAB_ESC, and R_COMMENT.
-
-
- * elflink.h (elf_bfd_final_link): Make last_local signed.
-
-
- * stabs.c (_bfd_link_section_stabs): Make sure .stabstr section
- starts with a zero.
-
-
- * archures.c: Add definitions bfd_mach_d10v, bfd_mach_d10v_ts2 and
- bfd_mach_d10v_ts3.
- * cpu-d10v.c (d10v_ts3_info, d10v_ts2_info): Add.
- * bfd-in2.h: Regenerate.
-
-
- * dwarf1.c (parse_die): Fail to parse a die if its length is zero.
-
-
- * libhppa.h (bfd_hppa_insn2fmt): Change to return an int.
-
-
- * elflink.h (elf_merge_symbol): When overriding a weak symbol with
- a defined symbol in a shared library, clear the DEF_DYNAMIC flag
- too.
-
-
- * elf32-mips.c (mips_elf_calculate_relocation): R_MIPS_LITERAL
- relocs also need the GP value.
- (_bfd_mips_elf_relocate_section): Handle unpaired LO16 relocs
- properly. Handle sign-extension for R_MIPS_64 correctly. Correct
- the GP value for R_MIPS_LITERAL relocs too. Handle
- R_MIPS_64 relocs properly on big-endian MIPS.
- (mips_elf_sign_extend): Behave properly with 'long long'.
- (mips_elf_highest): Correct typo.
-
-
- * cpu-m32r.c (arch_info_struct): New static global.
- (bfd_m32r_arch): Refer to it.
- * elf32-m32r.c (m32r_elf_object_p): Recognize E_M32RX_ARCH.
- (m32r_elf_print_private_bfd_data): Ditto.
- (m32r_elf_final_write_processing): Handle bfd_mach_m32rx.
- * archures.c (bfd_mach_m32rx): Define it.
- * bfd-in2.h: Rebuild.
-
-
- * targets.c (cisco_core_vec): Replaced with two new vecs ...
- (cisco_core_big_vec): Add new bigendian vec.
- (cisco_core_little_vec): Add new little endian vec.
-
- * cisco-core.c (CRASH_INFO): Fixed offset replaced with ...
- (crash_info_locs): Add array of possible offsets.
- (MASK_ADDR): Mask to apply to crash info offset.
- (crashinfo_external): Add textbase, database, bssbase and
- turn into a typedef.
- (cisco_core_file_validate): Renamed from cisco_core_file_p.
- Many small changes to account for additional hardware versions.
- Pick a reasonable size for ".reg" section. Add a ".crash"
- section to allow access to crashinfo_external struct.
- (cisco_core_file_p): New version of this function that
- iterates over crash_info_locs, calling cisco_core_file_validate.
- (cisco_core_vec): Old big endian only vec replaced with ...
- (cisco_core_big_vec): Add big endian version.
- (cisco_core_little_vec): Add little endian version.
-
- * configure.in (cisco_core_vec): Split to two new vectors ...
- (cisco_core_big_vec): New target vector.
- (cisco_core_little_vec): New target vector.
- * configure: Regenerate.
- * config.bfd (targ): For m68*-*-aout* targ, change cisco_core_vec
- to cisco_core_big_vec in targ_selvecs.
-
-
- * elf32-mips.c (mips_elf_relocate_hi16): Unused, delete.
- (mips_elf_relocate_got_local): Unused, delete.
- (mips_elf_relocate_global_got): Unused, delete.
-
-
- * elf.c (bfd_section_from_phdr): Add typename variable. Use p_type
- to initialize it to something meaningful. Then use it to generate
- more useful segment names.
-
-
- * som.c (NO_PCREL_MODES): Define if the system does not define
- R_SHORT_PCREL_MODE.
- (hppa_som_gen_reloc_type): Handle both short and long pcrel branches.
- (som_write_fixups): Eliminate redundant pcrel mode relocs. Handle
- R_LONG_PCREL_MODE and R_SHORT_PCREL_MODE
- * libhppa.h (dis_assemble_22): New function.
- (bfd_hppa_insn2fmt): Handle long branch.
-
- * libhppa.h (bfd_hppa_insn2fmt): Decode and handle formats found
- in PA2.0.
-
-
- * coff-i386.c (coff_i386_reloc_type_lookup): Support BFD_RELOC_16,
- BFD_RELOC_16_PCREL, BFD_RELOC_8, BFD_RELOC_8_PCREL relocs.
- (reloc_howto_type howto_table): Tidy comments and whitespace.
-
-
- * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Undo
- previous delta. Set sec->gc_mark instead.
-
-
- * elf32-m68k.c (elf_cpu32_plt0_entry): Use a1 instead of a0.
- (elf_cpu32_plt_entry): Likewise.
-
-
- * elf-hppa.h (elf_hppa_final_write_processing): Turn on TRAPNIL.
-
- * elf-hppa.h (elf_hppa_final_link): If unable to find __gp in the
- symbol table, then just compute a suitable value (but do not
- create a __gp symbol).
-
- * elf-hppa.h (elf_hppa_relocate_section): Allow undefined
- symbols when building shared libraries.
- (elf_hppa_final_link_relocate): Correct handling of PCREL
- relocations against undefined symbols.
-
-
- * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Mark
- interworking sections as linker created so that they will not
- be removed by garbage collection.
-
-
- * elf-hppa.h (elf_hppa_final_link): Revamp __gp handling.
- (elf_hppa_final_link_relocate): Consistently create an absolute
- address, then subtract out the value of __gp.
-
-
- * configure.in (Canonicalization of target names): Remove adding
- ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14
- generates $ac_config_sub with a ${CONFIG_SHELL} already.
- * configure: Regenerate.
-
-
- * elf32-m32r.c (ELF_MAXPAGESIZE): Change to 0x1 (at request of
- Mitsubishi).
-
-
- * elf-hppa.h (elf_hppa_record_segment_addrs): New function.
- (elf_hppa_final_link): Initialize text_segment_base and
- data_segment_base.
- (elf_hppa_final_link_relocate): Handle SEGREL relocations.
-
- * elf-hppa.h (elf_hppa_final_link): Remove unused variables.
- (elf_hppa_final_link_relocate): Likewise.
- (elf_hppa_relocate_insn): Likewise.
- (elf_hppa_relocate_section): Initialize HOWTO.
-
-
- * coffcode.h (styp_to_sec_flags): Further refinement of COMDAT
- handling to support both GNU and MS objects.
-
- * coffcode.h (coff_write_object_contents): Don't check reloc_count
- when determining whether to set F_RELFLG.
-
-
- * elf32-arm.h (elf32_arm_final_link_relocate): Don't range-check
- PC24 relocs if the target is an undefined weak symbol.
- (arm_add_to_rel): Fix compiler warning.
- (elf32_arm_plt0_entry): Correct comments.
-
-
- * elfcode.h (write_relocs): Check for the_bfd NULL when handling
- an absolute symbol in REL relocs.
-
-
- * elf-hppa.h (elf_hppa_final_link_relocate): Handle SECREL32.
- Stub SEGREL32. Return an error for any relocation not handled.
-
-
- * cofflink.c (coff_link_add_symbols): Look for special MSVC string
- constant symbols, and avoid multiple definition errors on them.
-
-
- * libbfd.c (bfd_log2): Rewrite to avoid infinite loop if most
- significant bit is set.
-
-
- * coff-ppc.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
-
- * elfcode.h (write_relocs): Handle an absolute symbol in REL
- relocs as we do for RELA relocs.
-
-
- * libpei.h (_bfd_pei_final_link_postscript): Declare.
- (coff_final_link_postscript): Define.
- * peigen.c (_bfd_pei_swap_aouthdr_out): Don't set value for data
- directory entries here.
- (_bfd_pei_final_link_postscript): New function.
-
- * peigen.c (_bfd_pei_swap_scnhdr_out): Remove code which sets
- section flags based on the section name.
-
- * peicode.h (coff_swap_scnhdr_in): If COFF_IMAGE_WITH_PE, the
- get the overflow of the s_nlnno field from the s_nreloc field.
- * peigen.c (_bfd_pei_swap_scnhdr_out): If doing a final link, swap
- the s_nlnno overflow of the .text section into the s_nreloc
- field.
-
- * peigen.c (add_data_entry): Declare.
- (pei_swap_aouthdr_out): Get image size right. Set linker version
- more intuitively.
- (pei_swap_scnhdr_out): Test for UNINIT section, not .bss.
- (pe_print_idata): Code cleanup, print more info, get rid of (now)
- extraneous ImageBase.
- (pe_print_edata): Likewise.
- (pe_print_pdata): Likewise. Print exception entries.
- (pe_print_reloc): Likewise. Print MIPS_JMPADDR.
- (tbl): Make const, add "UNKNOWN".
- (_bfd_pe_print_private_bfd_data_common): Print timestamp.
- (_bfd_pe_bfd_copy_private_bfd_data_common): Don't copy deleted
- section data directory.
- (_bfd_pe_bfd_copy_private_section_data): Copy pe_flags.
-
- * libpei.h (_bfd_pe_bfd_get_symbol_info): Declare.
- * peigen.c (_bfd_pe_bfd_get_symbol_info): New function.
- * peicode.h (coff_get_symbol_info): Define.
-
- * config.bfd (i[3456]86-*-interix*): Set targ_cflags to
- -DSTRICT_PE_FORMAT.
- * coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather
- than __INTERIX.
- (coff_classify_symbol): Re-revert 1999-08-08 patch if
- STRICT_PE_FORMAT.
-
- * libpei.h: New file, broken out of peicode.h.
- * peigen.c: New file, broken out of peicode.h.
- * peicode.h: A bunch of code moved out to libpei.h and peigen.c.
- * configure.in: Add peigen.lo to list of files required for each
- PE target.
- * Makefile.am: Rebuild dependencies.
- (BFD32_BACKENDS): Add peigen.lo.
- (BFD32_BACKENDS_CFILES): Add peigen.c.
- (SOURCE_HFILES): Add libpei.h.
- * configure, Makefile.in: Rebuild.
-
- * peicode.h (coff_swap_scnhdr_in): Don't check for a special
- section name of _BSS; check IMAGE_SCN_CNT_UNINITIALIZED_DATA
- instead. Don't clear the s_paddr field for an uninitialized data
- section.
-
- * coffcode.h (coff_mkobject_hook): Set timestamp field in
- coff_data_type to f_timdat.
- * peicode.h (pe_mkobject_hook): Likewise.
-
- * peicode.h (coff_swap_filehdr_in): Check the NT executable magic
- number if COFF_IMAGE_WITH_PE.
-
- * coffcode.h (coff_mkobject_hook): If COFF_WITH_PE, set HAS_DEBUG
- to the reverse of IMAGE_FILE_DEBUG_STRIPPED.
- (coff_write_object_contents): Set IMAGE_FILE_DEBUG_STRIPPED if
- there is no SEC_DEBUGGING section.
- * peicode.h (pe_mkobject_hook): Set HAS_DEBUG to the reverse of
- IMAGE_FILE_DEBUG_STRIPPED.
-
- * pe-i386.c (COFF_LONG_FILENAMES): Define.
- (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
- * pei-i386.c (COFF_LONG_FILENAMES): Define.
- (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
-
- * coffswap.h (IMAGE_BASE): Don't define.
- * pei-arm.c (IMAGE_BASE): Don't define.
- * pei-i386.c (IMAGE_BASE): Don't define.
- * pei-mcore.c (IMAGE_BASE): Don't define.
- * pei-ppc.c (IMAGE_BASE): Don't define.
-
- * cofflink.c (_bfd_coff_link_input_bfd): When writing out a
- symbol, switch on the class when determining whether to modify the
- value. For PE, don't modify the value of a C_FCN symbol not named
- .bf.
-
- * libbfd-in.h (_bfd_abort): Declare.
- (abort): Define.
- * bfd.c (_bfd_abort): New function.
- * libbfd.h: Rebuild.
-
- * coffcode.h (coff_set_alignment_hook): Delete POWERPC_LE_PE
- special handling.
-
- * cofflink.c (_bfd_coff_link_input_bfd): If a symbol is stripped,
- don't write out the associated line numbers.
-
- * cofflink.c (_bfd_coff_write_global_sym): Handle section symbol
- aux entries.
-
- * cofflink.c (coff_link_add_symbols): Don't warn about symbol type
- changes when the base type is unknown.
-
- * coffgen.c (coff_print_symbol): Fix printing of aux record for
- function symbols.
-
- * syms.c (BSF_DEBUGGING_RELOC): Define.
- * coffcode.h (coff_slurp_symbol_table): If PE, set BSF_DEBUGGING
- for C_FCN/C_EFCN symbols, and set BSF_DEBUGGING_RELOC for such
- symbols named .bf.
- * coffgen.c (fixup_symbol_value): Relocate a symbol which has
- BSF_DEBUGGING_RELOC set.
- * bfd-in2.h: Rebuild.
-
-
- * ecoff.c (bfd_debug_section): Update initialization for new
- comdat_info field.
- (_bfd_ecoff_styp_to_sec_flags): Add section parameter.
- * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Update declaration.
-
-
- * coff-alpha.c (alpha_ecoff_backend_data): Initialize the new
- _bfd_filnmlen field.
- * coff-mips.c (mips_ecoff_backend_data): Likewise.
-
-
- * elf-hppa.h (elf_hppa_final_link_relocate): Create .opd entries
- for FPTR relocs involving local symbols.
-
- * elf-hppa.h (elf_hppa_final_link_relocate): Get the right
- value for the stub address in a call through a stub.
- Install the value for a local symbol directly into the DLT
- instead of generating a reloc. Correctly handle FPTR64 relocs.
-
- * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): New function.
- (elf_hppa_remark_useless_dynamic_symbols): Similarly.
- (elf_hppa_final_link): Call them.
-
-
- * elflink.h (elf_fix_symbol_flags): Move weakdef handling here...
- (elf_adjust_dynamic_symbol): ...from here.
-
-
- * elf-hppa.h (elf_hppa_howto_table); There is no DIR64WR, DIR64DR
- relocation, remove them. SECREL64->LTOFF16WF.
- (elf_hppa_final_link_relocate): Handle LTOFF* relocations. Handle
- DIR* relocations.
- (elf_hppa_relocate_insn): Similarly.
-
- * elf-hppa.h (elf_hppa_final_link_relocate): Handle PLTOFF* relocs.
- (elf_hppa_relocate_insn): Similarly.
-
- * elf-hppa.h (elf_hppa_final_link_relocate): Handle DPREL* and
- GPREL* relocations.
- (elf_hppa_relocate_insn): Similarly.
-
- * elf-hppa.h (elf_hppa_link_final_relocate): Fix typos.
- Handle LTOFF_TP* relocs.
- (elf_hppa_relocate_insn): Similarly.
-
- * elf-hppa.h (elf_hppa_final_link_relocate): Handle PCREL* relocs.
- Consistently deal with addends. Handle DLTIND14F and DLTREL14F.
- (elf_hppa_relocate_insn): Handle PCREL* relocs.
-
- * elf-hppa.h (elf_hppa_final_link_relocate): Handle LT_OFF_FPTR*,
- DIR32, DIR64 and FPTR64 relocations.
- (elf_hppa_relocate_insn): Similarly.
-
- * elf-hppa.h (elf_hppa_final_link): Set the value of __gp to the
- address of the .PARISC.global section.
- (elf_hppa_relocate_section): Lookup and pass the PA64 hash
- table entry elf_hppa_final_link_relocate. Do not give a warning
- for a reloc against an external symbol if it has a PA64 hash
- table entry.
- (elf_hppa_final_link_relocate): Significantly rework. Handle
- DLTIND relocations. Compute the final value of the relocation
- before passing the value of elf_hppa_relocate_insn.
- (elf_hppa_relocate_insn): Revamp to handle just bit tiwiddling
- relocation support. Handle DLTIND relocation requests just like
- DLTREL relocation requests. Simplify branch handling.
-
-
- * elf-hppa.h (elf_hppa_relocate_section): Catch problems with
- non-allocated section as done in i386 version.
- (elf_hppa_final_link_relocate): Uncomment R_PARISC_14F in switch
- statement since this is no know relocation.
-
-
- * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14F
- relocs.
- (elf_hppa_relocate_insn): Similarly.
-
- * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14WR and
- DLTREL14WD relocs.
- (elf_hppa_relocate_insn): Similarly.
-
- * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14R and
- DLTREL21L relocs. Pass the output bfd to elf_hppa_relocate_insn.
- Pass the relocate type rather than the insn format to
- elf_hppa_relocate_insn.
- (elf_hppa_relocate_insn): Make switch dependent on relocation type
- rather than the opcode. Handle DLTREL21L and DLTREL14R relocs.
-
-
- * coffcode.h (bfd_coff_backend_data): Add _bfd_filnmlen field.
- (bfd_coff_filnmlen): Define.
- (bfd_coff_std_swap_table): Initialize new field.
- * coffgen.c (coff_fix_symbol_name): Use bfd_coff_filnmlen rather
- than FILNMLEN.
- (coff_write_symbols): Likewise.
- (coff_get_normalized_symtab): Likewise.
- * coff-sh.c (bfd_coff_small_swap_table): Initialize new field.
- * libcoff.h: Rebuild.
-
-
- * coffcode.h (sort_by_secaddr): New static function if
- COFF_IMAGE_WITH_PE.
- (coff_compute_section_file_positions): If COFF_IMAGE_WITH_PE, sort
- sections by VMA when assigning target_index values. Always set
- virt_size.
-
- * libcoff-in.h (struct pei_section_tdata): Add pe_flags field.
- * coffcode.h (coff_set_alignment_hook) [COFF_WITH_PE version]: Set
- pe_flags field.
- * libcoff.h: Rebuild.
-
- * coffcode.h (coff_set_custom_section_alignment): Add const to
- declaration to match definition.
- (coff_write_object_contents): Don't set F_AR32W(R)? if
- COFF_WITH_PE.
-
- * coff-i386.c (in_reloc_p): Add declaration.
- (i386coff_vec): Simplify initialization of
- application_section_flags.
-
- * coffcode.h (sec_to_styp_flags): Write separate COFF_WITH_PE
- version. Move COFF_WITH_PE specific code to new version.
- (stype_to_sec_flags): Likewise. Add section parameter.
- * coffgen.c (make_a_section_from_file): Set target_index before
- calling styp_to_sec_flags. Pass section to styp_to_sec_flags.
- * libcoff.h: Rebuild.
-
- * syms.c (stt): Add some PE/PEI section names.
- (bfd_decode_symclass): Return 'w', not 'U', for a weak undefined
- symbol.
- (bfd_symbol_info): Check for 'w'.
-
- * section.c (struct bfd_comdat_info): Define.
- (asection): Add comdat field.
- (STD_SECTION): Initialize comdat field.
- (bfd_make_section_anyway): Likewise.
- * bfd-in2.h: Rebuild.
-
-
- * elflink.h (elf_link_add_object_symbols): Copy NON_GOT_REF flag
- to version symbols.
-
-
- * elflink.h (elf_gc_record_vtentry): Use bfd_zmalloc and
- bfd_realloc instead of calloc and realloc.
-
-
- * cpu-pj.c: New file.
- * elf32-pj.c: New file.
- * config.bfd (pj*): New cpu.
- (pj-*-*, pjl-*-*): New targets.
- * configure.in (bfd_elf32_pj_vec): New target vector.
- (bfd_elf32_pjl_vec): New target vector.
- * archures.c (bfd_arch_pj): Define.
- * elf.c (prep_headers): Handle bfd_arch_pj.
- * reloc.c: Define BFD_RELOC_PJ_* relocations.
- * targets.c (bfd_elf32_pj_vec, bfd_elf32_pjl_vec): Declare and add
- to target vector list.
- * Makefile.am: Rebuild dependencies.
- (ALL_MACHINES): Add cpu-pj.lo.
- (ALL_MACHINES_CFILES): Add cpu-pj.c.
- (BFD32_BACKENDS): Add elf32-pj.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-pj.c.
- * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
-
-
- * elf-bfd.h (ELF_LINK_NON_GOT_REF): Define.
- * elflink.h (elf_adjust_dynamic_symbol): Copy REF_REGULAR_NONWEAK
- and NON_GOT_REF from weak defined symbol to real symbol.
- * elf32-i386.c (elf_i386_check_relocs): Set NON_GOT_REF.
- (elf_i386_adjust_dynamic_symbol): If NON_GOT_REF is not set, don't
- create a COPY reloc.
- * elf32-sparc.c (elf32_sparc_check_relocs): Set NON_GOT_REF.
- (elf32_sparc_adjust_dynamic_symbol): If NON_GOT_REF is not set,
- don't create a COPY reloc.
-
-
- * elflink.h (elf_bfd_final_link): When counting relocations, don't
- count those in sections we are not including in the link.
-
-
- * elflink.h (elf_link_add_object_symbols): Work around bogus SH_LINK
- field in hpux11 shared libraries.
-
-
- * elflink.h (elf_gc_record_vtentry): Fix memory leak.
-
-
- * elf-hppa.h (elf_hppa_add_symbol_hook): New function.
- (elf_hppa_final_link, elf_hppa_relocate_section): Likewise.
- (elf_hppa_final_link_relocate, elf_hppa_relocate_insn): Likewise.
-
-
- * elflink.h (record_link_assignment): When possible, keep the
- original type of the symbol.
-
-
- * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Allow both
- R_PARISC_DIR32 and R_PARISC_DIR64 regardless of how the
- tools were configured.
- * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type): Declare.
-
-
- * elf32-mips.c (_bfd_mips_elf_check_relocs): Don't allocate local
- GOT entries for GOT16 relocations; they're not required.
-
-
-
- * config.bfd (arm-*-netbsd*): New target.
- * configure.in (armnetbsd_vec): New target vector.
- * configure: Regenerate
- * targets.c (bfd_target_vector): Add &armnetbsd_vec.
-
- * Makefile.am (BFD32_BACKENDS): Add armnetbsd.lo.
- (ALL_MACHINES_CFILES): Add armnetbsd.c.
- (armnetbsd.lo): New rule with deps.
- * Makefile.in: Regenerate.
-
- * armnetbsd.c: New file: Definitions specific to arm-netbsd
- target.
-
-
- * som.c (som_slurp_symbol_table): Fix typo in comment.
-
-
- * elf-hppa.h (elf_hppa_fake_sections): Compute section indices
- here instead of using elf_section_data...
-
-
- * coff-mcore.c (mcore_emit_base_file_entry): New function: Emit
- relocations into the base file.
- (coff_mcore_relocate_section): Call mcore_emit_base_file_entry if
- we are building a base file.
-
-
- * elf32-arm.h (arm_add_to_rel): New function. Add a value to
- a REL style reloc.
- (elf32_arm_relocate_section): Use arm_add_to_rel to increment
- REL relocs when performing a partial relocation.
-
-
- * cofflink.c: Move definitions of N_TMASK, et. al., out of
- _bfd_coff_link_input_bfd into top level.
-
- * coff-i386.c (coff_i386_reloc): Handle R_IMAGEBASE.
- (RTYPE2HOWTO): Return NULL if reloc type is out of range.
- (coff_i386_rtype_to_howto): Likewise.
- * coffcode.h (coff_slurp_symbol_table): Change a -2 to N_DEBUG.
- Completely ignore symbols which are all zero.
- (dummy_reloc16_estimate): Add return 0.
- * cofflink.c (_bfd_coff_link_input_bfd): Rename inner scope
- variable copy to name_copy to avoid shadowing outer scope
- variable.
- * libcoff-in.h (coff_data_type): Change raw_syment_count field
- from unsigned int to unsigned long. Add timestamp field.
- * libcoff.h: Rebuild.
-
-
- * elf32-hppa.c (bfd_elf32_bfd_is_local_label_name): Fix typo in
- macro definition.
-
-
- * elf32-mips.c (_bfd_mips_elf_add_symbol_hook): Set BSF_DYNAMIC
- for special section symbols.
- * elflink.h (elf_merge_symbol): If we have no old BFD, check
- BSF_DYNAMIC on the section symbol to see whether the old BFD is
- dynamic.
-
-
- * elf32-mips.c (mips_elf_calculate_relocation): Fix unfortunate
- coincidence of variable names between old and new code.
-
-
- * elf32-arm.h (elf32_arm_to_thumb_stub): Make 'offset' parameter
- into a bfd_vma and 'addend' parameter a 'bfd_signed_vma'.
- (elf32_thumb_to_arm_stub): Make 'offset' parameter into a bfd_vma
- and 'addend' parameter a 'bfd_signed_vma'.
- (elf32_arm_final_link_relocate): Do not involve stubs in
- R_ARM_THM_PC22 relocs relative to section symbols, they are long
- jumps, not function calls.
-
-
- * elf32-arm.h (elf32_arm_final_link_relocate): Check for overflow
- in R_ARM_PC24 relocs.
-
-
- * elf-hppa.h (elf_hppa_fake_sections): New function.
- * elf32-hppa.c (elf_backend_fake_sections): Define.
-
- * elf-hppa.h (elf_hppa_final_write_processing): Update for
- recent changes to the arch_info structure.
-
- * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle
- R_HPPA_SEGBASE and R_HPPA_SEGREL32.
- * cpu-hppa.c (bfd_hppa20w_arch): New entry in architecture info
- list.
-
-
- * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Always
- output DT_MIPS_GOTSYM.
- (_bfd_mips_elf_finish_dynamic_sections): Use the same value as
- DT_MIPS_SYMTABNO if there are no global GOT symbols.
-
-
- * elf32-mips.c (mips_elf_create_dynamic_relocation): Change
- prototype. Handle local symbols. Add commentary.
- (mips_elf_calculate_relocation): Adjust accordingly.
- (_bfd_mips_elf_check_relocs): Handle local symbols in R_MIPS_32
- relocations.
-
- * elflink.h (elf_bfd_final_link): Tweak last change.
-
-
- * elflink.h (elf_link_size_reloc_section): Use the counts in the
- elf-section data to allocate just the right amount of relocation
- space. Don't allocate the hash space twice.
- (elf_bfd_final_link): Calculate the amount of space to allocate in
- each relocation section.
-
-
- * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case 32): When in
- 64bit mode, generate a section relative relocation for a 32bit
- wide relocation.
- (elf_hppa_is_local_label_name): New function.
- * elf32-hppa.c (elf_hppa_is_local_label_name): Deleted. To be
- shared between 32bit and 64bit port.
-
-
- * elf32-mips.c (elf_mips_howto_table): Fix src_mask for
- R_MIPS_GOT16 and R_MIPS_CALL16.
- (mips_elf_got16_entry): Use mips_elf_high to calculate the value
- to use when looking for a preexisting GOT entry.
-
-
- * elf64-sparc.c (sparc64_elf_relocate_section): Back out part of
- the Sep. 4th, 1998 change. glibc 2.0.x dynamic linker had bug,
- not binutils.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
-
-
- * elflink.h (elf_link_output_extsym): Don't output a weak
- reference to an undefined symbol just because it was defined weak
- in a shared object.
-
-
- * coffgen.c (coff_find_nearest_line): When looking for file, use
- last best match rather than first. If address is beyond last line
- number record, don't return the last line as the correct value.
-
-
- * section.c (SEC_SMALL_DATA): Rename from SEC_SHORT.
- * bfd-in2.h: Rebuild.
-
-
- * libcoff-in.h (struct coff_section_alignment_entry): Define.
- * coffcode.h (coff_set_custom_section_alignment): New static
- function.
- (coff_section_alignment_table): New static array.
- (coff_new_section_hook): Use coff_set_customer_section_alignment.
- * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
- * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
- * libcoff.h: Rebuild.
-
-
- * Makefile.am: Rename .dep* files to DEP*. Change DEP variable to
- MKDEP.
- * Makefile.in: Rebuild.
-
-
- * section.c (SEC_SHARED): Define.
- * coffcode.h (sec_to_styp_flags): Handle SEC_SHARED.
- (styp_to_sec_flags): Likewise.
- * peicode.h (coff_swap_scnhdr_out): Likewise.
- * bfd-in2.h: Rebuild.
-
-
- * coffcode.h (coff_classify_symbol): Comment out part of
- 1999-08-05 change which breaks cygwin DLLs.
-
- * acinclude.m4 (BFD_BINARY_FOPEN): Change -windows to -windows*.
- * aclocal.m4, configure: Rebuild.
-
-
- * section.c (global_syms): Only initialize union field if
- __STDC__.
-
-
- * elf32-mips.c (mips_elf_got16_entry): Don't multiply GOT index by
- the size of a GOT entry here.
- (mips_elf_calculate_relocation): Don't create a local GOT entry
- for the symbol in a GOT16 relocation; just for it's high-order bit
- (_bfd_mips_elf_relocate_section): Fix thinko.
-
-
- * coffcode.h (enum coff_symbol_classification): Define.
- (bfd_coff_backend_data): Rename _bfd_coff_sym_is_global to
- _bfd_coff_classify_symbol. Change return type.
- (bfd_coff_classify_symbol): Rename from bfd_coff_sym_is_global.
- (coff_slurp_symbol_table): Use coff_classify_symbol.
- (coff_classify_symbol): New static function.
- (coff_sym_is_global): Never define.
- (bfd_coff_std_swap_table): Initialize with coff_classify_symbol.
- * cofflink.c (coff_link_check_ar_symbols): Use
- bfd_coff_classify_symbol rather than bfd_coff_sym_is_global.
- (coff_link_add_symbols): Likewise.
- (_bfd_coff_link_input_bfd): Likewise.
- * coff-sh.c (bfd_coff_small_swap_table): Initialize with
- coff_classify_symbol.
- * libcoff.h: Rebuild.
-
-
- * libhppa.h (R_HPPA_LTPSEL, R_HPPA_RTPSEL): New field selectors
- (e_ltpsel, e_rtpsel): Similarly.
-
- * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle 21bit e_ltpsel
- and 14bit ertpsel. Handle 64bit psel.
-
-
- * elf32-mips.c (_bfd_mips_elf_relocate_section): Tweak HI16/LO16
- handling for REL relocations. And only left-shift R_MIPS26
- relocation addends where necessary.
-
-
- * elf32-mips.c (mips_elf_next_lo16_addend): Rename to ...
- (mips_elf_next_lo16_relocation): Don't compute the addend here.
- Just return the relocation found.
- (mips_elf_relocate_section): Pull the LO16 addend out of the
- section itself when using REL relocations.
-
- * elf32-mips.c (mips_elf_calculate_relocation): Restore
- _DYNAMIC_LINK handling and handling of undefined symbols in shared
- libraries.
-
-
- * elf32-ppc.c (ppc_elf_relocate_section): Don't use the relocation
- value of a symbol in a SEC_DEBUGGING section. Warn when doing a
- relocation against a symbol in an input section with no output
-
- * coff-stgo32.c (go32_stubbed_coff_object_p): Remove; not used.
-
- * acinclude.m4 (BFD_CC_FOR_BUILD): Change to use conftest, and to
- look for generated file correctly.
- * aclocal.m4, configure: Rebuild.
-
-
- * elf32-mips.c (_bfd_mips_elf_relocate_section): Handle R_MIPS_26
- and R_MIPS16_26 relocations correctly when relocating.
- (_bfd_mips_elf_check_relocs): Don't assume that R_MIPS_CALL_HI16
- and R_MIPS_CALL_LO16 are for global symbols.
-
-
- * elflink.h (elf_bfd_final_link): Copy the whole isym, not just
- some fields.
- * elf64-sparc.c (sparc64_elf_output_arch_syms): Declare used
- variables and initialize them.
-
-
- * elf32-mips.c (_bfd_mips_elf_final_link): Handle the case where
- there are no global symbols requiring GOT entries.
- (_bfd_mips_elf_size_dynamic_sections): Likewise.
- (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
- (_bfd_mips_elf_finish_dynamic_sections): Likewise.
-
- * elf32-mips.c (mips_elf_calculate_relocation): Undefined weak
- symbols are considered to have the value zero.
- (_bfd_mips_elf_relocate_section): Don't try to perform a
- relocation for an undefined symbol.
- (_bfd_mips_elf_check_relocs): Allocate locate GOT space for local
- GOT16 relocations.
-
-
- * elf64-sparc.c (sparc64_elf_build_plt): Cosmetic change - ABI
- wants ba,a,pt %xcc instead of %icc.
- Emit correct .PLT0-(.PLTN+4) initial value into the pointer slots
- of large PLT entries.
- (sparc64_elf_plt_ptr_offset): Fix calculation.
- (sparc64_elf_finish_dynamic_symbol): Negative value of R_SPARC_JMP_SLOT
- addend should be relative to load address, not .plt section start.
- (sparc64_elf_size_info): Sparc64 uses 32bit .hash entries.
-
-
- * elf-bfd.h (struct elf_backend_data): Add
- print_symbol_all and output_arch_syms backend methods.
- * elfxx-target.h: Likewise.
- * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create,
- sparc64_elf_add_symbol_hook, sparc64_elf_output_arch_syms,
- sparc64_elf_get_symbol_type, sparc64_elf_symbol_processing): New
- functions.
- (sparc64_elf_size_dynamic_sections): Leave space for STT_REGISTER
- symbols in .dynsym, add their names into .dynstr. Put those symbols
- into dynlocal.
- (sparc64_elf_finish_dynamic_sections): Fix up DT_SPARC_REGISTER
- pointers to STT_REGISTER symbols in dynsym section.
- (sparc64_elf_print_symbol_all): New function.
- * elf.c (bfd_elf_print_symbol): Allow special backend symbol
- printing using the print_symbol_all hook.
-
-
- * elf32-arm.h (elf32_arm_check_relocs): Use r_offset for
- R_ARM_GNU_VTENTRY.
-
-
- * elf32-mips.c (_bfd_mips_elf_final_link): Only re-sort dynsyms if
- dynamic_sections_created.
-
-
- * elf32-mips.c (mips_info_to_howto_rel): Split out switch to ...
- (mips_rtype_to_howto): ... new function.
- (_bfd_mips_elf_relocate_section): Use it.
-
-
- * elf32-mips.c (_bfd_mips_elf_relocate_section): Fix typo.
-
-
-
- * coff-arm.c (coff_arm_is_local_label_name): Change to strip
- out only symbols that start with LOCAL_LABEL_PREFIX followed by 'L'.
-
-
- * libcoff-in.h (coff_link_hash_entry): Add coff_link_hash_flags
- field, and define COFF_LINK_HASH_PE_SECTION_SYMBOL.
- * cofflink.c (coff_link_add_symbols): If PE, handle section
- symbols specially.
- * libcoff.h: Rebuild.
-
- * config.bfd (i[3456]86-*-interix*): New target.
-
-
- * coffcode.h (styp_to_sec_flags): If COFF_LONG_SECTION_NAMES and
- COFF_SUPPORT_GNU_LINKONCE, mark sections whose names begin with
- .gnu.linkonce with SEC_LINKONCE and SEC_LINK_DUPLICATES_DISCARD.
- * coff-go32.c: (COFF_LONG_SECTION_NAMES): Define.
- (COFF_SUPPORT_GNU_LINKONCE): Define.
- * coff-stgo32.c: (COFF_LONG_SECTION_NAMES): Define.
- (COFF_SUPPORT_GNU_LINKONCE): Define.
-
-
- From Mark Elbrecht:
- * makefile.dos: Remove; obsolete.
- * configure.bat: Remove; obsolete.
-
-
- * config.bfd (i[3456]86-*-vxworks*): Add targ_underscore=yes.
-
-
- * cofflink.c (_bfd_coff_generic_relocate_section): Issue an error
- message and fail if a symbol index is out of range.
-
-
- * elf32-mips.c (mips_elf_calculate_relocation): Get the GP value
- when looking at a R_MIPS_GOT16 relocation.
-
-
- * coff-m88k.c: Use CREATE_BIG_COFF_TARGET_VEC.
-
-
- * elf32-mips.c (_bfd_mips_elf_final_link): Restore setting of GP
- removed in previous change.
- (_bfd_mips_elf_relocate_section): Adjust GP relative relocations
- in relocateable output.
-
-
- * coff-m88k.c (m88kbcs_vec): Initialize new field of bfd_target
- structure.
-
- * elflink.h (elf_merge_symbol): Do merge symbols from the same BFD
- if they appear to be specially created by the linker.
-
-
- * targets.c (alternative_target): New field in bfd_target
- structure.
- (bfd_search_for_target): New function: Find a target that
- satisifies a search function.
- * bfd-in2.h: Regenerate.
-
- * elfxx-target.h: Initialise the alternative_target field of
- the bfd_target structures to point to the other target (if
- defined).
- * nlm-target.h: Initialise the alternative_target field of
- the bfd_target structures to point to the other target (if
- defined).
-
- * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): New macro.
- (CREATE_LITTLE_COFF_TARGET_VEC): New macro.
-
- * aix386-core.c: Initialise new field of bfd_target structure.
- * aout-adobe.c: Initialise new field of bfd_target structure.
- * aout-arm.c: Initialise new field of bfd_target structure.
- * aout-target.h: Initialise new field of bfd_target structure.
- * aout-tic30.c: Initialise new field of bfd_target structure.
- * binary.c: Initialise new field of bfd_target structure.
- * bout.c: Initialise new field of bfd_target structure.
- * cisco-core.c: Initialise new field of bfd_target structure.
- * coff-a29k.c: Use CREATE_BIG_COFF_TARGET_VEC.
- * coff-alpha.c: Initialise new field of bfd_target structure.
- * coff-apollo.c: Use CREATE_BIG_COFF_TARGET_VEC.
- * coff-arm.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
- * coff-h8300.c: Use CREATE_BIG_COFF_TARGET_VEC.
- * coff-h8500.c: Use CREATE_BIG_COFF_TARGET_VEC.
- * coff-i386.c: Initialise new field of bfd_target structure.
- * coff-i860.c: Initialise new field of bfd_target structure.
- * coff-i960.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
- * coff-m68k.c: Use CREATE_BIG_COFF_TARGET_VEC.
- * coff-mcore.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
- * coff-mips.c: Initialise new field of bfd_target structure.
- * coff-ppc.c: Initialise new field of bfd_target structure.
- * coff-rs6000.c: Initialise new field of bfd_target structure.
- * coff-sh.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
- * coff-sparc.c: Use CREATE_BIG_COFF_TARGET_VEC.
- * coff-tic30.c: Initialise new field of bfd_target structure.
- * coff-tic80.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
- * coff-w65.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
- * coff-we32k.c: Use CREATE_BIG_COFF_TARGET_VEC.
- * coff-z8k.c: Use CREATE_BIG_COFF_TARGET_VEC.
- * hppabsd-core.c: Initialise new field of bfd_target structure.
- * hpux-core.c: Initialise new field of bfd_target structure.
- * i386msdos.c: Initialise new field of bfd_target structure.
- * i386os9k.c: Initialise new field of bfd_target structure.
- * ieee.c: Initialise new field of bfd_target structure.
- * ihex.c: Initialise new field of bfd_target structure.
- * irix-core.c: Initialise new field of bfd_target structure.
- * mipsbsd.c: Initialise new field of bfd_target structure.
- * netbsd-core.c: Initialise new field of bfd_target structure.
- * oasys.c: Initialise new field of bfd_target structure.
- * osf-core.c: Initialise new field of bfd_target structure.
- * ppcboot.c: Initialise new field of bfd_target structure.
- * ptrace-core.c: Initialise new field of bfd_target structure.
- * sco5-core.c: Initialise new field of bfd_target structure.
- * som.c: Initialise new field of bfd_target structure.
- * srec.c: Initialise new field of bfd_target structure.
- * tekhex.c: Initialise new field of bfd_target structure.
- * trad-core.c: Initialise new field of bfd_target structure.
- * versados.c: Initialise new field of bfd_target structure.
- * vms.c: Initialise new field of bfd_target structure.
-
-
- * elflink.h (elf_bfd_final_link): Remove unused variables rel_hash
- and rel_hdr.
-
-
- * elflink.h (elf_link_adjust_relocs): New function.
- (elf_bfd_final_link): Use it.
- (elf_link_input_bfd): Deal with the fact that there can be
- two relocation sections for a single section.
- (elf_reloc_link_order): Likewise.
-
- * elf32-mips.c (_bfd_mips_elf_final_link): Don't set GP for
- a relocateable object.
- (_bfd_mips_elf_relocate_section): Handle relocateable links.
-
-
- * elf64-sparc.c (sparc64_elf_info_to_howto): Use ELF64_R_TYPE_ID.
- (sparc64_elf_get_reloc_upper_bound,
- sparc64_elf_get_dynamic_reloc_upper_bound,
- sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
- sparc64_elf_canonicalize_dynamic_reloc, sparc64_elf_write_relocs):
- New functions.
- (sparc64_elf_check_relocs, sparc64_elf_relocate_section): Use
- ELF64_R_TYPE_ID/DATA where appropriate.
-
-
- * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Remove
- DT_SPARC_PLTFMT.
-
-
- * elf32-mips.c (mips_elf_local_relocation_p): New static
- function.
- (mips_elf_next_lo16_addend): Call bfd_set_error on failure.
- (mips_elf_calculate_relocation): Use mips_elf_local_relocation_p.
- Always set *require_jalxp.
- (mips_elf_stub_section_p): Mark abfd parameter as unused.
- (_bfd_mips_elf_relocate_section): Only look for LO16 following
- GOT16 if the GOT16 is against a local symbol. Don't return false
- for an undefined symbol. If there is an overflow, assert that we
- have a name.
-
-
- * elflink.h (elf_link_record_local_dynamic_symbol): Remove unused
- variables `link' and `elfsec'.
- (elf_bfd_final_link): Remove unused variable `os'.
-
-
- * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Don't require
- a PT_PHDR program headers.
- (_bfd_mips_elf_final_link): Don't assume there are going to be
- section symbols when we're not building a shared object.
- (_bfd_mips_elf_check_relocs): Make sure we have a GOT when
- we need one.
-
-
- * config.bfd (i[3456]86-*-vxworks*): New target.
-
-
- * elf32-mips.c (mips_elf_stub_section_p): New function.
- (mips_elf_calculate_relocation): Handle MIPS16 stub functions.
- (mips_elf_relocate_section): Adjust calling sequence for
- mips_elf_calculate_relocation and mips_elf_perform_relocation.
- (mips_elf_perform_relocation): Turn `jal' into `jalx' where
- required.
-
-
- * configure.in: Bump version number to 2.9.5.
- * configure: Rebuild.
-
-
- * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case R_HPPA): Handle
- 64bit format.
- (_bfd_elf_hppa_gen_reloc_type, case R_GOTOFF): Use base reloc type
- to derive final type instead of hardwiring a selection.
-
-
- * elf32-mips.c (mips_elf_obtain_contents): Swap 16-bit halves of
- things relocated by R_MIPS16_GPREL.
- (mips_elf_perform_relocation): Likewise.
-
-
- * elfxx-target.h (elfNN_bed): Add elf_backend_want_dynbss.
-
-
- * elf32-mips.c (struct mips_got_info): Add global_gotno.
- (_bfd_mips_elf_size_dynamic_sections): Set it.
- (_bfd_mips_elf_final_link): Re-sort; verify the got did not grow.
- (mips_elf_sort_hash_table): Set max_non_got_dynindex based off
- new argument max_local.
-
-
- * elf32-mips.c (mips_elf_obtain_contents): Swap the 16-bit
- subwords when handling an R_MIPS16_26 relocation.
- (mips_elf_perform_relocation): Don't be paranoid abour right-shift
- semantics.
-
- * elf32-mips.c (elf_mips16_gprel_howto): Adjust src_mask and
- dst_mask to match reality.
- (_bfd_mips_elf_calculate_relocation): Handle R_MIPS16_GPREL.
- (mips_elf_obtain_contents): Use bfd_get.
- (mips_elf_perform_relocation): Handle R_MIPS16_GPREL.
- (mips_elf_relocate_section): Likewise.
-
-
- * elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26.
- (mips_elf_relocate_section): Adjust calling sequence for
- mips_elf_perform_relocation.
- (mips_elf_perform_relocation): Take additional argument. Handle
- R_MIPS16_26. Use bfd_put for convenience.
-
-
- * elf.c (assign_file_positions_for_segments): Thinko last change.
- Always overwrite p_flags.
-
-
- * elf-bfd.h (struct elf_backend_data): Add want_dynbss.
- * elflink.c (_bfd_elf_create_dynamic_sections): Only create
- .dynbss and .rel[a].bss if want_dynbss.
- * elfxx-target.h (elf_backend_want_dynbss): Provide default.
-
-
- * elf.c (assign_file_positions_for_segments): Don't overwrite p_flags.
-
-
- * elf-bfd.h (struct elf_link_local_dynamic_entry): New.
- (struct elf_link_hash_table): Add dynlocal.
- (_bfd_elf_link_lookup_local_dynindx): Prototype.
- (_bfd_elf_link_adjust_dynindx): Delete.
- (_bfd_elf_link_renumber_dynsyms): Prototype.
- (_bfd_elf,link_record_local_dynamic_symbol): Prototype.
- * elfcode.h (elf_link_record_local_dynamic_symbol): New alias.
- * elflink.c (_bfd_elf_link_adjust_dynindx): Delete.
- (_bfd_elf_link_lookup_local_dynindx): New function.
- (elf_link_renumber_hash_table_dynsyms): New function.
- (_bfd_elf_link_renumber_dynsyms): New function.
- * elflink.h (elf_link_record_local_dynamic_symbol): New function.
- (struct elf_assign_sym_version_info): Delete removed_dynamic.
- (bfd_elf,size_dynamic_sections): Use _bfd_strip_section_from_output
- instead of elf_link_remove_section_and_adjust_dynindices.
- Remove removed_dynamic code. Use _bfd_elf_link_renumber_dynsyms.
- (elf_link_assign_sym_version): Remove removed_dynamic code.
- (elf_link_renumber_dynsyms): Delete.
- (elf_bfd_final_link): Install section and local symbols into .dynsym.
-
- * elf32-m68k.c (elf_m68k_adjust_dynindx): Delete.
- (elf_m68k_size_dynamic_sections): Don't set section dynindicies.
- (elf_m68k_finish_dynamic_sections): Don't write section dynsyms.
- * elf32-mips.c: Similarly.
- * elf32-ppc.c: Similarly.
- * elf32-sparc.c: Similarly.
- * elf64-alpha.c: Similarly.
- * elf64-sparc.c: Similarly.
-
-
- * elf32-mips.c (mips_elf_calculate_relocation): Do not complain
- when _gp_disp is undefined. Do not check R_MIPS_LO16 for overflow
- when the relocation is against _gp_disp.
-
-
- * dwarf2.c (read_attribute): Support DW_FORM_ref8.
- * elf32-mips.c (mips_elf_link_hash_entry): Change mips_32_relocs
- to possibly_dynamic_relocs. Adjust usage throughout code.
- (elf_mips_howto_table): Handle R_MIPS_64 correctly.
- (elf_mips_ctor64_howto): Likewise.
- (mips_elf_calculate_relocation): Handle R_MIPS_64 like R_MIPS_32.
- Adjust indentation.
- (mips_elf_relocate_section): Handle R_MIPS_64 in 32-bit mode.
- (_bfd_mips_elf_check_relocs): Handle R_MIPS_64 like R_MIPS_32.
- Use MIPS_ELF_GOT_SIZE to calculate the size of GOT entries.
- * elf64-mips.c (elf_backend_may_use_rel_p): Define.
-
-
- * Makefile.am: Rebuild dependencies.
- * Makefile.in: Rebuild.
-
- * bfd-in.h: Remove tests of COFF_IMAGE_WITH_PE.
- * bfd-in2.h: Rebuild.
-
- * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
- as appropriate. Use EMPTY_HOWTO as appropriate. Fill in
- structure initializations. Add casts.
- * reloc.c (EMPTY_HOWTO): Define.
- * bfd-in2.h: Rebuild.
- * coff-h8300.c (h8300_reloc16_extra_cases): Remove useless
- comparisons against 0.
- * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change
- previous_ibfd_e_flags to unsigned long.
- * vms.h (struct vms_private_data_struct): Change section_count to
- unsigned.
- * vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned.
- (_bfd_vms_write_gsd): Change symnum to unsigned.
- * vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned.
- * vms-tir.c (etir_sta): Change psect to unsigned.
- (alloc_section): Change idx to unsigned.
- (tir_sta, tir_ctl): Change psect to unsigned.
- (_bfd_vms_write_tir): Change len and before to bfd_size_type.
- * vms.c (priv_section_count): Change to unsigned.
-
-
- * elf32-m68k.c: Add some ATTRIBUTE_UNUSED.
- * m68klinux.c: Likewise.
-
-
- * Many files: Changes to avoid gcc warnings: Remove unused local
- variables. Add default case to enum switches.
- * coff-arm.c (bfd_arm_allocate_interworking_sections): Only
- compile if not COFF_IMAGE_WITH_PE.
- (record_arm_to_thumb_glue, record_thumb_to_arm_glue): Likewise.
- (bfd_arm_get_bfd_for_interworking): Likewise.
- (bfd_arm_process_before_allocation): Likewise.
- * epoc-pei-arm.c: Don't rename bfd_arm functions.
- * pei-arm.c: Likewise.
- * elf32-mips.c (mips_elf_link_hash_table_create): Don't declare.
- (MIPS_ELF_ADD_DYNAMIC_ENTRY): Correct last change.
- (mips_elf_got16_entry): Put parens around & in body of ==.
- (mips_elf_calculate_relocation): Correct test for empty string.
- * vms-gsd.c: Use _bfd_error_handler rather than fprintf to
- stderr.
- * vms-misc.c (_bfd_vms_length_hash_symbol): Correct sprintf
- format.
-
-
- * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
- as appropriate. Fill in structure initializations. Add variable
- initializations. Add casts.
- * dwarf1.c (parse_line_table): Change eachLine to unsigned long.
- (dwarf1_unit_find_nearest_line): Change i to unsigned long.
-
- * elf.c (bfd_elf_hash): Change parameter from unsigned char * to
- char *.
- * elf-bfd.h (bfd_elf_hash): Update declaration.
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove casts
- when calling bfd_elf_hash.
-
-
- * libbfd.c (bfd_put_8): Make it of type `void'.
- * bfd-in2.h: Regenerated.
- * elf32-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Conditionalize
- for 32-bit hosts.
- (_bfd_mips_elf_final_link): Likewise.
-
- * elflink.h (elf_link_read_relocs_from_section): Be type-correct.
-
-
- * config.bfd (hppa*-*-linux-gnu*): New target
-
-
- * elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify.
- (_bfd_mips_elf_create_dynamic_sections): New function.
- (_bfd_mips_elf_add_symbol_hook): Likewise.
- (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
- (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
- (_bfd_mips_elf_finish_dynamic_sections): Likewise.
- (_bfd_mips_elf_gc_mark_hook): Likewise.
- (_bfd_mips_elf_gc_sweep_hook): Likewise.
- (_bfd_mips_elf_always_size_sections): Likewise.
- (_bfd_mips_elf_size_dynamic_sections): Likewise.
- (_bfd_mips_elf_check_relocs): Likewise.
- (_bfd_mips_elf_link_hash_table_create): Likewise.
- (_bfd_mips_elf_print_private_data): Likewise.
- (_bfd_mips_elf_link_output_symbol_hook): Likewise.
- (_bfd_mips_elf_final_link): Likewise.
- (_bfd_mips_elf_additional_program_headers): Likewise.
- (_bfd_mips_elf_modify_segment_map): Likewise.
- (_bfd_mips_elf_relocate_section): Likewise.
- * elf32-mips.c (mips_elf32_object_p): Move contents into
- _bfd_mips_elf_object_p.
- (mips_elf_additional_program_headers): Rename to
- _bfd_mips_elf_additional_program_headers.
- (mips_elf_modify_segment_map): Rename to
- _bfd_mips_elf_modify_segment_map.
- (elf_mips_abi_name): Change prototype.
- (mips_elf32_section_from_shdr): Merge into
- _bfd_mips_elf_section_from_shdr.
- (mips_elf32_section_processing): Merge into
- _bfd_mips_elf_section_processing.
- (mips_elf_final_link): Rename to _bfd_mips_elf_final_link. Invoke
- the right back-end ELF linker.
- (mips_elf_relocate_section): Rename to
- _bfd_mips_elf_relocate_section. Clean up. Adjust for 64-bit code.
- (mips_elf_link_output_symbol_hook): Rename to
- _bfd_mips_elf_link_output_symbol_hook.
- (mips_elf_create_dynamic_section): Rename to
- _bfd_mips_elf_create_dynamic_section.
- (mips_elf_check_relocs): Rename to _bfd_mips_elf_check_relocs.
- Adjust for 64-bit code. Use mips_elf_got_section.
- (mips_elf_adjust_dynamic_symbol): Rename to
- _bfd_mips_elf_adjust_dynamic_symbol. Use
- mips_elf_allocate_dynamic_relocations.
- (mips_elf_finish_dynamic_symbol): Rename to
- _bfd_mips_elf_finish_dynamic_symbol. Use mips_elf_got_section.
- Adjust for 64-bit code.
- (mips_elf_finish_dynamic_sections): Rename to
- _bfd_mips_elf_finish_dynamic_sections. Adjust for 64-bit code.
- (mips_elf_always_size_sections): Rename to
- _bfd_mips_elf_always_size_sections.
- (mips_elf_add_symbol_hook): Rename to
- _bfd_mips_elf_add_symbol_hook.
- (mips_elf_next_lo16_addend): Constify.
- (mips_elf_calculate_relocation): Likewise.
- (mips_elf_obtain_contents): Likewise.
- (mips_elf_perform_relocation): Likewise.
- (mips_elf_create_dynamic_relocation): Likewise.
- (mips_elf_allocate_dynamic_relocations): New function.
- (MIPS_ELF_REL_DYN_SECTION_NAME): New macro.
- (MIPS_ELF_REL_SIZE): Likewise.
- (MIPS_ELF_DYN_SIZE): Likewise.
- (MIPS_ELF_GOT_SIZE): Likewise.
- (MIPS_ELF_SYM_SIZE): Likewise.
- (MIPS_ELF_LOG_FILE_ALIGN): Likewise.
- (MIPS_ELF_GET_WORD): Likewise.
- (MIPS_ELF_PUT_WORD): Likewise.
- (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
- (STUB_LW): Conditionalize for 64-bit value.
- (elf_mips_howto_table): Add R_MIPS_HIGHER and R_MIPS_HIGHEST
- entries.
- (_bfd_mips_elf_merge_private_bfd_data): Merge e_ident[EI_CLASS].
- Check it for inconsistency.
- (_bfd_mips_elf_print_private_bfd_data): Print ABI=64 for 64-bit
- ABI.
- (_bfd_mips_elf_fake_sections): Remove duplicate handling of
- .msym.
- (mips_elf_global_got_index): Use MIPS_ELF_GOT_SIZE.
- (mips_elf_got_offset_from_index): Use misp_elf_got_section.
- (mips_elf_create_local_got_entry): Use MIPS_ELF_GOT_SIZE.
- (mips_elf_local_got_index): Likewise.
- (mips_elf_got_page): Likewise.
- (mips_elf_got_info): Likewise.
- (mips_elf_create_dynamic_relocation): Handle 32-bit/64-bit split.
- (ELF_DYNAMIC_INTERPRETER): Handle 64-bit code.
- (mips_elf_create_dynamic_sections): Use MIPS_ELF_LOG_FILE_ALIGN,
- instead of constant `2'.
- (mips_elf_create_got_section): Tidy. Use MIPS_ELF_GOT_SIZE.
- (mips_elf_create_msym_section): Use MIPS_ELF_LOG_FILE_ALIGN.
- (mips_elf_size_dynamic_sections): Use
- MIPS_ELF_REL_DYN_SECTION_NAME, MIPS_ELF_GOT_SIZE,
- MIPS_ELF_ADD_DYNAMIC_ENTRY. Remove #if 0'd code.
- Adjust all releveant entries in elf backend table.
- * elf64-mips.c (mips_elf64_section_from_shdr): Remove.
- (mips_elf64_section_processing): Likewise.
- Adjust elf backend entries to use _bfd_mips_elf variants now
- publicly available.
-
- * elflink.h (elf_link_create_dynamic_sections): Handle non-standard
- hash-entry sizes.
- (size_dynamic_sections): Likewise.
- (elf_link_output_extsym): Likewise.
- * elf.c: (elf_fake_sections): Likewise.
- * libbfd.c (bfd_get): New macro.
- (bfd_put): Likewise.
- * bfd-in2.h: Regenerated.
-
-
- * elf-bfd.h (elf_size_info): Add hash_entry_size,
- int_rels_per_ext_rel, swap_dyn_out, swap_reloc_in, swap_reloc_out,
- wap_reloca_in, and swap_reloca_out.
- * elflink.h (elf_link_read_relocs_from_section): Adjust to handle
- multiple internal relocations per external relocation.
- (link_read_relocs): Likewise.
- (elf_bfd_final_link): Likewise.
- (elf_link_input_bfd): Likewise.
- (elf_gc_mark): Likewise.
- (elf_gc_smash_unused_vtentry_relocs): Likewise.
- * elfcode.h (elf_swap_dyn_out): Adjust type to match
- elf_swap_dyn_in.
- (size_info): Add entries for new fields.
- * elf64-mips.c (mips_elf64_swap_reloc_out): Enable.
- (mips_elf64_be_swap_reloc_in): New function.
- (mips_elf64_be_swap_reloc_out): Likewise.
- (mips_elf64_be_swap_reloca_in): Likewise.
- (mips_elf64_be_swap_reloca_out): Likewise.
- (mips_elf64_size_info): Add entries for new fields.
-
-
- * elflink.h (elf_bfd_final_link): Assert that section reloc_count
- field equals the new rel_count field.
- (elf_link_input_bfd): When doing a relocateable link, use the new
- rel_count field rather than the reloc_count field.
- (elf_reloc_link_order): Likewise.
- (elf_finish_pointer_linker_section): Likewise.
-
- * elflink.h (elf_merge_symbol): Permit a non-weak definition in a
- shared library to override a weak definition in a regular object.
-
-
- * libhppa.h: Revert July 2, 1999 patch.
-
- * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): T mode selectors
- need to generate DLTIND relocations, not DLTREL relocations.
-
-
- * coffcode.h (coff_set_arch_mach_hook): Recognise arm 5
- architectures.
- (coff_set_flags): Recognise arm 5 architectures.
-
- * cpu-arm.c: Add support for strongarm and arm9 cpus.
- Add support for armv5 architecture.
-
- * archures.c: Add bfd_mach_arm_5 and bfd_mach_arm_5T.
-
- * reloc.c: Add new, assembler only, ARM reloc:
- BFD_RELOC_ARM_ADRL_IMMEDIATE.
-
- * bfd-in2.h: Regenerate.
-
-
- * dwarf2.c (parse_comp_unit): Add ABBREV_LENGTH parameter.
- (_bfd_dwarf2_find_nearest_line): Add ADDR_SIZE parameter.
- * elf.c (_bfd_elf_find_nearest_line): Pass it.
- * elf32-arm.h (elf32_arm_find_nearest_line): Likewise.
- * elf32-mips.c (ABI_64_P): New macro.
- (IRIX_COMPAT): We are IRIX6-compatible if ABI_64_P.
- (_bfd_mips_elf_find_nearest_line): Adjust call to
- _bfd_dwarf2_find_nearest_line.
- * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
- * libbfd.h: Regenerated.
-
-
- * config.bfd: Add * at the end of i[3456]86-*-unixware.
-
-
- * libhppa.h (HPPA_R_ARG_RELOC): Delete.
- (HPPA_R_CONSTANT, HPPA_R_ADDEND): Likewise.
-
-
- * elf-bfd.h (bfd_elf_section_data): Add rel_count and rel_count2
- fields.
- (_bfd_elf_init_reloc_shdr): New function.
- * elf.c (_bfd_elf_new_section_hook): Use bfd_zalloc, rather than
- bfd_alloc followed by memset.
- (_bfd_elf_init_reloc_shdr): New function, split out from ...
- (elf_fake_sections): Here.
- (assign_section_numbers): Assign section numbers for the second
- relocation section, if required.
- * elflink.h (elf_link_output_relocs): New function.
- (elf_link_size_reloc_section): Likewise.
- (elf_bfd_final_link): Use elf_link_size_reloc_section.
- (elf_link_input_bfd): Use elf_link_output_relocs.
-
- * elf32-mips.c (_bfd_mips_elf_fake_sections): Use
- _bfd_elf_init_reloc_shdr to initialize rel_hdr2.
-
-
- * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle R_PCREL_CALL
- with 22bit format.
-
-
- * elf32-mips.c (mips_elf_got_info): Move declaration before
- prototypes. Change global_gotsym to be a pointer to a hash entry,
- rather than a number index.
- (mips_elf_link_hash_entry): Move declaration before prototypes.
- (mips_elf_irix6_finish_dynamic_symbol): New function.
- (mips_elf_sign_extend): Likewise.
- (mips_elf_high): Likewise.
- (mips_elf_higher): Likewise.
- (mips_elf_highest): Likewise.
- (mips_elf_global_got_index): Likewise.
- (mips_elf_local_got_index): Likewise.
- (mips_elf_got_offset_from_index): Likeiwse.
- (mips_elf_record_global_got_symbol): Likewise.
- (mips_elf_got_page): Likewise.
- (mips_elf_next_lo16_addend): Likewise.
- (mips_elf_calculate_relocation): Likewise.
- (mips_elf_obtain_contents): Likewise.
- (mips_elf_perform_relocation): Likewise.
- (mips_elf_assign_gp): Likewise.
- (mips_elf_sort_hash_table_f): Likewise.
- (mips_elf_sort_hash_table): Likewise.
- (mips_elf_got_section): Likewise.
- (mips_elf_got_info): Likewise.
- (mips_elf_create_local_got_entry): Likewise.
- (mips_elf_got16_entry): Likewise.
- (mips_elf_create_dynamic_relocation): Likewise.
- (elf_mips_howto_table): Add description of R_MIPS_SCN_DISP.
- (mips_elf_final_gp): Use mips_elf_assign_gp.
- (_bfd_mips_elf_symbol_processing): Don't move SHN_COMMON symbols
- into SHN_SCOMMON automatically on IRIX6.
- (mips_elf_add_symbol_hook): Likewise.
- (mips_elf_relocate_section): Rewrite, using
- mips_elf_calculate_relocation and mips_elf_perform_relocation.
- (mips_elf_create_dynamic_section): Use MIPS_ELF_STUB_SECTION_NAME.
- Don't deal with .rld_map on IRIX6.
- (mips_elf_create_got_section): Adjust use of global_gotsym. Set
- section flags appropriately for .got.
- (mips_elf_check_relocs): Handle IRIX6 relocations making use of
- the got. Call mips_elf_record_global_got_symbol and allocate
- local got space appropriately.
- (mips_elf_size_dynamic_sections): Use bfd_byte *, not unsigned
- char *. Rework calculation of GOT size. Sort dynamic symbol
- table entries so entries that do not require GOT entries appear at
- the beginning. Don't use DT_MIPS_HIPAGENO on IRIX6. Remove dead
- code dealing with DT_INIT and DT_FINI. Remove fiddling with
- global_gotsym.
- (mips_elf_finish_dynamic_symbol): Adjust creation of global GOT
- entries.
- (mips_elf_finish_dynamic_symbol): Use
- mips_elf_irix6_finish_dynamic_symbol.
- (mips_elf_finish_dynamic_sections): Correct off-by-one error
- setting DT_MIPS_UNREFEXTNO. Adjust setting of DT_MIPS_GOTSYM for
- change to global_gotsym. Set DT_MIPS_OPTIONS on IRIX6.
-
-
- * elf32-mips.c (mips_elf_final_link): Don't set CPIC when doing a
-
-
- * elf32-arm.h (elf_backend_got_header_size): Define.
- (elf_backend_plt_header_size): Likewise.
-
-
- * elf32-arm.h (elf32_arm_relocate_section): Mind no_undefined
-
-
- * elf-hppa.c (elf_hppa_howto_table): Use bfd_elf_generic_reloc as
- relocation function.
- * elf32-hppa.c (hppa_elf_reloc): Kill unused/unwanted function.
-
-
- * elf32-mips.c (MIPS_ELF_SRDATA_SECTION_NAME): New macro.
- (MIPS_ELF_OPTIONS_SECTION_NAME): Likewise.
- (MIPS_ELF_STUB_SECTION_NAME): Likewise.
- (_bfd_mips_elf_section_from_shdr): Use them.
- (_bfd_mips_elf_fake_sections): Likewise. Add .srdata to the list
- of GP-relative sections.
- (_bfd_mips_elf_set_section_contents): Use them.
- (_bfd_mips_elf_section_processing): Share code between .sdata and
- .lit4/.lit8 sections. Set appropriate flags for .srdata.
- (mips_elf_additional_program_headers): Add handling for
- PT_MIPS_OPTIONS segment on IRIX6.
- (mips_elf_modify_segment_map): Likeiwse.
- (mips_elf_final_link): Set EF_MIPS_CPIC when required by the ABI.
- Include the options sections on IRIX6. Don't look for GP-relative
- sections by name; use SHF_MIPS_GPREL instead.
- (ELF_DYNAMIC_INTERPRETER): Adjust to use /usr/lib32/libc.so.1 for
- the N32 ABI.
- (mips_elf_create_dynamic_sections): Don't muck about with section
- alignments and such on IRIX6.
- (mips_elf_adjust_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
- (mips_elf_size_dynamic_sections): Likewise. Adjust to handle the
- fact that ELF_DYNAMIC_INTERPRETER is no longer a constant. Use
- bfd_zalloc rather than bfd_alloc and memset.
- (mips_elf_finish_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
- Don't assert the existence of .rld_map on IRIX6.
- (mips_elf_finish_dynamic_sections): Use MIPS_ELF_STUB_SECTION_NAME.
-
- * elf32-mips.c (mips_elf_adjust_dynindx): Remove.
- (mips_elf_size_dynamic_sections): Use _bfd_elf_link_adjust_dynindx
- instead.
-
-
- * elf32-mips.c (mips_elf_swap_msym_in): New function.
- (mips_elf_swap_msym_out): New function.
- (mips_elf_create_msym_section): Likewise.
- (MIPS_ELF_MSYM_SECTION_NAME): New macro.
- (_bfd_mips_elf_final_write_processing): Set sh_link for .msym.
- (_bfd_mips_elf_section_from_shdr): Reject an SHT_MIPS_MSYM
- section not named .msym.
- (_bfd_mips_elf_fake_sections): Use MIPS_ELF_MSYM_SECTION_NAME, not
- .msym directly. Set appropriate attributes for the .msym
- section.
- (mips_elf_link_hash_entry): Add min_dyn_reloc_index field.
- (mips_elf_link_hash_newfunc): Clear it.
- (mips_elf_create_dynamic_sections): Create the .msym section
- on IRIX6.
- (mips_elf_size_dynamic_sections): Allocate space for the
- .msym section. Add a DT_MIPS_MSYM entry.
- (mips_elf_finish_dynamic_symbol): Write out a .msym entry for
- the symbol.
- (mips_elf_finish_dynamic_sections): Assign a value for
- DT_MIPS_MSYM. Add .msym entries for the section symbols as well.
-
- * elf32-mips.c (irix_compat_t): New enumeration.
- (ABI_N32_P): New macro.
- (IRIX_COMPAT): Likewise.
- (SGI_COMPAT): Implement in terms of IRIX_COMPAT.
- (mips_elf_relocate_section): Fix typo.
-
-
- * peicode.h (coff_swap_scnhdr_out): Mark non readonly BFD sections
- as writable PE sections.
-
-
- * dwarf2.c (struct arange): New type.
- (struct comp_unit): Replace LOW and HIGH by member ARANGE.
- (arange_add): New function.
- (decode_line_info): Keep track of address ranges that a compilation
- unit covers.
- (comp_unit_contains_address): Return true if address is contained
- in _any_ of the address ranges associated with a compilation unit.
- (_bfd_dwarf2_find_nearest_line): Call comp_unit_find_nearest_line
- on the first comp_unit that contains the address.
-
-
- * dwarf2.c (struct dwarf2_debug): Add member dwarf_line_buffer.
- (decode_line_info): Add variable STASH and initialize it to point
- to the per-bfd dwarf2_debug info. Remove static variable
- dwarf_line_buffer and use stash->dwarf_line_buffer in its place.
-
-
- * elflink.h (elf_link_output_extsym): It's OK for a -Bsymbolic
- shared library to have an undefined symbol.
-
- * elf32-ppc.c (ppc_elf_relocate_section): Fix last patch.
-
-
- * elf-hppa.c (elf_hppa_final_write_processing): New function.
- * elf32-hppa.c: Remove everything related to symbol extension
- sections & records. Use the common elf_hppa_final_write_processing.
-
-
- * elflink.h (size_dynamic_sections): Use user-specified init/fini
- functions instead of _init/_fini if requested.
-
-
- * elf.c (bfd_section_from_shdr): Avoid crashing on a bogus sh_link
- field.
-
-
- * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set unused dynindx
- field to 0, not -1.
- (ppc_elf_finish_dynamic_sections): Check for positive section
- dynindx field, rather than comparing against -1.
- (ppc_elf_relocate_section): Only return false if undefined_symbol
- or reloc_overflow fail, not always upon encountering an error.
-
-
- * elflink.h (link_read_relocs): Explicitly cast external_relocs to
- bfd_byte * before performing pointer arithmetic.
-
-
- * elf-hppa.h: New file. Common stuff for elf32 and elf64 PA
- support.
- * elf32-hppa.c: Include elf-hppa.h.
- (ARCH_SIZE): Define.
- (elf_hppa_reloc_type_lookup): Delete. Found in the common code
- now.
- (elf32_hppa_info_to_howto): Similarly.
- (elf_hppa_howto_table): Similarly.
- (elf_hppa_reloc_type_lookup): Similarly.
- (hppa_elf_gen_reloc_type): Similarly.
- * elf32-hppa.h (ELF_HOWTO_TALBE, N_PARISC_RELOCS): Delete.
-
-
- * elf32-v850.c (v850_elf_final_link_relocate): Catch overflow
- handling R_V850_22_PCREL relocation.
-
-
- * coff-arm.c (arm_emit_base_file_entry): Explicitly declare return
- type.
-
-
- * section.c (_bfd_strip_section_from_output): Ignore sections
- DISCARDed by the link script.
-
-
- * elflink.h (elf_link_remove_section_and_adjust_dynindices):
- Remove unused local variable spp.
-
- * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't crash if
- the entry symbol is not set.
-
-
- * elf64-alpha.c (elf64_alpha_relocate_section): Don't adjust
- GPDISP or LITUSE in a relocatable link.
-
-
- * dwarf1.c (alloc_dwarf1_unit): Allocate using bfd_zalloc.
- * (alloc_dwarf1_func): Likewise.
-
-
- * libhppa.h: Fix various formatting errors.
- (assemble_3); Rewrite using CATENATE.
- (assemble_17): Fix various bugs.
-
-
- * elf32-mcore.c (R_MCORE_RAW): Fix definition.
-
-
- * section.c (SEC_SHORT): Define.
- * bfd-in2.h: Rebuild.
-
-
- * elflink.h (elf_link_remove_section_and_adjust_dynindices):
- Remove abfd parameter. Use _bfd_strip_section_from_output.
- (bfd_elf_size_dynamic_sections): Adjust callers accordingly.
-
- * elf-bfd.h (_bfd_elf_link_adjust_dynindx): New function.
- * elflink.c (_bfd_elf_link_adjust_dynindx): Define it.
- * elflink.h (elf_link_remove_section_and_adjust_dynindices): New
- function.
- (bfd_elf_size_dynamic_sections): Use it.
-
-
- * elf32-i386.c (elf_howto_table): Change R_386_PC8 from
- complain_overflow_bitfield to complain_overflow_signed.
-
-
- * elflink.h (elf_link_read_relocs_from_section): New function,
- split out from ...
- (elf_link_read_relocs): Here. Use it for both relocation
- sections.
-
-
- * elfcode.h (elf_slurp_reloc_table_from_section): Don't assume
- asect->reloc_count is valid.
-
-
- * elf32-mips.c (mips_elf32_section_processing): Permit a
- SHT_MIPS_REGINFO section to have a size of 0.
-
-
- * config.bfd (alpha*-*-freebsd*): New target.
- (i[3456]86-*-freebsd*): Now defaults to ELF.
-
-
- * reloc.c (_bfd_relocate_contents): Permit bitfield relocations to
- wrap if the relocation covers the high bit of an address.
-
- * dwarf2.c (decode_line_info): Remove unused variable first_time.
-
-
- * elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std
- instead of R_SPARC_max.
- (sparc64_elf_info_to_howto): Likewise.
- * elf32_sparc.c (elf32_sparc_relocate_section): Likewise.
- (elf32_sparc_info_to_howto): Likewise; handle vtable relocations.
-
-
- * section.c (_bfd_strip_section_from_output): Remove output
- sections with no initial link_order.
-
-
- * elf32-m88k.c (ELF_MAXPAGESIZE): Define.
-
-
- * Makefile.am (SOURCE_HFILES): Add missing headers.
- * Makefile.in: Regenerated.
-
-
- * elf32-mips.c (_bfd_mips_elf_print_private_data): Recognize
- the N32 ABI.
-
-
- * elf32-ppc.c (ppc_elf_relocate_section): Don't barf on out of
- range undefweak symbols.
- * hash.c: Add missing comma after @xref{}
- * linker.c: Likewise.
-
-
- * elfxx-target.h (ELF_MAXPAGESIZE): Produce an error message
- if not defined.
- * elf32-gen.c (ELF_MAXPAGESIZE): Define.
- * elf32-i860.c (ELF_MAXPAGESIZE): Define.
- * elf32-i960.c (ELF_MAXPAGESIZE): Define.
- * elf64-gen.c (ELF_MAXPAGESIZE): Define.
-
-
- * Makefile.am: Rebuild dependencies.
- (BFD32_BACKENDS): Add dwarf1.lo.
- (BFD32_BACKENDS_CFILES): Add dwarf1.c.
- * Makefile.in: Rebuild.
-
-
- * Makefile.am: Add epoc-arm-pe target.
- * Makefile.in: Regenerate.
- * pe-arm.c: Only redefine interworking function names if they have
- not already been redefined.
- * pei-arm.c: Only redefine interworking function names if they have
- not already been redefined.
- * epoc-pe-arm.c: Redefine interworking function names to avoid a
- name space clash.
- * epoc-pei-arm.c: Redefine interworking function names to avoid a
- name space clash.
-
-
- * elfxx-target.h (ELF_MAXPAGESIZE): Default to 0x1000 not 1.
-
-
- * elf.c (elf_fake_sections): Undo change of 1999-05-10.
-
-
- * elf32-sh.c (sh_elf_relax_delete_bytes): Fix setting of
- start / stop for recalculating of r_addend of R_SH_SWITCH*.
-
-
- * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH32
- in other text sections.
-
-
- * libbfd.c (_bfd_generic_verify_endian_match): New function.
- * libbfd-in.h (_bfd_generic_verify_endian_match): Declare.
- * libbfd.h: Regenerate.
- * coff-sh.c (sh_merge_private_data): Delete.
- (coff_bfd_merge_private_bfd_data): Change to
- _bfd_generic_verify_endian_match.
- (elf32-sh.c): bfd_elf32_bfd_merge_private_bfd_data: Define.
-
-
- * elf32-arm.h: Fix typo: change ELF_MAXPAGE_SIZE to ELF_MAXPAGESIZE.
-
-
- * bfd-in.h (bfd_elf32_arm_allocate_interworking_sections): Correct
- prototype.
- (bfd_elf32_arm_process_before_allocation): Likewise.
- * bfd-in2.h: Rebuild.
-
-
- * dwarf2.c (struct line_info): Add member END_SEQUENCE to keep
- track of end_sequence markers.
- (add_line_info): Add END_SEQUENCE arg.
- (decode_line_info): Don't try to infer lo_pc and hi_pc from the
- debug-line info---it doesn't work right if a compilation unit
- consists of multiple discontiguous code-sequences. It would be
- worthwhile to optimize for the common case where a compilation
- unit results in a contiguous set of code sequences, but this is
- quite tricky to get right for arbitrary DWARF2 files.
- (lookup_address_in_line_info_table): Don't use the last line entry
- for a compilation unit for anything with an address higher than
- this line entry. Also, check for end_sequence markers to
- correctly handle discontinuities.
- (_bfd_dwarf2_find_nearest_line): When checking previously loaded
- compilation units, check all compilation units with each->high==0
- just like when reading compilation units.
-
- * dwarf2.c (decode_line_info): Initialize table->files and
- table->last_line to NULL to avoid segfaults due to random
- values in these members.
- (concat_filename): Check for out-of-range file number before
- indexing filename table. Segfaults suck.
-
- * dwarf2.c (decode_line_info): Don't truncate address to least
- significant 32 bits (breaks 64 bit targets).
- (lookup_address_in_function_table): Ditto.
- (comp_unit_contains_address): Ditto.
-
-
- * elf32-mips.c (elf_mips_howto_table): Add R_MIPS_JALR.
- * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
- (mips_elf64_howto_table_rela): Likewise.
-
- * elfcode.h (elf_slurp_reloc_table_from_section): New function,
- split out from ...
- (elf_slurp_reloc_table): Here. Use it to handle the case where a
- single section has two associated relocation sections.
-
-
- * coffcode.h (coff_set_alignment_hook): Set lma from s_vaddr if
- COFF_WITH_PE defined.
-
-
- * pe-arm.c: Rename global arm interworking functions to avoid name
- collision when all targets BFD is built.
- * pei-arm.c: Ditto.
-
-
- * elf-bfd.h (elf_backend_data): Remove use_rela_p. Add
- may_use_rel_p, may_use_rela_p, default_use_rela_p.
- (bfd_elf_section_data): Add use_rela_p.
- * elf.c (bfd_section_from_shdr): Set use_rela_p appropriately.
- (_bfd_elf_new_section_hook): Likewise.
- (elf_fake_sections): Use may_use_rela_p, etc., instead of
- use_rela_p.
- (_bfd_elf_copy_private_section_data): Copy use_rela_p.
- * elfcode.h (write_relocs): Determine whether or not use rela
- relocs based on the relocation section header.
- * elflink.c (_bfd_elf_create_dynamic_sections): Use default_use_rela_p
- instead of use_rela_p.
- * elfxx-target.h (elf_backend_may_use_relp): New macro.
- (elf_backend_may_use_rela_p): Likewise.
- (elf_backend_default_use_rela_p): Likewise.
- (elfNN_bed): Use them.
-
-
- * hosts/alphalinux.h (TRAD_CORE_EXTRA_SIZE_ALLOWED): Expand to 4096.
-
-
- * reloc.c (BFD_RELOC_MIPS_SUB): New relocation.
- (BFD_RELOC_MIPS_GOT_PAGE): Likewise.
- (BFD_RELOC_MIPS_GOT_OFST): Likewise.
- (BFD_RELOC_MIPS_GOT_DISP): Likewise.
- * bfd-in2.h: Regenerated.
- * libbfd.h: Likewise.
- * elf32-mips.c (mips_info_to_howto_rela): New function.
- (USE_REL): Adjust for new conventions.
- (MINUS_ONE): New macro.
- (elf_mips_howto_table): Add R_MIPS_SUB.
- (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE, MIPS_GOT_OFST,
- and MIPS_GOT_DISP.
- (mips_elf_final_write_processing): Set sh_link, not sh_info, for a
- .MIPS.content section.
- (_bfd_mips_elf_fake_sections): Treat all sections that begin
- with .MIPS.content as .MIPS.content sections. Set
- SHF_MNIPS_NOSTRIP for such section.
- (elf_info_to_howto): Define to mips_info_to_howto_rela.
- * elf64-mips.c (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE,
- MIPS_GOT_OFST, and MIPS_GOT_DISP.
-
-
- * vms-misc.c (_bfd_vms_hash_newfunc): Fix use of uninitialized
- variable.
-
- * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Avoid ambigous
- `else'.
-
-
- * elf32-arm.h (elf32_arm_relocate_section): Reinstate change of
- 1993-03-25 (!!). Take into account the bitmasks for the reloc so
- the addend does not overflow into the rest of the word.
-
-
- * bfd-in.h: Amend prototype for
- bfd_elf32_arm_process_before_allocation .
- * bfd-in.h: Regenerate.
-
- * elfarm-oabi.c (NUM_ELEM): New macro: Compute the number of
- elements in a fixed sized array.
- (ARM_ELF_ABI_VERSION): Define.
- (ARM_ELF_OS_ABI_VERSION): Define.
- (R_ARM_THM_ABS5): Fix rightshift and size.
- (R_ARM_THM_PC22): Fix size.
- (R_ARM_PLT32): Define Howto.
- (find_howto): New function: Locate a howto based on a reloc
- number.
- (elf32_arm_info_to_howto): Use find_howto if necessary.
- (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
- bfd_reloc_code_real_type.
- (elf32_arm_reloc_map[]): Add entries for BFD_RELOC_VTABLE_INHERIT
- and BFD_RELOC_VTABLE_ENTRY.
- (elf32_arm_reloc_type_lookup): Use find_howto if necessary.
-
- * elfarm-nabi.c (NUM_ELEM): New macro: Compute the number of
- elements in a fixed sized array.
- (ARM_ELF_ABI_VERSION): Define.
- (ARM_ELF_OS_ABI_VERSION): Define.
- (R_ARM_THM_ABS5): Fix rightshift and size.
- (R_ARM_THM_PC22): Fix size.
- (elf32_arm_info_to_howto_rel): Rename to elf32_arm_info_to_howto.
- (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
- bfd_reloc_code_real_type.
-
- * elf32-arm.h (struct elf32_arm_link_hash_table): Add new field:
- no_pipeline_knowledge.
- (elf32_arm_link_hash_create): Initialise new field to zero.
- (bfd_elf32_arm_process_before_allocation): Add new paraemter:
- no_pipeline_knowledge. Use this parameter to initialise the field
- in the globals data structure.
- (elf32_arm_final_link_relocate): Only add in pipeline offset if
- no_pipeline_knowledge is false and the binary is from an old
- toolchain.
- (elf32_arm_merge_private_data): Generate an error if an attempt is
- made to link together big endian and little endian code.
- (elf32_arm_post_process_headers): New function: Initialise the
- EI_OSABI and EI_ABIVERSION fields of the newly created ELF program
- header.
- (elf_backend_post_process_headers): Define.
-
-
- * elf-bfd.h (struct elf_backend_data): Add new field:
- elf_backend_post_process_headers.
-
- * elfxx-target.h (elf_backend_post_process_headers): Define to
- NULL if not already defined.
- (elfNN_bed): Initialise elf_backend_post_process_headers field.
-
- * elf.c (prep_headers): Set the EI_OSABI and EI_ABIVERSION fields
- to zero.
- (_bfd_elf_compute_section_file_positions): Call
- elf_backend_post_process_headers if defined.
-
-
- * configure.in: Check whether getuid and getgid exist.
- * archive.c: Define getuid and getgid as macros if HAVE_GETUID or
- HAVE_GETGID are not defined, respectively.
- (bfd_write_armap): Don't special case on _WIN32 for getuid and
- getgid.
- * configure.host: Set ac_cv_func_get{ug}id for *-*-windows*.
- * configure, config.in: Rebuild.
-
-
- * elf32-i960.c: New file.
- * elf.c (prep_headers): Handle bfd_arch_i960.
- * targets.c (bfd_target_vector): Add &bfd_elf32_i960_vec.
- * config.bfd (i960-*-elf*): New target.
- * configure.in (bfd_elf32_i960_vec): New target vector.
- * Makefile.am (BFD32_BACKENDS): Add elf32-i960.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-i960.c.
- * Makefile.in, aclocal.m4, configure: Rebuild.
-
-
- * elfarm-oabi.c (elf32_arm_howto_table): Add entry for
- R_ARM_PLT32.
- (find_howto): New function: Find entries in the
- elf32_arm_howto_table.
- (elf32_arm_info_to_howto): Use find_howto if the entry cannot be
- computed simply.
- (elf32_arm_reloc_type_lookup): Add lookup for
- BFD_RELOC_ARM_PLT32.
-
-
- * bfd/elf32-arm.h (elf32_arm_link_hash_newfunc): New function.
- (elf32_arm_link_hash_table_create): Use above function as the
- constructor for hash table entries.
- (elf32_arm_relocate_section): Avoid crash when there is no output
- section.
- (elf32_arm_final_link_relocate): New parameter h.
- (elf32_arm_relocate_section): Pass symbol hash entry to above
- routine.
- (elf32_arm_gc_sweep_hook, elf32_arm_check relocs): Correct
- comments.
-
-
- * coff-arm.c (coff_arm_relocate_section): Don't emit
- base file entries for pc-relative values.
-
-
- * peicode.h (coff_swap_sym_in): When we create the actual section
- to reflect the not-there section C_SECTION symbols refer to,
- change the symbol class to C_STAT as the section is now really
- there.
-
-
- * elf32-arm.h (elf32_arm_relocate_section): Undo change of
- 1999-03-25.
-
-
- * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed
- F_PIC_INT to F_PIC.
- * coffcode.h (coff_set_arch_mach_hook): Added F_ARM_2a, and
- F_ARM_3M labels. Changed F_PIC_INT to F_PIC.
-
-
- * coff-mcore.c (in_reloc_p): Reinstate.
-
-
- * reloc.c (BFD_RELOC_MCORE_RVA): Define.
- * bfd-in2.h: Regenerate.
- * coff-mcore.c (in_reloc_p): Remove defintion.
- (mcore_coff_howto): Add IMAGE_REL_MCORE_RVA.
- (mcore_coff_reloc_type_lookup): Map BFD_RELOC_RVA to
- IMAGE_REL_MCORE_RVA.
- (coff_mcore_rtype_to_howto): Add special processing for
- IMAGE_REL_MCORE_RVA.
- (coff_mcore_relocate_section): Add support for
- IMAGE_REL_MCORE_RVA.
- * elf32-mcore (mcore_elf_howto_): Add R_MCORE_RELATIVE.
- (mcore_elf_reloc_type_lookup): Map BFD_RELOC_RVA to
- R_MCORE_RELATIVE.
- (mcore_elf_relocate_section): Delete redundant case labels.
-
-
- * elf32-arm.h (elf32_arm_relocate_section): Fix operator
- precedence between bit-and and comparison.
-
-
- * config.bfd (i[3456]86*-*-rtems*, m68k*-*-rtems*): Added to
- list of target formats (targ_selvecs).
- (i[3456]86*-*-rtemself*, mips*el-*-rtems*): New targets.
- (powerpcle*-*rtems*, sh-*-rtemself*): New targets.
-
-
- * ecoff.c (_bfd_ecoff_write_armap): give the symtab element a
- reasonable mode until "ar x" is smart enough to skip it (fixes
- gcc/libgcc.a builds on mips-ecoff targets
-
- * coffcode.h (styp_to_sec_flags): Explain how COMDATs are supposed
- to work. Hack to support MS import libraries, which use different
- COMDAT types than GNU.
- (coff_slurp_symbol_table): C_SECTION symbols are local; they refer
- to implied zero-length sections (see peicode below)
- * coffgen.c (coff_get_normalized_symtab): Properly read long MS
- filename symbols, which use one *or more* auxents.
- * coffswap.h (coff_swap_aux_in): ditto
- * peicode.h (coff_swap_sym_in): Build the implied zero-length
- sections
-
-
- * elf32-v850.c (v850_elf_howto_table): Make partial_inplace false
- for all relocations.
-
-
- * bfd-in.h (bfd_arm_allocate_interworking_sections): Static
- if COFF_IMAGE_WITH_PE.
- (bfd_arm_process_before_allocation): Likewise.
- (bfd_arm_get_bfd_for_interworking): Likewise.
- * coff-arm.c: Likewise.
- * bfd-in2.h: Regenerate.
- * configure.in (armpe_little_vec): Remove coff-arm.lo.
- (armpe_big_vec): Likewise.
- * configure: Rebuild.
-
-
- * elf.c (elf_fake_sections): Check for .rel. as start of rel
- section, not just .rel. Same for .rela.
-
-
- * coff-mcore.c (coff_mcore_relocate_section): Replace assert about
- endianism with an error message.
-
-
- * dwarf2.c (read_abbrevs): Change cast of dwarf_abbrev_buffer
- assignment from "unsigned char *" to "char *".
- (decode_line_info): Likewise for dwarf_line_buffer assignment.
-
-
- * coff-arm.c (coff_arm_relocate_section): Add one to
- address of ARM_RVA32 thumb functions.
-
-
- * elf32-m68k.c (elf32_m68k_set_private_flags): New.
- (elf32_m68k_copy_private_bfd_data): New.
- (elf32_m68k_merge_private_bfd_data): New.
- (elf32_m68k_print_private_bfd_data): New.
- (CPU32_FLAG): Define.
- (PLT_CPU32_ENTRY_SIZE): Define.
- (elf_cpu32_plt0_entry): Declare.
- (elf_cpu32_plt_entry): Declare.
- (elf_m68k_adjust_dynamic_symbol): Generate cpu32 plt entries.
- (elf_m68k_finish_dynamic_symbol): Likewise.
- (elf_m68k_finish_dynamic_sections): Likewise.
- (elf_backend_plt_header_size): Remove definition.
- (bfd_elf32_bfd_copy_private_bfd_data): Define.
- (bfd_elf32_bfd_merge_private_bfd_data): Define.
- (bfd_elf32_bfd_set_private_flags): Define.
- (bfd_elf32_bfd_print_private_bfd_data): Define.
-
-
- * som.c (som_fixup_formats): Fix comments for R_SHORT_PCREL_MODE
- and R_LONG_PCREL_MODE.
-
-
- * coff-mcore.c (coff_mcore_relocate_section): Fix typos.
-
-
- * elf32-sh.c (sh_elf_relocate_section): Include relocation addend
- in relocation calculation.
-
-
- * aclocal.m4, configure: Updated for new version of libtool.
-
-
- * coff-mcore.c: Add support for mcore relocs.
-
-
- * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): Scrap the
- incorrect use EF_MIPS_xxBITPTRS.
-
-
- * elf64-alpha.c (elf64_alpha_relax_section): Remove unused local
- variable insn.
-
- * bfd-in2.h: Rebuild.
- * libbfd.h: Rebuild.
-
-
- * coff-arm.c (coff_arm_rtype_to_howto): Remove ARM26D transform.
- (coff_arm_relocate_section): Add ARM26D transform. Only
- change to ARM26D for relocateable links.
-
-
- * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): New.
- (bfd_elf32_bfd_print_private_bfd_data): New.
-
-
- * elf32-arm.h (elf32_arm_final_link_relocate): For R_ARM_THM_ABS5,
- refetch addend if USE_REL, add many comments regarding current state.
- For R_ARM_THM_PC22, refetch addend if USE_REL, simplify.
- * elfarm-nabi.c (elf32_arm_howto_table): For R_ARM_THM_ABS5, fix
- size and rightshift. For R_ARM_THM_PC22, fix bitsize.
- * elfarm-oabi.c (elf32_arm_howto_table): Ditto.
-
-
- * elf32-mips.c (_bfd_mips_elf_read_ecoff_info): Zero `debug'.
- * elf64-alpha.c (elf64_alpha_read_ecoff_info): Likewise.
-
-
- * dwarf2.c (decode_line_info): Don't truncate address to least
- significant 32 bits (breaks 64 bit targets).
- (lookup_address_in_function_table): Ditto.
- (comp_unit_contains_address): Ditto.
-
-
- * coff-arm.c (arm_emit_base_file_entry): New routine.
- (A2T3_OFFSET): Define.
- (T2A3_OFFSET): Define.
- (coff_arm_relocate_section): Emit base file entries for interworking
- stubs.
-
-
- * elfarm-nabi.c (elf32_arm_howto_table): Add dummy entries for
- relocs 17 through 19.
-
-
- * elfcode.h: Remove fnmatch.h.
- * elflink.h (elf_link_assign_sym_version): Call back to ld
- instead of calling fnmatch.
-
- * config.bfd (i?86-*-beoself): Include pe vecs.
-
-
- * elf32-i386.c (elf_i386_finish_dynamic_sections): Allow .plt
- to go missing.
-
-
- * elf32-i386.c (elf_i386_relocate_section): Mind no_undefined
- when trying to resolve dynamic symbol references.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-mips.c (mips_elf_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elflink.h (elf_link_output_extsym): Likewise.
-
-
- * section.c (_bfd_strip_section_from_output): New function moved from
- * elf64-alpha.c (elf64_alpha_strip_section_from_output): ... here.
- * elf32-i386.c (elf_i386_size_dynamic_sections): Use it.
- * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
- * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
- * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
- * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
- * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
- * bfd-in2.h: Update.
-
-
- * elf64-sparc.c: Fix incorrect calls to bfd_check_overflow.
-
-
- * coff-mcore.c: New File: Support for mcore-pe targets.
- * cpu-mcore.c: New File: Support for mcore targets.
- * elf32-mcore.c: New File: Support for mcore-elf target.
- * pe-mcore.c: New File: Definitions for mcore-pe target.
- * pei-mcore.c: New File: Definitions for mcore-pei target.
- * Makefile.am: Add support for MCore targets.
- * Makefile.in: Regenerate.
- * config.bfd: Add support for MCore targets.
- * configure.in: Add support for MCore targets.
- * configure: Regenerate.
- * archures.c: Add support for MCore architecture.
- * bfd-in2.h: Regenerate.
- * coffcode.h: Add support for mcore-pe targets.
- * elf.c: Add support for mcore-elf target.
- * reloc.c: Add support for MCore relocs.
- * targets.c: Add support for MCore targets.
-
-
- * elfarm-nabi.c (elf32_arm_howto_table): Add entries for
- R_ARM_XPC25 and R_ARM_THM_XPC22.
- (elf32_arm_reloc_map): Remove redundant entries.
-
-
- * sysdep.h (LC_MESSAGES): Never define.
-
-
- * reloc.c (bfd_check_overflow): Add addrsize parameter. Change
- all callers. Rewrite completely.
- (_bfd_relocate_contents): Rewrite overflow checking.
- * bfd-in2.h: Rebuild.
-
-
- * elf32-ppc.c (ppc_elf_howto_raw): Set R_PPC_GOT16_LO,
- R_PPC_PLT16_LO and R_PPC_SECTOFF_LO to be complain_overflow_dont.
- Set R_PPC_PLT16_HA, R_PPC_SECTOFF_HA and R_PPC_EMB_NADDR16_HA to
- have a rightshift of 16 and use ppc_elf_addr16_ha_reloc.
- * ppcboot.c (ppcboot_vec): Use little endian routines for
- headers.
-
- * elf.c (elfcore_strndup): Only define if it will be used.
- * elf32-ppc.c (ppc_elf_relax_section): Remove unused locals irel
- and irelend.
- (ppc_elf_check_relocs): Remove unused local i.
- (ppc_elf_gc_mark_hook): Add default case to switch.
-
- * srec.c (srec_scan): Accept \r in symbol definitions.
- (srec_object_p): Set HAS_SYMS if we saw any symbols.
- (symbolsrec_object_p): Likewise.
-
-
- * config.bfd: Add mips*el-*-vxworks* and mips*-*-vxworks*.
-
-
- * dwarf1.c (parse_line_table): Remove unused locals last_pc and
- last_line.
- * elf-bfd.h (_bfd_elfcore_section_from_phdr): Declare.
- * elf32-i386.c (elf_i386_gc_mark_hook): Add default case to
- switch.
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove unused
- local i.
- * syms.c (_bfd_stab_section_find_nearest_line): Remove unused
- local val.
-
-
- * config.bfd: Add support for arm-epoc-pe target.
- * configure.in: Add support for arm-epoc-pe target.
- * configure: Regenerate.
- * targets.c: Add support for arm-epoc-pe target.
- * coff-arm.c: Allow header files to override definition of
- TARGET_UNDERSCORE and USER_LABEL_PREFIX.
- * pe-arm.h: Allow previous header files to override definition of
- TARGET_LITTLE_SYM and TARGET_BIG_SYM.
- * pei-arm.h: Allow previous header files to override definition of
- TARGET_LITTLE_SYM and TARGET_BIG_SYM.
- * epoc-pe-arm.c: New file. Support arm-epoc-pe target.
- * epoc-pei-arm.c: New file. Support arm-epoc-pei target.
-
-
- * elf.c (elf_map_symbols): Handle the case where section
- symbols are generated for content-less sections which are
- not mapped to the output file.
-
- * linker.c: Replace direct references to fields in BFD structure
- with accessor macros.
-
- * elflink.h: Replace direct references to fields in BFD structure
- with accessor macros.
-
-
- * config.bfd: Eliminate redundancy in checks for Linux/ARM.
-
- * elf32-arm.h (elf32_arm_relocate_section): Take the rightshift into
- account when adjusting section symbols during a partial link.
-
-
- * coff-sparc.c (struct coff_reloc_map): Change type of field
- 'bfd_reloc_val' to bfd_reloc_code_real_type.
- * elf-m10200.c (struct mn10200_reloc_map): Ditto.
- * elf-m10300.c (struct mn10300_reloc_map): Ditto.
- * elf32-arc.c (struct arc_reloc_map): Ditto.
- * elf32-d10v.c (struct d10v_reloc_map): Ditto.
- * elf32-d30v.c (struct d30v_reloc_map): Ditto.
- * elf32-fr30.c (struct fr30_reloc_map): Ditto.
- * elf32-m32r.c (struct m32r_reloc_map): Ditto.
- * elf32-sh.c (struct elf_reloc_map): Ditto.
- * elf32-sparc.c (struct elf_reloc_map): Ditto.
- * elf32-v850.c (struct v850_reloc_map): Ditto.
- * elf64-sparc.c (struct elf_reloc_map): Ditto.
- * elfarm-nabi.c (struct elf32_arm_reloc_map): Ditto.
- * elfarm-oabi.c (struct elf32_arm_reloc_map): Ditto.
-
-
- * syms.c (_bfd_stab_section_find_nearest_line): Changed this
- function so source-level assembly works. If multiple N_SOs
- are seen without and N_FUNs, create an indextable entry with
- a NULL function name.
-
-
- * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data) Allow merging
- of certian similar cpus.
-
-
- * elf32-mips.c (_bfd_mips_elf_final_write_processing):
- Add the 5000. Change the architecture for the 5400 to mips4.
- (elf_mips_mach): Add r5000.
-
-
- * cpu-i960.c (scan_i960_mach): Recognize i960:ka_sa and i960:kb_sb.
-
-
- * binary.c (binary_set_section_contents): Generate warning about
- huge file offsets for any section that will occupy file space, not
- just those that are loadable.
-
-
- * libbfd.h: Regenerate after Nick Clifton's Feb 17 changes.
-
-
- * elf32-ppc.c: Add ppc_elf_relax_section() for the ld option mpc860c0.
-
-
- * elf-bfd.h (ELF_LINK_HASH_REF_REGULAR_NONWEAK): Define.
- * elflink.h: Revert all changes since Feb 16. Instead:
- (elf_link_add_object_symbols): Set REF_REGULAR_NONWEAK flag if
- appropriate. Copy it to version symbols.
- (elf_fix_symbol_flags): Set REF_REGULAR_NONWEAK for non ELF
- symbols if appropriate.
- (elf_adjust_dynamic_symbol): Set REF_REGULAR_NONWEAK for weakdef
- symbol if appropriate.
- (elf_link_output_extsym): If symbol is marked as undefined, and
- has no nonweak references, mark it as weak undefined.
-
-
- * elflink.h (elf_merge_symbol): When overriding a dynamic
- definition with a weak undefined symbol, set NEEDS_PLT if it is a
- function.
- (elf_link_add_object_symbols): Don't copy the other field if we
- are overridding.
-
-
- * elflink.h (elf_merge_symbol): Do not merge any symbol from a
- shared object with a weak undefined symbol.
-
-
- * elfarm-nabi.c: Set partial_inplace back to false.
-
-
- * coff-arm.c (TARGET_UNDERSCORE): Re-enable.
- (USER_LABEL_PREFIX): Set to "_".
-
- The following patches are from: Scott Bambrough
-
- * libaout.h (M_ARM6_NETBSD): Set to 143.
-
- * reloc.c: Add ARM PIC relocs: BFD_RELOC_ARM_GOT12,
- BFD_RELOC_ARM_GOT32, BFD_RELOC_ARM_JUMP_SLOT, BFD_RELOC_ARM_COPY,
- BFD_RELOC_ARM_GLOB_DAT, BFD_RELOC_ARM_PLT32,
- BFD_RELOC_ARM_RELATIVE, BFD_RELOC_ARM_GOTOFF, BFD_RELOC_ARM_GOTPC.
- * bfd-in2.h: Regenerate.
-
- * elfarm-nabi.c (elf32_arm_howto_table): Set partial_inplace to
- 'true' as REL relocs are now being used. Add new PIC relocs:
- R_ARM_COPY, R_ARM_GLOB_DAT, R_ARM_JUMP_SLOT, R_ARM_RELATIVE,
- R_ARM_GOTOFF, R_ARM_GOTPC, R_ARM_GOT32, R_ARM_PLT32.
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Check byte order
- of targets.
- (elf32_arm_final_link_relocate): Change parameters so that entire
- reloc is passed. Add support for PIC relocs.
- (elf32_arm_relocate_section): Pass entire reloc to
- elf32_arm_final_link_relocate.
- (elf32_arm_check_relocs): Handle new PIC relocs.
- (elf32_arm_adjust_dynamic_symbol): New function.
- (elf32_arm_size_dynamic_sections): New function.
- (elf32_arm_discard_copies): New function.
- (elf32_arm_finish_dynamic_symbol): New function.
- (elf32_arm_finish_dynamic_sections): New function.
- (ELF_MAXPAGE_SIZE): Define.
- (bfd_elf32_bfd_reloc_type_lookup): Define.
- (elf_backend_relocate_section): Define.
- (elf_backend_adjust_dynamic_symbol): Define.
- (elf_backend_create_dynamic_sections): Define.
- (elf_backend_finish_dynamic_symbol): Define.
- (elf_backend_finish_dynamic_sections): Define.
- (elf_backend_size_dynamic_sections): Define.
- (elf_backend_plt_readonly): Define.
- (elf_backend_want_got_plt): Define.
- (elf_backend_want_plt_sym): Define.
-
-
- * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Make reginfo
- sections SEC_LINK_ONCE and SEC_LINK_DUPLICATES_SAME_SIZE.
- (_bfd_mips_elf_fake_sections): Likewise.
-
-
- * elfarm-oabi.c (bfd_elf32_arm_allocate_interworking_sections,
- bfd_elf32_arm_get_bfd_for_interworking,
- bfd_elf32_arm_process_before_allocation): Define to avoid clash
- with elfarm-nabi.c.
-
- * elf32-arm.h: Don't declare elf32_arm_info_to_howto.
- (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
- elf32_arm_find_nearest_line): Make them static.
-
-
- * elflink.h (elf_merge_symbol): Add pflags parameter. Change all
- callers. Do not merge a definition from a shared object with a
- weak undefined symbol.
- (elf_link_add_object_symbols): Do not change the symbol type or
- size if the old symbol overrides the new one.
-
-
- * config.bfd: Add support for strongarm target.
-
-
- * elf32-m68k.c (reloc_map): Use the correct types for the struct
- fields instead of unsigned char.
-
-
- * Makefile.am: Rebuild dependencies.
- * Makefile.in: Rebuild.
-
-
- * configure.in: Change AC_PREREQ to 2.13. Remove AM_CYGWIN32.
- Change AM_EXEEXT to AC_EXEEXT and AM_PROG_INSTALL to
- AC_PROG_INSTALL. Add comments to uses of AC_DEFINE.
- * acinclude.m4: Add comments to uses of AC_DEFINE.
- * acconfig.h: Remove.
- * configure: Rebuild with current autoconf/automake.
- * aclocal.m4: Likewise.
- * config.in: Likewise.
- * Makefile.in: Likewise.
-
-
- * libbfd.c (real_read): don't call fread for zero bytes. This
- covers up a bug (or misuse of bfd) that's exposed by Solaris.
-
-
- * elf32-mips.c (mips_elf_relocate_section): Insure that the target
- of a jump is in the current 256 MB region.
-
-
- * format.c (bfd_check_format_matches): Change last patch to only
- take effect for the binary target.
-
-
- * elf32-i386.c (elf_i386_reloc_type_lookup): Add BFD_RELOC_CTOR.
-
-
- * elf32-fr30.c (fr30_elf_check_relocs): New routine.
-
-
- * format.c (bfd_check_format_matches): If the target was
- previously specified, don't check other targets when checking for
- an archive file.
-
-
- * elf32-arm.h (elf32_arm_reloc_map): Removed.
- (elf32_arm_reloc_type_lookup): Removed
- * elfarm-nabi.c (elf32_arm_reloc_map): New.
- (elf32_arm_reloc_type_lookup): New.
- * elfarm-oabi.c (elf32_arm_reloc_map): New.
- (elf32_arm_reloc_type_lookup): New.
-
-
- * elfarm-nabi.c: Renamed from elf32-arm-newabi.c.
- * elfarm-oabi.c: Renamed from elf32-arm-oldabi.c
- * Makefile.am: Use new files.
- * Makefile.in: Regenerate.
- * configure.in: Use new files.
- * configure: Regenerate.
-
-
- * elf32-fr30.c (fr30_elf_gc_mark_hook): New function.
- (fr30_elf_gc_sweep_hook): New function.
- (elf_backend_can_gc_sections): Define.
-
-
- * targets.c (bfd_target_vector): Add bfd_elf32_littlearm_oabi_vec
- and bfd_elf32_bigarm_oabi_vec.
-
-
- * Makefile.am (elf32-arm-oldabi.lo): New.
- (elf32-arm-newabi.lo): New.
- * Makefile.in: Regenerate.
- * config.bfd (thumb-*-elf): Remove definition of targ_underscore.
- (arm-*-elf): Likewise.
- (arm-*-oabi): New.
- (thumb-*-oabi): New.
- * configure: Regenerate.
- * configure.in (bfd_elf32_littlearm_oabi_vec): New.
- (bfd_elf32_bigarm_oabi_vec): New.
- * elf32-arm-newabi.c: New.
- * elf32-arm-oldabi.c: New.
- * elf32-arm.c: Removed.
- * elf32-arm.h: New.
-
-
- * binary.c (binary_set_section_contents): Omit warnings for
- unloadable sections.
-
-
- * config.bfd (powerpc{,le}-*-vxworks*): Add aliases to
- powerpc{,le}-*-eabi.
-
-
- * dwarf2.c (read_unsigned_leb128): Remove unused variables.
- * dwarf2.c (read_signed_leb128): Remove unused variables.
-
-
- * elf.c (assign_file_positions_for_segments): Only adjust
- p_align when needed.
-
-
- * binary.c (binary_set_section_contents): Don't return early for a
- non-loadable section, in case the first section is non-loadable.
- Don't set the low lma for a SEC_NEVER_LOAD section. From Maciej
-
-
- * elf32-fr30.c (fr30_reloc_map): Add R_FR30_GNU_VTINHERIT and
- R_FR30_GNU_VTENTRY relocs.
-
-
- * elflink.h (elf_link_output_sym): Zero syms which are
- part of sections which have been excluded.
-
-
- * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed F_PIC
- to F_PIC_INT.
- * coffcode.h (coff_set_arch_mach_hook): Removed F_ARM_2a and
- F_ARM_3M labels. Changed F_PIC to F_PIC_INT.
-
-
- * elf32-fr30.c (fr30_elf_howto_table): Fix name of R_FR30_48
- relocation.
- (fr30_final_link_relocate): Use computed value as result of
- relocation.
-
-
- * binary.c (binary_set_section_contents): Emit warning for
- huge file offsets due to widely-dispersed section LMAs.
-
-
- * elf.c (assign_file_positions_for_segments): If not D_PAGED,
- align first section to largest section alignment, not first
- section alignment.
-
-
- * configure.in: Require autoconf 2.12.1 or higher.
-
-
- * archures.c (bfd_mach_i386_i386_intel_syntax): Define.
- * bfd-in2.h: Likewise.
- * cpu-i386.c (bfd_i386_arch_intel_syntax): New.
-
-
- * archures.c,bfd-in2.h (bfd_mach_mips4111): New.
- * cpu-mips.c: Add support for and independent 4111.
- * elf32-mips.c (elf_mips_mach): E_MIPS_MACH_4111 -> bfd_mach_mips4111.
- (_bfd_mips_elf_final_write_processing):
- bfd_mach_mips4111 -> E_MIPS_ARCH_3 | E_MIPS_MACH_4111.
-
-
- * elf32-mips.c (elf_mips_abi_name): New.
- (_bfd_mips_elf_merge_private_bfd_data): Compare EF_MIPS_ABI flags.
-
-
- * elf32-mips.c (_bfd_mips_elf_final_write_processing):
- Handle bfd_mach_mips4300.
-
-
- * elf32-i386.c: Remove leaked development code from patch
- 1998-12-10 by Richard Henderson.
-
-
- * elf32-i386.c (elf_i386_relocate_section): Don't fail relocations
- in debug sections for symbol defined externally.
-
-
- * targets.c (bfd_target_vector): Remove duplicate entry for
- tekhex_vec.
-
-
- * elf32-fr30.c (fr30_elf_howto_table): Set src_mask fields to 0
- since we are using RELAs.
-
-
- SCO Open Server Release 5 core file support, from Jouke Numan
- * sco5-core.c: New file.
- * configure.in (i[3456]86-*-sco3.2v5*): Use sco5-core.lo.
- (sco5-core.lo): Define SCO5_CORE in COREFLAG.
- * Makefile.am: Rebuild dependencies.
- (OPTIONAL_BACKENDS): Add sco5-core.lo.
- (OPTIONAL_BACKENDS_CFILES): Add sco5-core.c.
- * bfd.c (struct _bfd): Add sco5_core_data field to tdata.
- * targets.c (sco5_core_vec): Add to target list if SCO5_CORE.
- * bfd-in2.h, configure, Makefile.in: Rebuild.
-
-
- * config.bfd (hppa*-*-mpeix*): New target.
- * configure.in: Add AC_HEADER_DIRENT.
- (hppa*-*-mpeix*): New target.
- * configure.host (hppa*-*-mpeix*): New host.
- * hpux-core.c: Check HOST_HPPAMPEIX. Use HAVE_DIRENT_H and
- friends rather than just including <sys/dir.h>.
- * som.h (struct som_symbol): Add hppa_priv_level and apto
- tc_data. Change all users.
- (struct somdata): Add comp_unit field.
- (obj_som_compilation_unit): Define.
- (bfd_som_attach_compilation_unix): Declare.
- * som.c: Check HOST_HPPAMPEIX.
- (struct som_misc_symbol_info): Add new field priv_level.
- (som_object_setup): Add current_offset parameter. Change all
- callers.
- (setup_sections): Likewise.
- (som_object_p): For EXECLIBMAGIC, read the lst header.
- (som_write_symbol_strings): Add compilation_unit parameter.
- Change all callers.
- (som_finish_writing): Write out compilation_unit.
- (som_bfd_derive_misc_symbol_info): Set priv_level.
- (som_build_and_write_symbol_table): Set xleast field to 3.
- (som_slurp_symbol_table): Set symbol priv_level.
- (bfd_som_attach_compilation_unit): New function.
- (som_bfd_ar_write_symbol_stuff): Set xleast field to 3. Set
- priv_level into symbol_value.
- * configure, config.in: Rebuild.
-
-
- * hpux-core.c (hpux_core_core_file_p): Change call to nonexistent
- warning function to call _bfd_error_handler instead.
-
- * libbfd.c (COERCE32): Cast through unsigned long and long to
- avoid bug in old version of gcc.
-
- * elf64-alpha.c (elf64_alpha_additional_program_headers): Remove.
- (elf_backend_additional_program_headers): Don't define.
-
-
- * elf32-fr30.c (fr30_final_link_relocate): Fix PC relative
- relocations to include offset of 2 included in the insns, and the
- offset of the relocs within the section.
-
-
- The following changes were made by David Taylor
- changes originally made by HP; HP did not create ChangeLog
- entries.
-
- * aclocal.m4, configure, Makefile.in: Rebuilt using latest
- automake macro library.
-
- * hpux-core.c (hpux_core_core_file_p): this function now
- understands HPUX 10.30 thread info. Yes, the thread stacks can be
- found in the corefile! Also, in hpux_core_core_file_p, if we
- encounter a section with an unknown type, don't punt. Instead,
- just skip it. Also, count the number of sections of known type
- that we encounter. If we encounter at least one good one, then
- we'll declare that the file is a core file. If we encounter any
- unknown ones but some known ones, then we'll issue a warning (but
- still declare it to be a core file). Also, correctly decide when a
- file is not a core.
- (PROC_INFO_HAS_THREAD_ID): define if CORE_ANON_SHMEM defined.
- (CORE_ANON_SHMEM): define if not defined.
- (hpux_core_struct): add members lwpid and user_tid.
- (core_kernel_thread_id, core_user_thread_id): new macros.
- (make_bfd_asection): use bfd_alloc to allocate room for a copy of
- the name before storing it in the bfd.
- (hpux_core_core_file_p): handle threads.
-
- * libhppa.h (GET_FIELD): protect against redefinition.
- (HPPA_WIDE): define.
- (GET_FIELD): define.
- (GET_BIT): define.
- (MASK): define.
- (CATENATE): define.
- (ELEVEN): define.
- (sign_extend): redefine.
- (assemble_6): define.
- (assemble_12): rewrite.
- (assemble_16): define.
- (assemble_16a): define.
- (assemble_17): rewrite.
- (assemble_22): define.
-
-
- * elf32-fr30.c (fr30_final_link_relocate): Using signed
- relocations for signed values.
-
-
- * mipsbsd.c (MY(set_arch_mach)): Make static.
- * aoutx.h (NAME(aout,machine_type)): For bfd_arch_mips, use
- bfd_mach_mips* macros rather than simple numbers.
-
- COFF weak symbol support, based on patches from Mark Elbrecht
- * coffcode.h (coff_slurp_symbol_table): Handle C_WEAKEXT.
- * coffgen.c (coff_renumber_symbols): Handle weak symbols.
- (coff_write_alien_symbol): Likewise.
- * cofflink.c (coff_link_check_ar_symbols): Likewise.
- (coff_link_add_symbols): Likewise.
- (_bfd_coff_link_input_bfd): Likewise.
- (_bfd_coff_write_global_sym): Likewise.
-
- * elf.c (copy_private_bfd_data): Always initialize the
- includes_phdrs field.
-
- * elflink.h (elf_fix_symbol_flags): Check for case where a non-ELF
- file defines a symbol first mentioned in an ELF file.
-
- * bfd-in.h: Always define BFD_HOST_64_BIT and BFD_HOST_U_64_BIT if
- possible, rather than only if BFD64.
- * elflink.h (compute_bucket_count): Just check BFD_HOST_U_64_BIT,
- not __GNUC__.
- * bfd-in2.h: Rebuild.
-
- * srec.c (srec_set_section_contents): Correct test to avoid
- switching to 4 byte addresses after seeing a second section which
- requires 3 byte addresses. From Joel Schantz
-
- * config.bfd (m68*-*-gnu*): New target. From Aymeric Vincent
-
-
- * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Fix logic to
- decide whether the output file is -mrelocatable-lib,
- -mrelocatable, or neither. (gdb.base/nodebug.exp)
-
-
- * elf32-fr30.c: Add support for R_FR30_48 reloc.
- * reloc.c: Add BFD_RELOC_FR30_48 relocation.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate
-
-
- * elflink.h (elf_adjust_dynamic_symbol): Warn on an attempt to
- link against a dynamic symbol with no type or size.
-
-
- * elf32-i386.c (i386_check_relocs) [R_386_32]: Don't emit
- relocation for section which does not get loaded.
- (elf_i386_relocate_section) [R_386_32]: Likewise.
-
-
- * coff-h8300.c (h8300_bfd_link_add_symbols): Make reloc_size,
- reloc_count and i long instead of unsigned long. Handle error
- return from bfd_canonicalize_reloc.
-
-
- * elf32-v850.c (v850_elf_relocate_section): Detect the absence of
- a hash table.
-
-
- * elf32-sh.c (elf/sh.h): Include.
- sh_reloc_type: Delete. Changed all references to elf_sh_reloc_type.
- (sh_elf_howto_tab): Add HOWTO for R_SH_SWITCH8.
- (sh_reloc_map): Map BFD_RELOC_8_PCREL to R_SH_SWITCH8.
- (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
- * Makefile.in: Add dependency of elf32-sh.lo on $(INCDIR)/elf/sh.h.
-
-
- * elflink.h (compute_bucket_count): Don't allow minsize==0, it
- causes division by zero later on.
-
-
- * elf32-fr30.c (fr30_elf_pc9_reloc,fr30_elf_pc12_reloc): Not
- needed.
-
-
- * coff-i386.c (i3coff_object_p): Remove hack. Use new emulation
- hook now.
-
-
- * elf32-fr30.c (fr30_elf_relocate_section): Call
- fr30_final_link_relocate.
- (fr30_final_link_relocate): New function: Handle I20 and I32
- relocs.
- (fr30_elf_i32_reloc): New function: Handle I32 relocs.
- (fr30_elf_pc9_reloc): New function: Handle 9_PCREL relocs.
- (fr30_elf_pc12_reloc): New function: Handle 12_PCREL relocs.
-
- * elf32-v850.c (v850_elf_relocate_section): Reset hi16s reloc
- chain to empty.
-
- The following changes are based on a patch submitted by Gianluca
-
- (v850_elf_perform_relocation): Only update a hi16s reloc if it has
- not already been updated.
- (find_remembered_hi16s_reloc): New parameter 'already_found'
- returns state of remembered hi16s reloc.
- (remember_hi16s_reloc): Set 'found' field to false.
- (hi16s_location): Add 'found' field.
-
-
- * coff-i386.c (bfd_pe_dll_not_recognized_hack): the linker wants
- to see .DLL files as unrecognized.
- (i3coff_object_p): Sorry, had to hack it to not recognize these
- files (pei-i386) on request.
-
-
- * opncls.c (bfd_make_readable): need more cleanup for symbols and
- relents. Call bfd_check_format to reinitialize.
-
-
- * elf32-fr30.c (fr30_elf_relocate_section): Remove spurious
- warnings.
-
-
- * aclocal.m4: regenerate
- * configure: regenerate
-
-
- * elf-bfd.h (struct elf_link_hash_entry): Add vtable_entries_size.
- * elf.c (_bfd_elf_link_hash_newfunc): Clear it.
- * elflink.h (elf_gc_propagate_vtable_entries_used): Copy it, and
- respect it as an upper bound on what memory to reference.
- (elf_gc_smash_unused_vtentry_relocs): Likewise.
- (elf_gc_record_vtentry): Handle as-yet undefined vtables. Set and
- update vtable_entries_size appropriately.
-
-
- * elf32-fr30.c (fr30_reloc_type_lookup): Used integers to hold
- reloc number.
-
-
- * archive.c (bfd_ar_hdr_from_filesystem): support BFD_IN_MEMORY
- bfds; they have no "file" so we fake it.
- * bfd-in2.h: add bfd_make_writable and bfd_make_readable (regen)
- * libbfd.c (bfd_write): Allow writing to BFD_IN_MEMORY bfds by
- resizing the memory buffer.
- * opncls.c (bfd_make_writable): New function; lets you write a
- bfd_create'd bfd to an in-memory buffer.
- (bfd_make_readable): New function; lets you read back that buffer
- as if it were from bfd_openr. Used to build generated archive
- members (winsup's ld's dlltool)
-
-
- * po/bfd.pot: Regenerated.
-
-
- * elf32-v850.c (hi16s_location): Replaced fixed size array with
- linked list.
-
-
- * elf64-alpha.c (elf64_alpha_relax_section): Search for the proper
- element of the gotentry list for local symbols too.
- (elf64_alpha_relocate_section): Unify local and global handling.
- Assert that gotent->use_count > 0.
-
-
- * configure.in (vms_alpha_vec): Rename from evax_alpha_vec, and
- update for file name changes of July 2, 1998.
- (vms_vax_vec): New.
- * configure: Rebuild.
-
-
- * po/bfd.pot: Regenerated.
-
-
- * acinclude.m4, config.bfd: detect cygwin* instead of cygwin32*.
- * aclocal.m4, configure: regenerate
-
-
- * elf.c (prep_headers): Add support for bfd_arch_fr30.
-
-
- * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE,
- BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): didn't define macro when value
- was cached.
- * aclocal.m4, configure: regenerated.
-
-
- * elf32-d10v.c (reloc_type): Add R_D10V_GNU_VTINHERIT and
- R_D10V_GNU_VTENTRY relocs.
- (elf_d10v_howto_table): Likewise.
- (d10v_reloc_map d10v_reloc_map): Likewise.
- (elf32_d10v_gc_mark_hook): New.
- (elf32_d10v_gc_sweep_hook): New.
- (elf32_d10v_check_relocs): New.
- (elf32_d10v_relocate_section): New.
- (elf_backend_relocate_section): Define.
- (elf_backend_can_gc_sections): Define.
-
-
- * Makefile.am (BFD32_BACKENDS): Move vms files here...
- (BFD64_BACKENDS): ...from here.
- (BFD32_BACKENDS_CFILES): Move vms files here...
- (BFD64_BACKENDS_CFILES): ...from here.
- * Makefile.in: Rebuild.
-
-
- * Makefile.am: Add FR30 target.
- * Makefile.in: Add FR30 target.
- * archures.c: Add support for FR30.
- * config.bfd: Add support for FR30.
- * configure.in: Add support for FR30.
- * reloc.c: Add support for FR30 relocations.
- * targets.c: Add support for FR30 relocations.
- * bfd-in2.h: Regenerate.
- * configure: Regenerate.
- * libbfd.h: Regenerate.
- * cpu-fr30.c: New file.
- * elf32-fr30.c: New file.
-
-
- * configure.in: detect cygwin* instead of cygwin32*
- * configure: regenerate
-
-
- * elf-m10300.c (mn10300_elf_relax_section): Do not use alloca,
- use bfd_malloc and free instead and check return value from bfd_malloc.
-
-
- * libbfd-in.h (_bfd_dwarf1_find_nearest_line): Declare.
- * libbfd.h: Rebuild.
-
- * elf32-mips.c (mips_elf_dynsym_sec_names): Comment out.
- (SIZEOF_MIPS_DYNSYM_SECNAMES): Likewise.
- (MIPS_TEXT_DYNSYM_SECN): Likewise.
- (_bfd_mips_elf_fake_sections): Don't set sh_info field of a .hash
- section.
- (struct mips_elf_link_hash_table): Remove dynsym_sec_strindex
- field.
- (mips_elf_link_hash_table_create): Don't initialize
- dynsym_sec_strindex.
- (mips_elf_gc_mark_hook): Add default case to avoid warning.
- (mips_elf_size_dynamic_sections): Generate a section symbol for
- every output section.
- (mips_elf_finish_dynamic_sections): Count all sections for
- DT_MIPS_UNREFEXTNO.
- (mips_elf_finish_dynamic_sections): Use dynamic symbols for all
- output sections.
-
-
- * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Allocate two slots
- for later PLT entries in large PLTs.
- (ppc_elf_finish_dynamic_symbol): Allow for the extra slots.
-
-
- * elf32-ppc.c (ppc_elf_reload_section): Fix typo.
-
-
- * elf-bfd.h (struct elf_link_hash_entry): Add new field elf_hash_value.
- * elflink.h (elf_collect_hash_codes): New function. This function is
- called for each exported symbol and we compute the ELF hash value for
- it.
- (compute_bucket_value): New function. It is called from
- size_dynamic_sections to determine the hash table size. When we are
- optimizing a better, but slower, algorithm is used.
- (size_dynamic_sections): Call compute_bucket_value.
-
- * elf.c (bfd_elf_hash): Optimize the hash function a bit.
-
-
- * elf32-sh.c: Add HOWTO entries for R_SH_GNU_VTINHERIT and
- R_SH_GNU_VTENTRY.
- (sh_elf_gc_mark_hook): New.
- (sh_elf_gc_sweep_hook): New.
- (sh_elf_check_relocs): New.
- (elf_backend_can_gc_sections): Define.
-
-
- * acinclude.m4: undo previous gettext change
- * aclocal.m4: rebuild with right version of aclocal.
-
-
- * acinclude.m4, aclocal.m4: move gettext-related fragments from
- aclocal.m4 to acinclude.m4, so they don't get lost.
-
- * elfcore.h: rewrite for better corefile support.
- * elf.c (elfcore_*): new functions.
- * elf-bfd.h (elf_obj_tdata): new structure members.
- * acconfig.h, acinclude.m4, configure.in: add feature-tests for
- flavor of procfs.
- * aclocal.m4, config.in, configure, Makefile.in: regenerated.
-
-
- * elf32-m32r.c: Add HOWTO entries for R_M32R_GNU_VTINHERIT
- and R_M32R_GNU_VTENTRY.
- (elf_backend_can_gc_sections): Define.
- (m32r_elf_check_relocs): New.
- (m32r_elf_gc_mark_hook): New.
- (m32r_elf_gc_sweep_hook): New.
- (m32r_elf_relocate_section): Handle VT relocs.
-
-
- * coff-arm.c (arm_relocate_section): Remove redundant test.
-
- * bfd-in2.h (struct reloc_howto_struct): Improve comment to make
- cleat that the 'bitsize' field is the size of the bitfield AFTER
- relocation not before.
-
- * elf32-m32r.c (R_M32R_18_PCREL): Fix size of bitfield.
-
- * coff-mips.c (mips_relocate_hi): Cope with missing refhi or reflo
- relocs.
-
-
- * elf32-sparc.c: Add HOWTO entries for R_SPARC_GNU_VTINHERIT and
- R_SPARC_GNU_VTENTRY.
- (elf32_sparc_check_relocs): Handle them.
- (elf32_sparc_reloc_type_lookup): Likewise.
- (elf32_sparc_relocate_section): Likewise.
- (elf32_sparc_gc_mark_hook): New.
- (elf32_sparc_gc_sweep_hook): New.
-
-
- * som.c (som_finish_writing): Perform some sanity checks when
- writing an executable or shared library.
-
-
- * dwarf1.c : New file. Adds _bfd_dwarf1_find_nearest_line.
- * configure.in (elf): Add dwarf1.lo.
- * elf_bfd.h (elf_ob_tdata): Add dwarf1_find_line_info.
- * elf.c (_bfd_elf_find_nearest_line): Add call to
- _bfd_dwarf1_find_nearest_line.
- * elf32-mips.c (_bfd_mips_elf_find_nearest_line):
- Add call to _bfd_dwarf1_find_nearest_line.
- * configure: Rebuilt.
-
-
- * elflink.h (elf_gc_sections): Do not allow garbage
- collection if dynamic sections have been created.
-
-
- * elf32-v850.c: Add HOWTO entries for R_V850_GNU_VTINHERIT and
- R_V850_GNU_VTENTRY.
- (v850_elf_check_relocs): Handle VTINHERIT and VTENTRY relocs.
- (v850_elf_perform_relocation): Likewise.
- (v850_elf_final_link_relocate): Likewise.
- (v850_elf_relocate_section): Likewise.
- (v850_elf_gc_sweep_hook): New routine.
- (v850_elf_gc_mark_hook): New routine.
- (elf_backend_can_gc_sections): Define.
-
-
- * elf32-m68k.c (elf_m68k_gc_sweep_hook): Don't assume
- that dynobj exists.
-
-
- * rs6000-core.c (rs6000coff_core_file_matches_executable_p):
- Declare size as bfd_size_type.
- (rs6000coff_get_section_contents): Declare count as bfd_size_type.
-
-
- * cpu-hppa.c (bfd_hppa20_arch): Define. Link it into the bfd_hppa_arch
- structure.
- * som.c (CPU_PA_RISC2_0): Define.
- (_PA_RISC2_0_ID): Likewise.
- (som_finish_writing): Use CPU_PA_RISC2_0 for the system_id as needed.
-
-
- * elflink.h (elf_link_add_object_symbols): When a versioned symbol
- has a base which is already defined, only add the referenced
- symbol to the dynamic symbol table if it is defined or referenced
- by a regular file.
-
- * elf32-i386.c (elf_i386_info_to_howto_rel): Handle vtable relocs
- correctly.
-
-
- * elflink.h (elf_link_add_object_symbols): Undo last change.
-
-
- * elflink.h (elf_link_add_object_symbols): Don't record a dynamic
- symbol for the indirect alias to a versioned symbol.
-
-
- * elf32-i386.c (elf32_i386_vtinherit_howto): New.
- (elf32_i386_vtentry_howto): New.
- (elf_i386_reloc_type_lookup): Return elf32_i386_vtentry_howto
- or elf32_i386_vtinherit_howto on lookup.
-
-
- * elf32-m68k.c: Include "elf/m68k.h". Remove definition of enum
- reloc_type. Rename R_68K__max to R_68K_max.
- (howto_table): Use _bfd_elf_rel_vtable_reloc_fn for a VTENTRY
- reloc.
-
-
- * libbfd.c (bfd_getb32): Rewrite expression to get better code.
- (bfd_getl32, bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
-
- * libbfd.c (bfd_log2): Cast to bfd_vma before shifting, not
- after.
-
-
- * elflink.h (elf_link_add_object_symbols): Ensure that the warning
- message has a null byte terminator.
-
-
- * elf32-v850.c (v850_elf_perform_relocation): Ignore contents of
- word subject to R_V850_32 relocation.
-
-
- * dwarf2.c: Add comment describing problem computing line numbers
- for undefined symbols at link time.
-
-
- * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
- transform a defweak into a plt entry.
- (elf64_alpha_calc_dynrel_sizes): Allow room for secondary
- plt entry references to receive a RELATIVE reloc.
- (elf64_alpha_finish_dynamic_symbol): Fill them in.
- (elf64_alpha_relocate_section): Assert we don't overrun
- the allocated relocation space.
-
-
- * elf.c (swap_out_syms): Always treat section symbols as
- special, even if they are attached to a common section.
-
-
- * elf32-v850.c (v850_elf_symbol_processing): Move symbols in
- sections with v850 common section attributes into named v850
- common sections.
- (v850_elf_add_symbol_hook): Move symbols in sections with v850
- common section attributes into named v850 common sections.
-
-
- * elf32-arm.c (elf32_arm_gc_mark_hook): Remove print
- statement.
-
-
- * elf32-ppc.c (ppc_elf_relocate_section): Reverse output_offset
- part of Vladimir's change of 1998-08-19. Make a R_PPC_SDAREL16
- reloc to the wrong section a warning, not an error. .dynsbss
- is not an output section, so there is no need to check for it.
-
-
- * elf-bfd.h: Add argument to elf_backend_get_symbol_type.
-
-
- * elf.c (swap_out_syms): Pass type to elf_backend_get_symbol_type.
- * elf32-arm.c: Add HOWTO entries for R_ARM_GNU_VTINHERIT and
- R_ARM_GNU_VTENTRY.
- (elf32_arm_gc_mark_hook): New.
- (elf32_arm_gc_sweep_hook): New.
- (elf32_arm_check_relocs): New.
- (elf32_arm_final_link_relocate): Handle VTINHERIT and VTENTRY
- relocations.
- (elf32_arm_relocate_section): Handle VTINHERIT and VTENTRY
- relocations.
-
-
- * elf32-ppc.c (ppc_elf_relocate_section): If dynobj is NULL,
- assume there is no PLT or GOT.
-
-
- * elf32-arm.c (elf32_arm_find_nearest_line): New function: just
- like _elf_bfd_find_nearest_line() except that STT_ARM_TFUNC is
- also accepted as a function symbol type.
-
-
- * rs6000-core.c (_LONG_LONG): Define for AIX 4.x only.
-
-
- * libbfd-in.h (_bfd_nolink_bfd_gc_sections): Correct definition to
- match definition of _bfd_gc_sections field.
- * libbfd.h: Rebuild.
-
-
- * elf32-sparc.c (elf32_sparc_relocate_section): Properly adjust
- the addend of a dynamic relocation referencing a section.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- (sparc64_elf_finish_dynamic_symbol): Fix the PLT relocation offset.
-
-
- * elflink.h (bfd_elfNN_size_dynamic_sections): Verify that the
- bed has a size_dynamic_sections routine before trying to use it.
-
-
- * elf32-mips.c (elf_mips_gnu_vtentry_howto): Use
- _bfd_elf_rel_vtable_reloc_fn.
-
-
- * Makefile.am: Add elf32-arm.c.
- * Makefile.in: Rebuild.
- * elf-bfd.h: Add elf_backend_get_symbol_type.
- * elf.c (swap_out_syms): If defined, call
- elf_backend_get_symbol_type.
- * elf32-arm.c: Define elf_backend_get_symbol_type.
- (elf32_arm_get_symbol-type): New routine.
- (record_thumb_to_arm_glue): Change to use STT_ARM_TFUNC.
- (bfd_elf32_arm_process_before_allocation): Change to
- check for STT_ARM_TFUNC.
- (elf32_arm_final_link_relocate): Likewise.
- * elfxx-target.h: Add elf_backend_get_symbol_type.
-
-
- * archures.c (bfd_mach_alpha_ev[456]): New.
- * cpu-alpha.c: Rework to match these types.
- * bfd-in2.h: Rebuild.
-
-
- * elf-bfd.h (_bfd_elf_rel_vtable_reloc_fn): Declare.
- * elf.c (_bfd_elf_rel_vtable_reloc_fn): New.
-
- * elf32-i386.c (elf_howto_table): Add vtable relocs.
- (elf_i386_reloc_type_lookup): Recognize them.
- (elf_i386_check_relocs): Pass them off to generic code.
- (elf_i386_relocate_section): Ignore them.
- (elf_i386_gc_mark_hook, elf_i386_gc_sweep_hook): New.
- (elf_backend_can_gc_sections): True.
-
-
- * elf32-arm.c (elf32_thumb_to_arm_stub): Check sym_sec is not NULL
- before looking at owner field.
- (elf32_arm_to_thumb_stub): Ditto.
- (elf32_arm_relocate_section): Compute name before calling
- elf32_arm_final_link_relocate().
-
-
- * elf.c: comment and formatting cleanups.
- * elfcore.h: ditto.
-
-
- * elfcode.h (elf_object_p): Reject files of header type ET_CORE
- (core files are treated differently than object files).
- * elf-bfd.h (_bfd_elf_write_corefile_contents,
- bfd_elf_mkcorefile): declare.
- * elfxx-target.h (_bfd_elf_write_corefile_contents,
- bfd_elf_mkcorefile): add to bfd_target vector.
- * elfcore.h (elf_core_file_p): save the program header table,
- and set the bfd architecture from the elf file header.
- * elf.c (bfd_elf_mkcorefile): new function.
- (_bfd_elf_write_corefile_contents): new function.
- (assign_file_positions_for_segments): add cases for handling
- PT_NOTE segments. (assign_file_positions_except_relocs):
- core files should be handled the same as exec files.
- (prep_headers): identify core files as type ET_CORE.
- (copy_private_bfd_data): identify the sections belonging to
- the PT_NOTE segment.
-
- * elf32-sparc.c (elf32_sparc_final_write_processing):
- add break statement to default case.
-
-
- * elf32-ppc.c (ppc_elf_relocate_section): Check that output
- section (not input) will be in sections ".sbss", ".sbss2",
- ".sdata", and ".sdata" for R_PPC_SDAREL16, R_PPC_EMB_SDA2REL,
- R_PPC_EMB_SDA21, R_PPC_EMB_RELSDA. In all these cases also ignore
- output_offset for correct evaluation of addend.
-
-
- * elf32-arm.c: Add prefix bfd_ to elf32_arm_get_bfd_for_interworking,
- elf32_arm_allocate_interworking_sections and
- elf32_arm_process_before_allocation.
-
-
- * bfd-in.h: Ammend prototype for
- elf32_arm_process_before_allocation to remove surplus third
- argument.
-
- * bfd-in2.h: Regenerate.
-
-
- * elf64-alpha.c (elf64_alpha_relax_section): Handle indirect symbols.
-
-
- * aoutx.h (aout_link_input_section_ext): Use the relocation already
- calculated for RELOC_SPARC_REV32 case.
-
-
- * bfd-in.h: Add prototypes for elf32_arm_get_bfd_for_interworking,
- elf32_arm_allocate_interworking_sections and
- elf32_arm_process_before_allocation.
- * bfd-in2.h: Regenerated.
- * elf32-arm.c Define elf32_arm_link_hash_table.
- (insert_thumb_branch): New routine.
- (find_thumb_glue): New routine.
- (find_arm_glue): New routine.
- (record_arm_to_thumb_glue): New routine.
- (record_thumb_to_arm_glue): New routine.
- (elf32_arm_link_hash_table_create): New routine.
- (elf32_arm_get_bfd_for_interworking): New routine.
- (elf32_arm_allocate_interworking_sections) New routine.
- (elf32_arm_process_before_allocation) New routine.
- (elf32_thumb_to_arm_stub): New routine.
- (elf32_arm_to_thumb_stub): New routine.
- (elf32_print_private_bfd_data): Fix typo.
- (elf32_arm_final_link_relocate): Add argument sym_sec.
- Check for branches to thumb symbols in case R_ARM_PC24.
- Check for branches to arm symbols in case R_ARM_THM_PC22.
- (elf32_arm_relocate_section): Pass symbol section to
- elf32_arm_final_link_relocate.
-
-
- * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Generate PLT
- entries unless the symbol is defined in the executable; in
- particular, undefined weak symbols get a PLT entry.
-
-
- * libaout.h: Remove nested comment to avoid warning.
-
-
- * elf32-arm.c (elf32_arm_final_link_relocate): Rework
- R_ARM_PC24 relocation.
-
-
- * elf32-arm.c (elf32_arm_final_link_relocate): Remove unused
- argument is_local. Add argument sym_flags. Check sym_flags
- in R_ARM_ABS32 case. Include addend for R_ARM_THM_PC22 case.
- (elf32_arm_relocate_section): Don't pass local sym and pass
- sym_flags to elf32_arm_final_link_relocate.
-
-
- * elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Correct last change
- to not count too few relocs for dynamicly linked executables.
-
-
- * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Never consider
- symbols without a dynamic index dynamic. Consider all weak
- symbols dynamic.
- (elf64_alpha_strip_section_from_output): Don't assume 1-1
- correspondance between input and output sections.
-
-
- * elflink.h (elf_gc_common_finalize_got_offsets): For backends
- that use a .got.plt section start the got offset at zero.
-
-
- * ieee.c (ieee_write_processor): Correct the processor ID written
- out for bfd_arch_m68k, accommodating change of March 25.
-
-
- * elf32-arm.c (elf32_arm_final_link_relocate): Rework
- R_ARM_THM_RPC22 relocations.
-
-
- * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Undef weak symbols
- are always dynamic.
- (elf64_alpha_calc_dynrel_sizes): Allow enough room for RELATIVE
- .got relocs in -Bsymbolic shared objects.
-
-
- * elf32-arm.c: Add private flags to ELF header.
- (elf32_arm_print_private_bfd_data): New Function.
- (elf32_arm_set_private_flags): New Function.
- (elf32_arm_copy_private_flags): New Function.
- (elf32_arm_merge_private_bfd_data): New Function.
-
-
- * elf32-sparc.c (elf32_sparc_check_relocs): Permit WPLT30 against
- a local symbol.
- (elf32_sparc_relocate_section): Likewise.
-
-
- * elf32-ppc.c (ppc_elf_check_relocs): Init sgot to NULL. Create the
- .got if any relocation referrs to _GLOBAL_OFFSET_TABLE_.
- (ppc_elf_relocate_section): Pull sgot and splt search to the start
- of the function. Recognize no .plt as static linking.
-
-
- * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Don't pass
- ".liblist" string through gettext.
-
-
- * Makefile.am: Add support for elf32-arm.lo.
- * Makefile.in: Rebuild.
- * config.bfd (arm-*-elf): Define targ_defvec and targ_selvecs.
- (thumb-*-elf): Define targ_defvec and targ_selvecs.
- * configure.in: Handle bfd_elf32_littlearm_vec and bfd_elf32_bigarm_vec.
- * configure: Regenerate.
- * elf.c: (prep_headers): Support arch_type of EM_ARM.
- * targets.c: Support new targets bfd_elf32_bigarm_vec and
- bfd_target bfd_elf32_littlearm_vec.
- * elf32-arm.c: New file.
-
-
- * libaout.h (M_SPARCLITE_LE): New machine.
- * sunos.c (MACHTYPE_OK): Add machine M_SPARCLITE_LE.
- * aoutf1.h (sunos_set_arch_mach): Add machine M_SPARCLITE_LE.
- (sunos_write_object_contents): Add machine bfd_mach_sparc_sparclite_le
- * aoutx.h (howto_table_ext): Add relocation R_SPARC_REV32.
- (NAME(aout,machine_type)) Add machine bfd_mach_sparc_sparclite_le
- (aout_link_input_section_ext): Add RELOC_SPARC_REV32 support.
- * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
- elf32_sparc_relocate_section): Rename R_SPARC_32LE to be R_SPARC_REV32
- * libbfd.h (bfd_reloc_code_real_names): Rename BFD_RELOC_SPARC_32LE to
- be BFD_RELOC_SPARC_REV32.
- * reloc.c: Ditto.
- * config.bfd (sparc86x-*-aout): New
-
-
- * linker.c (_bfd_generic_final_link): Allocate NULL symbol before
- actually mapping the output sections.
-
-
-
- * elf-m10300.c (mn10300_elf_howto): Add R_MN10300_24 entry.
- (mn10300_elf_reloc_map): Similarly.
- (mn10300_elf_final_link_relocate): Handle R_MN10300_24.
-
-
- * elf32-mips.c (elf_mips_howto_table): Add reloc types used on
- Irix 6.
- (bfd_elf32_bfd_reloc_type_lookup): Add default case.
- * elf64-mips.c: Replace all uses of mips_elf64_reloc_type with
- elf_mips_reloc_type defined in elf/mips.h.
-
-
- * elf64-mips.c: Remove reloc_type definition completely. It's now
- in elf/mips.h.
-
-
- * elf64-mips.c (mips_elf64_reloc_type): #if 0 out more relocations
- as they are defined in elf/mips.h now.
-
-
-
- * Re-add lost change:
- * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field
- "movm_stack_size".
- (mn10300_elf_relax_section): Include stack space for register saves
- in the imm8 field of a "call" instruction.
- (compute_function_info): Determine how much stack is allocated by
- the movm instruction. Fix typo.
- (elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size.
-
-
- * elf32-sparc.c (elf_backend_got_header_size): Define as 4.
- * elf64-sparc.c (elf_backend_got_header_size): Define as 8.
-
-
- * elf32-ppc.c: Change use of pp_reloc_type to elf_ppc_reloc_type.
-
-
- * elf32-hppa.h: Let ELF header define the enum containing the
- external reloc numbers.
- * elf32-i386.h: Likewise.
-
-
- * elf-m10300.c: Let ELF header now define the macros to get the enum.
- * elf32-mips.c: Likewise.
- * elf32-ppc.c: Likewise.
-
-
- * bfd-in2.h: Change type of 'class' parameter to 'unsigned int' in
- bfd_coff_set_symbol_class(), in order to avoid K&R compatability
- prblems.
- * bfd-in.h: Regenerate.
- * coffgen.c (bfd_coff_set_symbol_class): Change type of 'class'
- parameter to 'unsigned int' to avoid K&R compatability problems.
-
-
- * ieee.c (ieee_find_nearest_line): Change filename_ptr and
- functionname_ptr to be const. Change line_ptr to be unsigned.
-
- * coffcode.h (coff_link_output_has_begun): Simplify handling when
- macro is not defined. Change second parameter from bfd_link_info
- to coff_final_link_info. Add prototype.
- (coff_final_link_postscript): Simplify handling when macro is not
- defined. Add prototype.
-
-
- * elf-mn10300.c: Before include system specific ELF header define
- START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS.
- * elf32-mips.c: Likewise.
- * elf32-ppc.c: Likewise.
-
-
- * elf64-mips.c (mips_elf64_reloc_type): Copy Ulrich's elf32-mips.c
- temporary patch over to elf64-mips.c as well.
-
-
- * elf32-mips.c (reloc_type): Temporarily disable definition of
- standard relocation since they are now defined in elf/mips.h.
-
-
- * elf-m10200.c (mn10200_elf_final_link_relocate):
- Modify range test for case R_MN10200_8.
-
- * elf-m10300.c (mn10300_elf_final_link_relocate):
- Modify range test for case R_MN10300_8.
-
-
- * elf-bfd.h (struct elf_backend_data): Add got_ & plt_header_size.
- * elf32-i386.c (elf_backend_got_header_size): Define.
- (elf_backend_plt_header_size): Define.
- * elf32-m68k.c, elf32-mips.c, elf32-ppc.c: Likewise.
- * elf32-sparc.c, elf64-alpha.c, elf64-sparc.c: Likewise.
- * elfxx-target.h: Provide a default of zero.
- * elflink.c (_bfd_elf_create_got_section): Use got_header_size.
- * elflink.h (elf_gc_common_finalize_got_offsets): Likewise.
-
- * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't remove a PLT
- entry from an executable, even if the plt refcount goes to 0.
-
-
- * aoutx.h (NAME(aout,find_nearest_line)): Also remember the
- directory name at the line number.
-
- * elf.c (_bfd_elf_find_nearest_line): Also consider symbols
- with an unspecified type.
-
-
- * sunos.c: Add undef of valid to avoid problem on SunOS.
-
-
- * config.bfd (i?86-pc-beos{pe,elf,}*): Recognize.
-
-
- * elf32-m68k.c (elf_m68k_check_relocs): Also reference count
- R_68K_PCxx and R_68K_xx relocations. Make sure that
- ELF_LINK_HASH_NEEDS_PLT is always set for a PLT reloc reference.
- (elf_m68k_gc_sweep_hook): Also reference count R_68K_PCxx and
- R_68K_xx relocations.
- (elf_m68k_adjust_dynamic_symbol): Reset the plt offset of a symbol
- that has no plt entry.
- (elf_m68k_relocate_section): Ignore the plt offset in a static
- link.
- * elflink.h (elf_adjust_dynamic_symbol): Reset the plt offset for
- an ignored symbol.
- (elf_gc_common_finalize_got_offsets): Set the got offsets also in
- a static link.
-
- * elf32-m68k.c (R_68K_GNU_VTINHERIT, R_68K_GNU_VTENTRY): New reloc
- types.
- (howto_table, reloc_map): Add entries for them.
- (elf_m68k_check_relocs): Handle them. Implement reference
- counting for got and plt entries.
- (elf_m68k_gc_mark_hook, elf_m68k_gc_sweep_hook): New functions.
- (elf_m68k_adjust_dynamic_symbol): Handle unreferenced plt
- symbols.
- (rtype_to_howto_rel, elf_info_to_howto_rel): Delete.
- (elf_m68k_relocate_section): Handle the new reloc types.
- (bfd_elf32_bfd_final_link, elf_backend_gc_mark_hook,
- elf_backend_gc_sweep_hook, elf_backend_can_gc_sections): Define.
- * elflink.h (elf_link_add_object_symbols): When creating an
- indirect reference for symbol versioning also copy the plt
- offset.
- (elf_fix_symbol_flags): When clearing the ELF_LINK_HASH_NEEDS_PLT
- flag also reset the plt offset.
- (elf_link_assign_sym_version): Likewise.
- (elf_gc_common_finalize_got_offsets): Increment the got offset by
- the size of the entry in bytes.
- (elf_gc_allocate_got_offsets): Likewise.
-
-
- * elflink.h (elf_gc_sections): Return true rather than falling off
- the bottom.
-
- * coffgen.c (bfd_coff_set_symbol_class): Call bfd_alloc, not
- xmalloc.
-
-
- * coff-arm.c: Supress definition of TARGET_UNDERSCORE and add a
- comment describing when it should be enabled.
- Changed definition of USER_LABEL_PREFIX to "", to fall into line
- with GCC sources.
-
-
- * ieee.c (ieee_slurp_external_symbols): Handle call optimization
- information ATN records.
-
-
- * ieee.c (ieee_slurp_external_symbols): Select an appropriate
- section for an absolute symbol in a fully linked file. Based on
-
-
- * coff-m88k.c (m88k_special_reloc): Don't lose the information
- that a symbol is undefined.
-
-
- * som.c (som_bfd_gc_sections): Define.
-
-
- * coff-arm.c (aoutarm_std_reloc_howto): Do not complain about
- overflows in ARM_26D patches, since they have already been
-
-
- * coffcode.h (coff_write_object_contents): If we have any long
- section names, call coff_write_symbols even if there are no
- symbols.
-
-
- * elf.c (copy_private_bfd_data): Only set phdr_included once for a
- PT_LOAD segment, rather than only setting it once for the entire
- file.
-
- * elf.c (_bfd_elf_make_section_from_shdr): When setting the LMA,
- rather than ignoring every phdr with a p_paddr of 0, ignore all
- the phdrs if they all have a p_paddr of 0.
-
- * stabs.c (_bfd_write_stab_strings): Check whether the .stabstr
- section was discarded from the link.
-
-
- * coff-sh.c (sh_insn_uses_freg): Ignore lowest bit of register number.
-
-
- * coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with
- floating point operations.
-
-
- * cofflink.c (_bfd_coff_link_input_bfd): Skip undefined global
- function symbols.
-
-
- Merge of vax/vms (read-only) support
- * configure.com: Support Vax target.
- * makefile.vms: Support Vax target.
- * vms.h: Renamed from evax.h, merged vax/vms (read-only) support.
- * vms.c: Renamed from evax-alpha.c, merged vax/vms (read-only)
- support.
- * vms-hdr.c: Renamed from evax-emh.c, merged vax/vms (read-only)
- support.
- * vms-gsd.c: Renamed from evax-egsd.c, merged vax/vms (read-only)
- support.
- * vms-tir.c: Renamed from evax-etir.c, merged vax/vms (read-only)
- support.
- * vms-misc.c: Renamed from evax-misc.c, merged vax/vms (read-only)
- support.
- * libbfd.c (real_read): Use unbuffered read on VMS/Vax.
- * targets.c (bfd_target_ovax_flavour): New flavour.
- (vms_alpha_vec): Renamed from evax_alpha_vec.
- (vms_vax_vec): New.
- (target_vector): Update accordingly.
- * config.bfd (alpha*-*-*vms*): Use vms_alpha_vec, not
- evax_alpha_vec.
- (vax*-*-*vms*): New target.
- * Makefile.am: Update for renamed files. Rebuild dependencies.
- * bfd-in2.h: Rebuild.
- * configure.in, Makefile.in, aclocal.m4: Rebuild.
-
-
- * linker.c (_bfd_generic_final_link): Force a trailing NULL
- pointer on abfd->outsymbols.
- (generic_add_output_symbol): Handle NULL sym parameter.
-
-
- * elf.c (copy_private_bfd_data): Add support for changing VMA or
- LMA of sections.
-
-
- * coff-sh.c (sh_relax_delete_bytes): Correct address comparisons
- when handling 32 bit immediate relocs.
- * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
-
-
- * section.c (STD_SECTION): Account for recently added gc_mark
- field in struct asection.
-
- * elf-m10300.c (bfd_mn10300_elf_merge_private_bfd_data): New function.
- (bfd_elf32_bfd_merge_private_bfd_data): Define.
-
-
- ELF Section-level Garbage Collection:
- * bfd.c (bfd_gc_sections): New.
- * aout-adobe.c: Hook to default implementation.
- * aout-target.h, aout-tic30.c, binary.c, bout.c: Likewise.
- * coff-alpha.c, coff-mips.c, coff-rs6000.c, coffcode.h: Likewise.
- * evax-alpha.c, i386msdos.c, i386os9k.c, ieee.c: Likewise.
- * ihex.c, nlm-target.h, oasys.c, ppcboot.c, srec.c: Likewise.
- * tekhex.c, versados.c: Likewise.
- * libbfd-in.h (_bfd_nolink_bfd_gc_sections): New.
- * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_gc_sections.
-
- * reloc.c (BFD_RELOC_VTABLE_INHERIT, BFD_RELOC_VTABLE_ENTRY): New.
- (bfd_generic_gc_sections): New.
- * section.c (SEC_KEEP): New.
- (asection): Add gc_mark member.
-
- * elfcode.h (elf_gc*): New name remappings.
- * elflink.h (elf_link_input_bfd): Don't set contents on stabs
- sections to be excluded.
- (elf_gc_mark, elf_gc_sweep, elf_gc_sweep_symbol): New.
- (elf_gc_propogate_vtable_entries_used): New.
- (elf_gc_smash_unused_vtentry_relocs): New.
- (elf_gc_sections, elf_gc_record_vtinherit, elf_gc_record_vtentry): New.
- (elf_gc_common_finalize_got_offsets): New.
- (elf_gc_allocate_got_offsets, elf_gc_common_final_link): New.
- * elfxx-target.h: Add and default gc hooks.
-
- * elf-bfd.h (struct elf_link_hash_entry): Swap got_offset/plt_offset
- for unions.
- (struct elf_obj_tdata): Likewise for local_got_offsets.
- * elf.c, elf-i386.c, elf32-m68k.c, elf32-mips.c: Update all uses.
- * elf32-ppc.c, elf32-sparc.c, elf64-alpha.c: Likewise.
- * elf64-sparc.c, elflink.h: Likewise.
-
- * elf-bfd.h (struct elf_link_hash_entry): Add vtable members.
- (ELF_LINK_HASH_MARK): Define.
- (struct elf_backend_data): Add GC hooks.
- * elf.c (_bfd_elf_link_hash_newfunc): Zero vtable members.
-
- * elf-m10300.c (mn10300_elf_check_relocs): New.
- (mn10300_elf_gc_mark_hook): New.
- (R_MN10300_GNU_VTINHERIT, R_MN10300_GNU_VTENTRY): New.
- (elf_mn10300_howto, mn10300_reloc_map): Handle them.
- (mn10300_elf_final_link_relocate): Likewise.
- (mn10300_elf_relocate_section): Likewise.
- (elf_backend_can_gc_sections): Define.
- * elf32-mips.c (R_MIPS_GNU_VTINHERIT, R_MIPS_GNU_VTENTRY): New.
- (elf_mips_gnu_vtinherit_howto, elf_mips_gnu_vtentry_howto): New.
- (bfd_elf32_bfd_reloc_type_lookup): Handle them.
- (mips_info_to_howto_rel): Likewise.
- (mips_elf_relocate_section): Likewise.
- (mips_elf_check_relocs): Likewise.
- (mips_elf_gc_mark_hook, mips_elf_gc_sweep_hook): New.
- (elf_backend_can_gc_sections): Define.
- * elf32-ppc.c (R_PPC_GNU_VTINHERIT, R_PPC_GNU_VTENTRY): New.
- (ppc_elf_howto_raw): Handle them.
- (ppc_elf_reloc_type_lookup): Likewise.
- (ppc_elf_relocate_section): Likewise.
- (ppc_elf_check_relocs): Reference count .got and .plt entries.
- Handle new vtable relocs.
- (ppc_elf_adjust_dynamic_symbol): Recognize unused .plt entries.
- (ppc_elf_gc_mark_hook, ppc_elf_gc_sweep_hook): New.
- (elf_backend_can_gc_sections): Define.
-
-
- * archures.c (bfd_mach_mn10300): Define.
- * elf-m10300.c: Include elf/mn10300.h
- (elf_mn10300_mach): New function.
- (_bfd_mn10300_elf_final_write_processing): Likewise.
- (_bfd_mn10300_elf_object_p): Likewise.
- (elf_backendfinal_write_processing): Define.
- (elf_backend_object_p): Likewise.
-
-
- * elf32-v850.c (v850_elf_perform_relocation): Fix HI16_S
- relocation.
-
-
- * elflink.h (elf_bfd_final_link): Loop over input_bfds using the
- link_next field, not the next field.
-
-
- * elf.c (map_sections_to_segments): Check the section address
- against the phdr size both with and without a modulo of
- maxpagesize.
-
-
- * elf32-mips.c (mips_elf_size_dynamic_sections): Only strip a
- linker created empty input section if the output section has the
- same name.
-
- * elflink.h (elf_link_output_extsym): Print an error message if
- _bfd_elf_section_from_bfd_section fails.
-
- * elf.c (_bfd_elf_section_from_bfd_section): Call bfd_set_error on
- failure.
-
-
- * elf.c (copy_private_bfd_data): Improve handling of Solaris
- native linker output. Avoid putting an empty section in more than
- one segment.
-
-
- * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
- ($(PACKAGE).pot): Unconditionally depend on POTFILES.
-
-
- * elf.c (swap_out_syms): New arg relocatable_p.
- Don't add section VMA to symbols for relocatable output.
- (_bfd_elf_compute_section_file_positions): Update call to
- swap_out_syms.
-
-
- * elf32-v850.c (v850_elf_perform_relocation): Make comparisons
- against 'addend' be signed rather than unsigned.
-
-
- * elf32-m32r.c: Add prototyps for static functions.
-
- * coff-arm.c: Add prototypes for static functions.
-
-
- * elf.c (elf_sort_sections): Sort by LMA first then VMA, since the
- LMA is used to order sections in a segment.
-
- * elf32-v850.c: Add prototypes for static functions.
- Change type of addend parameter to bfd_vma in various functions.
-
-
- * aoutx.h (howto_table_ext): Change RELOC_BASE13 to use
- complain_overflow_signed instead of complain_overflow_bitfield.
-
-
- * elf.c (elf_map_symbols): Don't add section VMA to symbol value
- when comparing against 0.
-
-
- * Makefile.am (config.status): New target.
- * Makefile.in: Rebuild.
-
-
- * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Give an
- error if previous object endianness doesn't match current object.
-
-
- * elf32-v850.c (v850_elf_print_private_bfd_data): Call
- _bfd_elf_print_private)bfd_data ().
-
-
- * elflink.h (elf_merge_symbol): Don't always set type_change_ok
- and size_change_ok.
- (elf_link_add_object_symbols): Set type_change_ok and
- size_change_ok before calling elf_merge_symbol.
-
- * elf32-mips.c (mips_elf_relocate_section): If we issue an
- undefined symbol error, don't also issue an overflow error.
-
-
- * elf32-ppc.c (ppc_elf_relocate_section): The target of an
- R_PPC_LOCAL24PC relocation should be local; if not, print an error
- message instead of crashing.
-
-
- * archures.c (bfd_mach_cpu32): Define.
- (bfd_default_scan): Add case for 68060. Fix 68332 case to use
- bfd_mach_cpu32.
- * cpu-m68k.c (arch_info_struct): Add m68k:cpu32.
- * ieee.c: Include <ctype.h>.
- (ieee_object_p): Parse out process ID string to make it more
- likely to be acceptable for bfd_scan_arch.
- * bfd-in2.h: Rebuild.
-
-
- * elf32-m32r.c (m32r_elf_print_private_bfd_data): Also call
- _bfd_elf_print_private_bfd_data() so that the program header will
- be displayed.
-
-
- * peicode.h (coff_swap_sym_in): Check for C_SECTION rather than
- 0x68. Reindent. Add some comments.
-
-
- * elf.c (copy_private_bfd_data): Adjust physical address of
- segment in output BFD to contain LMAs of its sections.
-
-
- * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
- elf32_sparc_relocate_section): Added R_SPARC_32LE for little
- endian data 32 bit relocations.
- (elf32_sparc_merge_private_bfd_data): Check if linking little
- endian objects with big endian objects.
- (elf32_sparc_object_p): Set bfd_mach_sparc_sparclite_le.
- (elf32_sparc_final_write_processing): Set EF_SPARC_LEDATA in e_flags.
- * libbfd.h (bfd_reloc_code_real_names): Added BFD_RELOC_SPARC_32LE.
- * reloc.c: Same.
- * cpu-sparc.c (arch_info_struct): Added sparc:sparclite_le
- * archures.c (bfd_mach_sparc_sparclite_le): New.
- * bfd-in2.h (BFD_RELOC_SPARC_32LE, bfd_mach_sparc_sparclite_le): New.
-
-
- * peicode.h (add_data_entry): Fix precedence of operators in if ()
- statement.
-
-
- * bfd-in.h: Move over patch to bfd-in2.h.
-
- * reloc.c (bfd_check_overflow): Add casts before shifts which may
- not fit in 32 bits.
- (_bfd_relocate_contents): Likewise.
-
-
- * peicode.h (add_data_entry): If the section has no private data
- then do not create a Data Dictionary entry for it.
-
-
- * elf64-alpha.c (elf64_alpha_relax_section): Set again on changes.
- (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots,
- elf64_alpha_size_got_sections): Rewrite, handling multiple got
- subsections during relaxation more correctly.
-
-
- * bfd-in2.h: Add new prototype: bfd_coff_set_symbol_class ().
- Add extra argument to bfd_arm_process_before_allocation ().
- * bfd-in.h: Reflect changes made in bfd-in2.h.
- * coffgen.c (bfd_coff_set_symbol_class): New function. Set the
- coff class of a BFD symbol.
- * coff-arm.c: Add support for interworking between Thumb code and
- non-interworking aware ARM code.
-
-
- * po/Make-in (install-info): New target.
-
-
- * filemode.c: Remove; not used.
-
- If sysdep.h includes a header file, don't include it again:
- * aix386-core.c: Don't include <stdio.h>, <stddef.h>, or
- <errno.h>.
- * aoutx.h: Don't include <string.h>. Use "sysdep.h" rather than
- <sysdep.h>.
- * archive.c: Don't include <string.h> or <errno.h>.
- * evax-alpha.c; Don't include <stdio.h>.
- * evax-egsd.c: Likewise.
- * evax-etir.c: Likewise.
- * evax-misc.c: Likewise.
- * evax-emh.c: Likewise. Also, don't include <sys/types.h>.
- * hppabsd-core.c: Don't include <stdio.h>, <sys/types.h>, or
- <errno.h>.
- * hpux-core.c: Likewise.
- * netbsd-core.c: Likewise.
- * som.c: Likewise.
- * libbfd.c: Don't include <sys/types.h>.
- * nlmcode.h: Don't include <string.h>.
- * osf-core.c: Don't include <string.h> or <stdio.h>.
- * ptrace-core.c: Don't include <stdio.h>, <sys/types.h>,
- <errno.h>, or <unistd.h>.
- * trad-core.c: Don't include <stdio.h> or <sys/types.h>.
-
-
- * configure.com: If the version number can not be found in
- configure.in, set it to "unknown" rather than "2.8.1".
-
-
- * elf32-mips.c (elf_mips_mach): New.
- (_bfd_mips_elf_object_p): Use elf_mips_mach.
- (_bfd_mips_elf_final_write_processing): Use the names
- of machines, rather than the numbers. Set both the ARCH
- and MACH in e_flags. Handle a few more specific machines.
- (_bfd_mips_elf_merge_private_bfd_data): Merge both
- EF_MIPS_ARCH and EF_MIPS_MACH.
-
-
- * syms.c (bfd_is_local_label): Revert last change.
- * srec.c (srec_write_symbols): Discard debugging symbols.
-
-
- * som.c: Include <ctype.h>.
- * som.h: Don't include sysdep.h.
-
-
- * libbfd.h: Rebuilt.
- * libbfd-in.h: Removed gettext includes and defines.
- * sysdep.h: Moved gettext-related includes and defines here.
-
-
- * srec.c (srec_write_symbols): Use bfd_is_local_label rather than
- an ad-hoc test. Kill bogus #if 0 code.
- * syms.c (bfd_is_local_label): Consider BSF_DEBUGGING symbols local.
-
-
- * sunos.c (sunos_check_dynamic_reloc): Don't use the PLT address
- when generating a normal executable for a symbol defined in a
- regular file. When copying a reloc into the output file, adjust
- the addend for a PC relative reloc against a global symbol.
-
-
- * libbfd.h: Rebuilt.
- * libbfd-in.h (_): Define as dgettext.
-
-
- * coff-arm.c (coff_arm_relocate_section): Cast to bfd_signed_vma,
- not signed.
- * peicode.h (pe_saved_coff_bfd_print_private_bfd_data): Use PARAMS
- when declaring parameter types.
- (pe_saved_coff_bfd_copy_private_bfd_data): Likewise.
-
-
- * config.bfd: If we include any ELF targets in targ_defvec and/or
- targ_selvecs, then add the generic ELF targets to targ_selvecs.
- * elf32-gen.c (dummy): New static const variable.
- (elf_generic_info_to_howto): New static function.
- (elf_generic_info_to_howto_rel): New static function.
- (elf_info_to_howto): Define as elf_generic_info_to_howto.
- (elf_info_to_howto_rel): Define as elf_generic_info_to_howto_rel.
- * elf64-gen.c: Same changes as elf32-gen.c.
- * elfcode.h (elf_object_p): For the generic target, ignore a
- failure of bfd_default_set_arch_mach. Fix indentation a bit.
-
-
- * configure.in (WIN32LIBADD): Add -lintl on cygwin32.
- * configure: Rebuild.
-
-
- * config.bfd: Update OSR5/Unixware patterns.
-
-
- * elf.c (assign_file_positions_for_segments): Allow for holes
- between sections added by a link script.
-
-
- * configure.in: Change version number to 2.9.4
- * configure: Rebuild.
-
- * elf.c (bfd_elf_get_bfd_needed_list): New function.
- * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare.
- * bfd-in2.h: Rebuild.
-
-
- * elf64-alpha.c (struct alpha_relax_info): Replace elfsym with other.
- Change all users.
-
-
- * elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members.
- (elf64_alpha_relax_section): Fill them in.
- (elf64_alpha_relax_opt_call): Implement more than a stub.
- (elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default
- alignment on .scommon.
- (elf64_alpha_merge_gots): Merge use counts as well.
-
-
- * elf64-alpha.c (elf64_alpha_relax_section): Use the proper section
- for calculating a local symbol's address.
- (elf64_alpha_calc_got_offsets): Skip entries with 0 use count.
- Set the .got's cooked size as well as the raw size.
-
-
- * elf32-v850.c (v850_elf_print_private_bfd_data): Add
- internationalisation of printed information.
-
- * coff-arm.c (coff_arm_print_private_bfd_data): Add
- internationalisation of printed information.
-
-
- * syms.c (struct indexentry): Change directory_name, file_name,
- and function_name fields to char *.
- (struct stab_find_info): Change cached_file_name field to char *.
-
-
- * peicode.h (dir_names): Add missing N_() macros to dir_names array.
-
-
- * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
-
-
- * Makefile.am (install-data-local): Make $(includedir).
- * Makefile.in: Rebuild.
-
-
- * libbfd-in.h: Use `gettext' and not `dgettext' for now.
-
-
- * Makefile.am (INCLUDES): Add -I$(srcdir)/../intl -I../intl.
- * Makefile.in: Rebuild.
-
- * bfd-in2.h: Rebuild for Nick's changes.
-
-
- * archive.c (_bfd_generic_read_ar_hdr_mag): Fix lossage in last
- change wrt length == max_namelen.
-
-
- * Many files: Added gettext invocations around user-visible
- strings.
- * libbfd-in.h: Added gettext includes and defines.
- * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
- HAVE_LC_MESSAGES): Define.
- * configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and
- po/Makefile.
- * Makefile.am (SUBDIRS): Added po.
- (POTFILES): New macro.
- (po/POTFILES.in): New target.
- (SOURCE_HFILES): New macro.
- (HFILES): Use it.
- * po/Make-in, po/POTFILES.in, po/bfd.pot: New files.
-
-
- * elfcore.h (bfd_prstatus): Copy core_prstatus from the first
- NT_PRSTATUS note section encountered, it contains the status of
- the currently executing thread when the core file was written.
-
-
- * libcoff.h: Add extra parameter to
- bfd_coff_link_output_has_begun overrideable function.
- * cofflink.c: Pass extra parameter to
- bfd_coff_link_output_has_begun function.
- * bfd-in.h: Add prototypes for exported ARM interworking
- functions.
- * peicode.h: ARM specific code reorganised to conform to BFD
- coding conventions.
- * coffcode.h: ARM specific code reorganised to conform to BFD
- coding conventions.
- * coff-arm.c: Code reorganised to conform to the BFD coding
- conventions. Global variables have been moved into an ARM
- specific hash table structure and a new function:
- bfd_arm_get_bfd_for_interworking() has been created which is
- called from the linker scripts.
-
-
- * archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test.
-
- * elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from
- elf64_alpha_relax_find_reloc_ofs. Changed all callers.
- (elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss.
- (elf64_alpha_size_got_sections): Don't merge .got sections twice.
-
-
- * config.bfd: Added sparc86x support.
-
-
- * elf32-mips.c (mips_elf_relocate_section): Do not complain about
- an out of range pc-relative jump/call to an undefined weak symbol.
-
-
- * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp
- comparisons signed.
-
-
- * archive.c (bfd_generic_archive_p): If a slurp subroutine returns
- an error other than bfd_error_system_call, set the error to
- bfd_error_wrong_format.
-
- * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add
- bfd_elf32_powerpcle_vec.
-
- * elf.c (copy_private_bfd_data): If all the p_paddr fields in the
- program segments are zero, don't set p_paddr_valid.
-
-
- * elf64-alpha.c: Initial implementation of relaxation --
- (struct alpha_elf_link_hash_entry): Add use_count member.
- (elf64_alpha_check_relocs): Initialize and increment it.
- (elf64_alpha_can_merge_gots): Check it when considering merging.
- (elf64_alpha_merge_gots): Drop entries with zero use.
- (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
- (elf64_alpha_always_size_sections): Split out got sizing ...
- (elf64_alpha_size_got_sections): ... here. New function.
- (elf64_alpha_relax_find_reloc_ofs): New function.
- (elf64_alpha_relax_with_lituse): Likewise.
- (elf64_alpha_relax_without_lituse): Likewise.
- (elf64_alpha_relax_opt_call): Likewise.
- (elf64_alpha_relax_section): Likewise.
- (elf64_alpha_add_symbol_hook): Likewise.
- (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
- (elf64_alpha_relocate_section): Likewise.
- (bfd_elf64_bfd_relax_section): Define.
- (elf_backend_add_symbol_hook): Likewise.
-
-
- * elf.c (prep_headers): Use new EM_SPARCV9 symbol.
- * elf64-sparc.c (ELF_MACHINE_CODE): Likewise.
- (ELF_MACHINE_ALT1): New. Set to EM_OLD_SPARC64.
-
-
- * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32.
- * configure: Rebuild.
-
-
- * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@.
- (libbfd_la_LDFLAGS): Add @WIN32LDFLAGS@.
- * configure.in: Define and substitute WIN32LDFLAGS and
- WIN32LIBADD.
- * aclocal.m4: Rebuild with new libtool.
- * configure, Makefile.in: Rebuild.
-
-
- * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol
- before any other symbols in the same section.
-
-
- * config.bfd (powerpc*-*-*): Remove PowerPC NT support from ELF
- systems.
-
-
- * dwarf2.c (comp_unit): Move it earlier in the source. Add
- addr_size.
- (read_address): Replace 'bdf*' argument with 'comp_unit*' argument.
- Use addr_size for address size, rather than sizeof(bfd_vma).
- (read_attribute): Replace bdf* argument with 'comp_unit*' argument.
- Fix call to read_address.
- (decode_line_info): Replace bdf* argument with 'comp_unit*' argument.
- Scrap other unneeded arguments. Fix call to read_address.
- (scan_unit_for_functions): Fix call to read_attribute.
- (parse_comp_unit): We now handle more values for addr_size.
- Set addr_size in unit. Fix call to read_attribute and
- decode_line_info.
-
-
- * dwarf2.c (parse_comp_unit): Drop use of unit->name when it is null.
-
-
- * archures.c (bfd_default_scan): Add m68k cases back to default
- switch, reverting patch of March 25, since IEEE support depends
- upon them.
-
-
- * Makefile.am (diststuff): New target.
- * Makefile.in: Rebuild.
-
-
- * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of
- som_offset when we have an extended name table.
-
-
- * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before
- trying to copy it.
- * Makefile.in: Rebuild.
-
-
- * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section
- symbols when creating a shared library.
- (elf_m68k_adjust_dynindx): New function, used by above code.
- (elf_m68k_finish_dynamic_sections): Initialize the section
- symbols.
- (elf_m68k_relocate_section): Change abort to BFD_ASSERT.
-
-
- * coff-arm.c (in_reloc_p): Use ARM_RVA32 in place of constant
- value 11.
-
-
- * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix
- assertion.
-
-
- * elf-m10300.c (mn10300_elf_relax_section): Correctly handle
- absolute symbols.
-
-
- * configure.in: Set version to 2.9.1.
- * configure: Rebuild.
-
- * Branched binutils 2.9.
-
-
- * syms.c (ENABLE_CACHING): Define.
- (struct indexentry): Define.
- (struct stab_cache): Remove.
- (cmpindexentry): New static function.
- (struct stab_find_info): Add new fields: indextable,
- indextablesize, cached_indexentry, cached_offset, cached_stab, and
- cached_file_name. Remove fields: file_cache, function_cache, and
- line_cache.
- (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted
- index table and search it.
-
-
- * elf.c (_bfd_elf_copy_private_section_data): Call
- copy_private_bfd_data once we've seen the last SEC_ALLOC section.
-
- * cpu-mips.c: Remove trailing comma at end of enumeration list.
-
-
- * coff-arm.c: Define all globally visible variables and functions
- only when COFF_WITH_PE is not defined.
- * configure.in (armpe_little_vec, armpe_big_vec): Add
- coff-arm.lo.
- * configure: Rebuild.
-
-
- Fix some gcc -Wall warnings:
- * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings.
- * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise.
- * archures.c (bfd_default_scan): Likewise.
- * bfd.c (bfd_scan_vma): Likewise.
- * binary.c (mangle_name): Likewise
- * coff-arm.c (aoutarm_fix_pcrel_26): Likewise.
- * coff-sh.c (sh_relocate_section): Likewise.
- * coff-stgo32.c (create_go32_stub): Likewise.
- * coffcode.h (coff_slurp_line_table): Likewise.
- * ecoff.c (_bfd_ecoff_write_armap): Likewise.
- * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
- (assign_file_positions_for_segments): Likewise.
- * elf32-mips.c (mips_elf_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
- * oasys.c (oasys_write_sections): Likewise.
- * ppcboot.c (ppcboot_object_p): Likewise.
- (mangle_name): Likewise.
- * riscix.c (riscix_fix_pcrel_26): Likewise.
- * srec.c (srec_scan): Likewise.
- * stabs.c (_bfd_write_section_stabs): Likewise.
- * sunos.c (sunos_add_dynamic_symbols): Likewise.
- * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to
- switch. Declare parameters for function pointers.
- * archures.c (bfd_default_scan): Add braces to avoid ambiguous if
- warning.
- * elf.c (elf_sort_sections): Likewise.
- * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation.
- Add default cases to switches.
- (coff_arm_relocate_section): Remove unused local variables.
- Always set rstat.
- (coff_arm_bfd_set_private_flags): Change flag variable to type
- flagword.
- * coff-mips.c (mips_relocate_section): Initialize use_lo.
- * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int.
- (dump_toc): Change cat to const, and initialize it.
- * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff.
- * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
- (sh_elf_relocate_section): Initialize r_symndx.
- * coffcode.h (coff_compute_section_file_positions): Only declare
- old_sofar if ALIGN_SECTIONS_IN_FILE.
- (coff_write_object_contents): Initialize csym.
- * coffgen.c (coff_pointerize_aux): Make type and class unsigned.
- * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to
- switch.
- * dwarf2.c: Include libiberty.h.
- (read_2_signed_bytes, read_4_signed_bytes): Comment out.
- (decode_line_info): Remove unused local variables.
- * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise.
- (m32r_elf_relocate_section): Likewise.
- * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise.
- (v850_elf_reloc): Likewise.
- * elf-bfd.h (elf_linker_section_t): Make alignment unsigned.
- (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned.
- * elf.c (assign_file_positions_for_segments): Always set adjust.
- * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr. Fully
- parenthesize expression.
- * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h.
- (m32r_elf_object_p): Return a value.
- (m32r_elf_print_private_bfd_data): Change fprintf format string.
- * elf32-mips.c (mips_elf_final_link): Initialize last.
- (mips_elf_finish_dynamic_sections): Initialize last and dindx.
- * elf32-v850.c (v850_elf_object_p): Return a value.
- (v850_elf_print_private_bfd_data): Change fprintf format string.
- * elfcode.h (elf_slurp_symbol_table): Change symcount and i to
- unsigned long.
- * elflink.h (elf_link_add_object_symbols): Change vernum to
- unsigned int, and initialize it. Change fprintf format string.
- (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type
- when setting or comparing to soname_indx.
- (elf_create_pointer_linker_section): Change num_symbols to
- unsigned int.
- * libcoff-in.h (coff_data_type): Change flags to flagword.
- * peicode.h (pe_print_idata): Initialize idx. Change j to
- bfd_size_type. Initialize hint_member. Remove useless test to
- time_stamp.
- (pe_print_edata): Change num_functions and num_names in struct
- EDT_type to unsigned long. Remove cast. Change fprintf format
- string.
- * ppcboot.c (ppcboot_object_p): Change i to size_t.
- * reloc.c (bfd_get_reloc_size): Change return type to unsigned
- int.
- * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to
- int *. Update uses. Change j to long.
- * bfd-in2.h, libcoff.h: Rebuild.
-
-
- * elf32-v850.c Remove definition of USE_REL.
- (v850_elf_info_to_howto_rela): New function.
- (v850_elf_perform_relocation): Renamed from
- v850_elf_store_addend_in_insn. Removed replace argument.
- (v850_elf_reloc): store the relocation in the addend field instead
- of the insn.
- (v850_elf_final_link_relocate): Now calls
- v850_elf_perform_relocation.
- (v850_elf_relocate_section): Remove code to generate REL
- relocations.
-
-
- * coffcode.h (coff_new_section_hook): Set the type and storage
- class in the native symbol information allocated for a new section
- symbol.
-
-
- * peicode.h: Chain together calls to
- coff_bfd_copy_private_bfd_data and
- coff_bfd_print_private_bfd_data.
-
- * coff-arm.c: Add prototypes for
- coff_arm_bfd_print_private_bfd_data and
- coff_arm_bfd_copy_private_bfd_data.
-
-
- * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE
- build.
-
- * peicode.h: Call arm-coff private data functions after handling
- pe private data.
-
- * coff-arm.c: Turn statics into globals so that they can be shared
- both pe and pei backends.
-
-
- * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than
- plain numbers.
- (sunos_write_object_contents): Likewise.
- * aoutx.h (NAME(aout,machine_type)): Likewise.
- * coffcode.h (coff_set_arch_mach_hook): Likewise.
-
-
- * archures.c (bfd_mach_m68*): Add definitions for various m68k
- variants.
- (bfd_default_scan): Remove m68k special cases.
- * bfd-in2.h: Rebuild.
- * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather
- than plain numbers.
- * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
- * cpu-m68k.c (arch_info_struct): Likewise. Add entry for
- m68k:68000.
- (bfd_m68k_arch): Set mach field to zero to signal no explicit
- selection, change printable_name to just "m68k" and make that the
- default instead of m68k:68020.
-
- * aout-tic30.c (NAME): Define this to avoid multiple definitions
- from aoutx.h.
- (MY_get_section_contents): Define as aout_32_get_section_contents
- rather than NAME(aout,get_section_contents).
-
- * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast.
-
- * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha
- and call bfd_default_set_arch_mach to do the real work.
-
-
- * bout.c (BALX): Include return register g14 as part of the insn.
- (BALX_MASK): New.
- (calljx_callback): Use it.
-
-
- * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma.
- * libbfd.h: Rebuild.
-
- * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change
- byte_count to unsigned int.
- (mn10300_elf_relax_section): Initialize internal_relocs. Remove
- unused local variables.
-
- * evax-alpha.c (evax_close_and_cleanup): Remove unused local
- variables er and er1.
-
- * cpu-v850.c: Include <ctype.h>.
- (scan): Case isdigit argument to unsigned char.
-
- * ihex.c (ihex_scan): Add extbase variable so that getting an
- extended linear address record does not ignore any previous
- extended address.
- (ihex_write_object_contents): When writing out an extended linear
- address record, zero out any previous extended address.
-
-
- * ieee.c (do_one): Check section before dereferencing it.
- (ieee_canonicalize_reloc): Likewise with src->relent.sym_ptr_ptr.
- (ieee_generic_stat_arch_elt): Likewise with abfd->my_archive.
-
-
- * config.bfd: (sh*-*-rtems*): Switched from ELF to COFF.
-
-
- * coff-arm.c: Add interworking functions to pe backends.
-
-
- * configure.in: Use AM_DISABLE_SHARED.
- * aclocal.m4, configure: Rebuild with libtool 1.2.
-
-
- * coff-arm.c (coff_arm_relocate_section): Better error messages
- when interowrking conflucts occur. Courtesy of Jonathan Walton
- and Tony Thompson.
- (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted
- relocations. Patch courtesy of Jonathan Walton and Tony
- Thompson.
-
-
- * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Revert
- part of Feb 22 change controling when to override the existing
- symbol with the .plt entry.
-
-
- * config.bfd (targ_cpu): Add thumb-pe target.
-
- * coffcode.h (OTHER_GLOBAL_CLASS): Support thumb external
- functions in PE build.
-
-
- * config.bfd (sparclite-*-elf*): Added.
-
-
- * configure.in: Add elf.lo to elf shell variable.
- * Makefile.am (BFD_LIBS): Remove elf.lo.
- (BFD_LIBS_CFILES): Remove elf.c.
- (BFD32_BACKENDS): Add elf.lo.
- (BFD32_BACKENDS_CFILES): Add elf.c.
- * configure, Makefile.in: Rebuild.
-
-
- * elf32-i386.c (elf_i386_relocate_section): A pc-relative
- relocation against a non-local symbol should not have a dynamic
- relocation.
-
-
- * peicode.h (coff_swap_filehdr_in): Don't set BFD flag HAS_SYMS in
- COFF filehdr flags.
- (pe_print_private_bfd_data): Print PE flags. From Mikey
-
-
- * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Don't create
- a plt entry when we can determine that we authoritatively define
- the symbol.
-
-
- * configure.in (COREFILE selection): Remove sparc-*-linux*. They
- don't actually use trad-core, but a SunOS-style core file handled
- by gdb directly.
- * hosts/sparclinux.h: Remove.
-
-
- * peicode.h (pe_print_idata): If there is no .idata section, look
- for the import tables in some other section. Make the initial
- label line up better with the data. Print the import address
- table even if there is no import name table. If the import
- address table holds actual addresses, print them.
-
-
- * libbfd.c (bfd_seek): If fseek fails, save errno around call to
- bfd_tell. If errno is EINVAL, set bfd_error_file_truncated, not
- bfd_error_system_call.
-
-
- * Makefile.am (AUTOMAKE_OPTIONS): Define.
- * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
-
- * Makefile.am (libbfd_la_LDFLAGS): Define.
- * Makefile.in: Rebuild.
-
-
- * netbsd.h (MACHTYPE_OK): Define.
- (MY(write_object_contents)): Use DEFAULT_ARCH and DEFAULT_MID when
- calling N_SET_MACHTYPE, rather than having a switch.
- * libaout.h (enum machine_type): Add M_PMAX_NETBSD, M_VAX_NETBSD,
- and M_ALPHA_NETBSD.
- * i386netbsd.c (MACHTYPE_OK): Don't define.
- (DEFAULT_MID): Define.
- * m68k4knetbsd.c (SEGMENT_SIZE): Don't define.
- (MACHTYPE_OK): Don't define.
- (DEFAULT_MID): Define.
- * m68knetbsd.c: (MACHTYPE_OK): Don't define.
- (DEFAULT_MID): Define.
- * ns32knetbsd.c (MACHTYPE_OK): Don't define.
- (DEFAULT_MID): Define.
- * sparcnetbsd.c (MACHTYPE_OK): Don't define.
- (DEFAULT_MID): Define.
-
- * vaxnetbsd.c: New file.
- * netbsd-core.c: Clean up. Remove unused macros. Use netbsd
- rather than netbsd_core.
- * targets.c (vaxnetbsd_vec): Declare.
- (bfd_target_vector): Add vaxnetbsd_vec. If NETBSD_CORE is
- defined, add netbsd_core_vec.
- * configure.in: Set COREFILE for alpha*-*-netbsd* and
- powerpc-*-netbsd* to netbsd-core.lo. If COREFILE is
- netbsd-core.lo, set COREFLAG to -DNETBSD_CORE.
- * config.bfd (alpha*-*-netbsd*): New target.
- * Makefile.am: Rebuild dependencies.
- (BFD32_BACKENDS): Add vaxnetbsd.lo.
- (BFD32_BACKENDS_CFILES): Add vaxnetbsd.c.
- * configure, Makefile.in: Rebuild.
-
- * configure.host: Remove the old shared library build stuff. We
- now use libtool instead.
-
-
- * tekhex.c (tekhex_write_object_contents): Call tekhex_init.
-
-
- * configure.in: Take stab-syms.lo out of sparclinux_vec list.
- * configure: Rebuild.
-
- * elf32-v850.c (remember_hi16s_reloc): New function.
- (find_remembered_hi16s_reloc): New function.
- (v850_elf_store_addend_in_insn): Use the above new functions to
- match up HI6S relocs with LO16 relocs.
-
-
- * configure.in: Change -linux* to -linux-gnu*.
- * config.bfd, configure.host: Likewise.
- * configure: Rebuild.
-
-
- * elf32-v850.c (v850_elf_store_addend_in_insn): Fix another
- LO16/HI16S bug and improve comments about what is going on.
-
-
- * configure, aclocal.m4: Rebuild with new libtool.
-
-
- * elf32-v850.c (v850_elf_merge_private_bfd_data): Do not complain
- when merging v850 code into v850e/v850ea code. Do not initialise
- output flags if the input is the default architecture.
-
-
- * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): For BFD_RELOC_CTOR
- get the size from bfd_arch_bits_per_address instead of directly
- from the isa.
-
-
- * libbfd-in.h (BFD_ALIGN): If rounding up would cause the address
- to wrap, just return all 1's bits instead.
- * libbfd.h: Regenerate.
-
-
- * coff-i386.c (coff_pe_i386_relocate_section): New static function
- if COFF_WITH_PE.
- (coff_relocate_section): If COFF_WITH_PE, define as
- coff_pe_i386_relocate_section.
- * coffcode.h (coff_write_object_contents): If COFF_IMAGE_WITH_PE,
- skip empty sections, to match coff_write_object_contents.
-
- * elf64-mips.c (mips_elf64_swap_reloca_out): Swap out r_addend,
- rather than swapping out r_offset twice. From Luke Deller
-
-
- * configure.in: Set libtool_enable_shared rather than
- libtool_shared. Remove diversion hack.
- * configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild
- with new libtool.
-
-
- * syms.c (struct stab_cache): Define.
- (struct stab_find_info): Remove cached_offset, cached_stab,
- cached_str, and cached_stroff fields. Add file_cache,
- function_cache, and line_cache fields.
- (_bfd_stab_section_find_nearest_line): Use extensive caching to
- speed up searches.
-
-
- * peicode.h (pe_print_idata): Check for import of ordinal rather
- than name.
- (pe_print_edata): If there is no .edata section, look for the
- export data in some other section.
-
-
- * configure.in: Change version to 2.8.4.
- * configure: Regenerated.
-
-
- Add tms320c30 support:
- * cpu-tic30.c: New file.
- * aout-tic30.c: New file.
- * coff-tic30.c: New file.
- * archures.c (bfd_arch_tic30): Define.
- (bfd_tic30_arch): Declare.
- (bfd_archures_list): Add bfd_tic30_arch.
- * targets.c (bfd_target_vector): Add tic30_aout_vec and
- tic30_coff_vec.
- * reloc.c (BFD_RELOC_TIC30_LDP): Define.
- * coffcode.h (coff_set_arch_mach_hook): Add tic30 case.
- (coff_set_flags): Likewise.
- * config.bfd (tic30-*-*aout*, tic30-*-*coff*): New targets.
- * configure.in (tic30_aout_vec, tic30_coff_vec): New vectors.
- * Makefile.am: Rebuild dependencies.
- (ALL_MACHINES): Add cpu-tic30.lo.
- (ALL_MACHINES_CFILES): Add cpu-tic30.c.
- (BFD32_BACKENDS): Add aout-tic30.lo and coff-tic30.lo.
- (BFD32_BACKENDS_CFILES): Add aout-tic30.c and coff-tic30.c.
- * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
-
-
- * elf32-v850.c (v850_elf_store_addend_in_insn): Allow HI16_S reloc
- to lag behind LO16 reloc by a couple of instructions.
-
-
- * Makefile.am ($(srcdir)/bfd-in2.h): Add dummy command to force
- make to reexamine the file timestamp.
- ($(srcdir)/libbfd.h, $(srcddir)/libcoff.h): Likewise.
-
- * elf64-alpha.c (ELF_MAXPAGESIZE): Change to 0x10000 from
- 0x100000.
-
-
- * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure
- to create .dynsbss and .rela.sbss sections.
- (ppc_elf_adjust_dynamic_symbol): Put space for small data to be
- copied from dynamic objects into .sbss.
- (ppc_elf_size_dynamic_sections): Strip .rela.sbss if we don't
- use it. Correct typo of .rela.sdata2.
- (ppc_elf_finish_dynamic_symbol): Generate reloc to where we
- put the data, which may now be in .sbss.
- (ppc_elf_relocate_section): A SDAREL16 reloc can be in dynsbss.
- (elf_backend_create_dynamic_sections): Define as
- ppc_elf_create_dynamic_sections.
-
- * elf32-ppc.c (ppc_elf_check_relocs): Don't emit R_PPC_REL* relocs
- against _GLOBAL_OFFSET_TABLE_.
- (ppc_elf_relocate_section): Don't emit R_PPC_REL32 relocs in
- shared libraries which refer to local symbols. Make sure that the
- test for allocating space for a reloc in a shared object is the
- same as the test for emitting a reloc.
-
-
- * config.bfd (i[3456]-*-mingw32*): New target.
- * acinclude.m4 (BFD_BINARY_OPEN): Check for mingw32.
- * aclocal.m4, configure: Rebuild.
-
-
- * elf.c (_bfd_elf_close_and_cleanup): Only check the strtab if we
- have a bfd_object.
-
-
- Sparc v9 ABI compliant PLT:
- * elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries.
- (plt_templates, sparc64_elf_build_plt_entry): Delete.
- (LARGE_PLT_THRESHOLD): New define.
- (GOT_RESERVED_ENTRIES): V9 ABI only uses 1.
- (sparc64_elf_build_plt): New function.
- (sparc64_elf_plt_entry_offset): Likewise.
- (sparc64_elf_plt_ptr_offset): Likewise.
- (sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to
- contain the index for convenience. Skip the initial entries
- in .rela.plt.
- (sparc64_elf_size_dynamic_sections): Zero the allocated contents
- memory for the benefit of .rela.plt.
- (sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset.
- (sparc64_elf_finish_dynamic_symbol): Kill template stuff. Use
- sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc.
- (sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt.
- Call sparc64_elf_build_plt.
- (elf_backend_want_got_plt): No.
- (elf_backend_plt_readonly): No.
- (elf_backend_plt_alignment): 8.
-
- * elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab.
- * elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it.
- * elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it
- to be called.
-
-
- * archures.c (bfd_mach_mips*): Add definitions for various MIPS
- processors.
- * cpu-mips.c (arch_info_struct): Add mips variants.
- * bfd-in2.h: Rebuilt.
-
-
- * coff-arm.c (coff_arm_relocate_section): Preserve the contents of
- t2a3_b_insn.
-
-
- * config.bfd (i[3456]86-sco3.2v5*): ELF now the default.
- (i[3456]86sco3.2v5*coff): New target.
-
-
- * bfd-in2.h: Rebuild with changes to chew--tab expansion.
-
-
- * bfd.c (bfd_get_error_handler): Add orthogonal function.
- * bfd-in2.h: Regenerate.
-
-
- * tekhex.c (tekhex_write_object_contents): Check for no symbols.
-
-
- * coff-i386.c (coff_i386_rtype_to_howto): If COFF_WITH_PE, don't
- adjust addend for an output common symbol (from Jimmy Blair
- defined symbol to counteract adjustment made in generic relocation
- code.
-
- * dwarf2.c: Include sysdep.h, not stdio.h and stdlib.h.
-
-
- * coff-m88k.c (GET_SCNDHR_NRELOC): Fix typo in macro name.
- (GET_SCNDHR_NLNNO): Likewise.
-
-
- * cpu-sh.c (arch_info_struct): Correct next field of sh3e.
-
-
- * elf32-m32r.c: Add macros to handle NOP insertion.
-
-
- * xcofflink.c (xcoff_mark_symbol): Don't mark the absolute section.
- (xcoff_mark): Likewise.
- (xcoff_build_ldsyms): Mark absolute symbols.
-
-
- * bout.c (b_out_write_object_contents): Sort symbols before output
- to keep {CALL,BAL}NAME symbols adjacent.
- (b_out_symbol_cmp): New function.
-
-For older changes see ChangeLog-9697
+For older changes see ChangeLog-9899
\f
Local Variables:
mode: change-log