| 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 | |