2000-04-27 H.J. Lu <hjl@gnu.org>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 21932c54e0b63d68292ea3e0fd31d00be8d49032..8e6ab54b0cdbb7c84dc12f0167e9511824629e56 100644 (file)
@@ -1,8 +1,382 @@
+2001-04-30  H.J. Lu  <hjl@gnu.org>
+
+       * elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1
+       only for ELF_LINK_FORCED_LOCAL.
+       * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
+       * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise.
+       * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
+
+       * elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL
+       if the symbol has hidden or internal visibility.
+
+2001-04-30  Alan Modra  <amodra@one.net.au>
+
+       * elf32-hppa.c (final_link_relocate): Branch to .+8 for
+       calls to undefined weak symbols.
+
+2001-04-30  Andreas Jaeger  <aj@suse.de>, Andreas Schwab <schwab@suse.de>
+
+       * elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for
+       R_X86_64_GOTPCREL, don't use assignments instead of comparisons.
+
+2001-04-27  Andreas Jaeger  <aj@suse.de>
+
+       * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swap
+       out handled entries.
+       (elf64_x86_64_finish_dynamic_symbol): Set up GOT entries.
+       (elf64_x86_64_relocate_section): Fix GOTPCREL calculation.
+       (elf64_x86_64_relocate_section): Merge entries for GOTPCREL and
+       GOT32.
+
+2001-04-27  Sean McNeil <sean@mcneil.com>
+
+       * config.bfd: Add arm-vxworks target.
+       * coff-arm (coff_arm_relocate_section): Add in symbol value to
+       addend (fro VXworks targets).
+
+2001-04-26  H.J. Lu  <hjl@gnu.org>
+
+       * elf32-i386.c (elf_i386_check_relocs): Verify if r_symndx is
+       valid.
+
+2001-04-25  Frank Ch. Eigler  <fche@redhat.com>
+
+       * bfd-in.h (bfd_cache_close): Declare newly exported function.
+       * bfd-in2.h: Regenerated.
+
+2001-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * merge.c (struct sec_merge_hash_entry): Add alignment field.
+       (struct sec_merge_hash): Remove alignment_power.
+       (sec_merge_hash_newfunc): Clear alignment.
+       (sec_merge_hash_lookup): Pass alignment as argument.
+       Use hashp->root.next, not hashp->next to walk the hash chain.
+       If a string already in the hashtable does not have required
+       alignment, create a new hashtable entry.
+       (sec_merge_init): Remove alignment_power argument.
+       (sec_merge_add): Add alignment argument.
+       (sec_merge_emit): Alignment is now a per-entity thing, not per
+       section.
+       (_bfd_merge_section): Sanity check even non-SEC_STRINGS sections
+       for proper alignment.
+       Pass alignment information to sec_merge_add.
+
+2001-04-24  Christian Groessler  <cpg@aladdin.de>
+
+       * coff-z8k.c (extra_case): added handler for R_DISP7, R_CALLR
+       and R_REL16 reloc types; accept odd values for R_REL16 type
+
+2001-04-24  Johan Rydberg  <jrydberg@opencores.org>
+
+       * cpu-openrisc.c: New file.
+       * elf32-openrisc.c: Likewise.
+
+       * Makefile.am (ALL_MACHINES): Add cpu-openrisc.lo.
+       (ALL_MACHINES_CFILES): Add cpu-openrisc.c.
+       (BFD32_BACKENDS): Add elf32-openrisc.lo.
+       (BFD32_BACKENDS_CFILES): Add elf32-openrisc.c.
+       (cpu-openrisc.lo, elf32-openrisc.lo): New rules.
+       * Makefile.in: Regenerated.
+       * config.bfd: (openrisc-*-elf): New target.
+       * configure.in (bfd_elf32_openrisc_vec): New vector.
+       * configure: Regenerated.
+       * libbfd.h: Regenerated.
+       * bfd-in2.h: Regenerated.
+       * reloc.c: Add OpenRISC relocations.
+       * targets.c (bfd_elf32_openrisc_vec): Declare.
+       (bfd_target_vect): Add bfd_elf32_openrisc_vec.
+       * archures.c (enum bfd_architecture): Add bfd_arch_openrisc.
+       (bfd_openrisc_arch): Declare.
+       (bfd_archures_list): Add bfd_openrisc_arch.
+       * elf.c (prep_headers): Add bfd_arch_openrisc.
+
+2001-04-23  Bo Thorsen  <bo@suse.de>
+
+       * elf64-x86-64.c: Add c++ vtable hack.
+       Small whitespace and comment changes.
+
+2001-04-19  Andreas Jaeger  <aj@suse.de>
+
+       * elf64-x86-64.c (elf64_x86_64_plt0_entry): Fix instructions.
+       (elf64_x86_64_plt_entry): Likewise.
+       (elf64_x86_64_finish_dynamic_sections): Fix PLT0 generation.
+       (elf64_x86_64_finish_dynamic_symbol): Fix PLT generation.
+
+2001-04-17  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elf32-cris.c: Tweak comments related to dynamic linking.
+       (cris_elf_relocate_section): When not creating shared object, fill
+       in the .got table for any symbol not in the dynamic symbol table.
+       (elf_cris_finish_dynamic_symbol): When not creating shared object,
+       only emit a .got.rela reloc if the symbol is in the dynamic symbol
+       table.
+       (cris_elf_check_relocs): Use variable r_type in all places rather
+       than the original expression.  Add default case in switch for
+       reloc types.
+       (elf_cris_size_dynamic_sections): Iterate over
+       elf_cris_discard_excess_program_dynamics when not creating shared
+       library.
+       (elf_cris_discard_excess_dso_dynamics): Renamed from
+       elf_cris_discard_copies.  Correct typo, s/Rel/Rela/.
+       (elf_cris_discard_excess_program_dynamics): New.
+
+2001-04-14  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * coffcode.h (coff_write_object_contents): Use
+       bfd_coff_swap_filehdr_out instead of coff_swap_filehdr_out.
+
+2001-04-14  H.J. Lu  <hjl@gnu.org>
+
+       * bfd-in2.h: Regenerate.
+
+2001-04-14  Jakub Jelinek <jakub@redhat.com>
+
+       * section.c (STD_SECTION): Add entsize.
+
+2001-04-13  H.J. Lu  <hjl@gnu.org>
+
+       * section.c (SEC_MERGE): Define new flag for merging.
+       (SEC_STRINGS): Likewise.
+       (entsize): New field.
+
+2001-04-13  Roger Sayle  <roger@metaphorics.com>
+
+       * coff-i386.c (TARGET_SYM): SEC_READONLY is an applicable section
+       flag on pe-i386 targets.
+
+2001-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * libbfd-in.h (_bfd_merge_section): New.
+       (_bfd_write_merged_section): New.
+       (_bfd_merged_section_offset): New.
+       * libbfd.h: Rebuilt.
+       * linker.c (_bfd_generic_link_output_symbols): Handle
+       discard_sec_merge.
+       * aoutx.h (aout_link_write_symbols): Likewise.
+       * pdp11.c (aout_link_write_symbols): Likewise.
+       * elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
+       (elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
+       sections.
+       (elf_link_sec_merge_syms): New.
+       (elf_link_input_bfd): Call _bfd_merged_section_offset
+       and _bfd_write_merged_section.
+       Handle discard_sec_merge.
+       * elf-bfd.h (struct elf_link_hash_table): Add merge_info
+       field.
+       (struct bfd_elf_section_data): Likewise.
+       * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
+       SEC_STRINGS section flags and entsize from their ELF counterparts.
+       (_bfd_elf_link_hash_table_init): Initialize merge_info.
+       (elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
+       from their BFD counterparts.
+       * merge.c: New file.
+       * Makefile.am: Add strtab.lo.
+       * Makefile.in: Rebuilt.
+
+2001-04-09  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elflink.h (elf_fix_symbol_flags): For non-default visibilities,
+       only hide symbols marked STV_INTERNAL or STV_HIDDEN.
+
+2001-04-05  Steven J. Hill  <sjhill@cotw.com>
+
+       * config.bfd (mips*el*-*-linux-gnu*): Use traditional little
+       endian MIPS ELF target.
+       * config.bfd (mips*-*-linux-gnu*): Use traditional big endian
+       MIPS ELF target.
+
+       * configure.in (bfd_elf64_tradbigmips_vec): New. Traditional
+       64bit big endian MIPS ELF target.
+       (bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
+       endian MIPS ELF target.
+       * configure: Regenerated.
+
+       * elf32-mips.c (IRIX_COMPAT): Handle traditional 64bit and
+       little endian targets.
+       (mips_elf_sym_is_global): Handle traditional targets.
+
+       * elf64-mips.c (bfd_elf64_tradbigmips_vec): New. Traditional
+       64bit big endian MIPS ELF target.
+       (bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
+       endian MIPS ELF target.
+
+       * targets.c: (_bfd_target_vector): Add bfd_elf64_tradbigmips_vec
+       and bfd_elf64_tradlittlemips_vec.
+
+2001-04-05  David Mosberger  <davidm@hpl.hp.com>
+
+       * elf32-i386.c (elf_i386_fake_sections): Treat ".reloc" as an
+       ordinary "progbits" section.
+
+2001-04-04  Alan Modra  <alan@linuxcare.com.au>
+
+       * elflink.h (elf_fix_symbol_flags): Call elf_backend_hide_symbol
+       when -Bsymbolic causes a symbol to no longer need a .plt entry.
+
+2001-04-03  David Mosberger  <davidm@hpl.hp.com>
+
+       * efi-app-ia32.c (ALIGN_SECTIONS_IN_FILE): Deleted.
+
+2001-03-30  H.J. Lu  <hjl@gnu.org>
+
+       * efi-app-ia32.c (PEI_TARGET_SUBSYSTEM): Rename from ...
+       (PEI_DEFAULT_TARGET_SUBSYSTEM): This.
+
+2001-03-26  H.J. Lu  <hjl@gnu.org>
+
+       * elf32-gen.c (elf32_generic_link_add_symbols): New. Check
+       if there are any relocations for generic ELF.
+       (bfd_elf32_bfd_link_add_symbols): Defined to
+       elf32_generic_link_add_symbols.
+       * elf64-gen.c (elf64_generic_link_add_symbols): New. Check
+       if there are any relocations for generic ELF.
+       (bfd_elf64_bfd_link_add_symbols): Defined to
+       elf64_generic_link_add_symbols.
+
+2001-03-23  Nick Clifton  <nickc@redhat.com>
+
+       * Makefile.am (BUILD_CFILES): New variable: List of C source
+        files created in build directory.
+        (BUILD_HFILES): New variable: List of header files created in
+        build directory.
+        (POTFILES): Delete.
+        (po/POTFILES.in): Replace rule with empty entry.
+        (po/SRC-POTFILES.in): New rule: Create a list of source files
+        in the source directory.
+        (po/BLD-POTFILES.in): New rule: Create a list of source files
+        in the build directory.
+        (MOSTLYCLEAN): Do not delete source files created in build
+        directory.
+        * Makefile.in: Regenerate.
+        * configure.in: Insert SRC-POTFILES.in and BLD-POTFILES.in
+        into po/Makefile.
+        * configure: Regenerate.
+
+        * po/Make-in: Replace occurrences of POTFILES with SRC-POTFILES
+        and BLD_POTFILES.
+       Add .. to the search path when building bfd.pot.
+        Delete POTFILES when performing distclean.
+        Add comment describing why distclean is broken in maintainer mode.
+       * po/POTFILES.in: Delete.
+       * po/SRC-POTFILES.in: New file.
+       * po/BLD-POTFILES.in: New file.
+        * po/bfd.pot: Regenerate.
+
+2001-03-22  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elf32-cris.c: Shlib and PIC support.  PCREL tweaks.
+       (elf_cris_discard_copies, elf_cris_adjust_gotplt_to_got,
+       elf_cris_try_fold_plt_to_got, elf_cris_link_hash_newfunc,
+       elf_cris_link_hash_table_create, elf_cris_adjust_dynamic_symbol,
+       elf_cris_size_dynamic_sections, elf_cris_finish_dynamic_symbol,
+       elf_cris_finish_dynamic_sections,elf_cris_hide_symbol): New
+       functions.
+       (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL,
+       R_CRIS_32_PCREL>: Correct comments.  Set pcrel_offset to false.
+       <R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE,
+       R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT,
+       R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL>:
+       New HOWTO members for new relocs.
+       (cris_reloc_map): Map new relocs.
+       (ELF_DYNAMIC_INTERPRETER): Define.
+       (PLT_ENTRY_SIZE): Define.
+       (elf_cris_plt0_entry, elf_cris_plt_entry, elf_cris_pic_plt0_entry,
+       elf_cris_pic_plt_entry): New, PLT templates.
+       (struct elf_cris_pcrel_relocs_copied, struct
+       elf_cris_link_hash_entry, struct elf_cris_link_hash_table): New.
+       (elf_cris_link_hash_traverse, elf_cris_hash_table): Define.
+       (cris_final_link_relocate): Check that 16-bit GOT relocs have
+       positive values.  Adjust PCREL relocs to be relative to location
+       after relocation.
+       (cris_elf_relocate_section): Handle relocations to dynamic
+       objects.  Handle new relocations.  Call error handler when seeing
+       non-PIC relocation for read-only sections while generating shared
+       object.
+       (cris_elf_check_relocs): Set reference counts for GOT and PLT
+       entries.
+       (bfd_elf32_bfd_link_hash_table_create,
+       elf_backend_adjust_dynamic_symbol,
+       elf_backend_size_dynamic_sections,
+       elf_backend_finish_dynamic_symbol,
+       elf_backend_finish_dynamic_sections,
+       elf_backend_create_dynamic_sections, bfd_elf32_bfd_final_link,
+       elf_backend_hide_symbol, elf_backend_want_got_plt,
+       elf_backend_plt_readonly, elf_backend_want_plt_sym,
+       elf_backend_got_header_size, elf_backend_plt_header_size):
+       Define.
+
+       * reloc.c: (BFD_RELOC_CRIS_COPY, BFD_RELOC_CRIS_GLOB_DAT,
+       BFD_RELOC_CRIS_JUMP_SLOT, BFD_RELOC_CRIS_RELATIVE,
+       BFD_RELOC_CRIS_32_GOT, BFD_RELOC_CRIS_16_GOT,
+       BFD_RELOC_CRIS_32_GOTPLT, BFD_RELOC_CRIS_16_GOTPLT,
+       BFD_RELOC_CRIS_32_GOTREL, BFD_RELOC_CRIS_32_PLT_GOTREL,
+       BFD_RELOC_CRIS_32_PLT_PCREL): New relocs.
+       * bfd-in2.h, libbfd.h: Regenerate.
+
+2001-03-21  Diego Novillo  <dnovillo@redhat.com>
+
+       (_bfd_mips_elf_relocate_section): Give a better error message when
+       a relocation is not recognized.
+
+2001-03-21  Alan Modra  <alan@linuxcare.com.au>
+
+       * elf32-hppa.c (elf32_hppa_set_gp): Check sec->output_section
+       non-NULL before attempting to dereference.
+
+2001-03-20  H.J. Lu  <hjl@gnu.org>
+
+       * configure.in: Remove the redundent AC_ARG_PROGRAM.
+       * configure: Rebuild.
+
+2001-03-20  Andreas Schwab  <schwab@suse.de>
+
+       * elf32-m68k.c (elf_m68k_relocate_section): Don't need the
+       relocation value when resolving a reference from a debugging
+       section.
+
+2001-03-16  Scott Thomason  <SThomaso@hii.com>
+
+       * coff64-rs6000.c (xcoff64_swap_sym_out): Fix syntax errors.
+       (xcoff64_swap_sym_out): Fix syntax errors.
+
+2001-03-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix warning.
+
+2001-03-15  Alan Modra  <alan@linuxcare.com.au>
+
+       * elf32-hppa.c (elf32_hppa_link_hash_entry): Add maybe_pic_call.
+       (hppa_link_hash_newfunc): Init it.
+       (hppa_type_of_stub): Only use non-PIC to PIC call stub if caller
+       section appears to be non-PIC.
+       (final_link_relocate): Likewise.
+       (elf32_hppa_adjust_dynamic_symbol): Set maybe_pic_call for any
+       possible candidate function, and set pic_call for those that will
+       only have a .plt entry for the PIC call stub.
+       (hppa_handle_PIC_calls): Set maybe_pic_call.
+
+2001-03-12  DJ Delorie  <dj@redhat.com>
+
+       * elf32-sh.c (sh_elf_relocate_section): Only relocation
+       R_SH_DIR8WP* relocs if they're against external symbols, else
+       they're just for relaxing.  Validate the reloc values.
+
+2001-03-12  Stefan Geuken <mail@stefan-geuken.de>
+
+       * binary.c (bfd_external_binary_architecture): Declare.
+       (binary_object_p): If bfd_external_binary_architecture is defined,
+       set the architecture to this string.
+
+2001-03-11  Philip Blundell  <philb@gnu.org>
+
+       * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Don't make PLT
+       entries that could serve as a definition for a weak symbol.
+
 2001-03-08  Nick Clifton  <nickc@redhat.com>
 
        * Most files: Update copyright notices using Perl script created
        by Kevin Buettner <kevinb@redhat.com>.
-       
+
 2001-03-07  Nick Clifton  <nickc@redhat.com>
 
        * elf32-arm.h (elf32_arm_final_link_relocate): Conditionalise
        * elf.c (elf_fake_sections): Do not mark the section SHT_NOBITS if
        is has the SEC_HAS_CONTENTS flag set.
 
-2000-09-28  Vrjan Friberg  <orjanf@axis.com>
+2000-09-28  Örjan Friberg  <orjanf@axis.com>
            Hans-Peter Nilsson  <hp@axis.com>
 
        * aout-cris.c (N_TXTADDR): Define.
 
        * libhppa.h (HPPA_R_CONSTANT): Cast argument to bfd_signed_vma.
 
-2000-05-03  Martin v. Lvwis  <loewis@informatik.hu-berlin.de>
+2000-05-03  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
        * elflink.h (elf_link_add_object_symbols): Reset dynindx for
        hidden and internal symbols.
This page took 0.036348 seconds and 4 git commands to generate.