* elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
[binutils-gdb.git] / bfd / ChangeLog
index b3f08bc48361437df5d98314072eea09fc26994b..d9adb5cc56e4fb5d4916067b41a0af01680018f2 100644 (file)
@@ -1,3 +1,169 @@
+2003-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
+       complain_overflow_bitfield.
+       * elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
+       complain_overflow_bitfield.
+
+2003-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
+       true even if -pie.
+
+2003-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
+       (elfNN_ia64_dynamic_symbol_p): Change info->shared into
+       !info->executable.
+       (get_fptr): For -pie create .opd as writable section and create
+       .rela.opd as well.
+       (elfNN_ia64_check_relocs): Change info->shared into
+       !info->executable.
+       (allocate_fptr): Likewise.
+       (allocate_dynrel_entries): Account for a relative reloc for -pie
+       @fptr().  Don't account for a relative reloc if -pie want_ltoff_fptr
+       for undefweak symbol.  Account for an IPLT reloc in .rela.opd
+       section if -pie.
+       (set_got_entry): Don't create a relative reloc if -pie
+       want_ltoff_fptr for undefweak symbol.
+       (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
+       (elfNN_ia64_relocate_section): Emit a relative reloc for -pie
+       @fptr().
+
+       * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
+       even if -pie.
+       * elf32-i386.c (elf_i386_relocate_section): Likewise.
+       * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+       * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+       * elf64-s390.c (elf_s390_relocate_section): Likewise.
+       * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+       * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+       * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+       * elf32-s390.c (elf_s390_relocate_section): Likewise.
+       * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+
+2003-07-04  Paul Clarke <paulc@senet.com.au>
+
+       * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
+       (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
+       <R_H8_DIR32A16>: Fix type of relocation.
+
+2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
+       sections were created already.  Remove unnecessary tests of
+       the previous change.
+
+2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
+       bfd_make_section for existing sections.
+
+2003-07-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-sparc.c (elf32_sparc_check_relocs): Don't call
+       create_got_section if we already have done so.
+       * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
+       (sh_elf_check_relocs): Likewise.
+       (sh_elf_adjust_dynamic_symbol): Delete "dynobj" var.  Use
+       htab->root.dynobj instead.
+       (sh_elf_check_relocs): Likewise.
+       (sh_elf_finish_dynamic_sections): Likewise.
+
+       * section.c (bfd_make_section): Return NULL for existing section.
+
+2003-07-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
+       ppc_elf_create_got if we've already done so.
+
+       * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
+       (_bfd_elf_find_pointer_linker_section): Likewise.
+       (bfd_elf32_create_pointer_linker_section): Likewise.
+       (bfd_elf32_finish_pointer_linker_section): Likewise.
+       (bfd_elf64_create_pointer_linker_section): Likewise.
+       (bfd_elf64_finish_pointer_linker_section): Likewise.
+       (_bfd_elf_make_linker_section_rela): Likewise.
+       * elfcode.h (elf_create_pointer_linker_section): Don't define.
+       (elf_finish_pointer_linker_section): Likewise.
+       * elflink.c (_bfd_elf_make_linker_section_rela): Delete.
+       (_bfd_elf_create_linker_section): Move this function..
+       (_bfd_elf_find_pointer_linker_section): ..and this..
+       * elflink.h (elf_create_pointer_linker_section): ..and this..
+       (elf_finish_pointer_linker_section): ..and this..
+       * elf32-ppc.c: ..to here, renaming to the following, and adjusting
+       calls.
+       (elf_create_linker_section): Convert to C90, tidy.
+       (elf_find_pointer_linker_section): Likewise.
+       (elf_create_pointer_linker_section): Likewise.
+       (elf_finish_pointer_linker_section): Likewise.
+       * elf32-i370.c: Delete #if 0 code.
+
+2003-07-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
+       _restf* to be satisfied by shared libs, and always force them local.
+       (toc_adjusting_stub_needed): Avoid scanning linker created sections.
+       Correct test for "bl".
+       (ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
+       primary opcode 31.
+
+2003-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+       * elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
+       (s390_tls_reloc): New function.
+       (elf_howto_table): Add long displacement relocations R_390_20,
+       R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
+       (elf_s390_reloc_type_lookup): Likewise.
+       (elf_s390_check_relocs): Likewise.
+       (elf_s390_gc_sweep_hook): Likewise.
+       (elf_s390_relocate_section): Likewise.
+       * elf64-s390.c: Same changes as for elf32-s390.c.
+       * reloc.c: Add long displacement relocations BFD_RELOC_390_20,
+       BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and 
+       BFD_RELOC_390_TLS_GOTIE20.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Likewise.
+
+2003-06-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
+       (ins_imms, ins_immsm1u4): Likewise.  Warning fix.
+
+2003-06-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * archive.c: Convert to C90, remove unnecessary prototypes and casts.
+       Replace PTR with void *.  Formatting.
+       * archive64.c: Likewise.
+       * archures.c: Likewise.
+       * bfd-in.h: Likewise.
+       * bfd.c: Likewise.
+       * bfdio.c: Likewise.
+       * bfdwin.c: Likewise.
+       * cache.c: Likewise.
+       * corefile.c: Likewise.
+       * format.c: Likewise.
+       * init.c: Likewise.
+       * libbfd-in.h: Likewise.
+       * libbfd.c: Likewise.
+       * linker.c: Likewise.
+       * opncls.c: Likewise.
+       * reloc.c: Likewise.
+       * section.c: Likewise.
+       * simple.c: Likewise.
+       * syms.c: Likewise.
+       * targets.c: Likewise.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+       * ecoff.c (bfd_debug_section): Add missing kept_section initialization.
+       * libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
+       * libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
+       (bfd_getb64): Rewrite without parens.
+       (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
+       * cache.c (insert, snip): Remove INLINE.
+       * linker.c (bfd_link_add_undef): Likewise.
+
 2003-06-29  Andreas Jaeger  <aj@suse.de>
 
        * elf64-x86-64.c: Convert to ISO C90 prototypes, remove
        (aout_link_write_symbols): Cast enums in comparisons, int values to
        boolean, enums in assignments to int.
        (aout_link_input_section_std): Cast rel->r_index to unsigned int.
-       (aout_link_input_section_ext): Likewise.  Cast enums used in comparisons
-       with unsigned ints.
+       (aout_link_input_section_ext): Likewise.  Cast enums used in
+       comparisons with unsigned ints.
        (aout_link_reloc_link_order): Cast enum to int in assignment.
        * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
        calls to char *.
        (merge_strings): Add casts to const unsigned char *.
        * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
        (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
-       * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result to
-       struct bfd_hash_entry *.
+       * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
+       to struct bfd_hash_entry *.
        (bfd_set_section_content): Add cast to PTR in comparison.
        * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
        simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,