
1: 2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> 2: 3: Adfd m32r-linux and PIC support. Add new ABI that uses RELA. 4: * config.bfd (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*): Added. 5: * configure.in (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec, 6: bfd_elf32_m32rle_vec): Added 7: * configure: Regenerated. 8: * elf32-m32r.c (m32r_info_to_howto, m32r_elf_adjust_dynamic_symbol, 9: m32r_elf_size_dynamic_sections, m32r_elf_create_dynamic_sections, 10: m32r_elf_finish_dynamic_sections, m32r_elf_finish_dynamic_symbol, 11: allocate_dynrelocs, readonly_dynrelocs, m32r_elf_reloc_type_class, 12: m32r_elf_fake_sections): Added. 13: (m32r_elf_howto_table): Added 14: R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA, 15: R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA, 16: R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA, 17: R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA, 18: R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT, 19: R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24, 20: R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT, 21: R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF, 22: R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO, 23: R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO, 24: R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO, 25: R_M32R_GOTPC_LO. 26: (m32r_elf_relocate_section, m32r_elf_check_relocs): Changed for 27: New ABI. 28: * reloc.c: Add BFD_RELOC_M32R_GOT24, BFD_RELOC_M32R_26_PLTREL, 29: BFD_RELOC_M32R_COPY, BFD_RELOC_M32R_GLOB_DAT, 30: BFD_RELOC_M32R_JMP_SLOT, BFD_RELOC_M32R_RELATIVE, 31: BFD_RELOC_M32R_GOTOFF, BFD_RELOC_M32R_GOTPC24, 32: BFD_RELOC_M32R_GOT16_HI_ULO, BFD_RELOC_M32R_GOT16_HI_SLO, 33: BFD_RELOC_M32R_GOT16_LO, BFD_RELOC_M32R_GOTPC_HI_ULO, 34: BFD_RELOC_M32R_GOTPC_HI_SLO, BFD_RELOC_M32R_GOTPC_LO. 35: * targets.c (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec, 36: bfd_elf32_m32rle_vec): Added. 37: * bfd-in2.h: Regenerated. 38: * libbfd.h: Regenerated. 39: 40: 2003-12-19 Danny Smith <dannysmith@users.sourceforge.net> 41: 42: * coffcode.h (styp_to_sec_flags): Don't treat .reloc section 43: as SEC_DEBUGGING. 44: 45: 2003-12-18 Richard Sandiford <rsandifo@redhat.com> 46: 47: * elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of 48: mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use 49: _bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16, 50: _bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16, 51: and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16. Change rightshift 52: to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16. 53: (mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc) 54: (mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete. 55: (_bfd_mips_elf32_gprel16_reloc): Remove special case. 56: (mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise. 57: 58: * elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of 59: mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use 60: _bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc 61: for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16. 62: Change R_MIPS_HI16's rightshift to 16. 63: (mips_elf64_howto_table_rela): Replace all uses of 64: mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. 65: Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well. 66: (mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete. 67: (mips_elf64_shift6_reloc): Remove special case. Use 68: _bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue. 69: 70: * elfn32-mips.c (prev_reloc_section): Delete. 71: (prev_reloc_address, prev_reloc_addend): Delete. 72: (elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for 73: elf64-mips.c 74: (GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete. 75: (mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc) 76: (mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete. 77: (mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND. 78: (mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise. 79: (mips16_jump_reloc, mips16_gprel_reloc): Likewise. 80: (mips_elf_shift6_reloc): Likewise. Delete use of SET_RELOC_ADDEND. 81: 82: * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use 83: _bfd_relocate_contents to install an in-place addend. 84: (mips_hi16): New structure. 85: (mips_hi16_list): Moved from elf32-mips.c. 86: (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions. 87: (_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions. 88: (mips_elf_calculate_relocation): Assume addend is unshifted. 89: (_bfd_mips_elf_relocate_section): Don't apply the howto rightshift 90: on top of the usual high-part shift. Don't shift the addend right 91: before calling mips_elf_calculate_relocation. 92: 93: * elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare. 94: (_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare. 95: (_bfd_mips_elf_generic_reloc): Declare. 96: 97: 2003-12-16 Eric Youngdale <eric@mkssoftware.com> 98: Nick Clifton <nickc@redhat.com> 99: 100: * peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each 101: prefix character, if they are present. 102: 103: 2003-12-15 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> 104: Nick Clifton <nickc@redhat.com> 105: 106: * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags 107: are set on known section types. 108: 109: 2003-12-12 Nick Clifton <nickc@redhat.com> 110: 111: * po/ro.po: Updated translation. 112: 113: 2003-12-12 Alan Modra <amodra@bigpond.net.au> 114: 115: * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for 116: NULL dyn_h. 117: 118: 2003-12-11 Nick Clifton <nickc@redhat.com> 119: 120: * elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments. 121: 122: 2003-12-08 Richard Sandiford <rsandifo@redhat.com> 123: 124: * elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes. 125: Remove casts that were only needed for K&R compatibility. 126: 127: 2003-12-08 Alan Modra <amodra@bigpond.net.au> 128: 129: * elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add 130: "elflink_hash_entry *" param to elf_backend_link_output_symbol_hook. 131: Add "elflink_hash_entry *" param to elf_backend_output_arch_syms. 132: * elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param, 133: and pass to output_symbol_hook. 134: (elf_bfd_final_link): Adjust elf_link_output_sym calls. 135: (elf_link_output_extsym): Likewise. 136: (elf_link_input_bfd): Likewise. 137: * elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust. 138: * elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise. 139: * elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise. 140: * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise. 141: * elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise. 142: * elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise. 143: * elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise. 144: * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise. 145: Validate dynh->h against h. 146: * elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield. 147: (link_hash_newfunc): Init it. 148: (adjust_opd_syms): New function. 149: (ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted. 150: Set opd.adjust for all .opd relocs. Call adjust_opd_syms. 151: (ppc64_elf_tls_optimize): Adjust possible .opd sym values here. 152: (ppc64_elf_relocate_section): Also adjust syms not a multiple of 24. 153: (ppc64_elf_output_symbol_hook): New function. 154: (elf_backend_link_output_symbol_hook): Define. 155: 156: 2003-12-07 Richard Sandiford <rsandifo@redhat.com> 157: 158: * elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes. 159: Remove casts that were only needed for K&R compatibility. 160: 161: 2003-12-05 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> 162: 163: * coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set 164: partial_inplace for these relocs to FALSE for comptability with 165: the MS linker. 166: Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error 167: generated by MS linker, and brings the relocation in line the MS 168: PE documentation. 169: 170: 2003-12-04 H.J. Lu <hongjiu.lu@intel.com> 171: 172: * elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing. 173: 174: 2003-12-04 H.J. Lu <hongjiu.lu@intel.com> 175: 176: * elfxx-ia64.c (elfNN_ia64_relax_section): Use the 177: need_relax_finalize field in link_info instead of 178: relax_finalizing to check if the relax finalize pass is being 179: done. 180: 181: 2003-12-04 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> 182: 183: * coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation): 184: Change ARM26* to ARM_26* in comments to match definitions. 185: (coff_arm_adjust_symndx): Replace hard-coded constants with 186: appropriate definitions (ARM_26*). 187: 188: 2003-12-04 Alan Modra <amodra@bigpond.net.au> 189: 190: * coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported. 191: * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes. 192: (mn10300_elf_relax_section): Likewise. 193: * nlm32-alpha.c (ONES): Define. 194: (nlm32_alpha_howto_table): Use it to avoid warnings. 195: 196: 2003-12-04 Alan Modra <amodra@bigpond.net.au> 197: 198: * elf32-i386.c (elf_i386_object_p): Delete. 199: (elf_backend_object_p): Don't define. 200: * elf32-s390.c (elf_s390_object_p): No need to alloc tdata here. 201: * elf32-sh.c (sh_elf_object_p): Likewise. 202: * elf32-sparc.c (elf32_sparc_object_p): Likewise. 203: * elf64-alpha.c (elf64_alpha_object_p): Likewise. 204: * elf64-s390.c (elf_s390_object_p): Likewise. 205: * elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise. 206: 207: 2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> 208: 209: * archures.c (bfd_mach_m32r2): Add new machine type. 210: * bfd-in2.h: Regenerate. 211: * cpu-m32r.c : Add new machine type. 212: * elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing, 213: m32r_elf_merge_private_bfd_data): Add support for new machine 214: type. 215: 216: 2003-12-03 Dave Airlie <airlied@linux.ie> 217: 218: * config.bfd: Add vax-linux-gnu target. 219: * configure.in: Likewise. 220: * configure: Regenerate. 221: 222: 2003-12-03 Alan Modra <amodra@bigpond.net.au> 223: 224: * ecoff.c (ecoff_link_add_archive_symbols): Update for renamed 225: bfd_link_hash_entry field "next" -> "und_next". 226: * linker.c (_bfd_link_hash_newfunc): Likewise. 227: (bfd_link_add_undef): Likewise. 228: (_bfd_generic_link_add_archive_symbols): Likewise. 229: (_bfd_generic_link_add_one_symbol): Likewise. 230: * xcofflink.c (xcoff_link_add_symbols): Likewise. 231: 232: 2003-12-02 Nick Clifton <nickc@redhat.com> 233: 234: * configure.in (ALL_LINGUAS): Add ro. 235: * po/ro.po: New Romanian translation. 236: 237: 2003-12-02 Alan Modra <amodra@bigpond.net.au> 238: 239: * Makefile.am: Run "make dep-am". 240: * Makefile.in: Regenerate. 241: 242: 2003-12-01 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> 243: 244: * coffcode.h (coff_compute_section_file_positions): Set page_size 245: to 1 instead of 0 in the case file alignment value is zero. 246: 247: 2003-12-01 Kazu Hirata <kazu@cs.umass.edu> 248: 249: * coff-rs6000.c: Remove ARGSUSED and VARARGS. 250: * coff64-rs6000.c: Likewise. 251: * coffcode.h: Likewise. 252: * elf32-vax.c: Likewise. 253: * hash.c: Likewise. 254: * hppabsd-core.c: Likewise. 255: * hpux-core.c: Likewise. 256: * ihex.c: Likewise. 257: * netbsd-core.c: Likewise. 258: * osf-core.c: Likewise. 259: * pdp11.c: Likewise. 260: * ptrace-core.c: Likewise. 261: * sco5-core.c: Likewise. 262: * section.c: Likewise. 263: * sunos.c: Likewise. 264: * trad-core.c: Likewise. 265: 266: 2003-12-01 Alan Modra <amodra@bigpond.net.au> 267: 268: * elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg. 269: * elf.c (_bfd_elf_merge_sections): Adjust to suit. 270: (_bfd_elf_link_just_syms): Likewise. 271: (bfd_elf_get_needed_list): Likewise. 272: (bfd_elf_get_runpath_list): Likewise. 273: (_bfd_elf_link_hash_copy_indirect): Remove unneeded parens. 274: * elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab 275: creator flavour. 276: (elf32_hppa_set_gp): Look up output sections rather than using htab. 277: * elf32-i960.c: Comment fix. Formatting. 278: * elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table 279: rather than testing creator flavour. 280: * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise. 281: * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise. 282: * elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for 283: is_elf_hash_table change. Remove redundant test. 284: (bfd_elf_record_link_assignment): Use is_elf_hash_table rather than 285: testing creator flavour. 286: (elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table. 287: (_bfd_elf_fix_symbol_flags): Likewise. 288: (_bfd_elf_adjust_dynamic_symbol): Likewise. 289: * elflink.h (elf_link_add_object_symbols): Likewise. Remove redundant 290: checks. Use is_elf_hash_table rather than testing creator flavour. 291: Use hash_table throughout in place of info->hash. 292: (elf_add_dynamic_entry): Adjust for is_elf_hash_table change. 293: (NAME(bfd_elf,size_dynamic_sections)): Likewise. Remove redundant 294: check. 295: (elf_bfd_final_link): Adjust for is_elf_hash_table change. 296: (elf_link_check_versioned_symbol): Use is_elf_hash_table rather than 297: testing creator flavour. 298: (elf_gc_sections): Add is_elf_hash_table check. 299: (elf_gc_common_finalize_got_offsets): Likewise. 300: (elf_bfd_discard_info): Adjust for is_elf_hash_table change. Remove 301: redundant check. 302: * elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table 303: rather than testing creator flavour. 304: 305: 2003-11-28 Christian Groessler <chris@groessler.org> 306: 307: * cpu-z8k.c: Convert to ISO C90. 308: * coff-z8k.c: Likewise. 309: 310: 2003-11-27 Alexandre Oliva <aoliva@redhat.com> 311: 312: * elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map): 313: Add link info argument. 314: * elf32-i370.c (elf_backend_modify_segment_map): Likewise. 315: * elf32-ppc.c (ppc_elf_modify_segment_map): Likewise. 316: * elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise. 317: * elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise. 318: * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise. 319: * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise. 320: * elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise. 321: * elf.c (assign_file_positions_except_relocs, 322: assign_file_positions_for_segments): Likewise. Adjust calls. 323: 324: 2003-11-27 Mark Kettenis <kettenis@gnu.org> 325: 326: * elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out 327: of the note. 328: 329: 2003-11-26 Daniel Jacobowitz <drow@mvista.com> 330: Richard Sandiford <rsandifo@redhat.com> 331: 332: * elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub. 333: (mips_elf_set_no_stub): New function. 334: (mips_elf_multi_got): Call it. 335: (_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for 336: a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and 337: use mips_elf_create_dynamic_relocation to deal with any compatibility 338: issues. Store the adjusted addend in the GOT slot. 339: 340: 2003-11-25 Mattias Engdeg? <mattias@virtutech.se> 341: 342: * stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when 343: procesing N_BINCL stabs. 344: 345: 2003-11-25 Alan Modra <amodra@bigpond.net.au> 346: 347: * elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than 348: ppc_stub_plt_call to symbols defined in shared libs. 349: 350: 2003-11-22 Jakub Jelinek <jakub@redhat.com> 351: 352: * elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag. 353: * elf.c (_bfd_elf_link_hash_copy_indirect): Copy it. 354: * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. 355: (elf_i386_check_relocs): Set it. 356: (elf_i386_finish_dynamic_symbol): If it is not set, 357: clear st_value of SHN_UNDEF symbol. 358: 359: 2003-11-20 Jim Blandy <jimb@redhat.com> 360: 361: * cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC 362: family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>. 363: 364: 2003-11-20 Martin Schwidefsky <schwidefsky@de.ibm.com> 365: 366: * elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol 367: section for reloc output and subtract the output section's address 368: from the addend when converting a relocation into one against a 369: section symbol. 370: * elf64-s390.c (elf_s390_relocate_section): Likewise. 371: 372: 2003-11-18 James E Wilson <wilson@specifixinc.com> 373: 374: * elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd. 375: (elfNN_ia64_size_dynamic_sections): When stripping sections, check 376: for ia64_info->rel_fptr_sec. 377: 378: 2003-11-18 Alan Modra <amodra@bigpond.net.au> 379: 380: * elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section 381: size is zero. 382: 383: 2003-11-17 Daniel Jacobowitz <drow@mvista.com> 384: 385: * elf.c (_bfd_elf_link_hash_copy_indirect): Copy 386: ELF_LINK_HASH_NEEDS_PLT. Fix formatting. 387: * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise. 388: * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. 389: * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise. 390: * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise. 391: * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise. 392: * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. 393: * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise. 394: * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise. 395: * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise. 396: * elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove. 397: (elf_backend_copy_indirect_symbol): Don't define. 398: 399: 2003-11-14 Daniel Jacobowitz <drow@mvista.com> 400: 401: * elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local 402: GOT entries. 403: 404: 2003-11-13 Martin Schwidefsky <schwidefsky@de.ibm.com> 405: 406: * elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32 407: to R_390_RELATIVE. Convert the other relocations against local 408: symbols to relocations against the start of the section. 409: * elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64 410: to R_390_RELATIVE. Convert the other relocations against local 411: symbols to relocations against the start of the section. 412: 413: 2003-11-11 Nick Clifton <nickc@redhat.com> 414: 415: * elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use 416: info->executable not info->shared to decide if a .interp section 417: should be present. 418: * elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise. 419: * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise. 420: * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise. 421: * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise. 422: * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise. 423: * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise. 424: * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise. 425: * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise. 426: * elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise. 427: * elflink.h (size_dynamic_sections): Likewise. 428: 429: 2003-11-10 Jonathan Wilson <jonwil@tpgi.com.au> 430: 431: * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer. 432: (_bfd_XXi_final_link_postscript): Look for __tks_used symbol. If 433: found initialise the tls data directory entry. 434: 435: 2003-11-07 Alan Modra <amodra@bigpond.net.au> 436: 437: * elf32-ppc.c (ppc_elf_install_value): Delete. 438: (shared_stub_entry, stub_entry): Make them arrays of ints. 439: Remove initial branch. 440: (ppc_elf_relax_section): Write one branch around all trampolines 441: instead. Correct bogus R_PPC_PLTREL24 handling. Correct 442: branch range check. Only use shared_stub_entry when shared. 443: Test that branches can reach stubs. Write trampolines out at 444: end so that just one realloc is used. Handle little-endian 445: mode. Move relevant code from ppc_elf_install_value to here. 446: (ppc_elf_relocate_section): Move code handling RELAX32 from 447: ppc_elf_install_value to here. 448: 449: 2003-11-06 Alan Modra <amodra@bigpond.net.au> 450: 451: * elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC. 452: (ppc_elf_install_value): Handle R_PPC_RELAX32PC. Merge duplicate 453: cases. 454: (shared_stub_entry): Correct opcode. 455: (ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs. 456: (ppc_elf_relocate_section): Handle them. 457: 458: 2003-11-05 Alan Modra <amodra@bigpond.net.au> 459: 460: * elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return 461: updated section in case of merged section. 462: * elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration. 463: * elf-hppa.h (elf_hppa_relocate_section): Adjust call. 464: * elf-m10200.c (mn10200_elf_relocate_section): Likewise. 465: * elf-m10300.c (mn10300_elf_relocate_section): Likewise. 466: * elf32-arm.h (elf32_arm_relocate_section): Likewise. 467: * elf32-avr.c (elf32_avr_relocate_section): Likewise. 468: * elf32-cris.c (cris_elf_relocate_section): Likewise. 469: * elf32-fr30.c (fr30_elf_relocate_section): Likewise. 470: * elf32-frv.c (elf32_frv_relocate_section): Likewise. 471: * elf32-h8300.c (elf32_h8_relocate_section): Likewise. 472: * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. 473: * elf32-i370.c (i370_elf_relocate_section): Likewise. 474: * elf32-i860.c (elf32_i860_relocate_section): Likewise. 475: * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 476: * elf32-m68k.c (elf_m68k_relocate_section): Likewise. 477: * elf32-mcore.c (mcore_elf_relocate_section): Likewise. 478: * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. 479: * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. 480: * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 481: * elf32-s390.c (elf_s390_relocate_section): Likewise. 482: * elf32-sh.c (sh_elf_relocate_section): Likewise. 483: * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. 484: * elf32-v850.c (v850_elf_relocate_section) Likewise. 485: * elf32-vax.c (elf_vax_relocate_section): Likewise. 486: * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. 487: * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. 488: * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. 489: * elf64-mmix.c (mmix_elf_relocate_section): Likewise. 490: * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 491: * elf64-s390.c (elf_s390_relocate_section): Likewise. 492: * elf64-sh64.c (sh_elf64_relocate_section): Likewise. 493: * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. 494: * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 495: * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. 496: 497: * elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol 498: section for reloc output. 499: * elf32-i370.c (i370_elf_relocate_section): Likewise. 500: * elf32-m68k.c (elf_m68k_relocate_section): Likewise. 501: * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. 502: * elf32-vax.c (elf_vax_relocate_section): Likewise. 503: * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. 504: * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 505: 506: * elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything 507: for R_PPC_RELAX32 reloc. Don't bother checking ppc_elf_install_value 508: return value. 509: * elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check 510: sec->id. 511: 512: 2003-11-05 Alan Modra <amodra@bigpond.net.au> 513: 514: * elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions. 515: (elf32_d10v_relocate_section): Use them to handle -r reloc 516: adjustments, and in place of _bfd_elf_rela_local_sym. 517: 518: * cpu-iq2000.c (arch_info_struct): Warning fix. 519: 520: 2003-11-05 Alan Modra <amodra@bigpond.net.au> 521: 522: * elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define. 523: (elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on 524: weakdefs. 525: (elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS. 526: (elf32_hppa_adjust_dynamic_symbol): Likewise. Copy weakdef 527: NON_GOT_REF. 528: (allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and 529: SYMBOL_CALLS_LOCAL. Discard relocs for undef weak syms with 530: non-default visibility. 531: (elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and 532: SYMBOL_CALLS_LOCAL. 533: 534: 2003-11-04 Alan Modra <amodra@bigpond.net.au> 535: 536: * aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date. 537: * coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto. 538: * coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto. 539: * cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto. 540: * cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto. 541: * gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto. 542: * nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto. 543: 544: * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix 545: "dereferencing type-punned pointer" warnings. 546: 547: * aout-adobe.c (aout_adobe_set_section_contents): Constify location. 548: * aoutx.h (NAME(aout,set_section_contents)): Ditto. 549: * bfd-in2.h: Regenerate. 550: * binary.c (binary_set_section_contents): Ditto. 551: * bout.c (b_out_set_section_contents): Ditto. 552: * coff-tic54x.c (tic54x_set_section_contents): Ditto. 553: * coffcode.h (coff_set_section_contents): Ditto. 554: * ecoff.c (_bfd_ecoff_set_section_contents): Ditto. 555: * elf-bfd.h (_bfd_elf_set_section_contents): Ditto. 556: * elf.c (_bfd_elf_set_section_contents): Ditto. 557: * elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto. 558: * elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto. 559: * i386msdos.c (msdos_set_section_contents): Ditto. 560: * ieee.c (ieee_set_section_contents): Ditto. 561: * ihex.c (ihex_set_section_contents): Ditto. 562: * libaout.h (NAME(aout,set_section_contents)): Ditto. 563: * libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto. 564: (_bfd_generic_set_section_contents): Ditto. 565: * libbfd.h: Regenerate. 566: * libbfd.c (_bfd_generic_set_section_contents): Ditto. 567: * libecoff.h (_bfd_ecoff_set_section_contents): Ditto. 568: * libnlm.h (nlmNAME(set_section_contents)): Ditto. 569: (struct nlm_backend_data <nlm_mangle_relocs>): Ditto. 570: * mmo.c (mmo_set_section_contents): Ditto. 571: * nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto. 572: * nlm32-i386.c (nlm_i386_mangle_relocs): Ditto. 573: * nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto. 574: * nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto. 575: * nlmcode.h (nlm_set_section_contents): Ditto. 576: * oasys.c (oasys_set_section_contents): Ditto. 577: * pdp11.c (NAME(aout,set_section_contents)): Ditto. 578: * ppcboot.c (ppcboot_set_section_contents): Ditto. 579: * srec.c (srec_set_section_contents): Ditto. 580: * targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto. 581: * tekhex.c (tekhex_set_section_contents): Ditto. 582: (move_section_contents): Ditto. 583: * versados.c (versados_set_section_contents): Ditto. 584: * vms-misc.c (_bfd_save_vms_section): Ditto. 585: * vms.c (vms_set_section_contents): Ditto. 586: * vms.h (_bfd_save_vms_section): Ditto. 587: 588: 2003-11-04 Alan Modra <amodra@bigpond.net.au> 589: 590: * elf64-ppc.c (ppc_size_one_stub): Size relbrlt. Accept info arg 591: rather than htab. 592: (ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal. Zero 593: relbrlt size. 594: (ppc64_elf_build_stubs): Allocate space for relbrlt. 595: 596: 2003-11-04 Alan Modra <amodra@bigpond.net.au> 597: 598: * bfd-in.h (_bfd_elf_tls_setup): Declare. 599: * bfd-in2.h: Regenerate. 600: * elf-bfd.h (struct elf_link_tls_segment): Delete. 601: (struct elf_link_hash_table): Add tls_sec and tls_size. 602: * elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size. 603: * elflink.c (_bfd_elf_tls_setup): New function. 604: * elflink.h (struct elf_final_link_info): Remove first_tls_sec. 605: (elf_bfd_final_link): Don't set first_tls_sec here. Update code 606: saving tls segment info, round segment size up. 607: (elf_link_output_extsym): Adjust code using tls segment info. 608: (elf_link_input_bfd): Likewise. 609: * elf32-i386.c (dtpoff_base, tpoff): Likewise. 610: * elf32-s390.c (dtpoff_base, tpoff): Likewise. 611: * elf32-sh.c (dtpoff_base, tpoff): Likewise. 612: * elf32-sparc.c (dtpoff_base, tpoff): Likewise. 613: * elf64-s390.c (dtpoff_base, tpoff): Likewise. 614: * elf64-x86-64.c (dtpoff_base, tpoff): Likewise. 615: * elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise. 616: (elfNN_ia64_dtprel_base): Likewise. 617: * elf64-alpha.c (alpha_get_dtprel_base): Likewise. 618: (alpha_get_tprel_base): Likewise. 619: (struct alpha_relax_info): Remove tls_segment. 620: (elf64_alpha_relax_got_load): Adjust invocation of 621: alpha_get_dtprel_base and alpha_get_tprel_base. 622: (elf64_alpha_relax_tls_get_addr): Likewise. 623: (elf64_alpha_relax_section): Likewise. 624: (elf64_alpha_relocate_section): Likewise. 625: (elf64_alpha_relax_find_tls_segment): Delete. 626: * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec. 627: (ppc_elf_tls_setup): Call _bfd_elf_tls_setup. Return section. 628: (ppc_elf_relocate_section): Adjust to use elf.tls_sec. 629: * elf32-ppc.h (ppc_elf_tls_setup): Update. 630: * elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec. 631: (ppc64_elf_tls_setup): Call _bfd_elf_tls_setup. Return section. 632: (ppc64_elf_tls_optimize): Adjust to use elf.tls_sec. 633: (ppc64_elf_relocate_section): Likewise. 634: * elf64-ppc.h (ppc64_elf_tls_setup): Update. 635: 636: 2003-11-03 Daniel Jacobowitz <drow@mvista.com> 637: 638: * elf-bfd.h (struct elf_backend_data): Remove plt_header_size. 639: * elf-m10300.c (elf_backend_plt_header_size): Don't define. 640: * elf32-arm.h (elf_backend_plt_header_size): Don't define. 641: * elf32-cris.c (elf_backend_plt_header_size): Don't define. 642: * elf32-i386.c (elf_backend_plt_header_size): Don't define. 643: * elf32-mips.c (elf_backend_plt_header_size): Don't define. 644: * elf32-ppc.c (elf_backend_plt_header_size): Don't define. 645: * elf32-s390.c (elf_backend_plt_header_size): Don't define. 646: * elf32-sh.c (elf_backend_plt_header_size): Don't define. 647: * elf32-sparc.c (elf_backend_plt_header_size): Don't define. 648: * elf64-alpha.c (elf_backend_plt_header_size): Don't define. 649: * elf64-hppa.c (elf_backend_plt_header_size): Don't define. 650: * elf64-mips.c (elf_backend_plt_header_size): Don't define. 651: * elf64-ppc.c (elf_backend_plt_header_size): Don't define. 652: * elf64-s390.c (elf_backend_plt_header_size): Don't define. 653: * elf64-sh64.c (elf_backend_plt_header_size): Don't define. 654: * elf64-sparc.c (elf_backend_plt_header_size): Don't define. 655: * elf64-x86-64.c (elf_backend_plt_header_size): Don't define. 656: * elfn32-mips.c (elf_backend_plt_header_size): Don't define. 657: * elfxx-ia64.c (elf_backend_plt_header_size): Don't define. 658: * elfxx-target.h (elf_backend_plt_header_size): Don't define 659: or include in target initializer. 660: 661: 2003-11-03 Andrew Cagney <cagney@redhat.com> 662: 663: * section.c (bfd_set_section_contents): Make the "location" buffer 664: constant. 665: * bfd-in2.h: Re-generate. 666: 667: 2003-10-30 Andrew Cagney <cagney@redhat.com> 668: 669: * syms.c: Replace "struct symbol_cache_entry" with "struct 670: bfd_symbol". 671: * vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto. 672: * mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto. 673: * cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto. 674: * bfd-in2.h: Re-generate. 675: 676: 2003-10-30 Jakub Jelinek <jakub@redhat.com> 677: 678: * elfxx-ia64.c: Include objalloc.h, hashtab.h. 679: (struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym 680: fields. 681: (struct elfNN_ia64_local_hash_table): Remove. 682: (struct elfNN_ia64_link_hash_table): Change loc_hash_table's type 683: to htab_t. Add loc_hash_memory field. 684: (elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry): 685: Removed. 686: (elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New 687: functions. 688: (elfNN_ia64_hash_table_create): Use hashtab.h hashtable for 689: loc_hash_table. Initialize loc_hash_memory. 690: (elfNN_ia64_hash_table_free): New function. 691: (elfNN_ia64_local_hash_lookup): Remove. 692: (elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse 693: callback. 694: (elfNN_ia64_dyn_sym_traverse): Use htab_traverse. 695: (get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table. 696: (bfd_elfNN_bfd_link_hash_table_free): Define. 697: 698: 2003-10-30 Alan Modra