| 1 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 2 | |
| 3 | * elfxx-mips.c (mips_got_entry): Update comments. |
| 4 | (mips_elf_multi_got_entry_eq): Rename to... |
| 5 | (mips_elf_got_entry_eq): ...this, deleting the old definition. |
| 6 | (mips_elf_create_got_info): Remove master_got_p argument. |
| 7 | Always use mips_elf_got_entry_eq. |
| 8 | (mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section): |
| 9 | Update calls accordingly. |
| 10 | |
| 11 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 12 | |
| 13 | * elfxx-mips.c (mips_got_info): Remove bfd2got. |
| 14 | (mips_elf_bfd2got_hash): Delete. |
| 15 | (mips_elf_got_per_bfd_arg): Remove bfd2got. |
| 16 | (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions. |
| 17 | (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use |
| 18 | g->next to test for the multigot case. Use mips_elf_bfd_got rather |
| 19 | than mips_elf_got_for_ibfd. |
| 20 | (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq) |
| 21 | (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete. |
| 22 | (mips_elf_make_got_per_bfd): Replace with... |
| 23 | (mips_elf_add_got_entry): ...this new function. |
| 24 | (mips_elf_make_got_pages_per_bfd): Replace with... |
| 25 | (mips_elf_add_got_page_entry): ...this new function. |
| 26 | (mips_elf_merge_got_with): Replace bfd2got argument with separate |
| 27 | bfd and GOT arguments. Use mips_elf_add_got_entry and |
| 28 | mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd |
| 29 | and mips_elf_make_got_pages_per_bfd. Use mips_elf_replace_bfd_got |
| 30 | to set the BFD's GOT and free the old table. |
| 31 | (mips_elf_merge_got): Replace bfd2got argument with separate |
| 32 | bfd and GOT arguments. Apply mips_elf_resolve_final_got_entries. |
| 33 | Use mips_elf_count_got_entries to count the number of entries in |
| 34 | each GOT. Update the calls to mips_elf_merge_got_with. |
| 35 | (mips_elf_adjust_gp): Use g->next to test for the multigot case. |
| 36 | Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd. |
| 37 | (mips_elf_multi_got): Don't create the bfd2got hash table. |
| 38 | Replace hash table traversal with a walk over the input bfds, |
| 39 | updating the call to mips_elf_merge_got. Use mips_elf_replace_bfd_got |
| 40 | to set the output bfd's GOT. |
| 41 | (mips_elf_lay_out_got): Rename "sub" to "ibfd". Record that all |
| 42 | bfds use the master GOT in the single-GOT case. |
| 43 | (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got |
| 44 | rather than mips_elf_got_for_ibfd. |
| 45 | |
| 46 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 47 | |
| 48 | * elfxx-mips.c (mips_elf_obj_tdata): Add a got field. |
| 49 | (mips_elf_bfd_got, mips_elf_record_got_entry): New functions. |
| 50 | (mips_elf_record_global_got_symbol): Update the hash entry before |
| 51 | adding the mips_got_entry. Use mips_elf_record_got_entry to do |
| 52 | the latter. |
| 53 | (mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry. |
| 54 | (mips_elf_record_got_page_entry): Record the entry in both the |
| 55 | master and bfd GOTs. |
| 56 | |
| 57 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 58 | |
| 59 | * elfxx-mips.c (mips_elf_recreate_got): Don't change the entry; |
| 60 | create another one if necessary. |
| 61 | (mips_elf_set_gotidx): New function. |
| 62 | (mips_elf_set_global_gotidx): Use it. |
| 63 | (mips_elf_initialize_tls_index): Likewise. Take a |
| 64 | mips_elf_traverse_got_arg as argument. |
| 65 | (mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index. |
| 66 | (mips_elf_multi_got): Likewise. Cope with error returns from |
| 67 | mips_elf_set_global_gotidx. |
| 68 | |
| 69 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 70 | |
| 71 | * elfxx-mips.c (mips_got_info): Add relocs field. |
| 72 | (mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace |
| 73 | with... |
| 74 | (mips_elf_traverse_got_arg): ...this new structure. |
| 75 | (mips_elf_count_local_tls_relocs): Delete. |
| 76 | (mips_elf_count_global_tls_relocs): Likewise. |
| 77 | (mips_elf_count_got_entry): New function. |
| 78 | (mips_elf_count_local_got_entries): Likewise. |
| 79 | (mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg |
| 80 | rather than a mips_elf_count_tls_arg. Count both relocs and entries. |
| 81 | (mips_elf_record_local_got_symbol): Don't count got entries here. |
| 82 | (mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry. |
| 83 | (mips_elf_set_global_got_offset): Split into... |
| 84 | (mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these |
| 85 | new functions. Take a mips_elf_traverse_got_arg rather than a |
| 86 | mips_elf_set_global_got_offset_arg. Don't count TLS relocs here. |
| 87 | Use g->relocs to record the number of relocs needed for global GOT |
| 88 | entries. |
| 89 | (mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than |
| 90 | mips_elf_set_global_got_offset_arg. Use the relocs field to count |
| 91 | relocations. Update for above function split. |
| 92 | (mips_elf_lay_out_got): Use mips_elf_count_local_got_entries |
| 93 | to count both the number of GOT entries and the number of TLS |
| 94 | relocs required by local entries. Likewise |
| 95 | mips_elf_count_global_tls_entries and global entries. |
| 96 | Remove uses of mips_elf_count_local_tls_relocs and |
| 97 | mips_elf_count_global_tls_relocs. |
| 98 | |
| 99 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 100 | |
| 101 | * elfxx-mips.c (mips_got_entry): Update comment above tls_type entry |
| 102 | to say that each structure represents only one type of TLS reference. |
| 103 | (GOT_TLS_TYPE): New define. |
| 104 | (mips_elf_link_hash_entry): Temporarily split tls_type and |
| 105 | tls_got_offset into two variables each. |
| 106 | (mips_elf_link_hash_newfunc): Update accordingly. |
| 107 | (mips_elf_got_entry_eq, mips_elf_got_entry_hash) |
| 108 | (mips_elf_multi_got_entry_eq): Require the tls_type to be the same. |
| 109 | (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions. |
| 110 | (mips_tls_got_relocs): Use a switch statement. |
| 111 | (mips_elf_count_global_tls_entries): Handle the new hash entry fields. |
| 112 | (mips_elf_initialize_tls_slots): Use a switch statement. Avoid |
| 113 | local "offset" variable. |
| 114 | (mips_tls_got_index): Remove r_type argument and assert. Remove |
| 115 | code that handled entries with two TLS types; always use the |
| 116 | original got_index instead. |
| 117 | (mips_tls_single_got_index): New function. |
| 118 | (mips_elf_local_got_index): Use entry->tls_type to check for |
| 119 | TLS entries. Use mips_tls_single_got_index. Update call to |
| 120 | mips_tls_got_index. |
| 121 | (mips_elf_global_got_index): Use mips_elf_reloc_tls_type. |
| 122 | Use p->tls_type to check for TLS entries. Update call to |
| 123 | mips_tls_got_index. Use mips_tls_single_got_index. |
| 124 | (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type. |
| 125 | Use entry.tls_type to check for TLS entries. |
| 126 | (mips_elf_record_global_got_symbol): Replace tls_flag argument |
| 127 | with r_type argument. Use mips_elf_reloc_tls_type. |
| 128 | Set up the new hash entry fields. |
| 129 | (mips_elf_record_local_got_symbol): Replace tls_flag argument |
| 130 | with r_type argument. Use mips_elf_reloc_tls_type and |
| 131 | mips_tls_got_entries. Remove code that handled entries |
| 132 | with multiple TLS types. |
| 133 | (mips_elf_make_got_per_bfd): Use mips_tls_got_entries. |
| 134 | (mips_elf_initialize_tls_index): Handle new hash entry fields. |
| 135 | Use equality rather than masks when checking for specific TLS types. |
| 136 | Use mips_tls_got_entries. Remove code that handled entries |
| 137 | with multiple TLS types. |
| 138 | (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of |
| 139 | testing the hash table entry. |
| 140 | (_bfd_mips_elf_check_relocs): Update calls to |
| 141 | mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol. |
| 142 | (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type. |
| 143 | (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields. |
| 144 | |
| 145 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 146 | |
| 147 | * elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to... |
| 148 | (mips_elf_got_entry_hash): ...this, deleting the old version. |
| 149 | (mips_elf_create_got_info): Use mips_elf_got_entry_hash for |
| 150 | both types of GOT. |
| 151 | |
| 152 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 153 | |
| 154 | * elfxx-mips.c (mips_elf_create_got_info): New function. |
| 155 | (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it. |
| 156 | (mips_elf_create_got_section): Likewise. |
| 157 | |
| 158 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 159 | |
| 160 | * elfxx-mips.c (mips_elf_record_local_got_symbol): Always set |
| 161 | gotidx to -1. |
| 162 | |
| 163 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 164 | |
| 165 | * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation. |
| 166 | |
| 167 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 168 | |
| 169 | * elfxx-mips.c (mips_got_info): Move global_gotsym to... |
| 170 | (mips_elf_link_hash_table): ...here. Update rest of file accordingly. |
| 171 | |
| 172 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 173 | |
| 174 | * elfxx-mips.c (mips_elf_count_global_tls_entries) |
| 175 | (mips_elf_count_global_tls_relocs): Don't count indirect or |
| 176 | warning symbols. |
| 177 | (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right |
| 178 | number of TLS entries were allocated. |
| 179 | |
| 180 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 181 | |
| 182 | * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts. |
| 183 | |
| 184 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 185 | |
| 186 | * elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count |
| 187 | if there are TLS relocations. |
| 188 | |
| 189 | 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| 190 | |
| 191 | * elfxx-mips.c (mips_elf_recreate_got): Remove free. |
| 192 | (mips_elf_resolve_final_got_entries): Remove bogus comment. |
| 193 | |
| 194 | 2013-02-10 Alan Modra <amodra@gmail.com> |
| 195 | |
| 196 | * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc. |
| 197 | * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise. |
| 198 | * m68klinux.c (linux_link_hash_table_create): Likewise. |
| 199 | * sparclinux.c (linux_link_hash_table_create): Likewise. |
| 200 | * sunos.c (sunos_link_hash_table_create): Likewise. |
| 201 | * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise. |
| 202 | * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise. |
| 203 | * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise. |
| 204 | * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise. |
| 205 | * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise. |
| 206 | * elf32-cris.c (elf_cris_link_hash_table_create): Likewise. |
| 207 | * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise. |
| 208 | * elf32-i386.c (elf_i386_link_hash_table_create): Likewise. |
| 209 | * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise. |
| 210 | * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise. |
| 211 | * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise. |
| 212 | * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise. |
| 213 | * elf32-metag.c (elf_metag_link_hash_table_create): Likewise. |
| 214 | * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise. |
| 215 | * elf32-s390.c (elf_s390_link_hash_table_create): Likewise. |
| 216 | * elf32-score.c (elf32_score_link_hash_table_create): Likewise. |
| 217 | * elf32-spu.c (spu_elf_link_hash_table_create): Likewise. |
| 218 | * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise. |
| 219 | * elf32-vax.c (elf_vax_link_hash_table_create): Likewise. |
| 220 | * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise. |
| 221 | * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise. |
| 222 | * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise. |
| 223 | * elf64-s390.c (elf_s390_link_hash_table_create): Likewise. |
| 224 | * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise. |
| 225 | * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise. |
| 226 | * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise. |
| 227 | * elflink.c (_bfd_elf_link_hash_table_create): Likewise. |
| 228 | (_bfd_elf_link_hash_table_init): Assume zero fill table on entry. |
| 229 | |
| 230 | 2013-02-10 Alan Modra <amodra@gmail.com> |
| 231 | |
| 232 | * i386linux.c (linux_link_hash_table_create): Allocate table |
| 233 | with bfd_zmalloc, not bfd_alloc. |
| 234 | * pdp11.c (link_hash_table_create): Allocate table with |
| 235 | bfd_malloc, not bfd_alloc. |
| 236 | * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table |
| 237 | with bfd_zmalloc, not bfd_zalloc. |
| 238 | (bfin_link_hash_table_create): Likewise. |
| 239 | * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise. |
| 240 | * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise. |
| 241 | |
| 242 | 2013-02-10 Alan Modra <amodra@gmail.com> |
| 243 | |
| 244 | PR ld/15113 |
| 245 | * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc. |
| 246 | |
| 247 | 2013-02-08 Markos Chandras <markos.chandras@imgtec.com> |
| 248 | |
| 249 | * elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED |
| 250 | sections. |
| 251 | (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss |
| 252 | symbol. |
| 253 | |
| 254 | 2013-02-08 Yufeng Zhang <yufeng.zhang@arm.com> |
| 255 | |
| 256 | * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from |
| 257 | 288 to 272. |
| 258 | |
| 259 | 2013-02-08 Alan Modra <amodra@gmail.com> |
| 260 | |
| 261 | PR binutils/15106 |
| 262 | * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache. |
| 263 | * elf.c (elf_find_function): Revert last change. Use new |
| 264 | tdata field rather than static vars for cache. |
| 265 | |
| 266 | 2013-02-07 H.J. Lu <hongjiu.lu@intel.com> |
| 267 | |
| 268 | PR ld/15107 |
| 269 | * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if |
| 270 | symbol is defined in regular object. |
| 271 | |
| 272 | 2013-02-07 Roberto Agostino Vitillo <ra.vitillo@gmail.com> |
| 273 | |
| 274 | PR binutils/15106 |
| 275 | * elf.c (elf_find_function): Don't cache if symbols change. |
| 276 | |
| 277 | 2013-02-07 Alan Modra <amodra@gmail.com> |
| 278 | |
| 279 | PR binutils/14873 |
| 280 | * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to |
| 281 | copy attributes from or to non-ELF. |
| 282 | |
| 283 | 2013-02-06 H.J. Lu <hongjiu.lu@intel.com> |
| 284 | |
| 285 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count |
| 286 | for non-zero TLS symbol. |
| 287 | (elf_i386_relocate_section): Don't resolve size relocation against |
| 288 | non-zero TLS symbol. |
| 289 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear |
| 290 | pc_count for non-zero TLS symbol. |
| 291 | (elf_x86_64_relocate_section): Don't resolve size relocation |
| 292 | against non-zero TLS symbol. |
| 293 | |
| 294 | 2013-02-06 Sandra Loosemore <sandra@codesourcery.com> |
| 295 | Andrew Jenner <andrew@codesourcery.com> |
| 296 | |
| 297 | Based on patches from Altera Corporation. |
| 298 | |
| 299 | * Makefile.am (ALL_MACHINES): Add cpu-nios2.lo. |
| 300 | (ALL_MACHINES_CFILES): Add cpu-nios2.c. |
| 301 | (BFD_BACKENDS): Add elf32-nios2.lo. |
| 302 | (BFD32_BACKENDS_CFILES): Add elf32-nios2.c. |
| 303 | * Makefile.in: Regenerated. |
| 304 | * configure.in: Add entries for bfd_elf32_bignios2_vec and |
| 305 | bfd_elf32_littlenios2_vec. |
| 306 | * configure: Regenerated. |
| 307 | * config.bfd: Add cases for nios2. |
| 308 | * archures.c (enum bfd_architecture): Add bfd_arch_nios2. |
| 309 | (bfd_mach_nios2): Define. |
| 310 | (bfd_nios2_arch): Declare. |
| 311 | (bfd_archures_list): Add bfd_nios2_arch. |
| 312 | * targets.c (bfd_elf32_bignios2_vec): Declare. |
| 313 | (bfd_elf32_littlenios2_vec): Declare. |
| 314 | (_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and |
| 315 | bfd_elf32_littlenios2_vec. |
| 316 | * elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA. |
| 317 | * reloc.c (enum bfd_reloc_code_real): Add Nios II relocations. |
| 318 | * bfd-in2.h: Regenerated. |
| 319 | * libbfd.h: Regenerated. |
| 320 | * cpu-nios2.c: New file. |
| 321 | * elf32-nios2.c: New file. |
| 322 | |
| 323 | 2013-02-06 Alan Modra <amodra@gmail.com> |
| 324 | |
| 325 | * elf32-arm.c (elf32_arm_final_link_relocate): Only test for |
| 326 | stubs in stub_bfd. |
| 327 | |
| 328 | 2013-02-06 Alan Modra <amodra@gmail.com> |
| 329 | |
| 330 | * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'. |
| 331 | * Makefile.in: Regenerate. |
| 332 | |
| 333 | 2013-02-04 Sergio Durigan Junior <sergiodj@redhat.com> |
| 334 | Pedro Alves <palves@redhat.com> |
| 335 | |
| 336 | * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'. |
| 337 | * elf-bfd.h (elf_internal_linux_prpsinfo): New structure |
| 338 | declaration. |
| 339 | (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64) |
| 340 | (elfcore_write_ppc32_linux_prpsinfo32): New declarations. |
| 341 | * elf-linux-psinfo.h: New file. |
| 342 | * elf.c: Include elf-linux-psinfo.h. |
| 343 | (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64): |
| 344 | New functions. |
| 345 | * elf32-ppc.c: Include `elf-linux-psinfo.h'. |
| 346 | (elf_external_ppc_linux_prpsinfo32): New structure declaration. |
| 347 | (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro. |
| 348 | (elfcore_write_ppc_linux_prpsinfo32): New function. |
| 349 | |
| 350 | 2013-02-04 Tristan Gingold <gingold@adacore.com> |
| 351 | |
| 352 | * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no |
| 353 | start address. |
| 354 | |
| 355 | 2013-02-04 Alan Modra <amodra@gmail.com> |
| 356 | |
| 357 | * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo. |
| 358 | (BFD64_BACKENDS_CFILES): Remove elf-nacl.c. |
| 359 | * Makefile.in: Regenerate. |
| 360 | * po/SRC-POTFILES.in: Regenerate. |
| 361 | |
| 362 | 2013-02-04 Alan Modra <amodra@gmail.com> |
| 363 | |
| 364 | * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete. |
| 365 | * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete. |
| 366 | |
| 367 | 2013-02-01 Alan Modra <amodra@gmail.com> |
| 368 | |
| 369 | * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol |
| 370 | clears def_regular. |
| 371 | |
| 372 | 2013-01-31 Tristan Gingold <gingold@adacore.com> |
| 373 | |
| 374 | * mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections |
| 375 | earlier. Fix status checking of bfd_mach_o_scan_start_address. |
| 376 | (bfd_mach_o_scan_start_address): Handle LC_MAIN. |
| 377 | |
| 378 | 2013-01-31 Alan Modra <amodra@gmail.com> |
| 379 | David S. Miller <davem@davemloft.net> |
| 380 | |
| 381 | PR ld/15056 |
| 382 | * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit |
| 383 | references to __tls_get_addr. |
| 384 | * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise. Correct |
| 385 | vtinherit and vtentry reloc handling too. |
| 386 | * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro. |
| 387 | |
| 388 | 2013-01-31 Alan Modra <amodra@gmail.com> |
| 389 | |
| 390 | * elf64-ppc.c (ppc_stub_name): Trim off trailing "+0". |
| 391 | |
| 392 | 2013-01-31 Alan Modra <amodra@gmail.com> |
| 393 | |
| 394 | * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink. |
| 395 | |
| 396 | 2013-01-28 Alan Modra <amodra@gmail.com> |
| 397 | |
| 398 | * elf64-ppc.c: Use %T to print symbols names and remove redundant |
| 399 | "relocation" in error messages throughout file. |
| 400 | (ppc64_elf_relocate_section): Remove sibling call error message, |
| 401 | replace with "call lacks nop". Specially report errors for |
| 402 | branches to function entry points via OPD lookup and branches |
| 403 | to stubs. Remove NULL symbol handling now done by %T. |
| 404 | |
| 405 | 2013-01-28 Alan Modra <amodra@gmail.com> |
| 406 | |
| 407 | * archive.c (bfd_generic_archive_p): Return target and keep |
| 408 | ardata on partial matches. |
| 409 | * format.c (bfd_check_format_matches): Adjust for above |
| 410 | change. Remove bfd_error_file_ambiguously_recognized dead |
| 411 | code. |
| 412 | |
| 413 | 2013-01-26 Alan Modra <amodra@gmail.com> |
| 414 | |
| 415 | * bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore, |
| 416 | bfd_preserve_finish): Move to.. |
| 417 | * format.c: ..here, splitting out.. |
| 418 | (bfd_reinit): ..this. New function. |
| 419 | (bfd_check_format_matches): Use bfd_preserve_save/restore to |
| 420 | keep bfd state for a match. |
| 421 | * elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore. |
| 422 | * elfcore.h (elf_core_file_p): Likewise. |
| 423 | * mach-o.c (bfd_mach_o_header_p): Likewise. |
| 424 | * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise. |
| 425 | * xsym.c (bfd_sym_object_p): Likewise. |
| 426 | * mmo.c (mmo_scan): Clear abfd->symcount. |
| 427 | * opncls.c (_bfd_new_bfd): Use a smaller section hash table. |
| 428 | * section.c (bfd_section_list_clear): Clear section_htab.count. |
| 429 | * bfd-in2.h: Regenerate. |
| 430 | |
| 431 | 2013-01-25 Michael Schewe <michael.schewe@gmx.net> |
| 432 | |
| 433 | * elf32-h8300.c (elf32_h8_relax_section): When checking for a |
| 434 | second reloc, make sure that the reloc potentially exists first. |
| 435 | |
| 436 | 2013-01-24 Nick Clifton <nickc@redhat.com> |
| 437 | |
| 438 | * archures.c: Add bfd_mach_v850e3v5. |
| 439 | * bfd-in2.h: Regenerate. |
| 440 | * cpu-v850.c: Add entries for v850e2v5 and v850e3v5. |
| 441 | * cpu-v850_rh850.c: Likewise. |
| 442 | * elf32-v850.c: Add support for v850e3v5 architecture. |
| 443 | |
| 444 | 2013-01-23 Markos Chandras <markos.chandras@imgtec.com> |
| 445 | |
| 446 | * elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link. |
| 447 | |
| 448 | 2013-01-23 Leif Ekblad <leif@rdos.net> |
| 449 | |
| 450 | * config.bfd (x86_64-*-rdos*): Remove targ_selvecs. |
| 451 | |
| 452 | 2013-01-18 H.J. Lu <hongjiu.lu@intel.com> |
| 453 | |
| 454 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for |
| 455 | non-zero TLS symbol. |
| 456 | (elf_i386_relocate_section): Resolve size relocation against |
| 457 | non-zero TLS symbol. |
| 458 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count |
| 459 | for non-zero TLS symbol. |
| 460 | (elf_x86_64_relocate_section): Resolve size relocation against |
| 461 | non-zero TLS symbol. |
| 462 | |
| 463 | 2013-01-18 Mike Frysinger <vapier@gentoo.org> |
| 464 | |
| 465 | * elflink.c (bfd_elf_size_dynamic_sections): Only add DT_RPATH |
| 466 | when new_dtags is false. Only add DT_RUNPATH when new_dtags is |
| 467 | true. |
| 468 | |
| 469 | 2013-01-17 H.J. Lu <hongjiu.lu@intel.com> |
| 470 | |
| 471 | * elf32-i386.c (elf_i386_check_relocs): Count size relocation as |
| 472 | PC-relative relocation. |
| 473 | * elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation |
| 474 | as PC-relative relocation. |
| 475 | |
| 476 | 2013-01-16 H.J. Lu <hongjiu.lu@intel.com> |
| 477 | |
| 478 | * elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32 |
| 479 | check. |
| 480 | (elf_i386_relocate_section): Don't check TLS for R_386_SIZE32. |
| 481 | |
| 482 | * elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32 |
| 483 | and R_X86_64_SIZE64 check. |
| 484 | (elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32 |
| 485 | nor R_X86_64_SIZE64. |
| 486 | |
| 487 | 2013-01-16 H.J. Lu <hongjiu.lu@intel.com> |
| 488 | |
| 489 | * bfd-in2.h: Regenerated. |
| 490 | * libbfd.h: Likewise. |
| 491 | |
| 492 | * elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry. |
| 493 | (elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32. |
| 494 | (elf_i386_check_relocs): Handle R_386_SIZE32. |
| 495 | (elf_i386_gc_sweep_hook): Likewise. |
| 496 | (elf_i386_relocate_section): Likewise. |
| 497 | |
| 498 | * elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32 |
| 499 | and R_X86_64_SIZE64 entries. |
| 500 | (x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64, |
| 501 | (elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32. |
| 502 | (elf_x86_64_reloc_name_lookup): Likewise. |
| 503 | (elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and |
| 504 | R_X86_64_SIZE64. |
| 505 | (elf_x86_64_gc_sweep_hook): Likewise. |
| 506 | (elf_x86_64_relocate_section): Likewise. |
| 507 | |
| 508 | * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and |
| 509 | BFD_RELOC_SIZE64. |
| 510 | |
| 511 | 2013-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| 512 | |
| 513 | * elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE |
| 514 | with R_X86_64_RELATIVE64. |
| 515 | |
| 516 | 2013-01-15 Nick Clifton <nickc@redhat.com> |
| 517 | |
| 518 | * elf32-msp430.c: Fix spelling typo. |
| 519 | |
| 520 | 2013-01-15 Alan Modra <amodra@gmail.com> |
| 521 | |
| 522 | * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to |
| 523 | plt-thread-safe. |
| 524 | |
| 525 | 2013-01-14 Alan Modra <amodra@gmail.com> |
| 526 | |
| 527 | PR binutils/14813 |
| 528 | * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06. |
| 529 | (memory_bclose): Likewise. Return 0 on success. |
| 530 | * cache.c (cache_bclose): Likewise. |
| 531 | * opncls.c (opncls_bclose, bfd_close): Likewise. |
| 532 | * vms-lib.c (vms_lib_bclose): Likewise. |
| 533 | * libbfd.h: Regenerate. |
| 534 | |
| 535 | 2013-01-13 Alan Modra <amodra@gmail.com> |
| 536 | |
| 537 | * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak. |
| 538 | Add ref_dynamic_nonweak. |
| 539 | * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete. |
| 540 | (_bfd_elf_merge_symbol): Don't call above function. Move |
| 541 | setting of ref_dynamic_nonweak and dynamic_def earlier. Don't |
| 542 | clear dynamic_def. |
| 543 | (elf_link_add_object_symbols): Delete redundant "override" test. |
| 544 | Don't set dynamic_def here. |
| 545 | (elf_link_output_extsym): Update. |
| 546 | |
| 547 | 2013-01-12 H.J. Lu <hongjiu.lu@intel.com> |
| 548 | |
| 549 | * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for |
| 550 | normal and TLS symbol access. |
| 551 | * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. |
| 552 | |
| 553 | 2013-01-12 Alan Modra <amodra@gmail.com> |
| 554 | |
| 555 | * elf-bfd.h (_bfd_elf_strtab_refcount): Declare. |
| 556 | * elf-strtab.c (_bfd_elf_strtab_refcount): New function. |
| 557 | * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount. |
| 558 | |
| 559 | 2013-01-12 Alan Modra <amodra@gmail.com> |
| 560 | |
| 561 | PR ld/12549 |
| 562 | * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare. |
| 563 | (_bfd_elf_strtab_clear_all_refs): Define. |
| 564 | * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function. |
| 565 | (_bfd_elf_strtab_clear_all_refs): Delete. |
| 566 | * elflink.c (elf_link_add_object_symbols): Clear out added |
| 567 | strtab refs. Correct handling of warning common symbols. |
| 568 | |
| 569 | 2013-01-10 H.J. Lu <hongjiu.lu@intel.com> |
| 570 | |
| 571 | * aout0.c: Remove trailing white spaces. |
| 572 | * archive.c: Likewise. |
| 573 | * archures.c: Likewise. |
| 574 | * bfd-in.h: Likewise. |
| 575 | * bfd-in2.h: Likewise. |
| 576 | * coff-alpha.c: Likewise. |
| 577 | * coff-i860.c: Likewise. |
| 578 | * coff-mips.c: Likewise. |
| 579 | * coff-ppc.c: Likewise. |
| 580 | * coff-tic80.c: Likewise. |
| 581 | * coff-x86_64.c: Likewise. |
| 582 | * coff-z80.c: Likewise. |
| 583 | * coffcode.h: Likewise. |
| 584 | * coffgen.c: Likewise. |
| 585 | * cofflink.c: Likewise. |
| 586 | * compress.c: Likewise. |
| 587 | * corefile.c: Likewise. |
| 588 | * cpu-arm.c: Likewise. |
| 589 | * cpu-avr.c: Likewise. |
| 590 | * cpu-bfin.c: Likewise. |
| 591 | * cpu-cr16.c: Likewise. |
| 592 | * cpu-cr16c.c: Likewise. |
| 593 | * cpu-crx.c: Likewise. |
| 594 | * cpu-h8300.c: Likewise. |
| 595 | * cpu-i386.c: Likewise. |
| 596 | * cpu-lm32.c: Likewise. |
| 597 | * cpu-m68k.c: Likewise. |
| 598 | * cpu-moxie.c: Likewise. |
| 599 | * cpu-msp430.c: Likewise. |
| 600 | * cpu-sh.c: Likewise. |
| 601 | * cpu-xc16x.c: Likewise. |
| 602 | * dwarf2.c: Likewise. |
| 603 | * ecofflink.c: Likewise. |
| 604 | * ecoffswap.h: Likewise. |
| 605 | * elf-ifunc.c: Likewise. |
| 606 | * elf-m10300.c: Likewise. |
| 607 | * elf-vxworks.c: Likewise. |
| 608 | * elf32-avr.c: Likewise. |
| 609 | * elf32-avr.h: Likewise. |
| 610 | * elf32-cr16.c: Likewise. |
| 611 | * elf32-cr16c.c: Likewise. |
| 612 | * elf32-cris.c: Likewise. |
| 613 | * elf32-crx.c: Likewise. |
| 614 | * elf32-frv.c: Likewise. |
| 615 | * elf32-hppa.c: Likewise. |
| 616 | * elf32-i860.c: Likewise. |
| 617 | * elf32-ip2k.c: Likewise. |
| 618 | * elf32-iq2000.c: Likewise. |
| 619 | * elf32-m32c.c: Likewise. |
| 620 | * elf32-m68hc1x.c: Likewise. |
| 621 | * elf32-msp430.c: Likewise. |
| 622 | * elf32-mt.c: Likewise. |
| 623 | * elf32-ppc.c: Likewise. |
| 624 | * elf32-rl78.c: Likewise. |
| 625 | * elf32-s390.c: Likewise. |
| 626 | * elf32-score.h: Likewise. |
| 627 | * elf32-sh-symbian.c: Likewise. |
| 628 | * elf32-sh.c: Likewise. |
| 629 | * elf32-spu.c: Likewise. |
| 630 | * elf32-tic6x.c: Likewise. |
| 631 | * elf32-v850.c: Likewise. |
| 632 | * elf32-xc16x.c: Likewise. |
| 633 | * elf32-xtensa.c: Likewise. |
| 634 | * elf64-alpha.c: Likewise. |
| 635 | * elf64-hppa.c: Likewise. |
| 636 | * elf64-ppc.c: Likewise. |
| 637 | * elf64-s390.c: Likewise. |
| 638 | * elfcore.h: Likewise. |
| 639 | * elflink.c: Likewise. |
| 640 | * elfxx-mips.c: Likewise. |
| 641 | * elfxx-sparc.c: Likewise. |
| 642 | * elfxx-tilegx.c: Likewise. |
| 643 | * ieee.c: Likewise. |
| 644 | * libcoff.h: Likewise. |
| 645 | * libpei.h: Likewise. |
| 646 | * libxcoff.h: Likewise. |
| 647 | * linker.c: Likewise. |
| 648 | * mach-o-i386.c: Likewise. |
| 649 | * mach-o-target.c: Likewise. |
| 650 | * mach-o.c: Likewise. |
| 651 | * mach-o.h: Likewise. |
| 652 | * mmo.c: Likewise. |
| 653 | * opncls.c: Likewise. |
| 654 | * pdp11.c: Likewise. |
| 655 | * pe-x86_64.c: Likewise. |
| 656 | * peXXigen.c: Likewise. |
| 657 | * pef-traceback.h: Likewise. |
| 658 | * pei-x86_64.c: Likewise. |
| 659 | * peicode.h: Likewise. |
| 660 | * plugin.c: Likewise. |
| 661 | * reloc.c: Likewise. |
| 662 | * riscix.c: Likewise. |
| 663 | * section.c: Likewise. |
| 664 | * som.c: Likewise. |
| 665 | * syms.c: Likewise. |
| 666 | * tekhex.c: Likewise. |
| 667 | * ticoff.h: Likewise. |
| 668 | * vaxbsd.c: Likewise. |
| 669 | * xcofflink.c: Likewise. |
| 670 | * xtensa-isa.c: Likewise. |
| 671 | |
| 672 | 2013-01-10 Will Newton <will.newton@imgtec.com> |
| 673 | |
| 674 | * Makefile.am: Add Meta. |
| 675 | * Makefile.in: Regenerate. |
| 676 | * archures.c (bfd_mach_metag): New. |
| 677 | * bfd-in2.h: Regenerate. |
| 678 | * config.bfd: Add Meta. |
| 679 | * configure: Regenerate. |
| 680 | * configure.in: Add Meta. |
| 681 | * cpu-metag.c: New file. |
| 682 | * elf-bfd.h: Add Meta. |
| 683 | * elf32-metag.c: New file. |
| 684 | * elf32-metag.h: New file. |
| 685 | * libbfd.h: Regenerate. |
| 686 | * reloc.c: Add Meta relocations. |
| 687 | * targets.c: Add Meta. |
| 688 | |
| 689 | 2013-01-08 Yufeng Zhang <yufeng.zhang@arm.com> |
| 690 | |
| 691 | * elf-bfd.h (elfcore_write_aarch_tls): Add prototype. |
| 692 | (elfcore_write_aarch_hw_break): Likewise. |
| 693 | (elfcore_write_aarch_hw_watch): Likewise. |
| 694 | * elf.c (elfcore_grok_aarch_tls): New function. |
| 695 | (elfcore_grok_aarch_hw_break): Likewise. |
| 696 | (elfcore_grok_aarch_hw_watch): Likewise. |
| 697 | (elfcore_grok_note): Call the new functions to handle the |
| 698 | corresponding notes. |
| 699 | (elfcore_write_aarch_tls): New function. |
| 700 | (elfcore_write_aarch_hw_break): Likewise. |
| 701 | (elfcore_write_aarch_hw_watch): Likewise. |
| 702 | (elfcore_write_register_note): Call the new functions to handle the |
| 703 | corresponding pseudo sections. |
| 704 | |
| 705 | 2013-01-07 Tom Tromey <tromey@redhat.com> |
| 706 | |
| 707 | * section.c (_bfd_std_section): Rename from std_section. |
| 708 | (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr) |
| 709 | (STD_SECTION): Update. |
| 710 | * bfd-in2.h: Rebuild. |
| 711 | |
| 712 | 2013-01-04 Juergen Urban <JuergenUrban@gmx.de> |
| 713 | |
| 714 | * archures.c (bfd_mach_mips5900): Define. |
| 715 | * bfd-in2.h: Regenerate. |
| 716 | * config.bfd: Add mips64-ps2-elf and mips-ps2-elf targets. |
| 717 | * cpu-mips.c: Add support for MIPS r5900. |
| 718 | * elfxx-mips.c: Add support for MIPS r5900 (extension of r4000). |
| 719 | |
| 720 | 2013-01-03 Nickolai Zeldovich <nickolai@csail.mit.edu> |
| 721 | Nick Clifton <nickc@redhat.com> |
| 722 | |
| 723 | * elflink.c (get_value): Prevent the use of an undefined shift |
| 724 | operation. Add sanity checks. |
| 725 | |
| 726 | 2013-01-02 Kaushik Phatak <kaushik.phatak@kpitcummins.com> |
| 727 | |
| 728 | * config.bfd (cr16*-*-uclinux*): New target support. |
| 729 | |
| 730 | |
| 731 | For older changes see ChangeLog-2012 |
| 732 | \f |
| 733 | Copyright (C) 2013 Free Software Foundation, Inc. |
| 734 | |
| 735 | Copying and distribution of this file, with or without modification, |
| 736 | are permitted in any medium without royalty provided the copyright |
| 737 | notice and this notice are preserved. |
| 738 | |
| 739 | Local Variables: |
| 740 | mode: change-log |
| 741 | left-margin: 8 |
| 742 | fill-column: 74 |
| 743 | version-control: never |
| 744 | End: |