X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=bfd%2FChangeLog;h=8d65726d31594ea5563126b3f7841fe77bc18bb9;hb=dc810e3900d47ab2eea86d50231ff2e70b596847;hp=fc32b09ff3be74d485d55fe7d87975c344c77144;hpb=4e771d61a32b75417be0b4f7c3efbe2e3691056d;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index fc32b09ff3..8d65726d31 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,1308 @@ +2001-09-18 Alan Modra + + * libbfd.c (bfd_bread): New function replacing bfd_read without + redundant params. Allow reads up to (size_t) -2 in length. + (bfd_bwrite): Similarly for bfd_write. + (real_read): Return a size_t. + (bfd_read): Call bfd_bread. + (bfd_write): Call bfd_bwrite. + (warn_deprecated): New function to annoy everybody. + (bfd_get_file_window): Don't call bfd_set_error unnecessarily. + * bfd-in.h (bfd_bread, bfd_bwrite, warn_deprecated): Declare. + (bfd_read, bfd_write): Define as macro. + * aix386-core.c: Replace calls to bfd_read with bfd_bread, and + likewise for bfd_write. Ensure function args are correct size by + using casts or local vars. In some cases, remove unnecessary + casts. Formatting fixes, in some cases removing a large expression + from function args by using a local var. Replace CONST with const. + Modify variable types to avoid warings. Use casts to avoid + warnings when using negative numbers in unsigned expressions. + * aout-adobe.c: Likewise. + * aout-arm.c: Likewise. + * aout-cris.c: Likewise. + * aout-encap.c: Likewise. + * aout-ns32k.c: Likewise. + * aout-target.h: Likewise. + * aout-tic30.c: Likewise. + * aoutf1.h: Likewise. + * aoutx.h: Likewise. + * archive.c: Likewise. + * archures.c: Likewise. + * bfd-in.h: Likewise. + * bfd.c: Likewise. + * binary.c: Likewise. + * bout.c: Likewise. + * cache.c: Likewise. + * cisco-core.c: Likewise. + * coff-a29k.c: Likewise. + * coff-alpha.c: Likewise. + * coff-arm.c: Likewise. + * coff-h8300.c: Likewise. + * coff-h8500.c: Likewise. + * coff-i386.c: Likewise. + * coff-i860.c: Likewise. + * coff-i960.c: Likewise. + * coff-ia64.c: Likewise. + * coff-m68k.c: Likewise. + * coff-m88k.c: Likewise. + * coff-mcore.c: Likewise. + * coff-mips.c: Likewise. + * coff-ppc.c: Likewise. + * coff-rs6000.c: Likewise. + * coff-sh.c: Likewise. + * coff-sparc.c: Likewise. + * coff-stgo32.c: Likewise. + * coff-tic30.c: Likewise. + * coff-tic54x.c: Likewise. + * coff-tic80.c: Likewise. + * coff-w65.c: Likewise. + * coff-z8k.c: Likewise. + * coff64-rs6000.c: Likewise. + * coffcode.h: Likewise. + * coffgen.c: Likewise. + * cofflink.c: Likewise. + * coffswap.h: Likewise. + * corefile.c: Likewise. + * cpu-arc.c: Likewise. + * cpu-h8300.c: Likewise. + * cpu-h8500.c: Likewise. + * cpu-i960.c: Likewise. + * cpu-ia64-opc.c: Likewise. + * cpu-ns32k.c: Likewise. + * cpu-pdp11.c: Likewise. + * cpu-pj.c: Likewise. + * cpu-sh.c: Likewise. + * cpu-w65.c: Likewise. + * cpu-z8k.c: Likewise. + * dwarf1.c: Likewise. + * dwarf2.c: Likewise. + * ecoff.c: Likewise. + * ecofflink.c: Likewise. + * ecoffswap.h: Likewise. + * elf-bfd.h: Likewise. + * elf-hppa.h: Likewise. + * elf-m10200.c: Likewise. + * elf-m10300.c: Likewise. + * elf.c: Likewise. + * elf32-arc.c: Likewise. + * elf32-arm.h: Likewise. + * elf32-avr.c: Likewise. + * elf32-cris.c: Likewise. + * elf32-fr30.c: Likewise. + * elf32-gen.c: Likewise. + * elf32-h8300.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-i860.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-mips.c: Likewise. + * elf32-openrisc.c: Likewise. + * elf32-pj.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-sh-lin.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-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sparc.c: Likewise. + * elf64-x86-64.c: Likewise. + * elfarm-nabi.c: Likewise. + * elfcode.h: Likewise. + * elfcore.h: Likewise. + * elflink.c: Likewise. + * elflink.h: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-target.h: Likewise. + * format.c: Likewise. + * hash.c: Likewise. + * hp300hpux.c: Likewise. + * hppabsd-core.c: Likewise. + * hpux-core.c: Likewise. + * i386aout.c: Likewise. + * i386dynix.c: Likewise. + * i386linux.c: Likewise. + * i386lynx.c: Likewise. + * i386mach3.c: Likewise. + * i386msdos.c: Likewise. + * i386os9k.c: Likewise. + * ieee.c: Likewise. + * ihex.c: Likewise. + * irix-core.c: Likewise. + * libaout.h: Likewise. + * libbfd-in.h: Likewise. + * libbfd.c: Likewise. + * libcoff-in.h: Likewise. + * libecoff.h: Likewise. + * libieee.h: Likewise. + * libnlm.h: Likewise. + * libpei.h: Likewise. + * libxcoff.h: Likewise. + * linker.c: Likewise. + * lynx-core.c: Likewise. + * m68klinux.c: Likewise. + * merge.c: Likewise. + * mipsbsd.c: Likewise. + * netbsd-core.c: Likewise. + * nlm.c: Likewise. + * nlm32-alpha.c: Likewise. + * nlm32-i386.c: Likewise. + * nlm32-ppc.c: Likewise. + * nlm32-sparc.c: Likewise. + * nlmcode.h: Likewise. + * nlmswap.h: Likewise. + * ns32k.h: Likewise. + * oasys.c: Likewise. + * opncls.c: Likewise. + * osf-core.c: Likewise. + * pc532-mach.c: Likewise. + * pdp11.c: Likewise. + * pe-mips.c: Likewise. + * peXXigen.c: Likewise. + * peicode.h: Likewise. + * ppcboot.c: Likewise. + * ptrace-core.c: Likewise. + * reloc.c: Likewise. + * reloc16.c: Likewise. + * riscix.c: Likewise. + * rs6000-core.c: Likewise. + * sco5-core.c: Likewise. + * section.c: Likewise. + * som.c: Likewise. + * sparclinux.c: Likewise. + * sparclynx.c: Likewise. + * srec.c: Likewise. + * stabs.c: Likewise. + * sunos.c: Likewise. + * syms.c: Likewise. + * targets.c: Likewise. + * tekhex.c: Likewise. + * trad-core.c: Likewise. + * versados.c: Likewise. + * vms-gsd.c: Likewise. + * vms-hdr.c: Likewise. + * vms-misc.c: Likewise. + * vms-tir.c: Likewise. + * vms.c: Likewise. + * vms.h: Likewise. + * xcofflink.c: Likewise. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * libcoff.h: Regenerate. + + * bfd.c (struct _bfd): Make "where" and "origin" unsigned. + * bfd-in.h (file_ptr): Change from a long int to a bfd_signed_vma. + (ufile_ptr): Define. + (bfd_tell): Return a ufile_ptr. + * libbfd.c (bfd_tell): Likewise. + (bfd_seek): Use bfd_size_type locals. Don't call bfd_set_error + unnecessarily. + * aix386-core.c: Test != 0 for bfd_seek errors rather than < 0. + * aoutf1.h: Likewise. + * som.c: Likewise. + * cache.c (bfd_cache_lookup_worker): Guard against abfd->where + larger than unsigned long can represent. + + * libbfd.c (bfd_malloc): Take a bfd_size_type arg. Error if + size overflows size_t. + (bfd_realloc): Likewise. + (bfd_zmalloc): Likewise. + * opncls.c (bfd_alloc): Likewise. + (bfd_zalloc): Likewise. + * libbfd-in.h (bfd_malloc, bfd_realloc, bfd_zmalloc): Update. + (bfd_alloc, bfd_zalloc): Update. + + * libbfd.c (bfd_get_8): Mask with 0xff in case char is more than + 8 bits. + (bfd_get_signed_8): Likewise. + (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8, + H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8, + H_GET_64, H_GET_32, H_GET_16, H_GET_8, + H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Define and use. + * libaout.h: Likewise define and use here. + * aout-adobe.c: Use H_GET_* and H_PUT_* macros. + * aout-arm.c: Likewise. + * aout-encap.c: Likewise. + * aout-ns32k.c: Likewise. + * aout-tic30.c: Likewise. + * aoutf1.h: Likewise. + * aoutx.h: Likewise. + * bout.c: Likewise. + * coff-alpha.c: Likewise. + * coff-h8300.c: Likewise. + * coff-h8500.c: Likewise. + * coff-i960.c: Likewise. + * coff-ia64.c: Likewise. + * coff-m88k.c: Likewise. + * coff-mips.c: Likewise. + * coff-ppc.c: Likewise. + * coff-rs6000.c: Likewise. + * coff-sh.c: Likewise. + * coff-sparc.c: Likewise. + * coff-stgo32.c: Likewise. + * coff-tic30.c: Likewise. + * coff-tic80.c: Likewise. + * coff-w65.c: Likewise. + * coff-z8k.c: Likewise. + * coff64-rs6000.c: Likewise. + * coffgen.c: Likewise. + * cofflink.c: Likewise. + * coffswap.h: Likewise. + * ecoff.c: Likewise. + * ecoffswap.h: Likewise. + * elf.c: Likewise. + * elf32-mips.c: Likewise. + * elf64-mips.c: Likewise. + * hp300hpux.c: Likewise. + * i386dynix.c: Likewise. + * i386lynx.c: Likewise. + * i386msdos.c: Likewise. + * i386os9k.c: Likewise. + * libpei.h: Likewise. + * nlm32-alpha.c: Likewise. + * nlm32-i386.c: Likewise. + * nlm32-ppc.c: Likewise. + * nlmcode.h: Likewise. + * nlmswap.h: Likewise. + * oasys.c: Likewise. + * pdp11.c: Likewise. + * pe-mips.c: Likewise. + * peXXigen.c: Likewise. + * peicode.h: Likewise. + * riscix.c: Likewise. + * sunos.c: Likewise. + * xcofflink.c: Likewise. + * elfcode.h: (put_word, get_word, put_signed_word, get_signed_word): + Rename to H_PUT_WORD, H_GET_WORD, H_PUT_SIGNED_WORD, H_GET_SIGNED_WORD. + * coff-rs6000.c (PUTWORD, PUTHALF, PUTBYTE): Don't define. Use + equivalent H_PUT_* macro instead. + (GETWORD, GETHALF, GETBYTE): Similarly. + * coff64-rs6000.c (PUTWORD, PUTHALF, PUTBYTE): Likewise. + (GETWORD, GETHALF, GETBYTE): Likewise. + * coffswap.h (PUTWORD, PUTHALF, PUTBYTE): Likewise. + + * bfd-in.h (struct orl): Change "pos" to a union. + * archive.c (_bfd_compute_and_write_armap): Use it instead of casts. + (bsd_write_armap): Here too. + (coff_write_armap): And here. + * coff-rs6000.c (xcoff_write_armap_old): And here. + (xcoff_write_one_armap_big): And here. + (xcoff_write_armap_big): And here. + * ecoff.c (_bfd_ecoff_write_armap): And here. + * elf64-mips.c (mips_elf64_write_armap): And here. + + * aoutf1.h (sunos_set_arch_mach): Make "mach" param an enum. + * elf-m10300.c (elf_mn10300_mach): Return an unsigned long. + * elf32-h8300.c (elf32_h8_mach): Likewise. + * elf32-mips.c (elf_mips_mach): Likewise. + * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise. + + * aix386-core.c (aix386_core_file_p): Remove redundant bfd_release + calls. + (aix386_core_vec): Typo fix. + + * aout-arm.c: Include libaout.h and aout/aout64.h after N_TXTADDR + etc. to avoid redefined macro warning. + (MY(put_reloc)): Use bfd_vma for "value" rather than long. + (MY(fix_pcrel_26)): Likewise. + * aout-ns32k.c (MY(put_reloc)): Likewise. + * aout-cris.c (MY(swap_ext_reloc_out)): Likewise for r_addend. + * aoutx.h (NAME(aout,swap_ext_reloc_out)): Likewise. + * coff-arm.c (coff_arm_relocate_section): Likewise for my_offset. + + * aout-encap.c: Include "file", not for binutils headers. + (encap_object_p): Half baked attempt to fix compile errors in + code dealing with "magic". + + * aout-ns32k.c: Include "file", not for binutils headers. + (_bfd_ns32k_relocate_contents): get_data and put_data manipulate + bfd_vma's rather than longs. + * cpu-ns32k.c (ns32k_sign_extend): Delete. + (_bfd_ns32k_get_displacement): Return a bfd_vma, don't pass in offset. + (_bfd_ns32k_get_immediate): Likewise. Add code for 8 byte values, + remove case 3. + (_bfd_ns32k_put_displacement): Accept a bfd_vma, don't pass in offset. + Use unsigned comparisons. + (bfd_ns32k_put_immediate): Likewise, and add code for 8 byte values. + (do_ns32k_reloc): get_data and put_data operate on bfd_vma's. + (_bfd_do_ns32k_reloc_contents): Likewise. + * ns32k.h (_bfd_ns32k_get_displacement): Update prototype. + (_bfd_ns32k_get_immediate): Likewise. + (_bfd_ns32k_put_displacement): Likewise. + (_bfd_ns32k_put_immediate): Likewise. + (bfd_reloc_status_type): Likewise. + + * aoutx.h (NAME(aout,find_nearest_line)): Rename 'p' to 'colon' + to avoid shadowing. + * pdp11.c (NAME(aout,find_nearest_line)): Likewise. + * coff-h8300.c (h8300_reloc16_extra_cases): Remove shadowing "value". + * coff-ppc.c (enum ref_category): Rename "data" to "tocdata" to + avoid shadowing. + (record_toc): Use a bfd_signed_vma for our_toc_offset. + * coffcode.h (coff_write_relocs): Rename "i" to avoid shadowing. + * elf.c (bfd_elf_get_bfd_needed_list): Rename "link" var to avoid + shadow warning. + (_bfd_elfcore_strndup): Likewise for "dup". + * elf32-cris.c (cris_elf_relocate_section): "symname" instead of + "name" to avoid shadowing. + * elf32-hppa.c (elf32_hppa_relocate_section): Remove duplicate + definition of "off". + * elf32-i386.c (elf_i386_relocate_section): Likewise. + * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Remove duplicate + definition of "s". + (_bfd_mips_elf_final_link): Rename "i" to "j". Remove duplicate + "secpp". + * elf64-x86-64.c (elf64_x86_64_relocate_section): Rename inner "indx" + to avoid shadowing. + * elflink.h (elf_link_add_object_symbols): Rename "link" to "shlink" + to avoid shadowing. + (elf_link_input_bfd): Likewise. + (elf_bfd_final_link): Remove duplicate innermost "off" var. + * oasys.c (oasys_write_data): Rename innermost "p" to "sym". + * reloc16.c (bfd_coff_reloc16_relax_section): Rename "i" param to + "input_section". + * som.c (som_prep_for_fixups): Rename inner "i" to "j". + * sunos.c (sunos_add_dynamic_symbols): Localise "s" var. + (sunos_write_dynamic_symbol): Remove unused vars. + * syms.c (_bfd_stab_section_find_nearest_line): Remove duplicate + innermost "directory_name" and "file_name" vars. + * tekhex.c (first_phase): Rename local var "type" to "stype". + (tekhex_write_object_contents): Rename innermost "s" to "sym". + * vms-gsd.c (vms_secflag_by_name): Change "size" param to "hassize", + doing comparison at caller. + (vms_esecflag_by_name): Likewise. + * vms-tir.c (etir_sto): Rename innermost "psect" to "psect1". + * xcofflink.c (xcoff_link_input_bfd): Delete duplicate innermost "o". + (xcoff_write_global_symbol): Rename "p" param to "inf". + + * cisco-core.c: Add missing prototypes. + (cisco_core_file_failing_command): Add ATTRIBUTE_UNUSED. + (cisco_core_file_failing_signal): Likewise. + (cisco_core_file_matches_executable_p): Likewise. + * hpux-core.c (hpux_core_core_file_failing_signal): Likewise. + * netbsd-core.c (netbsd_core_file_matches_executable_p): Likewise. + * osf-core.c (osf_core_core_file_matches_executable_p): Likewise. + * sco5-core.c (sco5_core_file_matches_executable_p): Likewise. + + * coff-arm.c (coff_arm_link_hash_table): Use bfd_size_type for + thumb_glue_size and arm_glue_size. + * elf32-arm.h (elf32_arm_link_hash_table): Likewise here. + + * coff64-rs6000.c: Group prototypes together. + + * coffcode.h (coff_set_arch_mach): Add ATTRIBUTE_UNUSED. + (buy_and_read): Remove "seek" param. Change "size" to bfd_size_type. + + * cpu-arc.c: Add missing prototypes. + * cpu-h8500.c: Likewise. + * cpu-i960.c: Likewise. + * cpu-pj.c: Likewise. + * cpu-sh.c: Likewise. + * cpu-w65.c: Likewise. + * cpu-z8k.c: Likewise. + * elf32-fr30.c: Likewise. + * elf32-h8300.c: Likewise. + * elf32-i370.c: Likewise. + * hpux-core.c: Likewise. + * versados.c: Likewise. + + * cpu-h8300.c (bfd_default_scan_num_mach): Don't declare. + * cpu-h8500.c: Likewise. + * cpu-i960.c: Likewise. + * cpu-z8k.c: Likewise. + + * cpu-ia64-opc.c: Correct comment. + + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove unused var. + + * elf-bfd.h (elf_size_info): Change count param of write_out_phdrs + to unsigned. + (bfd_elf32_write_out_phdrs): Likewise. + (bfd_elf64_write_out_phdrs): Likewise. + (elf_linker_section_pointers): Change addend to bfd_vma. + (_bfd_elf_find_pointer_linker_section): Likewise. + (_bfd_elfcore_make_pseudosection): Change size param to size_t and + filepos to unsigned file_ptr. + (_bfd_elfcore_strndup): Change max param to size_t. + * elf.c (_bfd_elfcore_make_pseudosection): As above. + (_bfd_elfcore_strndup): Likewise. + (_bfd_elf_find_pointer_linker_section): Likewise. + + * elf-hppa.h (elf_hppa_relocate_insn): Return an int, and change + insn and sym_value to ints. + + * elf.c (elf_read): Make "offset" param a file_ptr, "size" a + bfd_size_type. + (elfcore_read_notes): Likewise. + + * elf32-arm.h (elf32_arm_final_link_relocate): Change sym_flags + param from unsigned char to int. + (elf32_arm_relocate_section): If USE_REL, cast "rel" appropriately + for info_to_howto call. + (add_dynamic_entry): Define macro. + (elf32_arm_size_dynamic_sections): Use add_dynamic_entry. + + * elf32-cris.c (add_dynamic_entry): Define macro. + (elf_cris_size_dynamic_sections): Use add_dynamic_entry. + + * elf32-h8300.c (elf32_h8_final_write_processing): Make static. + (elf32_h8_object_p): Likewise. + (elf32_h8_merge_private_bfd_data): Likewise. + (elf32_h8_relax_section): Cast gap to int so signed comparisons work. + + * elf32-hppa.c (add_dynamic_entry): Define macro. + (elf32_hppa_size_dynamic_sections): Use it. + * elf32-i370.c (add_dynamic_entry): Define macro. + (i370_elf_size_dynamic_sections): Use it. + (i370_noop): Make static. + * elf32-i386.c (add_dynamic_entry): Define macro. + (elf_i386_size_dynamic_sections): Use it. + * elf32-m68k.c (add_dynamic_entry): Define macro. + (elf_m68k_size_dynamic_sections): Use it. + * elf32-ppc.c (add_dynamic_entry): Define macro. + (ppc_elf_size_dynamic_sections): Use it. + * elf32-s390.c (add_dynamic_entry): Define macro. + (elf_s390_size_dynamic_sections): Use it. + * elf64-alpha.c (add_dynamic_entry): Define macro. + (elf64_alpha_size_dynamic_sections): Use it. + * elf64-hppa.c (add_dynamic_entry): Define macro. + (elf64_hppa_size_dynamic_sections): Use it. + * elf64-ppc.c (add_dynamic_entry): Define macro. + (ppc64_elf_size_dynamic_sections): Use it. + * elf64-s390.c (add_dynamic_entry): Define macro. + (elf_s390_size_dynamic_sections): Use it. + * elf64-sparc.c (add_dynamic_entry): Define macro. + (sparc64_elf_size_dynamic_sections): Use it. + * elf64-x86-64.c (add_dynamic_entry): Define macro. + (elf64_x86_64_size_dynamic_sections): Use it. + * elfxx-ia64.c (add_dynamic_entry): Define macro. + (elfNN_ia64_size_dynamic_sections): Use it. + + * elf32-v850.c (SEXT24): Modify to avoid signed/unsigned warning. + (v850_elf_perform_relocation): Make "r_type" param unsigned. + + * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Just return + false if the first malloc fails rather than going via error_return. + + * elf64-sparc.c (sparc64_elf_plt_entry_offset): Use a bfd_vma for + "index" param. + (sparc64_elf_plt_ptr_offset): Likewise, and for "max" param too. + + * elflink.h (elf_link_input_bfd): s/ingored/ignored/ in error message. + + * elfxx-ia64.c (global_sym_index): Return a long. + + * ieee.c (get_symbol): Use int rather than char param. + (ieee_slurp_sections): Move "section" var to inner blocks. + (copy_expression): Don't init "value" to zero or worry about + clearing to zero after using. + (ieee_write_debug_part): Rename "output_buffer" to "obuff" to avoid + shadowing. + + * ihex.c (ihex_write_record): Make "count" var a size_t, "addr" an + unsigned int. + + * libbfd-in.h (BFD_ALIGN): Add cast to avoid signed/unsigned warning. + (bfd_write_bigendian_4byte_int): Pass an unsigned int value param. + + * mipsbsd.c (mips_fix_jmp_addr): Add "error_message" param. + + * pc532-mach.c (MYNSX): Delete. + (ns32kaout_bfd_reloc_type_lookup): Define prototype without MYNSX. + (write_object_contents): Correct prototype. + + * peicode.h (pe_ILF_build_a_bfd): Use an unsigned int param rather + than unsigned short. + + * section.c (bfd_set_section_contents): Remove redundant + "offset < 0" test. Check that "count" doesn't overflow size_t. + (bfd_get_section_contents): Likewise. + + * som.c (som_fixup_formats): Add missing braces. + (som_reloc_addend): Pass a bfd_vma for "addend". + + * srec.c (srec_write_record): Pass "type" as an unsigned int. + (srec_write_symbols): Remove an unnecessary var. + + * targets.c (_bfd_target_vector): Sort entries. Sort externs + to match. + * configure.in: Sort to match. Bump version number. + * configure: Regenerate. + + * tekhex.c (move_section_contents): Assert offset == 0. + + * versados.c (new_symbol_string): Constify arg. + (process_esd): Use bfd_und_section_ptr rather than &bfd_und_section. + (versados_get_symbol_info): Make static. + (versados_print_symbol): Likewise. + (versados_get_reloc_upper_bound): Likewise. + (versados_canonicalize_reloc): Likewise. + +2001-09-18 Nick Clifton + + * elflink.h (elf_link_input_bfd): Fix typo in error message. + +2001-09-17 H.J. Lu + + * dwarf1.c (parse_die): Take a new arg for the end of the + section. Return false if die is beyond the section. + (parse_functions_in_unit): Pass the end of the section to + parse_die (). + (_bfd_dwarf1_find_nearest_line): Likewise. + +2001-09-14 Michael Rauch + + * elf32-sparc.c (elf32_sparc_relocate_section): Treat R_SPARC_UA32 + just like R_SPARC_32. + +2001-09-14 Kevin Lo + + * configure.bfd: Add arm-openbsd target. + +2001-09-14 Thiemo Seufer + + * config.bfd: Change machine triplets from mips*el*-* to mips*el-*. + Add support for mips64. + +2001-09-13 Alexandre Oliva + + * elf32-openrisc.c (ELF_MACHINE_ALT1): Define as EM_OPENRISC_OLD. + +2001-09-12 Alexandre Oliva + + * elf.c (prep_headers): Get the machine code from the elf + backend data. + * elf-m10200.c (ELF_MACHINE_CODE): Redefine to EM_MN10200. + (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10200. + * elf-m10300.c (ELF_MACHINE_CODE): Redefine to EM_MN10300. + (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300. + * elf-arc.c (arc_elf_final_write_processing): Don't override + e_machine, it's now properly set in prep_headers. + * elf32-avr.c (elf32_avr_object_p): Accept both EM_AVR and + EM_AVR_OLD. + (ELF_MACHINE_ALT1): Define to EM_AVR_OLD. + * elf-d10v.c (ELF_MACHINE_CODE): Redefine to EM_D10V. + (ELF_MACHINE_ALT1): Define to EM_CYGNUS_D10V. + * elf-d30v.c (ELF_MACHINE_CODE): Redefine to EM_D30V. + (ELF_MACHINE_ALT1): Define to EM_CYGNUS_D30V. + * elf-fr30.c (ELF_MACHINE_CODE): Redefine to EM_FR30. + (ELF_MACHINE_ALT1): Define to EM_CYGNUS_FR30. + * elf-m32r.c (ELF_MACHINE_CODE): Redefine to EM_M32R. + (ELF_MACHINE_ALT1): Define to EM_CYGNUS_M32R. + * elf32-pj.c (ELF_MACHINE_ALT1): DEfine to EM_PJ_OLD. + * elf-v850.c (ELF_MACHINE_CODE): Redefine to EM_V850. + (ELF_MACHINE_ALT1): Define to EM_CYGNUS_V850. + +2001-09-11 Richard Henderson + + * elf64-alpha.c (elf64_alpha_section_flags): New. + (elf64_alpha_fake_sections): Map SEC_SMALL_DATA to SHF_ALPHA_GPREL. + +2001-09-11 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relocate_section): Do not + apply HINT relocations against dynamic symbols. + +2001-09-11 H.J. Lu + + * linker.c (link_action): Change COMMON_ROW\defw from CREF to COM. + +2001-09-09 Richard Henderson + + * elf64-alpha.c: Delete all unused ERIC_neverdef and rth_notdef code. + + * elf64-alpha.c (elf64_alpha_relax_with_lituse): Nop out gpdisp + following a call to a near function. + +2001-09-08 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relocate_section): Soft fail + relocation errors. Fail gp-relative relocations against + dynamic symbols. + +2001-09-08 Alan Modra + + * elf32-i386.c (elf_i386_relocate_section): Check !DEF_REGULAR + as well as DEF_DYNAMIC in test for avoided copy relocs. + (allocate_plt_and_got_and_discard_relocs): Likewise. + * elf32-hppa.c (elf_i386_relocate_section): Likewise. + (allocate_plt_and_got_and_discard_relocs): Likewise. + +2001-09-07 Thiemo Seufer + + * elf32-mips.c (mips_elf_calculate_relocation): Fix overflow handling + of R_MIPS_PC16. + +2001-09-06 Thiemo Seufer + + * elf64-mips.c (mips_elf64_howto_table_rel): Fix relocation HOWTO + definitions. + (mips_elf64_howto_table_rel): Likewise. + +2001-09-05 Tom Rix + + * xcofflink.c (bfd_xcoff_import_symbol): Handle import file XMC_XO + and syscall symbols. + (write_global_symbol) : Same. + (bfd_xcoff_export_symbol): Remove unused syscall param. + * libxcoff.h: Change prototype of bfd_xcoff_export symbol and + bfd_xcoff_import_symbol. + * bfd-in.h: Same. + * bfd-in2.h : Regenerate. + +2001-09-04 Richard Henderson + + * elf64-alpha.c (SKIP_HOWTO): New. + (elf64_alpha_howto_table): Use it to remove dead ECOFF relocs. + Fix sizes of 16-bit mem format relocs. + (elf64_alpha_reloc_map): Update to match. + (elf64_alpha_relax_with_lituse): Use GPREL16 as appropriate. + (elf64_alpha_relax_without_lituse): Likewise. + (elf64_alpha_check_relocs): Handle GPREL16. + (elf64_alpha_relocate_section): Likewise. + * reloc.c (BFD_RELOC_ALPHA_USER_*): Remove. + (BFD_RELOC_ALPHA_GPREL_HI16, BFD_RELOC_ALPHA_GPREL_LO16): New. + * bfd-in2.h, libbfd.h: Rebuild. + +2001-09-04 Jeff Law + + * elf32-h8300.c (elf32_h8_relax_section): New function. + (elf32_h8_relax_delete_bytes): Likewise. + (elf32_h8_symbol_address_p): Likewise. + (elf32_h8_get_relocated_section_contents): Likewise. + (bfd_elf32_bfd_relax_section): Define. + (bfd_elf32_bfd_get_relocated_section_contents): Likewise. + + * elf32-h8300.c (special): New function. + (h8_elf_howto_table): Use it for SPECIAL_FUNCTION field in + all relocations. + (elf32_h8_final_link_relocate): Treat R_H8_DIR24A8 like 32bit + relocations. Fix problems with the true 24bit reloc R_H8_DIR24R8. + Fix minor problems with 8bit and 16bit PC relative relocations. + +2001-09-01 Andreas Jaeger + + * vms-tir.c: Add missing prototypes. + * vms-hdr.c: Likewise. + * vms-gsd.c: Likewise. + * vms-misc.c: Likewise. + +2001-08-31 H.J. Lu + + * elf32-mips.c (_bfd_mips_elf_check_relocs): Report filename + with bad relocation. + +2001-08-31 Eric Christopher + Jason Eckhardt + + * bfd/archures.c: Add mipsisa32 and mipsisa64. Remove mips32, + mips32_4k and mips64. + * bfd/aoutx.h: Remove bfd_mach_mips32, bfd_mach_mips32_4k, + bfd_mach_mips64. Add bfd_mach_mipsisa32, bfd_mach_mipsisa64. + * bfd/cpu-mips.c: Ditto. + * bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing): Ditto. + * bfd/bfd-in2.h: Regenerate. + +2001-08-31 Jakub Jelinek + + * elf64-alpha.c (elf64_alpha_relocate_section): Duplicate memory + value into R_ALPHA_RELATIVE's addend. + (elf64_alpha_finish_dynamic_symbol): Likewise. + +2001-08-31 Nick Clifton + + * elf32-arm.h (elf32_arm_relocate_section): Do not rightshift + recomputed addend during relocatable link if not USE_REL. + + * elflink.h (elf_gc_propagate_vtable_entries_used): Fix off-by-one + error. + +2001-08-30 H.J. Lu + + * elf32-mips.c (mips_elf_calculate_relocation): Revert the last + 2 changes. + (_bfd_mips_elf_adjust_dynamic_symbol): Allocate dynamic + relocations for weak definitions. + +2001-08-30 H.J. Lu + + * Makefile.am (BFD32_BACKENDS): Add elf32-h8300.lo. + (BFD32_BACKENDS_CFILES): Add elf32-h8300.c. + * Makefile.in: Rebuild. + +2001-08-30 H.J. Lu + + * elf32-mips.c (mips_elf_calculate_relocation): Don't create + dynamic relocation for undefined weak symbols when creating + executables. Check h->root.root.type, instead of h->root.type. + +2001-08-29 Joel Sherrill + + * config.bfd (i[3456]86-*-rtems*, m68*-*-rtems*): Change + default from coff to elf. + +2001-08-29 Jeff Law + + * elf32-h8300.c (h8_elf_howto_table): Add new PC relative + relocations. + (h8_reloc_map): Similarly. + (elf32_h8_final_link_relocate): Remove incorrect overflow tests. + Add support for PC relative relocations. + + * elf32-h8300.c: Put all prototypes together. + (elf32_h8_info_to_howto): Parameter elf_reloc is used. + (elf32_h8_final_link_relocate): New function for linker. + (elf32_h8_relocate_section): Similarly. + (elf_backend_relocate_section): Define. + + * cpu-h8300.c (h8300_scan, compatible): Prototype. + (h8300_scan): Handle architecture:machine encodings typically + found in linker scripts. + * elf.c (prep_headers): Do not try to do H8 machine recognition + here. + * elf32-h8300.c: Add some missing prototypes. + (elf32_h8_mach, elf32_h8_final_write_processing): New functions. + (elf32_h8_object_p): Similarly. + +2001-08-29 Tom Rix + + * xcofflink.c (xcoff_link_add_symbols): Fix XTY_LD symbol that + does not follow a XTY_SD. + +2001-08-29 Alan Modra + + * targmatch.sed: Delete case statements. + * config.bfd : Select 64 bit xcoff for + aix4.3 and above. + +Wed Aug 29 02:27:36 2001 J"orn Rennecke + + * Makefile.am (elf32-h8300.lo): New target. + * config.bfd (h8300*-*-elf): New case. + * configure.in (bfd_elf32_h8300_vec): New case. + * elf.c (prep_headers): Add case for bfd_arch_h8300. + * reloc.c (BFD_RELOC_H8_DIR16A8): New relocation. + (BFD_RELOC_H8_DIR16R8, BFD_RELOC_H8_DIR24A8): Likewise. + (BFD_RELOC_H8_DIR24R8, BFD_RELOC_H8_DIR32A16): Likewise. + * targets.c (bfd_target bfd_elf32_h8300_vec): New extern declaration. + * elf32-h8300.c: New file. + * Makefile.in, bfd-in2.h, libbfd.h, configure: Regenerated. + +2001-08-28 Nick Clifton + + * sparclynx.c: Add missing prototypes. + * coff-mcore.c: Add missing prototypes. + * elf32-pj.c: Add missing prototypes. + * nlm32-sparc.c: Add missing prototypes. + * oasys.c: Add missing prototypes. + * pdp11.c: Add missing prototypes. + * pe-mips.c: Add missing prototypes. + * riscix.c: Add missing prototypes. + +2001-08-27 Daniel Jacobowitz + + * elf32-i386.c: Add missing prototypes. + * elf32-ppc.c: Likewise. + * elf32-sh-lin.c: Likewise. + * elfarm-nabi.c: Likewise. + +2001-08-27 Daniel Jacobowitz + + * elf32-i386.c (elf_i386_grok_prstatus): New function. + (elf_i386_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Likewise. + * elf32-ppc.c (ppc_elf_grok_prstatus): New function. + (ppc_elf_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Likewise. + * elf32-sh-lin.c (elf32_shlin_grok_prstatus): New function. + (elf32_shlin_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Likewise. + * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): New function. + (elf32_arm_nabi_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Likewise. + +2001-08-27 H.J. Lu + + * elf32-mips.c (mips_elf_create_dynamic_relocation): Add more + sanity check. + (mips_elf_calculate_relocation): Create dynamic relocation for + symbols with weak definition or the ELF_LINK_HASH_DEF_REGULAR + bit is not set. + +2001-08-27 H.J. Lu + + * elf32-mips.c (_bfd_mips_elf_hide_symbol): Add prototype. + (_bfd_mips_elf_copy_indirect_symbol): Likewise. + (_bfd_elf32_mips_grok_prstatus): Likewise. + (_bfd_elf32_mips_grok_psinfo): Likewise. + (_bfd_mips_elf_hide_symbol): Make it static and cast to + `struct mips_elf_link_hash_entry *'. + (_bfd_mips_elf_copy_indirect_symbol): Make it static. + +2001-08-27 Nick Clifton + + * mipsbsd.c: Add missing prototypes. + * hp300hpux.c: Add missing prototypes. + * i386aout.c: Add missing prototypes. + * i386lynx.c: Add missing prototypes. + * i386mach3.c: Add missing prototypes. + * i386msdos.c: Add missing prototypes. + * i386os9k.c: Add missing prototypes. + +2001-08-27 Linus Nordberg + Torbjorn Granlund + Staffan Ulfberg + Alan Modra + + * config.bfd: Add powerpc64 target. Add powerpc64 vectors to + targ64_selvecs for 32 bit powerpc targets. + * Makefile.am (BFD64_BACKENDS): Add elf64-ppc.lo. + (BFD64_BACKENDS_CFILES): Add elf64-ppc.c. + Run "make dep-am". + * Makefile.in: Regenerate. + * configure.in: Add elf64_powerpc vecs. + * configure: Regenerate. + * cpu-powerpc.c: Default to bfd_mach_ppc_620 entry for 64 bit. + * elf.c (prep_headers): EM_PPC64 for 64 bit ppc elf target. + * targets.c: Add bfd_elf64_powerpc_vec and bfd_elf64_powerpcle_vec. + * elf64-ppc.c: New file. + * reloc.c: Add powerpc64 relocs. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2001-08-27 Andreas Schwab + + * elf32-m68k.c (elf32_m68k_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf32_m68k_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf32_m68k_reloc_type_class): New function. + (elf_backend_reloc_type_class): Define. + +2001-08-27 Andreas Jaeger + + * elf64-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf_s390_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + + * elf32-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf_s390_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + + * elf32-ppc.c (ppc_elf_check_relocs): Set DF_TEXTREL if the reloc + is against read-only section. + (ppc_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (ppc_elf_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + +2001-08-26 Andreas Jaeger + + * elf32-cris.c (cris_elf_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf_cris_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf_cris_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + + * elf32-sh.c (sh_elf_check_relocs): Set DF_TEXTREL if the reloc is + against read-only section. + (elf_backend_reloc_type_class): Define. + (sh_elf_reloc_type_class): New. + (sh_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + + * elf32-arm.h (elf32_arm_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf32_arm_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf32_arm_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + +2001-08-25 Andreas Jaeger + + * oasys.c: Add missing prototypes. + + * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Add unused + attribute for parameter. + * elf.c (_bfd_elf_reloc_type_class): Likewise. + + * versados.c (get_4): Make static. + (get_10): Make static. + Add missing prototypes. + (process_esd): Fix call to versados_new_symbol. + +2001-08-25 Nick Clifton + + * coff-a29k.c: Add missing prototypes. + * coff-apollo.c: Add missing prototypes. + * coff-arm.c: Add missing prototypes. + * coff-i860.c: Add missing prototypes. + * coff-rs6000.c: Add missing prototypes. + * coff-tic80.c: Add missing prototypes. + * elf-m10200.c: Add missing prototypes. + * elf-m10300.c: Add missing prototypes. + * elf32-arm.h: Add missing prototypes. + * elf32-d10v.c: Add missing prototypes. + * elf32-m32r.c: Add missing prototypes. + * elf32-mcore.c: Add missing prototypes. + * elf32-openrisc.c: Add missing prototypes. + * elf32-sh.c: Add missing prototypes. + * elf32-sparc.c: Add missing prototypes. + * elf32-v850.c: Add missing prototypes. + * elfarm-nabi.c: Add missing prototypes. + * elfarm-oabi.c: Add missing prototypes. + +2001-08-25 Thiemo Seufer + + * elf32-mips.c (elf_mips_abi_name): Return the right ABI string for + E_MIPS_ABI_O64 and E_MIPS_ABI_EABI64 + +2001-08-24 H.J. Lu + + * elf.c (_bfd_elf_merge_sections): Fail if not using an ELF + hash structure. + +2001-08-24 Nick Clifton + + * elf-bfd.h (elf_hash_table): Revert definition. + (is_elf_hash_table): New macro. + * elflink.h (elf_link_add_object_symbols): Test + is_elf_hash_table before accessing ELF only fields in hash + structure. + (elf_link_create_dynamic_sections): Fail if not using an ELF + hash structure. + (elf_add_dynamic_entry): Fail if not using an ELF hash + structure. + (elf_link_record_local_dynamic_symbol): Fail if not using an + ELF hash structure. + (size_dynamic_sections): Fail if not using an ELF hash + structure. + (elf_adjust_dynamic_symbol): Fail if not using an ELF + hash structure. + (elf_bfd_final_link): Fail if not using an ELF hash + structure. + +2001-08-24 H.J. Lu + + * elf-bfd.h (elf_hash_table): Return NULL if the linker hash + table is not an ELF linker hash table. + + * elf.c (_bfd_elf_link_hash_table_init): Set the linker hash + table type to bfd_link_elf_hash_table. + + * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Revert + the last change. + + * linker.c (_bfd_link_hash_table_init): Set the linker hash + table type to bfd_link_generic_hash_table. + +2001-08-24 Alexandre Oliva + + * bfd.c (bfd_alt_mach_code): New function. + * bfd-in2.h: Rebuilt. + +2001-08-24 Alexandre Oliva + + * elf-m10300.c (mn10300_elf_relocate_section): Test the right + `type' field in the hash entry when deciding whether to follow a + link. + +2001-08-24 Jakub Jelinek + + * elflink.h (elf_link_sort_cmp1): Sort RELATIVE relocs first, not + last. + (elf_link_sort_relocs): Adjust accordingly. + + * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add reltext flag. + (elf64_alpha_check_relocs): Set it if section this reloc is against + is read-only. Set DF_TEXTREL if a RELATIVE reloc is needed against + read-only section. + (elf64_alpha_calc_dynrel_sizes): Set DF_TEXTREL flag if relocation + is is against read-only section. + (elf64_alpha_size_dynamic_sections): Use DF_TEXTREL flag, don't + check section names. + (elf64_alpha_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + +2001-08-24 Thiemo Seufer + + * linker.c (_bfd_generic_link_add_archive_symbols): Replace alloca() + by bfd_malloc(). + +2001-08-23 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_check_relocs): Set DF_TEXTREL if + the reloc is against read-only section. + (elf64_x86_64_size_dynamic_sections): Use DF_TEXTREL flag instead + of looking up section names for DT_TEXTREL. + (elf64_x86_64_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + +2001-08-23 H.J. Lu + + * syms.c (bfd_print_symbol_vandf): Add abfd to arg. + * bfd-in2.h (bfd_print_symbol_vandf): Regenerated. + + * aoutx.h (NAME(aout,print_symbol)): Pass abfd to + bfd_print_symbol_vandf. + * coffgen.c (coff_print_symbol): Likewise. + * elf.c (bfd_elf_print_symbol): Likewise. + * ieee.c (ieee_print_symbol): Likewise. + * nlmcode.h (nlm_print_symbol): Likewise. + * oasys.c (oasys_print_symbol): Likewise. + * pdp11.c (NAME(aout,print_symbol)): Likewise. + * som.c (som_print_symbol): Likewise. + * srec.c (srec_print_symbol): Likewise. + * tekhex.c (tekhex_print_symbol): Likewise. + * versados.c (versados_print_symbol): Likewise. + * vms.c (vms_print_symbol): Likewise. + + * elf.c (_bfd_elf_print_private_bfd_data): Replace fprintf_vma + with bfd_fprintf_vma. + (bfd_elf_print_symbol): Likewise. + * syms.c (bfd_print_symbol_vandf): Likewise. + +2001-08-23 Nick Clifton + + * aoutf1.h (sunos_write_object_contents): Silence compile time + warning. + * libaout.h (N_SET_DYNAMIC): Silence compile time warning. + + * bout.c: Add missing function prototypes. Fix formatting. + * coff-z8k.c: Add missing function prototypes. Fix formatting. + * coff-w65.c: Add missing function prototypes. Fix formatting. + * coff-h8500.c: Add missing function prototypes. Fix formatting. + * coff-h8300.c: Add missing function prototypes. Fix formatting. + * coff-tic54x.c: Add missing function prototypes. Fix formatting. + * coff-tic30.c: Add missing function prototypes. Fix formatting. + * coff-m68k.c: Add missing function prototypes. Fix formatting. + * coff-rs6000.c: Add missing function prototypes. Fix formatting. + * coff-sh.c: Add missing function prototypes. Fix formatting. + +2001-08-23 Jakub Jelinek + + * elf-bfd.h (enum elf_reloc_type_class): New. + (struct elf_backend_data): Add elf_backend_reloc_type_class. + (_bfd_elf_reloc_type_class): New. + * elfxx-target.h (elf_backend_reloc_type_class): Define. + (elfNN_bed): Add elf_backend_reloc_type_class. + * elf.c (_bfd_elf_reloc_type_class): New. + * elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc + is against read-only section. + (elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf_i386_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + * elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf32_sparc_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + * elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (sparc64_elf_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field. + (elfNN_ia64_hash_table_create): Clear ia64_info. + (get_reloc_section): Set DF_TEXTREL if the reloc is against read-only + section. + (elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag + instead of looking up section names for DT_TEXTREL. + (elfNN_ia64_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + * elflink.h (size_dynamic_sections): Add spare DT_NULL tags. + (struct elf_link_sort_rela): New. + (elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New. + (elf_bfd_final_link): Call elf_link_sort_relocs. + Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if + necessary. + +2001-08-23 Nick Clifton + + * configure.in (x86-bsdi): No corefile support. + * configure: Regenerate. + +2001-08-22 Nick Clifton + + * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add missing + comma. + +2001-08-21 Mark Elbrecht + + * coff-go32.c: Make DWARF2 sections use an alignment of 0. Set + the alignment of dwarf2 linkonce sections to 0. + * coff-sto32.c: Likewise. + +2001-08-20 Andreas Jaeger + + * coff-sparc.c: Add missing prototypes. + * elf32-s390.c: Likewise. + * elf32-i960.c: Likewise. + * aout-target.h: Likewise. + +2001-08-20 H.J. Lu + + * elf-bfd.h (elf_obj_tdata): Add num_section_syms. + (elf_num_section_syms): New for num_section_syms. + + * elf.c (elf_map_symbols): Set num_section_syms. + (_bfd_elf_symbol_from_bfd_symbol): Check num_section_syms for + the section symbol index. + +2001-08-20 Nick Clifton + + * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Never + select the generic has table creator. All elf backends need elf + specific fields in the hash table. + +2001-08-20 Alan Modra + + * archive.c (offsetof): Remove define. + * elf.c: Likewise. + * oasys.c: Likewise + * sysdep.h (offsetof): Define. + +2001-08-17 Alan Modra + + * bfd.c (bfd_get_gp_size): Return an unsigned int. + (bfd_set_gp_size): Make param unsigned. + * bfd-in2.h: Regenerate. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Use elf_gp_size rather + than calling bfd_get_gp_size. + * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise. + * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise. + +2001-08-17 Alan Modra + + * linker.c (default_fill_link_order): Handle four byte fill value. + +2001-08-17 Alan Modra + + * elf64-sparc.c (sparc64_elf_output_arch_syms): Add missing + prototype. + * nlm32-alpha.c (nlm_alpha_write_external): Fix warning. + + * elf64-mips.c (UNUSED_RELOC): Define. + (mips_elf64_howto_table_rel): Use it. + (mips_elf64_howto_table_rela): Here too. + (mips_elf64_write_relocs): Fix signed/unsigned warning. + + * coffcode.h (coff_write_object_contents): Add ATTRIBUTE_UNUSED to + silence warning. + * coffgen.c (coff_print_symbol): Fix warnings. + (coff_find_nearest_line): Likewise. + * cofflink.c (_bfd_coff_link_input_bfd): Likewise. + * coff-alpha.c (alpha_convert_external_reloc): Likewise. + * format.c (bfd_check_format_matches): Likewise. + (bfd_set_format): Likewise. + * coff-ia64.c: Add missing prototypes. + * elf64-alpha.c (struct alpha_elf_link_hash_entry): Make addend + signed to silence warnings. + (elf64_alpha_relocate_section): Likewise. + (elf64_alpha_find_reloc_at_ofs): Fix warnings. + (elf64_alpha_add_symbol_hook): Likewise. + (elf64_alpha_final_link): Likewise. + (elf64_alpha_relax_section): Remove redundant assign to info.gotent. + (elf64_alpha_merge_gots): Add ATTRIBUTE_UNUSED to unused args. + (elf64_alpha_size_got_sections): Likewise. + * elfxx-ia64.c: Add missing prototypes. + (elfNN_ia64_relocate_section): Fix warning. + (elfNN_ia64_unwind_entry_compare): Make params const. + +2001-08-17 Alan Modra + + * config.bfd (targ64_selvecs): New. + : Use it here instead of ineffectual #ifdef. + + * bfd-in.h (BFD_VERSION): Remove wrong comment. + (BFD_DEFAULT_TARGET_SIZE): New. + (BFD_ARCH_SIZE): Comment. + * configure.in (target_size): New. Set instead of target64 in + selvecs case statement. Set target64 from it. + (bfd_default_target_size): New. Set from taget_size. AC_SUBST. + * bfd-in2.h: Regenerate. + * configure: Regenerate. + +2001-08-17 Alan Modra + + * bfd.c (enum bfd_error): Add bfd_error_wrong_object_format. + (bfd_errmsgs): Add corresponding message. + * archive.c (bfd_generic_archive_p): Don't release bfd_ardata when + finding an archive that contains different format object files. + Return bfd_error_wrong_object_format for this case. + * format.c: Formatting fixes. s/CONST/const/. + (bfd_check_format_matches): Accept archives that give + bfd_error_wrong_object_format if no full match is found. Tidy + code handling matching_vector. Don't return a pointer to freed + memory in `matching'. Handle ambiguous matches as for partial + archive matches. + * bfd-in2.h: Regenerate. + +2001-08-15 Alan Modra + + * libieee.h (common_header_type): Add last_byte field. + + * ieee.c: Add missing prototypes. Some format fixes. + (struct output_buffer_struct): Move for availability to prototypes. + (ieee_part_after): New function. + (ieee_slurp_debug): Use it here. + (ieee_seek): Pass in ieee_data_struct rather than bfd. Use + ieee_part_after to set last_byte to one past end of current part. + Update callers. + (ieee_pos): Pass in ieee_data_struct rather than bfd. + Update callers. + (parse_expression): Don't go beyond the end of the current part. + (ieee_slurp_external_symbols): Correct type passed to read_2bytes. + (ieee_get_symtab_upper_bound, ieee_get_symtab, + ieee_get_symbol_info, ieee_print_symbol, ieee_new_section_hook, + ieee_get_reloc_upper_bound, ieee_canonicalize_reloc, block, + ieee_set_section_contents, ieee_write_object_contents, + ieee_make_empty_symbol): Make static. + (ieee_archive_p): Correct comments regarding bfd_read. + (ieee_object_p): Similarly. + (ieee_mkobject): Move it. Clear output_ptr_start, output_ptr, + output_ptr_end, input_ptr_start, input_ptr, input_ptr_end, + input_bfd, output_bfd, output_buffer. + (do_as_repeat): Write out ieee_set_current_pc_enum value as for + do_with_relocs, ie. as a symbol for relocatable files. + (ieee_vec): Add comments showing functions referenced by macros. + +2001-08-14 Nick Clifton + + * aout-tic30.c: Add missing prototypes. Fix formatting. + * aout-ns32k.c: Add missing prototypes. Fix formatting. + * peXXigen.c: Add missining prototypes. Fix formatting. + * aout-adobe.c: Add missining prototypes. Fix formatting. + +2001-08-13 Nick Clifton + + * elf32-v850.c: Add missing function prototypes. + Fix some formatting. + + * cpu-v850.c: Add missing function prototype. + Fix some formatting. + 2001-08-11 Nick Clifton * elf-bfd.h (struct elf_backend_data): Add new fields @@ -15,7 +1320,7 @@ * elfxx-target.h (elf_backend_sprintf_vma): Initialise if not already defined. (elf_backend_fprintf_vma): Initialise if not already defined. - (struct elf_backend_data): Initialise the + (struct elf_backend_data): Initialise the elf_backend_sprintf_vma and elf_backend_fprintf_vma fields. 2001-08-10 Andreas Jaeger