+2015-10-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c: Include opcode/i386.h.
+ (elf_howto_table): Add R_386_GOT32X.
+ (R_386_ext2): Replace R_386_IRELATIVE with R_386_GOT32X.
+ (elf_i386_reloc_type_lookup): Handle BFD_RELOC_386_GOT32X.
+ (need_convert_mov_to_lea): Renamed to ...
+ (need_convert_load): This.
+ (elf_i386_check_relocs): Handle R_386_GOT32X. Replace
+ need_convert_mov_to_lea with need_convert_load.
+ (elf_i386_gc_sweep_hook): Handle R_386_GOT32X.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_convert_mov_to_lea): Renamed to ...
+ (elf_i386_convert_load): This. Replace need_convert_mov_to_lea
+ with need_convert_load. Support R_386_GOT32X transformations.
+ * reloc.c (BFD_RELOC_386_GOT32X): New.
+ * bfd-in2.h: Regenerated.
+ * libbfd.h: Likewise.
+
+2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * elf32-s390.c (elf_s390_check_relocs): Set the non_got_ref marker
+ only when linking an executable.
+ (elf_s390_relocate_section): Redirect PC-relative relocs to a IPLT
+ slot.
+ * elf64-s390.c (elf_s390_check_relocs): Set the non_got_ref marker
+ only when linking an executable.
+ (elf_s390_relocate_section): Redirect PC-relative relocs to a IPLT
+ slot.
+
+2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Set the PLT
+ reference counters for local IFUNC calls.
+ * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
+
+2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * elf32-s390.c (elf_s390_check_relocs): Fallthrough to the PLT
+ slot allocating code for GOTOFF relocs on ifunc symbols.
+ (elf_s390_gc_sweep_hook): Decrement plt refcount for GOTOFF relocs
+ on ifunc symbols.
+ (elf_s390_relocate_section): Redirect a GOTOFF reloc to an iplt
+ slot.
+
+2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ PR ld/18841
+ * elf32-s390.c (elf_s390_reloc_type_class): Return
+ reloc_class_ifunc for ifunc symbols.
+ * elf64-s390.c (elf_s390_reloc_type_class): Likewise.
+
+2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * elf32-s390.c (elf_s390_finish_dynamic_symbol): Call
+ elf_s390_finish_ifunc_symbol only for actually defined symbols.
+ * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
+
2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* elf-s390-common.c (s390_elf_allocate_ifunc_dyn_relocs): Remove