* elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
[binutils-gdb.git] / bfd / ChangeLog
index 6d520caa8456b99be532ba7e601f35096d46b838..d9adb5cc56e4fb5d4916067b41a0af01680018f2 100644 (file)
@@ -1,3 +1,104 @@
+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
        (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,