* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
[binutils-gdb.git] / bfd / ChangeLog
index 007d400a5d9e5e4c56b781fe9681516366ff239a..1deded90651ac9eb768356d270e414fd9e4f0f2a 100644 (file)
@@ -1,3 +1,291 @@
+2003-04-21  Richard Henderson  <rth@redhat.com>
+
+       * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
+       executable when a symbol is defined both regular and dynamic.
+
+2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
+       (elf32-m68hc1x.lo): Update dependencies
+       * configure.in: Add elf32-m68hc1x.lo.
+       * configure: Rebuild.
+       * Makefile.in: Rebuild.
+
+2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
+       (m68hc11_elf_hash_table_create): New function.
+       (elf32_m68hc11_link_hash_table_free): New function.
+       (stub_hash_newfunc): New function.
+       (m68hc11_add_stub): New function.
+       (elf32_m68hc11_add_symbol_hook): New function.
+       (elf32_m68hc11_setup_section_lists): New function.
+       (elf32_m68hc11_next_input_section): New function.
+       (elf32_m68hc11_size_stubs): New function.
+       (elf32_m68hc11_build_stubs): New function.
+       (m68hc11_get_relocation_value): New function.
+       (elf32_m68hc11_relocate_section): Call the above to redirect
+       some relocations to the trampoline code.
+       (m68hc11_elf_export_one_stub): New function.
+       (m68hc11_elf_set_symbol): New function.
+       (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
+       (m68hc11_elf_get_bank_parameters): Get parameters only when the info
+       is not yet initialized.
+
+       * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
+       (elf32_m68hc11_stub_hash_entry): New struct.
+       (m68hc11_page_info): Add trampoline handler address.
+       (m68hc11_elf_link_hash_table): Add stubs generation members.
+       (elf32_m68hc11_add_symbol_hook): Declare.
+       (elf32_m68hc11_setup_section_lists): Declare.
+       (elf32_m68hc11_size_stubs): Declare.
+       (elf32_m68hc11_build_stubs): Declare.
+       
+       * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
+       (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
+       (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
+       (_bfd_m68hc11_elf_set_private_flags): Ditto.
+       (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
+       (_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
+       (bfd_elf32_bfd_link_hash_table_create): Define.
+       (elf_backend_add_symbol_hook): Define.
+       (m68hc11_elf_bfd_link_hash_table_create): New function.
+       (m68hc11_elf_build_one_stub): New function.
+       (m68hc11_elf_size_one_stub): New function.
+       (m68hc11_elf_bfd_link_hash_table_create): Install the above.
+       (bfd_elf32_bfd_link_hash_table_create): Define.
+
+       * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
+       (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
+       (m68hc12_phys_addr): Ditto.
+       (m68hc12_phys_page): Ditto.
+       (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
+       (elf32_m68hc11_gc_mark_hook): Likewise.
+       (elf32_m68hc11_gc_sweep_hook): Likewise.
+       (elf32_m68hc11_check_relocs): Likewise.
+       (elf32_m68hc11_relocate_section): Likewise.
+       (_bfd_m68hc12_elf_set_private_flags): Likewise.
+       (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
+       (_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
+       (m68hc12_elf_build_one_stub): New function.
+       (m68hc12_elf_size_one_stub): New function.
+       (m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
+       (elf_backend_add_symbol_hook): Define.
+       (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
+
+2003-04-18  Nick Clifton  <nickc@redhat.com>
+
+       * format.c (bfd_check_format_matches): Only check associated
+       vector if the matching_vector has been created.
+
+2003-04-15  Alexandre Oliva  <aoliva@redhat.com>
+
+       * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
+       2003-04-09's change.
+
+2003-04-15  Brian Ford  <ford@vss.fsi.com>
+
+       * peicode.h (coff_swap_scnhdr_in): If a section holds
+       uninitialized data and is from an object file or from an
+       executable image that has not initialized the s_size field, or if
+       the physical size is padded, use the virtual size (stored in
+       s_paddr) instead.
+
+2003-04-15  H.J. Lu <hjl@gnu.org>
+
+       * elflink.h (elf_link_add_object_symbols): Properly report
+       filename for alignment reduction.
+
+2003-04-15  Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+       * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
+       * reloc.c: Likewise.
+       * coff-h8300.c: Likewise.
+       * coff-h8500.c: Likewise.
+       * coff-sh.c: Likewise.
+       * cpu-h8300.c: Likewise.
+       * cpu-sh.c: Likewise.
+       * elf32-h8300.c: Likewise.
+       * elf32-sh.c: Likewise.
+       * elf32-sh64-com.c: Likewise.
+       * elf32-sh64.c: Likewise.
+       * elf64-sh64.c: Likewise.
+       * bfd-in2.h: Regenerate.
+
+2003-04-14  H.J. Lu <hjl@gnu.org>
+
+       * elflink.h (elf_link_add_object_symbols): Maintain maximum
+       alignment for common symbols. Warn reducing alignment for
+       common symbols. Report old filename when symbol size changes.
+
+2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
+       occurrences of the same test changed in the previous patch.
+       Optimize.
+
+2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
+       (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
+       GOT_DISP/addend only if the symbol got a global GOT entry.
+
+2003-04-10  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elfxx-mips.c (mips_elf_calculate_relocation): Decay
+       GOT_PAGE/GOT_OFST referencing overridable symbol to
+       GOT_DISP/addend.
+       (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
+       global symbol as GOT_DISP.
+
+2003-04-10  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
+       next relocation on an undefined symbol.
+
+2003-04-09  Richard Henderson  <rth@redhat.com>
+
+       * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
+       Ignore relocations against r_symndx == 0.
+
+2003-04-09  H.J. Lu <hjl@gnu.org>
+
+       * elf64-alpha.c (elf64_alpha_relocate_section): Don't return
+       FALSE for undefined symbols.
+       * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
+       and IRIX-specific shift-to-64-bit 4-byte lengths before following
+       addr_size.
+
+2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
+       pointer size from ABI, not arch_bits_per_address.
+
+2003-04-07  Kevin Buettner  <kevinb@redhat.com>
+
+       * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
+       constants for n32 ABI.
+
+2003-04-06  Andrew Cagney  <cagney@redhat.com>
+
+       * simple.c (bfd_simple_get_relocated_section_contents): Disable
+       free that leads to GDB vs BFD memory corruption.
+
+2003-04-04  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
+       symbols that mark the end of the section.
+       (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
+       converting to a relative branch so that the offset is computed after
+       the relaxation; also relocate a jsr into a bsr if possible but don't
+       relax them if they are to a far symbol as we need to call the
+       trampoline code.
+       (elf_m68hc11_howto_table): Set pcrel_offset to true.
+
+2003-04-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+       * archures.c: Namespace cleanup. Rename bfd_mach_c3x to
+       bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
+       * bfd-in2.h: Regenerate
+       * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
+       * cpu-tic4x.c: Ditto
+
+2003-04-03  Nick Clifton  <nickc@redhat.com>
+
+       * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
+       differently for object files and executables.
+       * peicode.h (coff_swap_scnhdr_in): Only set the s_size field
+       for object files or for executables who have not already
+       initialised the field.
+       * libpei.h (bfd_pe_executable_p): New macro.  Return true if
+       the PE format bfd is an executable.
+
+2003-04-03  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
+       here as it's too early to reliably determine locality.
+       (ppc_elf_gc_sweep_hook): Likewise.
+       (SYMBOL_REFERENCES_LOCAL): Expand comment.
+
+2003-04-02  Bob Wilson  <bob.wilson@acm.org>
+
+       * xtensa-modules.c: Remove comment indicating that this is a
+       generated file.
+
+2003-04-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
+
+2003-04-01  Bob Wilson  <bob.wilson@acm.org>
+
+        * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
+        (ALL_MACHINES_CFILES): Add cpu-xtensa.c.
+        (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
+        xtensa-modules.lo.
+        (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
+        xtensa-modules.c.
+        (cpu-xtensa.lo): New target.
+        (elf32-xtensa.lo): Likewise.
+        (xtensa-isa.lo): Likewise.
+        (xtensa-modules.lo): Likewise.
+        * Makefile.in: Regenerate.
+        * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
+        (bfd_archures_list): Add bfd_xtensa_arch.
+        * config.bfd: Handle xtensa-*-*.
+        * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
+        * configure: Regenerate.
+        * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
+        PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
+        * targets.c (bfd_elf32_xtensa_be_vec): Declare.
+        (bfd_elf32_xtensa_le_vec): Likewise.
+        (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
+        * cpu-xtensa.c: New file.
+        * elf32-xtensa.c: Likewise.
+        * xtensa-isa.c: Likewise.
+        * xtensa-modules.c: Likewise.
+        * libbfd.h: Regenerate.
+        * bfd-in2.h: Likewise.
+
+2003-04-01  Nick Clifton  <nickc@redhat.com>
+
+       * archures.c (bfd_mach_arm_unknown): Define.
+       * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
+       bfd_arm_get_mach_from_notes): Prototype.
+       * bfd-in2.h: Regenerate.
+       * coff-arm.c (coff_arm_merge_private_bfd_data): Call
+       bfd_arm_merge_machines.
+       (coff_arm_final_link_postscript): Call bfd_arm_update_notes.
+       * coffcode.h (coff_set_arch_mach_hook): Call
+       bfd_arm_get_mach_from_notes.
+       * coffgen.c (coff_real_object_p): Revert previous delta.
+       * cpu_arm.c (arm_check_note): New function.  Examine a note in a
+       .note section.
+       (bfd_arm_merge_machines): New function: Handle the merging of ARM
+       binaries compiled for different architectures..
+       (bfd_arm_update_notes): New function: Update an ARM note section.
+       (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
+       number from an ARM note section.
+       * elf32-arm.h (elf32_arm_object_p): Use
+       bfd_arm_get_mach_from_notes.
+       (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
+       (elf32_arm_final_write_processing): Use bfd_arm_update_notes.
+       
+2003-04-01  Ben Elliston  <bje@wasabisystems.com>
+
+       * dwarf2.c (read_attribute_value): Correct typo in comment.
+
+2003-04-01  Nick Clifton  <nickc@redhat.com>
+
+       * dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
+       instead of concat().
+       (decode_line_info): Only free filename if it is not NULL.
+       (add_line_info): Make a copy of the filename when storing it into
+       the info structure.
+
 2003-03-31  Andreas Schwab  <schwab@suse.de>
            Daniel Jacobowitz  <drow@mvista.com>