ChangeLog 95.5 KB
Newer Older
1 2 3 4 5
2013-11-12  Matthew Leach  <Matthew.Leach@arm.comm>

	* elfxx-aarch64.c (_bfd_aarch64_elf_grok_prstatus): Fix hard-coded
	size of struct elf_prstatus.

6 7 8 9 10 11 12 13 14 15 16 17 18
2013-11-07  Roland McGrath  <mcgrathr@google.com>

	* archures.c (bfd_mach_i386_nacl): Fix definition so it doesn't
	collide with bfd_mach_l1om.
	* bfd-in2.h: Regenerate.

	* elf32-i386.c (elf32_i386_nacl_elf_object_p): New function.
	(elf_backend_object_p): Use that in elf32-i386-nacl definition.
	* elf64-x86-64.c (elf64_x86_64_nacl_elf_object_p): New function.
	(elf_backend_object_p): Use that in elf64-x86-64-nacl definition.
	(elf32_x86_64_nacl_elf_object_p): New function.
	(elf_backend_object_p): Use that in elf32-x86-64-nacl definition.

19 20 21 22 23 24 25
2013-11-01  Roland McGrath  <mcgrathr@google.com>

	* elf-nacl.c (segment_eligible_for_headers): Drop requirement that
	some section have SEC_HAS_CONTENTS set.  It's not set for
	.note.gnu.build-id, and a segment of only read-only SHT_NOBITS
	sections is implausible and not really supportable anyway.

26 27 28 29 30
2013-10-29  Roland McGrath  <mcgrathr@google.com>

	* elf64-x86-64.c (elf_x86_64_nacl_plt0_entry): Correct 9-byte nop
	sequence to match what the assembler generates.

Alan Modra's avatar
Alan Modra committed
31 32 33 34 35 36
2013-10-17  Alan Modra  <amodra@gmail.com>

	PR 16056
	* elf.c (copy_elf_program_header): Only consider SEC_ALLOC sections
	when finding lowest_section.

Roland McGrath's avatar
bfd/  
Roland McGrath committed
37 38 39 40 41
2013-10-09  Roland McGrath  <mcgrathr@google.com>

	* elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Cast switch
	expression to int to silence over-eager compiler warnings.

Roland McGrath's avatar
bfd/  
Roland McGrath committed
42 43 44 45 46
2013-10-09  Roland McGrath  <mcgrathr@google.com>

	* xcofflink.c (_bfd_xcoff_bfd_final_link): Don't touch EREL in
	loop that doesn't use (or initialize) it.

Roland McGrath's avatar
bfd/  
Roland McGrath committed
47 48 49 50 51
2013-10-09  Roland McGrath  <mcgrathr@google.com>

	* elfxx-tilegx.c (tilegx32_plt_tail_entry, tilegx32_plt_tail_entry):
	Move second const qualifier so it applies to the pointer.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
52 53 54 55 56
2013-10-05  Gregory Fong  <gregory.0xf0@gmail.com>

	* elfxx-mips.c (mips_elf_create_got_section): Hide
	_GLOBAL_OFFSET_TABLE_.

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
2013-10-04  Will Newton  <will.newton@linaro.org>

	* configure: Regenerate.
	* configure.in: Build elf-ifunc.o for AArch64.
	* elfnn-aarch64.c: Include objalloc.h.
	(elfNN_aarch64_local_htab_hash): New function.
	(elfNN_aarch64_local_htab_eq): New function.
	(elfNN_aarch64_get_local_sym_hash): New function.
	(elfNN_aarch64_link_hash_table_create): Initialize local STT_GNU_IFUNC
	symbol hash.
	(elfNN_aarch64_hash_table_free): Free local STT_GNU_IFUNC symbol hash.
	(elfNN_aarch64_final_link_relocate): Add sym argument.  Add support
	for handling STT_GNU_IFUNC symbols.
	(elfNN_aarch64_gc_sweep_hook): Add support for garbage collecting
	references to STT_GNU_IFUNC symbols.
	(elfNN_aarch64_adjust_dynamic_symbol): Add support for handling
	STT_GNU_IFUNC symbols.
	(elfNN_aarch64_check_relocs): Add support for handling STT_GNU_IFUNC
	symbols.  Ensure we don't increase plt.refcount from -1 to 0.
	(elfNN_aarch64_post_process_headers): Call _bfd_elf_set_osabi.
	(elfNN_aarch64_is_function_type): Remove function.
	(elfNN_aarch64_allocate_dynrelocs): Handle STT_GNU_IFUNC symbols.
	(elfNN_aarch64_allocate_ifunc_dynrelocs): New function.
	(elfNN_aarch64_allocate_local_dynrelocs): New function.
	(elfNN_aarch64_allocate_local_ifunc_dynrelocs): New function.
	(elfNN_aarch64_size_dynamic_sections): Call
	elfNN_aarch64_allocate_local_dynrelocs.
	(elfNN_aarch64_create_small_pltn_entry): Add info argument.
	Add support for creating .iplt entries for STT_GNU_IFUNC symbols.
	(elfNN_aarch64_finish_dynamic_symbol): Add support for handling
	STT_GNU_IFUNC symbols and .iplt.
	(elfNN_aarch64_finish_local_dynamic_symbol): New function.
	(elfNN_aarch64_finish_dynamic_sections): Call
	elfNN_aarch64_finish_local_dynamic_symbol.

92 93 94 95
2013-09-24  Alan Modra  <amodra@gmail.com>

	* elf32-mips.c (ELF_OSABI): Undef for vxworks.

96 97 98 99
2013-09-20  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

Tristan Gingold's avatar
bfd/  
Tristan Gingold committed
100 101 102 103 104
2013-09-18  Tristan Gingold  <gingold@adacore.com>

	* configure.in: Bump version to 2.23.90
	* configure: Regenerate.

105 106 107 108 109
2013-09-17  Doug Gilmore  <Doug.Gilmore@imgtec.com>

	* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Handle
	EF_MIPS_FP64.

110 111 112 113 114
2013-08-31  John David Anglin  <dave.anglin@bell.net>

	* elf64-hppa.c (elf_hppa_final_link_relocate): Add missing '%' to
	format string.

115 116 117 118 119 120 121
2013-08-29  Jakub Jelinek  <jakub@redhat.com>

	* elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow
	64-bit -mcmodel=large -fpic TLS GD and LD sequences.
	(elf_x86_64_relocate_section): Handle -mcmodel=large -fpic
	TLS GD and LD sequences in GD->LE, GD->IE and LD->LE transitions.

122 123 124 125 126 127 128 129 130 131 132 133 134 135
2013-08-27  Alan Modra  <amodra@gmail.com>

	* elf-bfd.h (struct elf_backend_data): Remove as_needed_cleanup.
	Add notice_as_needed.
	* elf64-ppc.c (elf_backend_as_needed_cleanup): Don't define.
	(elf_backend_notice_as_needed): Define.
	(ppc64_elf_as_needed_cleanup): Rename and adjust..
	(ppc64_elf_notice_as_needed): ..to this.
	* elflink.c (_bfd_elf_notice_as_needed): New function, extracted..
	(elf_link_add_object_symbols): ..from here.
	* elfxx-target.h (elf_backend_as_needed_cleanup): Don't define.
	(elf_backend_notice_as_needed): Define..
	(elfNN_bed): ..and use here.

Roland McGrath's avatar
bfd/  
Roland McGrath committed
136 137 138 139 140 141 142 143 144 145
2013-08-26  Roland McGrath  <mcgrathr@google.com>

	* archures.c (bfd_mach_i386_nacl, bfd_mach_i386_i386_nacl): New macros.
	(bfd_mach_x86_64_nacl, bfd_mach_x64_32_nacl): New macros.
	* cpu-i386.c (bfd_arch_i386_onebyte_nop_fill): New function.
	(bfd_i386_nacl_arch): New variable.
	(bfd_x86_64_nacl_arch, bfd_x64_32_nacl_arch): New variables.
	(bfd_x64_32_arch_intel_syntax): Link them into the list.
	* bfd-in2.h: Regenerate.

Roland McGrath's avatar
bfd/  
Roland McGrath committed
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
2013-08-26  Roland McGrath  <mcgrathr@google.com>

	* elf-nacl.c (nacl_modify_segment_map): Fix logic reordering the
	elf_segment_map list.  If an executable segment is page-aligned
	but does not end with a full page, then append a fake section into
	the segment map entry that pads out the page.
	(nacl_final_write_processing): New function.  Write the code fill
	laid out in nacl_modify_segment_map.
	* elf-nacl.h: Declare it.
	* elf32-arm.c (elf32_arm_nacl_final_write_processing): New function.
	(elf_backend_final_write_processing): Define it for NaCl backend.
	* elf32-i386.c (elf_backend_final_write_processing): Likewise.
	* elf64-x86-64.c (elf_backend_final_write_processing): Likewise.

	* elf-nacl.c (segment_eligible_for_headers): Rename MAXPAGESIZE
	parameter to MINPAGESIZE.
	(nacl_modify_segment_map): Use minpagesize instead of maxpagesize.

	* elf32-arm.c (ELF_MINPAGESIZE, ELF_COMMONPAGESIZE): #undef for NaCl.

166 167 168 169 170 171 172 173
2013-08-24  Maciej W. Rozycki  <macro@linux-mips.org>

	* elf32-tilepro.c (tilepro_elf_finish_dynamic_sections): Don't
	set GOT's entry size if there is no ELF section data.
	* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections):
	Likewise.

H.J. Lu's avatar
H.J. Lu committed
174 175 176 177 178 179
2013-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c (get_elf_x86_64_arch_data): New.
	(get_elf_x86_64_backend_data): Use it.
	(elf_x86_64_size_dynamic_sections): Likewise.

Nick Clifton's avatar
Nick Clifton committed
180 181 182 183 184 185 186
2013-08-23  Yuri Chornoivan  <yurchor@ukr.net>

	PR binutils/15834
	* bfdio.c: Fix typos.
	* elf32-spu.c: Likewise.
	* elfnn-aarch64.c: Likewise.

187 188 189 190 191 192 193
2013-08-21  Tristan Gingold  <gingold@adacore.com>

	* coff-rs6000.c (_bfd_xcoff_sizeof_headers): Also count
	.ovrflo sections.
	* coffcode.h (coff_compute_section_file_positions): Force
	match between file offset and vma offset.

194 195 196 197 198
2013-08-21  Alan Modra  <amodra@gmail.com>

	* elflink.c (_bfd_elf_merge_symbol): Set *poldbfd, *poldweak,
	and *poldalignment before exiting when !relocs_compatible.

199 200 201 202 203
2013-08-21  Alan Modra  <amodra@gmail.com>

	* elflink.c (_bfd_elf_define_linkage_sym): Don't set STV_INTERNAL
	symbols to STV_HIDDEN.

Nick Clifton's avatar
Nick Clifton committed
204 205 206 207 208 209 210
2013-08-14  John Tytgat  <john@bass-software.com>

	PR ld/15787
	* elf32-arm.c (elf32_arm_final_link_relocate): Use origin of output
	segment containing the relocating symbol instead of assuming 0 for
	sb group relocations.

211 212 213 214 215 216
2013-08-09  Nick Clifton  <nickc@redhat.com>

	* elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if G10
	flag bits do not match.
	(rl78_elf_print_private_bfd_data): Describe G10 flag.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
217 218 219 220 221
2013-08-05  John Tytgat  <john@bass-software.com>

	* po/BLD-POTFILES.in: Regenerate.
	* po/SRC-POTFILES.in: Likewise.

Nick Clifton's avatar
Nick Clifton committed
222 223 224 225 226 227
2013-07-31  John Tytgat  <john@bass-software.com>

	PR ld/15787
	* elf32-arm.c (elf32_arm_final_link_relocate): Base SB on the
	output section VMA.

228 229 230 231 232 233
2013-07-28  Maciej W. Rozycki  <macro@linux-mips.org>

	* elf64-hppa.c (elf64_hppa_finish_dynamic_sections)
	<DT_HP_LOAD_MAP>: Return unsuccessfully if there's no `.data'
	section.

234 235 236 237 238 239
2013-07-27  Andrew Pinski  <apinski@cavium.com>

	* elfnn-aarch64.c (elfNN_aarch64_check_relocs):
	Use the correct alignment for
	_bfd_elf_make_dynamic_reloc_section for ILP32.

240 241 242 243 244
2013-07-27  Andrew Pinski  <apinski@cavium.com>

	* elfnn-aarch64.c (elfNN_aarch64_howto_from_bfd_reloc): Handle
	BFD_RELOC_AARCH64_NONE explicitly.

245 246 247 248 249
2013-07-27  Maciej W. Rozycki  <macro@linux-mips.org>

	* elf32-vax.c (elf_vax_finish_dynamic_sections): Don't set GOT's
	entry size if there is no ELF section data.

Maciej W. Rozycki's avatar
bfd/  
Maciej W. Rozycki committed
250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
2013-07-27  Maciej W. Rozycki  <macro@linux-mips.org>

	* elf32-vax.c (elf_vax_check_relocs) <R_VAX_GOT32, R_VAX_PLT32>:
	Don't check symbol visibility here.  Remove a check already
	asserted for.
	(elf_vax_instantiate_got_entries): Use SYMBOL_REFERENCES_LOCAL
	instead of individual checks.
	(elf_vax_relocate_section) <R_VAX_GOT32, R_VAX_PLT32>: Only
	check the offset to decide if produce a GOT or PLT entry.
	Remove redundant assertions.  Remove code to produce GOT entries
	for local symbols.  Remove a duplicate comment and add a comment
	on GOT relocations.
	(elf_vax_finish_dynamic_symbol): Remove code to produce RELATIVE
	dynamic relocs.

265 266 267 268 269
2013-07-27  Maciej W. Rozycki  <macro@linux-mips.org>

	* elf32-vax.c (elf_vax_always_size_sections): Correct a comment
	typo.

270 271 272 273 274 275 276 277 278 279 280 281
2013-07-27  Maciej W. Rozycki  <macro@linux-mips.org>

	* elf32-vax.c (elf_vax_discard_got_entries): New function.
	(elf_vax_always_size_sections): Likewise.
	(elf_vax_size_dynamic_sections): Remove code moved to
	elf_vax_always_size_sections.  Make comment on
	elf_vax_instantiate_got_entries match reality.
	(elf_vax_instantiate_got_entries): Assert that rather than check
	if dynobj is null.  Don't check for dynamic_sections_created.
	Make function description match reality.
	(elf_backend_always_size_sections): New macro.

282 283 284 285 286 287 288
2013-07-25  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (struct ppc64_elf_obj_tdata): Replace opd_relocs
	with a union.
	(opd_entry_value): Cache .opd section contents.
	(ppc64_elf_relocate_section): Adjust.

Alan Modra's avatar
Alan Modra committed
289 290 291 292 293 294 295
2013-07-25  Alan Modra  <amodra@gmail.com>

	PR ld/15762
	PR ld/12761
	* elflink.c (elf_link_add_object_symbols): Correct test in
	last patch.  Remove unnecessary code.

Tristan Gingold's avatar
bfd/  
Tristan Gingold committed
296 297 298 299 300 301 302
2013-07-24  Tristan Gingold  <gingold@adacore.com>

	* coff-rs6000.c (xcoff_howto_table): Fix masks and pc_relative for
	R_RBR.  Add numbers in comments.
	(_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_PPC_B16.
	* coff64-rs6000.c: Likewise.

Alan Modra's avatar
Alan Modra committed
303 304 305 306 307 308 309
2013-07-20  Alan Modra  <amodra@gmail.com>

	PR ld/15762
	PR ld/12761
	* elflink.c (elf_link_add_object_symbols): Don't clobber
	.gnu.warning.symbol sections when shared.

310 311 312 313 314
2013-07-19  Nick Clifton  <nickc@redhat.com>

	* elf32-rx.c (rx_elf_relocate_section): Fix typo: move
	saw_subtract from R_RX_OPdiv to R_RX_OPneg.

Nick Clifton's avatar
Nick Clifton committed
315 316 317 318 319 320 321 322 323
2013-07-18  Travis Snoozy  <quandary@remstate.com>

	PR ld/15721
	* elf32-msp430.c (R_MSP430_10_PCREL): Use 10-bit source and
	destination masks.
	* R_MSP430_2X_PCREL: Likewise.
	* R_MSP430X_10_PCREL: Likewise.
	* R_MSP430X_2X_PCREL: Likewise.

324 325
2013-07-18  Terry Guo  <terry.guo@arm.com>

326
	* elf32-arm.c (arm_type_of_stub): Don't use ST_BRANCH_TO_ARM for
327
	thumb only targets.
328
	(elf32_arm_final_link_relocate): Likewise.
329

330 331 332 333 334
2013-07-18  Bill Neubauer  <wcn@google.com>

	* mach-o.c (mach_o_section_name_xlat dw): Add entry for
	.debug_gdb_scripts

335 336 337 338 339 340 341 342 343 344 345 346 347 348
2013-07-18  Roland McGrath  <mcgrathr@google.com>

	* elf32-arm.c (elf32_arm_stub_long_branch_arm_nacl): New variable.
	(elf32_arm_stub_long_branch_arm_nacl_pic): New variable.
	(arm_build_one_stub): Increase MAXRELOCS to 3.
	(arm_type_of_stub): Use them if GLOBALS->nacl_p.
	(struct elf32_arm_link_hash_table): Give add_stub_section member's
	pointee type a third argument.
	(elf32_arm_create_or_find_stub_sec): Update caller.
	(elf32_arm_size_stubs): Update argument type.
	* bfd-in.h (elf32_arm_size_stubs): Update decl.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

Maciej W. Rozycki's avatar
Maciej W. Rozycki committed
349 350 351 352 353
2013-07-15  Maciej W. Rozycki  <macro@codesourcery.com>

	* elfxx-mips.c (mips_elf_merge_obj_attributes): Replace hardcoded
	magic numbers with enum values.

Roland McGrath's avatar
bfd/  
Roland McGrath committed
354 355 356 357 358 359 360 361
2013-07-12  Roland McGrath  <mcgrathr@google.com>

	* reloc.c: Add BFD_RELOC_390_PC12DBL, BFD_RELOC_390_PLT12DBL,
	BFD_RELOC_390_PC24DBL, BFD_RELOC_390_PLT24DBL (should have
	been added here with 2013-07-05 elf32-s390.c change).
	* bfd-in2.h: Regenerate (no-op).
	* libbfd.h: Regenerate (no-op).

Maciej W. Rozycki's avatar
Maciej W. Rozycki committed
362 363 364 365 366 367
2013-07-12  Maciej W. Rozycki  <macro@codesourcery.com>

	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Handle
	EF_MIPS_NAN2008.
	(_bfd_mips_elf_print_private_bfd_data): Likewise.

368 369 370 371 372 373 374 375 376 377 378 379
2013-07-09  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (struct vms_private_data_struct): Remove
	flag_hash_long_names and flag_show_after_trunc.
	(hash_string): Remove.
	(_bfd_vms_length_hash_symbol): Remove.
	(alpha_vms_write_exec): Remove call to _bfd_vms_length_hash_symbol.
	(_bfd_vms_write_egsd): Likewise.  Rewrite condition.
	(_bfd_vms_write_ehdr): Remove code that set removed flags.
	(_bfd_vms_write_etir): Remove call to _bfd_vms_length_hash_symbol.
	(vms_bfd_is_local_label_name): Remove trace call.

380 381 382 383 384 385 386
2013-07-09  Tristan Gingold  <gingold@adacore.com>

	* hosts/alphavms.h: Include config.h and ansidecl.h, remove useless
	macros.
	* configure.com: Adjust to match changes in configure.
	* makefile.vms (OBJS): Update list.

387 388 389 390 391
2013-07-05  Tristan Gingold  <gingold@adacore.com>

	* coffcode.h (coff_write_object_contents): Use ".ovrflo" name for
	overflow sections.

392 393 394 395 396 397 398 399 400 401 402
2013-07-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* elf32-s390.c: Add new relocation definitions R_390_PC12DBL,
	R_390_PLT12DBL, R_390_PC24DBL, and R_390_PLT24DBL.
	(elf_s390_reloc_type_lookup, elf_s390_check_relocs)
	(elf_s390_gc_sweep_hook, elf_s390_relocate_section): Support new
	relocations.
	* elf64-s390.c: See elf32-s390.c
	* bfd-in2.h: Add new relocs to enum bfd_reloc_code_real.
	* libbfd.h: Add new reloc strings.

403 404 405 406 407 408 409 410
2013-07-03  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reorder case
	values.
	(elfNN_aarch64_relocate_section): Likewise.
	(elfNN_aarch64_gc_sweep_hook): Likewise.
	(elfNN_aarch64_check_relocs): Likewise.

411 412 413 414 415 416
2013-07-03  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't hide .TOC.
	when relocatable.  Don't change root.type or type here.
	(ppc64_elf_set_toc): Set type of .TOC. to STT_OBJECT.

Alan Modra's avatar
bfd/  
Alan Modra committed
417 418 419 420 421 422 423 424 425
2013-07-03  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (struct ppc_stub_hash_entry): Delete "addend".
	(ppc64_elf_size_stubs): Don't set "addend".
	(ppc64_elf_relocate_section): Don't allow calls via
	toc-adjusting stubs without a following nop even in an
	executable, except for self-calls and both libc_start_main
	and .libc_start_main.

426 427 428 429
2013-07-03  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_func_desc_adjust): Hide ".TOC.".

430 431 432 433 434
2013-07-02  Tristan Gingold  <gingold@adacore.com>

	* coff-rs6000.c (xcoff_find_nearest_line_discriminator): Add missing
	line.

435 436
2013-07-02  Tristan Gingold  <gingold@adacore.com>

437 438 439 440
	* vms-alpha.c (_bfd_generic_find_nearest_line_discriminator): Define.
	(_bfd_vms_find_nearest_line_discriminator): New function.

2013-07-02  Tristan Gingold  <gingold@adacore.com>
441

442 443
	* coff-rs6000.c (xcoff_create_csect_from_smclas): Handle more smclas.

444 445 446 447 448
2013-07-02  Tristan Gingold  <gingold@adacore.com>

	* coff-rs6000.c (xcoff_find_nearest_line_discriminator): New function.
	(rs6000coff_vec): Reference it.

449 450 451 452 453 454 455
2013-07-02  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* elfnn-aarch64.c (aarch64_elf_create_got_section): New.
	(elfNN_aarch64_check_relocs): Use aarch64_elf_create_got_section.
	(elfNN_aarch64_create_dynamic_sections): Do not define
	_GLOBAL_OFFSET_TABLE_; call aarch64_elf_create_got_section.

456 457 458 459 460 461 462 463 464 465 466 467
2013-07-02  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* ld-aarch64/emit-relocs-309-low.d: Adjust .text address.
	* ld-aarch64/emit-relocs-309-up.d: Adjust .got address.
	* ld-aarch64/emit-relocs-312.d: Adjust offsets into .got.
	* ld-aarch64/tls-relax-all.d: Likewise.
	* ld-aarch64/gc-got-relocs.d: Adjust expected .got content.
	* ld-aarch64/gc-tls-relocs.d: Likewise.
	* ld-aarch64/tls-relax-gd-ie.d: Likewise.
	* ld-aarch64/tls-relax-gdesc-ie-2.d: Likewise.
	* ld-aarch64/tls-relax-gdesc-ie.d: Likewise.

Alan Modra's avatar
bfd/  
Alan Modra committed
468 469 470 471 472
2013-07-02  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_relocate_section): Set "relocation" for
	.TOC. after relocatable check.

Alan Modra's avatar
bfd/  
Alan Modra committed
473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490
2013-07-01  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.h (ppc64_elf_toc): Delete.
	(ppc64_elf_set_toc): Declare.
	* elf64-ppc.c (ppc64_elf_toc_reloc): Replace call to ppc64_elf_toc
	with call the ppc64_elf_set_toc.
	(ppc64_elf_toc_ha_reloc, ppc64_elf_toc64_reloc): Likewise.
	(ppc64_elf_start_multitoc_partition): Likewise.
	(struct ppc_link_hash_table): Delete dot_toc_dot.  Replace all uses
	with elf.hgot.
	(ppc64_elf_process_dot_syms): Don't make a fake function descriptor
	for ".TOC.".
	(ppc64_elf_check_relocs): Mark sections with a reference to .TOC.
	as needing a toc pointer.
	(ppc64_elf_size_stubs): Don't set dot_toc_dot here.
	(ppc64_elf_set_toc): Rename from ppc64_elf_toc.  Add info param.
	Set elf.hgot value.

H.J. Lu's avatar
H.J. Lu committed
491 492 493 494 495 496
2013-06-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/15685
	* elf64-x86-64.c (elf_x86_64_relocate_section): Handle
	R_X86_64_DTPOFF64.

Nick Clifton's avatar
Nick Clifton committed
497 498 499 500 501
2013-06-28  Nick Clifton  <nickc@redhat.com>

	PR ld/15302
	* elf32-arm.c (allocate_dynrelocs_for_symbol): Revert previous patch.

502 503 504 505 506 507 508
2013-06-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Reserve one slot
	in sgot.
	(elfNN_aarch64_finish_dynamic_sections): Place the &_DYNAMIC reference
	in sgot[0] rather than sgotplt[0].

509 510 511 512 513 514 515
2013-06-26  Yufeng Zhang  <yufeng.zhang@arm.com>

	* Makefile.am (elf32-aarch64.c): Add a #line cpp directive at the
	beginning of the generated file.
	(elf64-aarch64.c): Likewise.
	* Makefile.in: Re-generated.

516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570
2013-06-26  Yufeng Zhang  <yufeng.zhang@arm.com>

	* Makefile.am (BFD64_BACKENDS): Add elfxx-aarch64.c.
	(BFD64_BACKENDS_CFILES): Add elfxx-aarch64.lo.
	* Makefile.in: Re-generated.
	* configure.in (bfd_elf64_bigaarch64_vec): Add elfxx-aarch64.lo.
	(bfd_elf64_littleaarch64_vec): Likewise.
	(bfd_elf32_bigaarch64_vec): Likewise.
	(bfd_elf32_littleaarch64_vec): Likewise.
	* configure: Re-generated.
	* elfxx-aarch64.c: New file; split from elf64-aarch64.c.
	* elfxx-aarch64.h: New file.
	* elfnn-aarch64.c: Include "elfxx-aarch64.h"; move the following
	stuff to elfxx-aarch64.c.
	(bfd_elf_aarch64_put_addend): Removed.
	(PG_OFFSET, PG): Likewise.
	(elfNN_aarch64_small_plt0_entry): Support ELF32.
	(elfNN_aarch64_tlsdesc_small_plt_entry): Likewise.
	(elf64_aarch64_grok_prstatus): Removed.
	(elf_backend_grok_prstatus): Removed.
	(insn32): Likewise.
	(aarch64_unsigned_overflow): Likewise.
	(aarch64_signed_overflow): Likewise.
	(aarch64_resolve_relocation): Likewise.
	(MASK): Likewise.
	(decode_branch_ofs_26): Likewise.
	(decode_cond_branch_ofs_19): Likewise.
	(decode_ld_lit_ofs_19): Likewise.
	(decode_tst_branch_ofs_14): Likewise.
	(decode_movw_imm): Likewise.
	(decode_adr_imm): Likewise.
	(decode_add_imm): Likewise.
	(reencode_branch_ofs_26): Likewise.
	(reencode_cond_branch_ofs_19): Likewise.
	(reencode_ld_lit_ofs_19): Likewise.
	(reencode_tst_branch_ofs_14): Likewise.
	(reencode_movw_imm): Likewise.
	(reencode_adr_imm): Likewise.
	(reencode_ldst_pos_imm): Likewise.
	(reencode_add_imm): Likewise.
	(reencode_movzn_to_movz): Likewise.
	(reencode_movzn_to_movn): Likewise.
	(aarch64_relocate): Update to call the new function names in
	elfxx-aarch64.c.
	(aarch64_calculate_got_entry_vma): Likewise.
	(elfNN_aarch64_final_link_relocate): Likewise.
	(elf64_aarch64_update_plt_entry): Likewise; change the type of the
	parameter 'r_type' to bfd_reloc_code_real_type; rename to ...
	(elf_aarch64_update_plt_entry): ... this.
	(elfNN_aarch64_create_small_pltn_entry): Update.
	(elfNN_aarch64_init_small_plt0_entry): Remove plt_got_base; add
	bfd_vma plt_got_2nd_ent; update to call elf_aarch64_update_plt_entry.
	(elfNN_aarch64_finish_dynamic_sections): Add plt_entry; update to
	call elf_aarch64_update_plt_entry.

571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623
2013-06-26  Yufeng Zhang  <yufeng.zhang@arm.com>

	* bfd-in2.h: Re-generated.
	* elfnn-aarch64.c (HOWTO64, HOWTO32): New define.
	(IS_AARCH64_TLS_RELOC): Change to be based on the
	bfd reloc enumerators.
	(IS_AARCH64_TLSDESC_RELOC): Likewise.
	(PG, PG_OFFSET): Cast literal to bfd_vma.
	(elf64_aarch64_howto_table): Removed.
	(elf64_aarch64_howto_dynrelocs): Removed.
	(elf64_aarch64_tls_howto_table): Removed.
	(elf64_aarch64_tlsdesc_howto_table): Removed.
	(elfNN_aarch64_howto_table): New table to host all howto entires..
	(R_AARCH64_*): Replaced by AARCH64_R (*) and AARCH64_R_STR (*).
	(elfNN_aarch64_bfd_reloc_from_howto): New function.
	(elfNN_aarch64_bfd_reloc_from_type): Ditto.
	(struct elf_aarch64_reloc_map): New.
	(elf_aarch64_reloc_map): New table.
	(elfNN_aarch64_howto_from_bfd_reloc): New function.
	(elfNN_aarch64_howto_from_type): Update to look up the new table
	elfNN_aarch64_howto_table.
	(struct elf64_aarch64_reloc_map): Remove.
	(elf64_aarch64_reloc_map): Remove.
	(elfNN_aarch64_reloc_type_lookup): Change to call
	elfNN_aarch64_howto_from_bfd_reloc.
	(elfNN_aarch64_reloc_name_lookup): Change to look up the new table
	elfNN_aarch64_howto_table.
	(aarch64_resolve_relocation): Refactor to switch on the bfd
	reloc enumerators.
	(bfd_elf_aarch64_put_addend): Likewise.
	(elfNN_aarch64_final_link_relocate): Likewise.
	(aarch64_tls_transition_without_check): Likewise.
	(aarch64_reloc_got_type): Likewise.
	(aarch64_can_relax_tls): Likewise.
	(aarch64_tls_transition): Likewise.
	(elfNN_aarch64_tls_relax): Likewise.
	(elfNN_aarch64_final_link_relocate): Likewise.
	(elfNN_aarch64_relocate_section): Likewise.
	(elfNN_aarch64_gc_sweep_hook): Likewise.
	(elfNN_aarch64_check_relocs): Likewise.
	(aarch64_tls_transition): Change to return a bfd reloc enumerator.
	* libbfd.h: Re-generated.
	* reloc.c: Re-order the AArch64 bfd reloc enumerators.
	(BFD_RELOC_AARCH64_RELOC_START)
	(BFD_RELOC_AARCH64_RELOC_END)
	(BFD_RELOC_AARCH64_LD_GOT_LO12_NC)
	(BFD_RELOC_AARCH64_LD32_GOT_LO12_NC)
	(BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC)
	(BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC)
	(BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC)
	(BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC)
	(BFD_RELOC_AARCH64_IRELATIVE): New relocs.

624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660
2013-06-26  Yufeng Zhang  <yufeng.zhang@arm.com>

	* Makefile.am (BFD64_BACKENDS): Add elf32-aarch64.lo.
	(BUILD_CFILES): Add elf32-aarch64.c.
	(elf32-aarch64.c): New rule for generating from elfnn-aarch64.c.
	* Makefile.in: Re-generated.
	* archures.c (bfd_mach_aarch64_ilp32): New define.
	* bfd-in.h (bfd_elf32_aarch64_init_maps): New declaration.
	(bfd_elf32_aarch64_set_options): Ditto.
	(elf32_aarch64_setup_section_lists): Ditto.
	(elf32_aarch64_next_input_section): Ditto.
	(elf32_aarch64_size_stubs): Ditto.
	(elf32_aarch64_build_stubs): Ditto.
	* bfd-in2.h: Re-generated.
	* config.bfd (aarch64-*-elf): Add bfd_elf32_littleaarch64_vec
	and bfd_elf32_bigaarch64_vec.
	(aarch64-*-linux*): Likewise.
	(aarch64_be-*-elf): Likewise.
	(aarch64_be-*-linux*): Likewise.
	* configure.in (bfd_elf32_bigaarch64_vec)
	(bfd_elf32_littleaarch64_vec): New.
	* configure: Re-generated.
	* cpu-aarch64.c (compatible): Don't allow mixing ilp32 objects with
	lp64 ones.
	(bfd_aarch64_arch_ilp32): New.
	(bfd_aarch64_arch): Link to bfd_aarch64_arch_ilp32.
	* elfnn-aarch64.c (ARCH_SIZE): New define.
	(AARCH64_R, AARCH64_R_STR, LOG_FILE_ALIGN): New defines.
	(GOT_ENTRY_SIZE): Re-define as (ARCH_SIZE / 8).
	(elf64_aarch64_*): Rename to elfNN_aarch64_*.
	(ELF64_R_*): Rename to ELFNN_R_*.
	Plus other paramaterization.
	* targets.c (bfd_elf32_bigaarch64_vec, bfd_elf32_littleaarch64_vec):
	New declarations.
	(_bfd_target_vector): Add bfd_elf32_bigaarch64_vec and
	bfd_elf32_littleaarch64_vec.

661 662 663 664 665 666 667 668 669
2013-06-26  Yufeng Zhang  <yufeng.zhang@arm.com>

	* Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-aarch64.c.
	(BUILD_CFILES): Add elf64-aarch64.c.
	(elf64-aarch64.c): New rule for generating from elfnn-aarch64.c.
	* Makefile.in: Re-generated.
	* elf64-aarch64.c: Rename to ...
	* elfnn-aarch64.c: ... this.

Maciej W. Rozycki's avatar
bfd/  
Maciej W. Rozycki committed
670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688
2013-06-25  Maciej W. Rozycki  <macro@codesourcery.com>
            Paul Brook  <paul@codesourcery.com>

	* elfxx-mips.h (_bfd_mips_elf_insn32): New prototype.
	* elfxx-mips.c (mips_elf_link_hash_table): Add insn32 member.
	(STUB_MOVE32_MICROMIPS, STUB_JALR32_MICROMIPS): New macros.
	(MICROMIPS_INSN32_FUNCTION_STUB_NORMAL_SIZE): Likewise.
	(MICROMIPS_INSN32_FUNCTION_STUB_BIG_SIZE): Likewise.
	(micromips_insn32_o32_exec_plt0_entry): New variable.
	(micromips_insn32_o32_exec_plt_entry): Likewise.
	(_bfd_mips_elf_adjust_dynamic_symbol): Handle insn32 mode.
	(mips_elf_estimate_stub_size): Likewise.
	(_bfd_mips_elf_size_dynamic_sections): Likewise.
	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
	(mips_finish_exec_plt): Likewise.
	(_bfd_mips_elf_relax_section): Likewise.
	(_bfd_mips_elf_insn32): New function.
	(_bfd_mips_elf_get_synthetic_symtab): Handle insn32 PLT.

Maciej W. Rozycki's avatar
bfd/  
Maciej W. Rozycki committed
689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751
2013-06-24  Maciej W. Rozycki  <macro@codesourcery.com>

	* elfxx-mips.h (_bfd_mips_elf_get_synthetic_symtab): New
	prototype.
	* elf32-mips.c (elf_backend_plt_sym_val): Remove macro.
	(bfd_elf32_get_synthetic_symtab): New macro.
	* elfxx-mips.c (plt_entry): New structure.
	(mips_elf_link_hash_entry): Add use_plt_entry member.
	(mips_elf_link_hash_table): Rename plt_entry_size member to
	plt_mips_entry_size.  Add plt_comp_entry_size, plt_mips_offset,
	plt_comp_offset, plt_got_index entries and plt_header_is_comp
	members.
	(STUB_LW_MICROMIPS, STUB_MOVE_MICROMIPS): New macros.
	(STUB_LUI_MICROMIPS, STUB_JALR_MICROMIPS): Likewise.
	(STUB_ORI_MICROMIPS, STUB_LI16U_MICROMIPS): Likewise.
	(STUB_LI16S_MICROMIPS): Likewise.
	(MICROMIPS_FUNCTION_STUB_NORMAL_SIZE): Likewise.
	(MICROMIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
	(micromips_o32_exec_plt0_entry): New variable.
	(mips16_o32_exec_plt_entry): Likewise.
	(micromips_o32_exec_plt_entry): Likewise.
	(mips_elf_link_hash_newfunc): Initialize use_plt_entry.
	(mips_elf_output_extsym): Update to use gotplt_union's plist
	member rather than offset.
	(mips_elf_gotplt_index): Likewise.  Remove the VxWorks
	restriction.  Use MIPS_ELF_GOT_SIZE to calculate GOT address.
	(mips_elf_count_got_symbols): Update to use gotplt_union's plist
	member rather than offset.
	(mips_elf_calculate_relocation): Handle MIPS16/microMIPS PLT
	entries.
	(_bfd_mips_elf_create_dynamic_sections): Don't set PLT sizes
	here.
	(mips_elf_make_plt_record): New function.
	(_bfd_mips_elf_check_relocs): Update comment.  Record occurences
	of JAL relocations that might need a PLT entry.
	(_bfd_mips_elf_adjust_dynamic_symbol): Update to use
	gotplt_union's plist member rather than offset.  Set individual
	PLT entry sizes here.  Handle MIPS16/microMIPS PLT entries.
	Don't set the symbol's value in the symbol table for PLT
	references here.  Don't set the PLT or PLT GOT section sizes
	here.
	(mips_elf_estimate_stub_size): Handle microMIPS stubs.
	(mips_elf_allocate_lazy_stub): Likewise.
	(mips_elf_lay_out_lazy_stubs): Likewise.  Define a _MIPS_STUBS_
	magic symbol.
	(mips_elf_set_plt_sym_value): New function.
	(_bfd_mips_elf_size_dynamic_sections): Set PLT header size and
	PLT and PLT GOT section sizes here.  Set the symbol values in
	the symbol table for PLT references here.  Handle microMIPS
	annotation of the _PROCEDURE_LINKAGE_TABLE_ magic symbol.
	(_bfd_mips_elf_finish_dynamic_symbol): Update to use
	gotplt_union's plist member rather than offset.  Handle
	MIPS16/microMIPS PLT entries.  Handle microMIPS stubs.
	(_bfd_mips_vxworks_finish_dynamic_symbol): Update to use
	gotplt_union's plist member rather than offset.  Use
	MIPS_ELF_GOT_SIZE to calculate GOT address.
	(mips_finish_exec_plt): Handle microMIPS PLT.  Return status.
	(_bfd_mips_elf_finish_dynamic_sections): Handle result from
	mips_finish_exec_plt.
	(_bfd_mips_elf_link_hash_table_create): Update to use
	gotplt_union's plist member rather than offset.
	(_bfd_mips_elf_get_synthetic_symtab): New function.

Nick Clifton's avatar
Nick Clifton committed
752 753 754 755 756
2013-06-24  Wawa  <caojinyu@msn.com>

	PR 15657
	* hash.c (_bfd_stringtab_add): Copy the string if COPY is true.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
757 758 759 760 761 762 763 764 765 766 767
2013-06-23  Richard Sandiford  <rdsandiford@googlemail.com>

	* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Move MIPS ELF
	files to...
	(BFD64_BACKENDS, BFD64_BACKENDS_CFILES): ...here.
	* Makefile.in: Regenerate.
	* config.bfd: Enclose all MIPS ELF targets in #ifdef BFD64.
	Set want64 to true for them at the end.
	* targets.c (_bfd_target_vector): Protect MIPS ELF targets with
	#ifdef BFD64.

768 769 770 771 772
2013-06-22  Sandra Loosemore  <sandra@codesourcery.com>

	* elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Don't
	set sh_entsize for PLT section.

Yufeng Zhang's avatar
bfd/  
Yufeng Zhang committed
773 774 775 776 777 778 779 780 781 782 783
2013-06-20  Yufeng Zhang  <yufeng.zhang@arm.com>

	* bfd-in.h (bfd_elf64_aarch64_set_options): Add 'extern'.
	* bfd-in2.h: Re-generated.
	* elf64-aarch64.c (RELOC_SECTION): Removed.
	(SWAP_RELOC_IN, SWAP_RELOC_OUT): Ditto.
	(AARCH64_ELF_OS_ABI_VERSION): Ditto.
	(elf64_aarch64_link_hash_traverse): Ditto.
	(elf64_aarch64_size_stubs): Change 'Aarch64' to 'AArch64' in the
	comment.

784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817
2013-06-19  Will Newton  <will.newton@linaro.org>

	* configure: Regenerated.
	* configure.in: Remove aarch64 dependency on elf-ifunc.c.
	* elf64-aarch64.c: Remove objalloc.h include.
	(elf64_aarch64_howto_dynrelocs): Remove R_AARCH64_IRELATIVE howto.
	(struct elf64_aarch64_link_hash_table): Remove ifunc related
	members. (elf_aarch64_local_htab_hash): Remove function.
	(elf_aarch64_local_htab_eq): Remove function.
	(elf_aarch64_get_local_sym_hash): Remove function.
	(elf64_aarch64_link_hash_table_create): Remove local hash
	table initialization.
	(elf64_aarch64_final_link_relocate): Remove sym argument and
	handling of ifunc symbols.
	(elf64_aarch64_relocate_section): Don't pass sym argument to
	elf64_aarch64_final_link_relocate.
	(elf64_aarch64_gc_sweep_hook): Remove handling of ifunc symbols.
	(elf64_aarch64_adjust_dynamic_symbol): Likewise.
	(elf64_aarch64_check_relocs): Likewise.
	(elf64_aarch64_post_process_headers): Remove call to
	_bfd_elf_set_osabi.
	(elf64_aarch64_is_function_type): New function.
	(elf64_aarch64_allocate_dynrelocs): Remove handling of ifunc
	symbols. (elf_aarch64_allocate_local_dynrelocs): Remove function.
	(elf64_aarch64_size_dynamic_sections): Remove call to
	elf_aarch64_allocate_local_dynrelocs.
	(elf64_aarch64_create_small_pltn_entry): Remove info argument.
	Remove creation of R_AARCH64_IRELATIVE dynamic relocs.
	(elf64_aarch64_finish_dynamic_symbol): Remove handling of ifunc
	symbols. (elf_aarch64_finish_local_dynamic_symbol): Remove
	function. (elf64_aarch64_finish_dynamic_sections): Remove call to
	elf_aarch64_finish_local_dynamic_symbol.
	(elf64_aarch64_add_symbol_hook): Remove function.

Yufeng Zhang's avatar
bfd/  
Yufeng Zhang committed
818 819 820 821 822 823 824 825
2013-06-14  Yufeng Zhang  <yufeng.zhang@arm.com>

	* elf64-aarch64.c (elf64_aarch64_final_link_relocate): Call
	aarch64_resolve_relocation and bfd_elf_aarch64_put_addend to
	handle the relocations of R_AARCH64_JUMP26, R_AARCH64_CALL26,
	R_AARCH64_LD64_GOT_LO12_NC, R_AARCH64_ADR_GOT_PAGE and
	R_AARCH64_GOT_LD_PREL19.

Nick Clifton's avatar
Nick Clifton committed
826 827 828 829 830 831 832
2013-06-13  Terry Guo  <terry.guo@arm.com>

	PR ld/15302
	* elf32-arm.c (allocate_dynrelocs_for_symbol): Transform
	ST_BRANCH_TO_ARM into ST_BRANCH_TO_THUMB if the target only
	supports thumb instructions.

833 834 835 836
2013-06-11  DJ Delorie  <dj@redhat.com>

	* elf32-rl78.c (rl78_elf_relocate_section): Fix OPsub math.

837 838 839 840 841
2013-06-11  Will Newton  <will.newton@linaro.org>

	* elf64-aarch64.c (elf_aarch64_get_local_sym_hash): Use
	ELF64_R_SYM instead of ELF32_R_SYM.

842 843 844 845 846 847
2013-06-11  Nick Clifton  <nickc@redhat.com>

	* elf32-rl78.c (rl78_elf_finish_dynamic_sections): Onlly run
	checks if the dynamic sections have been created and relaxation
	has not been performed.

848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885
2013-06-07  Will Newton  <will.newton@linaro.org>

	* configure: Regenerate.
	* configure.in: Build elf-ifunc.o for AArch64.
	* elf64-aarch64.c: Include objalloc.h.
	(elf64_aarch64_howto_dynrelocs): Add R_AARCH64_IRELATIVE howto.
	(struct elf64_aarch64_link_hash_table): Add members for handling
	R_AARCH64_IRELATIVE relocations.
	(elf_aarch64_local_htab_hash): New function.
	(elf_aarch64_local_htab_eq): New function.
	(elf_aarch64_get_local_sym_hash): New function.
	(elf64_aarch64_link_hash_table_create): Initialize local STT_GNU_IFUNC
	symbol hash.
	(elf64_aarch64_hash_table_free): Free local STT_GNU_IFUNC symbol hash.
	(elf64_aarch64_final_link_relocate): Add sym argument.  Add support
	for handling STT_GNU_IFUNC symbols.
	(elf64_aarch64_gc_sweep_hook): Add support for garbage collecting
	references to STT_GNU_IFUNC symbols.
	(elf64_aarch64_adjust_dynamic_symbol): Add support for handling
	STT_GNU_IFUNC symbols.
	(elf64_aarch64_check_relocs): Add support for handling STT_GNU_IFUNC
	symbols.  Ensure we don't increase plt.refcount from -1 to 0.
	(elf64_aarch64_post_process_headers): Call _bfd_elf_set_osabi.
	(elf64_aarch64_is_function_type): Remove function.
	(elf64_aarch64_allocate_dynrelocs): Call
	_bfd_elf_allocate_ifunc_dyn_relocs for STT_GNU_IFUNC symbols.
	(elf_aarch64_allocate_local_dynrelocs): New function.
	(elf64_aarch64_size_dynamic_sections): Call
	elf_aarch64_allocate_local_dynrelocs.  Initialize next_irelative_index.
	(elf64_aarch64_create_small_pltn_entry): Add info argument.
	Add support for creating .iplt entries for STT_GNU_IFUNC symbols.
	(elf64_aarch64_finish_dynamic_symbol): Add support for handling
	STT_GNU_IFUNC symbols and .iplt.
	(elf_aarch64_finish_local_dynamic_symbol): New function.
	(elf64_aarch64_finish_dynamic_sections): Call
	elf_aarch64_finish_local_dynamic_symbol.
	(elf64_aarch64_add_symbol_hook): New function.

886 887 888 889 890
2013-06-03  Alan Modra  <amodra@gmail.com>

	* syms.c (_bfd_stab_section_find_nearest_line): Add last_str
	var.  Use it with last_stab.

891 892 893 894 895 896 897 898 899 900 901 902 903 904
2013-05-30  Paul Brook  <paul@codesourcery.com>

	* bfd-in2.h: Regenerate.
	* elf32-mips.c (elf_mips_eh_howto): New.
	(bfd_elf32_bfd_reloc_type_lookup ): Support BFD_RELOC_MIPS_EH.
	(bfd_elf32_bfd_reloc_name_lookup): Likewise.
	(mips_elf32_rtype_to_howto): Support R_MIPS_EH.
	* elf64-mips.c (elf_mips_eh_howto): New.
	(bfd_elf64_bfd_reloc_type_lookup): Support BFD_RELOC_MIPS_EH.
	(bfd_elf64_bfd_reloc_name_lookup): Likewise.
	(mips_elf64_rtype_to_howto): Support R_MIPS_EH.
	* libbfd.h: Regenerate.
	* reloc.c (BFD_RELOC_MIPS_EH): New.

905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929
2013-05-29  Nick Clifton  <nickc@redhat.com>

	* dwarf2.c (struct dwarf2_debug): Add fields for handling
	alternate debug info source.
	(dwarf_debug_sections): Add entries for alternate .debug_str and
	.debug_info sections.
	(dwarf_debug_section_enum): Likewise.
	(read_alt_indirect_string): New function.  Handles a
	DW_FORM_GNU_strp_alt attribute.
	(read_alt_indirect_ref): New function.  Handles a
	DW_FORM_GNU_ref_alt attribute.
	(read_attribute_value): Process DW_FORM_GNU_ref_alt and
	DW_FORM_GNU_strp_alt.
	(find_abstract_instance_name): Handle DW_FORM_GNU_ref_alt
	attributes.
	(_bfd_dwarf2_cleanup_debug_info): Free alternate debug info
	sources.
	* opncls.c (GNU_DEBUGALTLINK): Define.
	(bfd_get_alt_debug_link_info): New function.
	(separate_alt_debug_file_exists): New function.
	(find_separate_debug_file): Add parameters for fetch and check
	functions.
	(bfd_follow_gnu_debugaltlink): New function.
	* bfd-in2.h: Regenerate.

930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951
2013-05-28  Yufeng Zhang  <yufeng.zhang@arm.com>

	* reloc.c (BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE): Rename to ...
	(BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21): ... this.
	(BFD_RELOC_AARCH64_TLSDESC_LD64_PREL19): Rename to ...
	(BFD_RELOC_AARCH64_TLSDESC_LD_PREL19): ...  this.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* elf64-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Update to use
	the correct names.
	(elf64_aarch64_tlsdesc_howto_table): Likewise.
	(elf64_aarch64_reloc_map): Likewise.
	(aarch64_resolve_relocation): Likewise.
	(bfd_elf_aarch64_put_addend): Likewise.
	(aarch64_tls_transition_without_check): Likewise.
	(aarch64_reloc_got_type): Likewise.
	(elf64_aarch64_final_link_relocate): Likewise.
	(elf64_aarch64_tls_relax): Likewise.
	(elf64_aarch64_relocate_section): Likewise.
	(elf64_aarch64_gc_sweep_hook): Likewise.
	(elf64_aarch64_check_relocs): Likewise.

952 953 954 955 956 957 958 959 960 961 962 963 964 965
2013-05-26  Mark Wielaard  <mjw@redhat.com>

	* cache.c (BFD_CACHE_MAX_OPEN): Remove define.
	(max_open_files): New static int initialized to zero.
	(bfd_cache_max_open): New static function to set and return
	max_open_files.
	(bfd_cache_init): Use bfd_cache_max_open.
	(bfd_open_file): Likewise.
	* configure.in (AC_CHECK_HEADERS): Add sys/resource.h.
	(AC_CHECK_FUNCS): Add getrlimit.
	* configure: Regenerated.
	* config.in: Likewise.
	* sysdep.h: Check and include sys/resource.h for getrlimit.

966 967 968 969 970 971 972
2013-05-23  Alan Modra  <amodra@gmail.com>

	* format.c (bfd_check_format_matches): Don't match a target in
	targ_selvecs if some other target is a better match.  If
	targets implement match priority, fall back to the first of
	the best matches.

Alan Modra's avatar
Alan Modra committed
973 974 975 976 977
2013-05-22  Eric Herman  <eric@freesa.org>

	PR binutils/15462
	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Warning fix.

Alan Modra's avatar
Alan Modra committed
978 979 980 981 982 983
2013-05-22  Ralf Dreesen  <gamma@dreesen.net>

	PR binutils/15474
	* srec.c (srec_set_section_contents): Properly convert size
	and offset to address when octets_per_byte is not unity.

984 985 986 987 988 989
2013-05-20  Maciej W. Rozycki  <macro@linux-mips.org>

	* elf32-vax.c (elf_vax_instantiate_got_entries): Only set the
	refcount member of the gotplt_union when resetting the reference
	count.  Adjust comment.

990 991 992 993 994 995 996 997 998
2013-05-20  Will Newton  <will.newton@linaro.org>

	* elf64-aarch64.c (elf64_aarch64_link_hash_entry): Remove
	relocs_copied member.
	(elf64_aarch64_link_hash_newfunc): Remove initialization of
	relocs_copied member.
	(elf64_aarch64_copy_indirect_symbol): Remove code to copy
	relocs_copied member.

999 1000 1001 1002 1003
2013-05-19  Maciej W. Rozycki  <macro@linux-mips.org>

	* elf32-vax.c (elf_vax_adjust_dynamic_symbol): Convert K&R
	function definition.

Cary Coutant's avatar
bfd/  
Cary Coutant committed
1004 1005 1006 1007 1008
2013-05-16  Cary Coutant  <ccoutant@google.com>

	* ecoff.c (ecoff_link_check_archive_element): Add initializers for
	external_ext_size and esize.

Tristan Gingold's avatar
bfd/  
Tristan Gingold committed
1009 1010 1011 1012 1013
2013-05-16  Tristan Gingold  <gingold@adacore.com>

	* coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
	* coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.

1014 1015 1016 1017
2013-05-15  Andreas Schwab  <schwab@suse.de>

	* elf64-aarch64.c (elf_backend_default_execstack): Define to 0.

1018 1019 1020 1021 1022
2013-05-10  Joel Brobecker  <brobecker@adacore.com>

	* coffcode.h (styp_to_sec_flags) [RS6000COFF_C]: Add handling
	of STYP_EXCEPT, STYP_LOADER and STYP_TYPCHK sections.

1023 1024 1025 1026 1027
2013-05-09  Joel Brobecker  <brobecker@adacore.com>

	* bfd.c (_bfd_default_error_handler): Replace use of putc
	by fputc.  Add comment explaining why.

1028 1029 1030 1031 1032
2013-05-09  Alan Modra  <amodra@gmail.com>

	* elflink.c (elf_link_add_object_symbols): Don't omit reading
	of symbols when hashes already exist.

1033 1034 1035 1036 1037 1038 1039 1040 1041 1042
2013-05-07  Will Newton  <will.newton@linaro.org>

	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Add a
	plt_header_size argument for ports where it differs from
	plt_entry_size.
	* elf-bfd.h: Likewise.
	* elf32-i386.c: Pass plt_header_size to
	_bfd_elf_allocate_ifunc_dyn_relocs.
	* elf64-x86-64.c: Likewise.

1043 1044
2013-05-07  Will Newton  <will.newton@linaro.org>

1045
	* elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Remove unused
1046 1047 1048
	function.
	* elf-bfd.h: Likewise.

1049 1050
2013-05-06  Paul Brook  <paul@codesourcery.com>

1051 1052 1053 1054 1055 1056
	* elf64-mips.c (elf_mips_gnu_pcrel32): New.
	(bfd_elf64_bfd_reloc_type_lookup, bfd_elf64_bfd_reloc_name_lookup,
	mips_elf64_rtype_to_howto): Handle R_MIPS_PC32.
	* elfn32-mips.c (elf_mips_gnu_pcrel32): New.
	(bfd_elfn32_bfd_reloc_type_lookup, bfd_elfn32_bfd_reloc_name_lookup,
	mips_elfn32_rtype_to_howto): Handle R_MIPS_PC32.
1057

1058 1059 1060 1061 1062
2013-05-06  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (opd_entry_value): Handle case where symbol
	hashes are not available.

1063 1064 1065 1066 1067 1068 1069
2013-05-06  Alan Modra  <amodra@gmail.com>

	* elflink.c (elf_link_add_object_symbols): Don't save symbol
	hashes around loading as-needed library.  Zero them on allocation,
	and restore to initial all-zero state if library not needed.
	Arrange to reuse hashes if we load library again later.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1070 1071 1072 1073 1074 1075 1076
2013-05-04  Richard Sandiford  <rdsandiford@googlemail.com>

	* elf32-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto):
	Use _bfd_mips_elf_generic_reloc instead of bfd_elf_generic_reloc.
	* elfn32-mips.c: Likewise.
	* elf64-mips.c: Likewise.

1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094
2013-05-02  Nick Clifton  <nickc@redhat.com>

	* archures.c: Add some more MSP430 machine numbers.
	* config.bfd (msp430): Define targ_selvecs.
	* configure.in: Add bfd_elf32_msp430_ti_vec.
	* cpu-msp430.c: Add some more MSP430 machine numbers.
	* elf32-msp430.c Add support for MSP430X relocations.
	Add support for TI compiler generated relocations.
	Add support for sym_diff relocations.
	Add support for relaxing out of range short branches into long
	branches.
	Add support for MSP430 attribute section.
	* reloc.c: Add MSP430X relocations.
	* targets.c: Add bfd_elf32_msp430_ti_vec.
	* bfd-in2.h: Regenerate.
	* configure: Regenerate.
	* libbfd.h: Regenerate.

Maciej W. Rozycki's avatar
bfd/  
Maciej W. Rozycki committed
1095 1096 1097 1098 1099
2013-05-01  Maciej W. Rozycki  <macro@codesourcery.com>

	* config.bfd: Replace alpha*-*-linuxecoff* pattern with
	alpha*-*-linux*ecoff*.

Nick Clifton's avatar
Nick Clifton committed
1100 1101 1102 1103 1104 1105
2013-04-30  Olaf Flebbe  <o.flebbe@science-computing.de>

	PR binutils/15417
	* elflink.c (elf_link_add_object_symbols): Initialise 'idx' to
	zero.

1106 1107 1108 1109 1110
2013-04-30  Alan Modra  <amodra@gmail.com>

	* elflink.c (bfd_elf_record_link_assignment): Dont make
	STV_INTERNAL symbols STV_HIDDEN.

1111 1112 1113 1114 1115 1116
2013-04-29  Nick Clifton  <nickc@redhat.com>

	* elflink.c (_bfd_elf_gc_mark_extra_sections): Remove mark from
	fragmented .debug_line sections associated with unmarked code
	sections.

1117 1118 1119 1120 1121
2013-04-29  Will Newton  <will.newton@linaro.org>

	* elf32-arm.c (elf32_arm_populate_plt_entry): Call
	elf32_arm_add_dynreloc when emitting R_ARM_IRELATIVE relocs.

1122 1123 1124 1125 1126
2013-04-29  Will Newton  <will.newton@linaro.org>

	* elf64-aarch64.c (elf64_aarch64_check_relocs): Move relocation
	error check up and add error message.

1127 1128 1129 1130
2013-04-26  Will Newton  <will.newton@linaro.org>

	* elf64-aarch64.c (elf64_aarch64_check_relocs): Remove dead code.

Alan Modra's avatar
bfd/  
Alan Modra committed
1131 1132 1133 1134
2013-04-25  Alan Modra  <amodra@gmail.com>

	* config.bfd: Add powerpc64le-linux.

H.J. Lu's avatar
H.J. Lu committed
1135 1136 1137 1138 1139
2013-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* config.bfd (targ_selvecs): Add bfd_elf32_x86_64_vec for
	x86_64-*-elf*.

Roland McGrath's avatar
bfd/  
Roland McGrath committed
1140 1141 1142 1143 1144 1145 1146 1147 1148 1149
2013-04-24  Roland McGrath  <mcgrathr@google.com>

	* elf32-arm.c (elf32_arm_allocate_plt_entry): If HTAB->nacl_p,
	allocate space for PLT header even if IS_IPLT_ENTRY.
	(arm_nacl_put_plt0): New function, broken out of ...
	(elf32_arm_finish_dynamic_sections): ... here.  Call it.
	If HTAB->nacl_p, set up the PLT header in .iplt too.
	(elf32_arm_output_arch_local_syms): If HTAB->nacl_p, write
	a mapping symbol for the start of .iplt too.

1150 1151
2013-04-19  Luca Pizzamiglio  <luca.pizzamiglio@gmail.com>

Nick Clifton's avatar
Nick Clifton committed
1152 1153 1154 1155 1156 1157 1158
	* ecoff.c (_bfd_ecoff_sizeof_headers): Cast the return value of
	BFD_ALIGN to int.
	* elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Remove unused
	variables.
	* elf32-v850.c (v850_elf_relax_section): Redefine the type of 'i'
	to bfd_vma.
	* vms-alpha.c (evax_bfd_print_etir): Initialize sec_len.
1159

Alan Modra's avatar
Alan Modra committed
1160 1161 1162 1163 1164 1165
2013-04-22  Alan Modra  <amodra@gmail.com>

	PR ld/15382
	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Don't multiply
	sh_size or reloc_count adjustment by count.

Alan Modra's avatar
bfd/  
Alan Modra committed
1166 1167 1168 1169 1170 1171 1172 1173 1174
2013-04-22  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_check_relocs): Don't call
	create_linkage_sections here..
	(ppc64_elf_init_stub_bfd): ..do so here.  Return status.
	(create_linkage_sections): Move earlier in file.
	(ppc64_elf_setup_section_lists): Remove now useless htab->brlt test.
	* elf64-ppc.h (ppc64_elf_init_stub_bfd): Update proto.

Nick Clifton's avatar
Nick Clifton committed
1175 1176 1177 1178 1179 1180
2013-04-19  Nick Clifton  <nickc@redhat.com>

	PR binutils/15356
	* compress.c (decompress_contents): Always call inflateEnd, even
	when another inflation operation fails.

H.J. Lu's avatar
H.J. Lu committed
1181 1182 1183 1184
2013-04-17  H.J. Lu  <hongjiu.lu@intel.com>

	* elf-ifunc.c: Update copyright year.

1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199
2013-04-17 Luca Pizzamiglio  <luca.pizzamiglio@gmail.com>

	* coffcode.h: Added a cast to void when a bfd_set_section_*()
	macro's return value is ignored.
	* elf32-hppa.c: Likewise.
	* elf32-tic6x.c: Likewise.
	* mach-o.c: Likewise.
	* mmo.c: Likewise.
	* opncls.c: Likewise.
	* peicode.h: Likewise.
	* elf32-m32r.c: Check return value of bfd_set_section_*().
	* elfnn-ia64.c: Likewise.
	* elfxx-mips.c: Likewise.
	* vms-alpha.c: Likewise.

1200 1201 1202 1203 1204 1205 1206
2013-04-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/15371
	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Check
	regular reference without non-GOT reference when building
	shared library.

1207 1208 1209 1210 1211
2013-04-15  Alan Modra  <amodra@gmail.com>

	* archive.c (_bfd_archive_close_and_cleanup): Clear parent
	cache slot for archives.

1212 1213 1214 1215 1216
2013-04-14  Hans-Peter Nilsson  <hp@bitrange.com>

	* mmo.c (mmo_write_chunk): Break out abfd->tdata.mmo_data to new
	local variable mmop.

Nick Clifton's avatar
Nick Clifton committed
1217 1218 1219 1220 1221 1222
2013-04-09  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	PR ld/12494
	* bfd/elf32-avr.c: Consider all sections to determine if linker
	relaxation can safely delete a ret after a call/jmp

1223 1224 1225 1226 1227
2013-04-09  Mingjie Xing  <mingjie.xing@gmail.com>

	* bfd.c (typedef bfd, Error reporting, Miscellaneous): Add
	INODEs.

Tom Tromey's avatar
Tom Tromey committed
1228 1229 1230 1231 1232
2013-04-08  Tom Tromey  <tromey@redhat.com>

	* som.c (bfd_section_from_som_symbol): No longer static.
	* som.h (bfd_section_from_som_symbol): Declare.

1233 1234 1235 1236 1237
2013-04-06  Alan Modra  <amodra@gmail.com>

	* elf32-ppc.c (ppc_elf_check_relocs): Use SYMBOLIC_BIND.
	* elf64-ppc.c (ppc64_elf_check_relocs, dec_dynrel_count): Likewise.

1238 1239 1240 1241
2013-04-05  Nick Clifton  <nickc@redhat.com>

	* elflink.c (elf_link_add_object_symbols): Revert accidental commit.

1242 1243 1244 1245 1246 1247
2013-04-04  Alan Modra  <amodra@gmail.com>

	* bfd.c (bfd_error_type, bfd_errmsgs): Add bfd_error_missing_dso.
	* bfd-in2.h: Regenerate.
	* elflink.c (elf_link_add_object_symbols): Use new error.

1248 1249 1250 1251 1252
2013-04-03  Nick Clifton  <nickc@redhat.com>

	* elf32-v850.c (v850_elf_is_target_special_symbol): New function.
	(bfd_elf32_bfd_is_target_special_symbol): Define.

1253 1254
2013-04-03   Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>

1255 1256
	* elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use
	elf64_aarch64_locals to get local GOT reference counts.
1257

1258 1259 1260 1261 1262 1263
2013-04-02  DJ Delorie  <dj@redhat.com>

	* elf32-rl78.c (GET_RELOC): Assert that there are relocs to get.
	(rl78_elf_relax_section): Only fetch the next reloc if there is
	one expected.

Alan Modra's avatar
Alan Modra committed
1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318
2013-03-30  Alan Modra  <amodra@gmail.com>

	PR ld/15323
	* elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for
	global symbols referenced by relocs.
	* elf32-arm.c (elf32_arm_check_relocs): Likewise.
	* elf32-bfin.c (bfin_check_relocs): Likewise.
	* elf32-cr16.c (cr16_elf_check_relocs): Likewise.
	* elf32-cris.c (cris_elf_check_relocs): Likewise.
	* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
	* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
	* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
	* elf32-frv.c (elf32_frv_check_relocs): Likewise.
	* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
	* elf32-i370.c (i370_elf_check_relocs): Likewise.
	* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
	* elf32-lm32.c (lm32_elf_check_relocs): Likewise.
	* elf32-m32c.c (m32c_elf_check_relocs): Likewise.
	* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
	* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
	* elf32-metag.c (elf_metag_check_relocs): Likewise.
	* elf32-microblaze.c (microblaze_elf_check_relocs): Likewise.
	* elf32-moxie.c (moxie_elf_check_relocs): Likewise.
	* elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
	* elf32-mt.c (mt_elf_check_relocs): Likewise.
	* elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
	* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
	* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
	* elf32-rl78.c (rl78_elf_check_relocs): Likewise.
	* elf32-s390.c (elf_s390_check_relocs): Likewise.
	* elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
	* elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
	* elf32-sh.c (sh_elf_check_relocs): Likewise.
	* elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
	* elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
	* elf32-v850.c (v850_elf_check_relocs): Likewise.
	* elf32-vax.c (elf_vax_check_relocs): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
	* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
	* elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise.
	* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
	* elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise.
	* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
	* elf64-s390.c (elf_s390_check_relocs): Likewise.
	* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
	* elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
	* elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.  Don't
	test indirect/warning links for NULL.

1319 1320 1321 1322
2013-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/15323
	* elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a
Alan Modra's avatar
Alan Modra committed
1323
	symbol is referenced by a non-shared object.
1324 1325
	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.

1326 1327 1328 1329 1330
2013-03-28  Joe Seymour  <jseymour@codesourcery.com>

	* elf32-sh.c (sh_elf_relocate_section): Suppress warnings for
	R_SH_REL32 relocations against undefined weak symbols.

1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343
2013-03-28  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (struct ppc_dyn_relocs): New.
	(ppc64_elf_check_relocs): Separate dynrel counts for local syms
	into ifunc and non-ifunc.
	(dec_dynrel_count): Pass in sym rather than sym_sec.  Handle
	separate ifunc/non-ifunc dynrel counts.
	(allocate_got): Always use reliplt for ifunc.
	(allocate_dynrelocs): Likewise.
	(ppc64_elf_size_dynamic_sections): Likewise.
	(ppc64_elf_layout_multitoc): Likewise.
	(ppc64_elf_relocate_section): Likewise.

1344 1345 1346 1347 1348 1349 1350 1351 1352
2013-03-28  Alan Modra  <amodra@gmail.com>

	* elf32-ppc.c (struct ppc_dyn_relocs): New.
	(ppc_elf_check_relocs): Separate dynrel counts for local syms
	into ifunc and non-ifunc.
	(allocate_dynrelocs): Always put ifunc relocs into reliplt.
	(ppc_elf_size_dynamic_sections): Likewise.
	(ppc_elf_relocate_section): Likewise.

1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376
2013-03-28  Alan Modra  <amodra@gmail.com>

	* elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc.
	(struct elf_backend_data <elf_backed_reloc_type_class>): Add
	bfd_link_info* and asection* params.
	(_bfd_elf_reloc_type_class): Likewise.
	* elf.c (_bfd_elf_reloc_type_class): Likewise.
	* elflink.c (elf_link_sort_cmp2): Sort first on reloc class.
	(elf_link_sort_relocs): Update elf_backed_reloc_type_class call.
	* elf32-ppc.c (ppc_elf_reloc_type_class): Return reloc_class_ifunc
	for any reliplt reloc.  Don't return reloc_class_plt for
	R_PPC_REL24 and R_PPC_ADDR24.
	* elf64-ppc.c (allocate_got): Formatting.
	(ppc64_elf_reloc_type_class): Return reloc_class_ifunc for any
	reliplt reloc.
	* elf-m10300.c, * elf32-arm.c, * elf32-bfin.c, * elf32-cr16.c,
	* elf32-cris.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c,
	* elf32-m32r.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
	* elf32-s390.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilepro.c,
	* elf32-vax.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-alpha.c,
	* elf64-hppa.c, * elf64-ia64-vms.c, * elf64-s390.c, * elf64-sparc.c,
	* elf64-x86-64.c, * elfnn-ia64.c, * elfxx-tilegx.c, * elfxx-tilegx.h:
	Add extra params to the various reloc_type_class functions.

1377 1378 1379 1380 1381 1382 1383 1384
2013-03-27  Alan Modra  <amodra@gmail.com>

	* elf32-ppc.c (ppc_elf_check_relocs): Set PLT_IFUNC in local got
	masks for all local ifunc syms.
	(allocate_dynrelocs): Don't use htab->relgot for ifunc.
	(ppc_elf_size_dynamic_sections): Likewise.
	(ppc_elf_relocate_section): Likewise.

Will Newton's avatar
Will Newton committed
1385 1386 1387 1388 1389 1390 1391
2013-03-27  Will Newton  <will.newton@linaro.org>

	* elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
	dynamic reloc for symbols with dynindx == -1.
	(allocate_dynrelocs_for_symbol): Avoid allocating space for a
	dynamic reloc for symbols with dynindx == -1.

Will Newton's avatar
Will Newton committed
1392 1393 1394 1395 1396 1397 1398
2013-03-27  Will Newton  <will.newton@linaro.org>

	* elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
	dynamic reloc for non-default visibility undefined weaks.
	(allocate_dynrelocs_for_symbol): Avoid allocating space for a
	dynamic reloc for non-default visibility undefined weaks.

1399 1400 1401 1402 1403
2013-03-26  Alan Modra  <amodra@gmail.com>

	* elflink.c (_bfd_elf_add_default_symbol): Preserve section
	over _bfd_elf_merge_symbol calls.

1404 1405 1406 1407 1408
2013-03-26  Alan Modra  <amodra@gmail.com>

	* elflink.c (elf_link_add_object_symbols): Add assertion for
	common override alignment check code.  Formatting.

1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420
2013-03-25  Alan Modra  <amodra@gmail.com>

	* elflink.c (_bfd_elf_merge_symbol): Set old_alignment for
	usual common symbols as well as for dynamic.  Add poldbfd param.
	Save old bfd.  Adjust callers.
	(_bfd_elf_add_default_symbol): Add poldbfd param.  Pass "section"
	and "value" by value, not pointer.  Adjust caller.
	(elf_link_add_object_symbols): Combine undef_bfd and old_bfd vars.
	Delete code to set same.  Use old_bfd and old_alignment from
	_bfd_elf_merge_symbol instead.  Add default symbol before
	alignment and size checks.  Wrap overlong lines.

1421 1422 1423 1424 1425 1426
2013-03-25  Alan Modra  <amodra@gmail.com>

	* elflink.c (_bfd_elf_add_default_symbol): Delete "override" param.
	(elf_link_add_object_symbols): Don't call _bfd_elf_add_default_symbol
	when override is true.

1427 1428 1429 1430 1431
2013-03-25  Alan Modra  <amodra@gmail.com>

	* elflink.c (_bfd_elf_merge_symbol): Use local var holding value
	of *sym_hash.

1432 1433 1434 1435 1436 1437 1438
2013-03-25  Alan Modra  <amodra@gmail.com>

	* elflink.c (_bfd_elf_merge_symbol): Don't discard TLS symbols here.
	Wrap long lines.
	(elf_link_add_object_symbols): Discard TLS symbols for --just-syms
	early in symbol loop.

1439 1440 1441 1442 1443 1444 1445 1446 1447
2013-03-25  Alan Modra  <amodra@gmail.com>

	* elf-bfd.h (struct elf_backend_data <merge_symbol>): Update proto.
	(_bfd_elf_init_reloc_shdr): Delete.
	* elf.c (_bfd_elf_init_reloc_shdr): Make static.
	* elf64-x86-64.c (elf_x86_64_merge_symbol): Trim parameters to
	just what is needed.
	* elflink.c (_bfd_elf_merge_symbol): Update bed->merge_symbol call.

1448 1449 1450 1451 1452 1453 1454
2013-03-23  Alan Modra  <amodra@gmail.com>

	* elf-bfd.h (_bfd_elf_merge_symbol): Delete declaration.
	* elflink.c (_bfd_elf_merge_symbol): Make static.
	* elf32-sh-symbian.c (sh_symbian_relocate_section): Don't call
	_bfd_elf_merge_symbol, call _bfd_generic_link_add_one_symbol.

Alan Modra's avatar
Alan Modra committed
1455 1456 1457 1458 1459 1460 1461 1462 1463
2013-03-23  Alan Modra  <amodra@gmail.com>

	PR ld/15270
	* elflink.c (elf_link_add_object_symbols): Don't set def_regular
	or ref_regular for BFD_PLUGIN owned syms, or have them affect
	def_dynamic/ref_dynamic.
	(_bfd_elf_fix_symbol_flags): Don't set def_regular for BFD_PLUGIN
	owned syms.

1464 1465 1466 1467 1468
2013-03-22  David S. Miller  <davem@davemloft.net>

	* elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Set type of
	hwcaps attribute.

Nick Clifton's avatar
Nick Clifton committed
1469 1470 1471 1472 1473 1474
2013-03-22  Achille Fouilleul  <achille.fouilleul+binutils@gadz.org>

	PR ld/14902
	* elf32-h8300.c (elf32_h8_relax_delete_bytes): Fix off by one
	errors adjusting relocs and symbols.

1475 1476 1477 1478 1479 1480 1481 1482 1483 1484
2013-03-21  Michael Schewe  <michael.schewe@gmx.net>

	* elf32-h8300 (h8_relax_section): Add new relaxation of mov
	@(disp:32,ERx) to mov @(disp:16,ERx).
	(R_H8_DISP32A16): New reloc.
	Comments added and corrected.
	* reloc.c (BFD_RELOC_H8_DISP32A16): New reloc.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

1485 1486 1487 1488 1489 1490 1491 1492 1493 1494
2013-03-21  Kai Tietz  <ktietz@redhat.com>

	* coffgen.c (coff_real_object_p): Make global.
	* peicode.h (coff_real_object_p): Add prototype.
	(FILHDR): Defined for COFF_IMAGE_WITH_PE as
	external_PEI_IMAGE_hdr structure.
	(coff_swap_filehdr_in): Handle variable header-size.
	* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Just handle amount
	of directory-entiries as specified in pe-header.

Nick Clifton's avatar
Nick Clifton committed
1495 1496 1497 1498 1499 1500
2013-03-21  Nick Clifton  <nickc@redhat.com>

	PR sim/15286
	* elf32-arm.c (bfd_arm_get_mach_from_attributes): Identify XScale,
	iWMMXt and iWMMXt2 processors from attributes.

Alan Modra's avatar
bfd/  
Alan Modra committed
1501 1502 1503 1504 1505
2013-03-20  Alan Modra  <amodra@gmail.com>

	* elflink.c (_bfd_elf_make_dynamic_reloc_section): Override
	sh_type according to is_rela.

Alan Modra's avatar
Alan Modra committed
1506 1507 1508 1509 1510 1511
2013-03-18  Alan Modra  <amodra@gmail.com>

	PR ld/12549
	* elflink.c (elf_link_add_object_symbols): Exclude weak refs when
	considering whether an --as-needed library is needed.

Tom Tromey's avatar
gdb  
Tom Tromey committed
1512 1513 1514 1515 1516 1517 1518
2013-03-14  Tom Tromey  <tromey@redhat.com>

	* opncls.c (bfd_get_debug_link_info): Rename from
	get_debug_link_info.  Export.  Update comment.
	(find_separate_debug_file): Update.
	* bfd-in2.h: Rebuild.

1519 1520
2013-03-08  Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>

1521
	* elf64-aarch64.c (elf_backend_can_gc_sections): Enable gc-section
1522
	support.
1523
	(elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related
1524 1525
	relocs.

1526 1527 1528 1529 1530 1531 1532 1533
2013-03-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>

	* elf-bfd.h (elfcore_write_s390_tdb): Add prototype.
	* elf.c (elfcore_write_s390_tdb): New function.
	(elfcore_write_register_note): Call it.
	(elfcore_grok_s390_tdb): New function.
	(elfcore_grok_note): Call it.

1534 1535 1536 1537
2013-03-08  Maciej W. Rozycki  <macro@codesourcery.com>

	* elfxx-mips.c (mips_elf_allocate_lazy_stub): Correct data type.

1538 1539 1540 1541
2013-03-05  Corinna Vinschen  <vinschen@redhat.com>

	* config.bfd: Add x86_64-*-cygwin to list of supported targets.

1542 1543 1544 1545 1546 1547
2013-03-04  Alan Modra  <amodra@gmail.com>

	* elf32-ppc.c (ppc_elf_relocate_section <R_PPC_PLTREL24>): Adjust
	non-zero addends when relocatable, rather than addends >= 32768.
	Always zero "addend" before applying relocation.

1548 1549 1550 1551 1552
2013-03-04  Nick Clifton  <nickc@redhat.com>

	* archive64.c (bfd_elf64_archive_write_armap): Fix calculation of
	file pointer offsets for thin archives.

Julian Brown's avatar
bfd/  
Julian Brown committed
1553 1554 1555 1556 1557
2013-02-28  Nathan Sidwell  <nathan@codesourcery.com>

	* elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
	elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link.

1558 1559 1560 1561 1562 1563 1564 1565
2013-02-27  DJ Delorie  <dj@redhat.com>

	* reloc.c (BFD_RELOC_RL78_CODE): Add.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.
	* elf32-rl78.c (rl78_elf_relocate_section): Handle weak code
	references in compuated relocs.

1566 1567 1568 1569
2013-02-26  Anthony Green  <green@moxielogic.com>

	* config.bfd: Extend moxie-rtems target triplet name support.

1570 1571 1572 1573 1574 1575 1576 1577 1578 1579
2013-02-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/15167
	* elf64-ia64-vms.c (elf64_vms_link_add_object_symbols): Set
	unique_global only for definition.
	* elflink.c (_bfd_elf_merge_symbol): Don't set unique_global
	here.
	(elf_link_add_object_symbols): Set unique_global only
	for definition.

Alan Modra's avatar
bfd/  
Alan Modra committed
1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597
2013-02-21  Alan Modra  <amodra@gmail.com>

	* elf-bfd.h (struct elf_build_id): Extracted from..
	(struct elf_build_id_info): ..here.  Delete.
	(struct output_elf_obj_tdata): New, extracted from..
	(struct elf_obj_tdata): ..here.  Reorganize for better packing.
	Add "o" field.
	(elf_program_header_size): Reference tdata->o.
	(elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
	elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec,
	elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise.
	* elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata
	when opening bfd in any mode that might write.
	(_bfd_elf_write_object_contents): Use build_id field in
	output_elf_obj_tdata.
	(_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test.
	(elfobj_grok_gnu_build_id): Adjust for elf_tdata changes.

1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613
2013-02-21  Alan Modra  <amodra@gmail.com>

	* elf-bfd.h (struct core_elf_obj_tdata): New.
	(struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid,
	core_program, and core_command.  Add "core".
	* elf.c (bfd_elf_mkcorefile): Allocate "core" struct.
	Update all refs to tdata core fields.
	* elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c,
	* elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c,
	* elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c,
	* elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c,
	* elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c,
	* elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c,
	* elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs
	to tdata core fields.

Alan Modra's avatar
bfd/  
Alan Modra committed
1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629
2013-02-21  Alan Modra  <amodra@gmail.com>

	* elf-bfd.h (struct elf_obj_tdata): Rename segment_map to seg_map.
	Delete num_locals and num_globals.
	(elf_num_locals, elf_num_globals): Don't define.
	(elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
	elf_stack_flags, elf_strtab_sec, elf_shstrtab_sec): Define.
	* bfd.c, * elf-eh-frame.c, * elf-nacl.c, * elf-vxworks.c, * elf.c,
	* elf32-arm.c, * elf32-lm32.c, * elf32-ppc.c, * elf32-rx.c,
	* elf32-spu.c, * elf64-hppa.c, * elfcode.h, * elflink.c,
	* elfnn-ia64.c, * elfxx-mips.c: Use newly defined elf_obj_tdata
	accessor macros.
	* elf.c (elf_map_symbols): Add pnum_locals param.  Return
	number of locals syms via new param.
	(swap_out_syms): Adjust to suit elf_map_symbols change.

1630 1631 1632 1633 1634
2013-02-19  Maciej W. Rozycki  <macro@codesourcery.com>

	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear
	STO_MICROMIPS annotation.

Alan Modra's avatar
Alan Modra committed
1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647
2013-02-19  Alan Modra  <amodra@gmail.com>

	* configure.in: Bump version to 2.23.52.
	* elf-bfd.h (struct elf_build_id_info): New.
	(struct elf_obj_tdata): Delete after_write_object_contents,
	after_write_object_contents_info and build_id_size.  Make build_id
	a pointer to struct elf_build_id_info.
	* elf.c (_bfd_elf_write_object_contents): Style.  Update
	after_write_ibject_contents invocation.
	(elfobj_grok_gnu_build_id): Update for new build_id struct.  Don't
	allow zero size notes.
	* configure: Regenerate.

1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658
2013-02-18  Maciej W. Rozycki  <macro@codesourcery.com>

	* elf64-mips.c (micromips_elf64_howto_table_rel): Add
	R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
	(micromips_elf64_howto_table_rela): Likewise.
	(micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
	* elfn32-mips.c (elf_micromips_howto_table_rel): Add
	R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
	(elf_micromips_howto_table_rela): Likewise.
	(micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.

1659 1660 1661 1662 1663
2013-02-18  Paul Brook  <paul@codesourcery.com>

	* elfxx-mips.c (MICROMIPS_P): New macro.
	(_bfd_mips_elf_symbol_processing): Use it.

1664 1665 1666 1667 1668
2013-02-18  Maciej W. Rozycki  <macro@codesourcery.com>

	* elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify
	comment on _PROCEDURE_LINKAGE_TABLE_ creation.

Alan Modra's avatar
Alan Modra committed
1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679
2013-02-18  Alan Modra  <amodra@gmail.com>

	PR ld/12549
	* elf-bfd.h (_bfd_elf_strtab_clear_refs): Delete.
	(_bfd_elf_strtab_clear_all_refs): Declare.
	(_bfd_elf_strtab_resize): Declare.
	* elf-strtab.c (_bfd_elf_strtab_clear_refs): Delete.
	(_bfd_elf_strtab_clear_all_refs): New function.
	(_bfd_elf_strtab_resize): Likewise.
	* elflink.c (elf_link_add_object_symbols): Use _bfd_elf_strtab_resize.

1680 1681 1682 1683 1684 1685 1686 1687 1688 1689
2013-02-18  Alan Modra  <amodra@gmail.com>

	* elf-bfd.h (struct elf_obj_tdata): Move find_line_info, local_stubs,
	local_call_stubs, elf_data_symbol, elf_text_symbol, elf_data_section,
	and elf_text_section to..
	* elfxx-mips.c (struct mips_elf_obj_tdata): ..here.  Update all refs.
	* elf64-alpha.c (struct mips_elf_find_line): Rename to..
	(struct alpha_elf_find_line): ..this.
	(struct alpha_elf_obj_tdata): Add find_line_info, update refs.

1690 1691 1692 1693 1694 1695
2013-02-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/15146
	* elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
	for references from the dummy bfd.

H.J. Lu's avatar
H.J. Lu committed
1696 1697 1698 1699 1700 1701
2013-02-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/15149
	* elflink.c (elf_link_add_object_symbols): Also track weak
	references.

1702 1703 1704 1705 1706 1707 1708
2013-02-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/15151
	* archive.c (_bfd_find_nested_archive): Don't allow a nested
	archive pointing to itself.
	(_bfd_get_elt_at_filepos): Revert the last 2 changes.

Nick Clifton's avatar
Nick Clifton committed
1709 1710 1711 1712 1713 1714
2013-02-15  Nick Clifton  <nickc@redhat.com>

	PR binutils/15140
	* archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop
	accessing a corrupt nested archive.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740
2013-02-13  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_got_page_ref): New structure.
	(mips_got_page_entry): Use a section rather than a (bfd, symndx)
	pair to represent the anchor point.
	(mips_got_info): Add a got_page_refs field.
	(mips_elf_link_hash_table): Add a sym_cache field.
	(mips_got_page_ref_hash, mips_got_page_ref_eq): New functions.
	(mips_got_page_entry_hash, mips_got_page_entry_eq): Update for
	new anchor representation.
	(mips_elf_create_got_info): Create got_page_refs rather than
	got_page_entries.
	(mips_elf_record_got_page_ref): New function.
	(mips_elf_pages_for_range): Move further down file.
	(mips_elf_record_got_page_entry): Likewise.  Take a got as argument.
	Use a section rather than a (bfd, symndx) pair to represent the
	anchor point.
	(mips_elf_resolve_got_page_ref): New function.
	(mips_elf_resolve_final_got_entries): Use it to populate
	got_page_entries.
	(_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref
	rather than mips_elf_record_got_page_entry.  Only nullify h
	afterwards.
	(mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries
	earlier.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1741 1742 1743 1744 1745
2013-02-12  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_lay_out_got): Count VxWorks GOT relocs
	in g->relocs.

1746 1747 1748 1749 1750
2013-02-12  Alan Modra  <amodra@gmail.com>

	* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide
	suitable definition when using generic linker hash table.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_count_got_entries): Delete.
	(mips_elf_check_recreate_got, mips_elf_recreate_got): Take a
	mips_elf_traverse_got_arg.  Count GOT entries.
	(mips_elf_resolve_final_got_entries): Take the bfd_link_info
	as argument.  Update after above changes.
	(mips_elf_merge_got, mips_elf_lay_out_got): Don't call
	mips_elf_count_got_entries.  Update the calls to
	mips_elf_resolve_final_got_entries.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_got_tls_type): New enum.
	(mips_got_entry): Add tls_initialized.
	(mips_elf_got_entry_hash, mips_elf_got_entry_eq, mips_tls_got_relocs)
	(mips_elf_count_got_entry, mips_elf_initialize_tls_index): Remove
	GOT_TLS_TYPE masks.
	(mips_elf_reloc_tls_type, mips_tls_got_entries)
	(mips_elf_record_global_got_symbol, mips_elf_initialize_tls_index)
	(_bfd_mips_elf_finish_dynamic_symbol): Use GOT_TLS_NONE rather
	than GOT_NORMAL.
	(mips_elf_initialize_tls_slots): Replace got_offset and tls_type_p
	arguments with a GOT entry.  Remove GOT_TLS_TYPE masks.  Use
	tls_initialized rather than GOT_TLS_DONE.
	(mips_tls_got_index): Delete.
	(mips_elf_local_got_index, mips_elf_global_got_index): Use
	mips_elf_initialize_tls_slots rather than mips_tls_got_index.
	(mips_elf_record_got_entry): Initialize tls_initialized.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_got_entry): Remove tls_ldm_offset.
	(mips_elf_link_hash_entry): Remove tls_ie_type, tls_gd_type,
	tls_ie_got_offset and tls_gd_got_offset.
	(mips_elf_link_hash_newfunc): Remove initialization.
	(mips_elf_create_got_info): Likewise.
	(mips_elf_count_local_got_entries, mips_elf_count_global_tls_entries)
	(mips_tls_single_got_index): Delete.
	(mips_elf_local_got_index): Always use the GOT entry to track
	GOT indices.
	(mips_elf_global_got_index): Likewise.
	(mips_elf_create_local_got_entry): Assert that TLS entries have
	already been allocated.
	(mips_elf_record_global_got_symbol): Don't initialize
	tls_ie_type or tls_gd_type.
	(mips_elf_count_got_symbols): Only count reloc-only GOT entries here.
	(mips_elf_initialize_tls_index): Allocate a GOT index for every TLS
	entry.
	(mips_elf_lay_out_got): Use mips_elf_count_got_entries to count
	the GOT entries.
	(_bfd_mips_elf_finish_dynamic_symbol): Assert that TLS GOT offsets
	have been allocated.
	(_bfd_mips_elf_copy_indirect_symbol): Remove handling of
	tls_ie_type and tls_gd_type.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1807 1808 1809 1810 1811
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_create_local_got_entry): Tidy.  Avoid
	aliasing violation.  Check for htab allocation failures.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_primary_global_got_index): New function,
	split out from...
	(mips_elf_global_got_index): ...here.  Reorder arguments so that
	the output bfd and info come first.
	(mips_elf_calculate_relocation): Update the call to
	mips_elf_global_got_index accordingly.
	(_bfd_mips_elf_finish_dynamic_symbol): Use
	mips_elf_primary_global_got_index rather than
	mips_elf_global_got_index.
	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1825 1826 1827 1828 1829 1830 1831 1832 1833 1834
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_got_entry): Update comments.
	(mips_elf_multi_got_entry_eq): Rename to...
	(mips_elf_got_entry_eq): ...this, deleting the old definition.
	(mips_elf_create_got_info): Remove master_got_p argument.
	Always use mips_elf_got_entry_eq.
	(mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section):
	Update calls accordingly.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_got_info): Remove bfd2got.
	(mips_elf_bfd2got_hash): Delete.
	(mips_elf_got_per_bfd_arg): Remove bfd2got.
	(mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions.
	(mips_elf_global_got_index, mips_elf_create_local_got_entry): Use
	g->next to test for the multigot case.  Use mips_elf_bfd_got rather
	than mips_elf_got_for_ibfd.
	(mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq)
	(mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete.
	(mips_elf_make_got_per_bfd): Replace with...
	(mips_elf_add_got_entry): ...this new function.
	(mips_elf_make_got_pages_per_bfd): Replace with...
	(mips_elf_add_got_page_entry): ...this new function.
	(mips_elf_merge_got_with): Replace bfd2got argument with separate
	bfd and GOT arguments.  Use mips_elf_add_got_entry and
	mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd
	and mips_elf_make_got_pages_per_bfd.  Use mips_elf_replace_bfd_got
	to set the BFD's GOT and free the old table.
	(mips_elf_merge_got): Replace bfd2got argument with separate
	bfd and GOT arguments.  Apply mips_elf_resolve_final_got_entries.
	Use mips_elf_count_got_entries to count the number of entries in
	each GOT.  Update the calls to mips_elf_merge_got_with.
	(mips_elf_adjust_gp): Use g->next to test for the multigot case.
	Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd.
	(mips_elf_multi_got): Don't create the bfd2got hash table.
	Replace hash table traversal with a walk over the input bfds,
	updating the call to mips_elf_merge_got.  Use mips_elf_replace_bfd_got
	to set the output bfd's GOT.
	(mips_elf_lay_out_got): Rename "sub" to "ibfd".  Record that all
	bfds use the master GOT in the single-GOT case.
	(_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got
	rather than mips_elf_got_for_ibfd.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_obj_tdata): Add a got field.
	(mips_elf_bfd_got, mips_elf_record_got_entry): New functions.
	(mips_elf_record_global_got_symbol): Update the hash entry before
	adding the mips_got_entry.  Use mips_elf_record_got_entry to do
	the latter.
	(mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry.
	(mips_elf_record_got_page_entry): Record the entry in both the
	master and bfd GOTs.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_recreate_got): Don't change the entry;
	create another one if necessary.
	(mips_elf_set_gotidx): New function.
	(mips_elf_set_global_gotidx): Use it.
	(mips_elf_initialize_tls_index): Likewise.  Take a
	mips_elf_traverse_got_arg as argument.
	(mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index.
	(mips_elf_multi_got): Likewise.  Cope with error returns from
	mips_elf_set_global_gotidx.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_got_info): Add relocs field.
	(mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace
	with...
	(mips_elf_traverse_got_arg): ...this new structure.
	(mips_elf_count_local_tls_relocs): Delete.
	(mips_elf_count_global_tls_relocs): Likewise.
	(mips_elf_count_got_entry): New function.
	(mips_elf_count_local_got_entries): Likewise.
	(mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg
	rather than a mips_elf_count_tls_arg.  Count both relocs and entries.
	(mips_elf_record_local_got_symbol): Don't count got entries here.
	(mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry.
	(mips_elf_set_global_got_offset): Split into...
	(mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these
	new functions.  Take a mips_elf_traverse_got_arg rather than a
	mips_elf_set_global_got_offset_arg.  Don't count TLS relocs here.
	Use g->relocs to record the number of relocs needed for global GOT
	entries.
	(mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than
	mips_elf_set_global_got_offset_arg.  Use the relocs field to count
	relocations.  Update for above function split.
	(mips_elf_lay_out_got): Use mips_elf_count_local_got_entries
	to count both the number of GOT entries and the number of TLS
	relocs required by local entries.  Likewise
	mips_elf_count_global_tls_entries and global entries.
	Remove uses of mips_elf_count_local_tls_relocs and
	mips_elf_count_global_tls_relocs.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_got_entry): Update comment above tls_type entry
	to say that each structure represents only one type of TLS reference.
	(GOT_TLS_TYPE): New define.
	(mips_elf_link_hash_entry): Temporarily split tls_type and
	tls_got_offset into two variables each.
	(mips_elf_link_hash_newfunc): Update accordingly.
	(mips_elf_got_entry_eq, mips_elf_got_entry_hash)
	(mips_elf_multi_got_entry_eq): Require the tls_type to be the same.
	(mips_elf_reloc_tls_type, mips_tls_got_entries): New functions.
	(mips_tls_got_relocs): Use a switch statement.
	(mips_elf_count_global_tls_entries): Handle the new hash entry fields.
	(mips_elf_initialize_tls_slots): Use a switch statement.  Avoid
	local "offset" variable.
	(mips_tls_got_index): Remove r_type argument and assert.  Remove
	code that handled entries with two TLS types; always use the
	original got_index instead.
	(mips_tls_single_got_index): New function.
	(mips_elf_local_got_index): Use entry->tls_type to check for
	TLS entries.  Use mips_tls_single_got_index.  Update call to
	mips_tls_got_index.
	(mips_elf_global_got_index): Use mips_elf_reloc_tls_type.
	Use p->tls_type to check for TLS entries.  Update call to
	mips_tls_got_index.  Use mips_tls_single_got_index.
	(mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type.
	Use entry.tls_type to check for TLS entries.
	(mips_elf_record_global_got_symbol): Replace tls_flag argument
	with r_type argument.  Use mips_elf_reloc_tls_type.
	Set up the new hash entry fields.
	(mips_elf_record_local_got_symbol): Replace tls_flag argument
	with r_type argument.  Use mips_elf_reloc_tls_type and
	mips_tls_got_entries.  Remove code that handled entries
	with multiple TLS types.
	(mips_elf_make_got_per_bfd): Use mips_tls_got_entries.
	(mips_elf_initialize_tls_index): Handle new hash entry fields.
	Use equality rather than masks when checking for specific TLS types.
	Use mips_tls_got_entries.  Remove code that handled entries
	with multiple TLS types.
	(mips_elf_calculate_relocation): Use TLS_RELOC_P instead of
	testing the hash table entry.
	(_bfd_mips_elf_check_relocs): Update calls to
	mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol.
	(_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type.
	(_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1969 1970 1971 1972 1973 1974 1975
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to...
	(mips_elf_got_entry_hash): ...this, deleting the old version.
	(mips_elf_create_got_info): Use mips_elf_got_entry_hash for
	both types of GOT.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1976 1977 1978 1979 1980 1981
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_create_got_info): New function.
	(mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it.
	(mips_elf_create_got_section): Likewise.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1982 1983 1984 1985 1986
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_record_local_got_symbol): Always set
	gotidx to -1.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1987 1988 1989 1990
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_multi_got): Simplify size calculation.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1991 1992 1993 1994 1995
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_got_info): Move global_gotsym to...
	(mips_elf_link_hash_table): ...here.  Update rest of file accordingly.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
1996 1997 1998 1999 2000 2001 2002 2003
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_count_global_tls_entries)
	(mips_elf_count_global_tls_relocs): Don't count indirect or
	warning symbols.
	(mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right
	number of TLS entries were allocated.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
2004 2005 2006 2007
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
2008 2009 2010 2011 2012
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count
	if there are TLS relocations.

Richard Sandiford's avatar
bfd/  
Richard Sandiford committed
2013 2014 2015 2016 2017
2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_recreate_got): Remove free.
	(mips_elf_resolve_final_got_entries): Remove bogus comment.

2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052
2013-02-11  Alan Modra  <amodra@gmail.com>

	* elfcode.h (elf_checksum_contents): Free contents.
	* elf-bfd.h (_bfd_elf_link_hash_table_free): Declare.
	* elflink.c (_bfd_elf_link_hash_table_free): New function.
	(elf_final_link_free): New function, extracted from..
	(bfd_elf_final_link): ..here.  Always call
	_bfd_elf_write_section_eh_frame_hdr.
	* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to
	_bfd_elf_link_hash_table_free.
	* libbfd-in.h (_bfd_merge_sections_free): Declare.
	* libbfd.h: Regenerate.
	* merge.c (_bfd_merge_sections_free): New function.
	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free
	hdr_info->array.
	* elf-m10300.c (elf32_mn10300_link_hash_table_free): Call
	_bfd_elf_link_hash_table_free.
	* elf32-arm.c (elf32_arm_link_hash_table_free): Likewise.
	* elf32-avr.c (elf32_avr_link_hash_table_free): Likewise.
	* elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise.
	* elf32-i386.c (elf_i386_link_hash_table_free): Likewise.
	* elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise.
	* elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise.
	* elf32-metag.c (elf_metag_link_hash_table_free): Likewise.
	* elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise.
	* elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise.
	* elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise.
	* elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise.
	* elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise.
	* elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise.
	* elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete.
	(bfd_elf32_bfd_link_hash_table_free): Don't define.
	* elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete.
	(bfd_elf32_bfd_link_hash_table_free): Dont' define.

2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088
2013-02-10  Alan Modra  <amodra@gmail.com>

	* coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc.
	* coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
	* m68klinux.c (linux_link_hash_table_create): Likewise.
	* sparclinux.c (linux_link_hash_table_create): Likewise.
	* sunos.c (sunos_link_hash_table_create): Likewise.
	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
	* elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
	* elf32-arm.c (elf32_arm_link_hash_table_create): Likewise.
	* elf32-avr.c (elf32_avr_link_hash_table_create): Likewise.
	* elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
	* elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
	* elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
	* elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
	* elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
	* elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise.
	* elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise.
	* elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
	* elf32-metag.c (elf_metag_link_hash_table_create): Likewise.
	* elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise.
	* elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
	* elf32-score.c (elf32_score_link_hash_table_create): Likewise.
	* elf32-spu.c (spu_elf_link_hash_table_create): Likewise.
	* elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise.
	* elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
	* elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise.
	* elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise.
	* elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise.
	* elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
	* elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
	* elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
	* elflink.c (_bfd_elf_link_hash_table_create): Likewise.
	(_bfd_elf_link_hash_table_init): Assume zero fill table on entry.

2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100
2013-02-10  Alan Modra  <amodra@gmail.com>

	* i386linux.c (linux_link_hash_table_create): Allocate table
	with bfd_zmalloc, not bfd_alloc.
	* pdp11.c (link_hash_table_create): Allocate table with
	bfd_malloc, not bfd_alloc.
	* elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table
	with bfd_zmalloc, not bfd_zalloc.
	(bfin_link_hash_table_create): Likewise.
	* elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
	* elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.

Alan Modra's avatar
Alan Modra committed
2101 2102 2103 2104 2105
2013-02-10  Alan Modra  <amodra@gmail.com>

	PR ld/15113
	* elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc.

2106 2107 2108 2109
2013-02-08  Markos Chandras  <markos.chandras@imgtec.com>

	* elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED
	sections.
2110 2111
	(elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss
	symbol.
2112

Yufeng Zhang's avatar
bfd/  
Yufeng Zhang committed
2113 2114 2115 2116 2117
2013-02-08  Yufeng Zhang  <yufeng.zhang@arm.com>

	* elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from
	288 to 272.

Alan Modra's avatar
Alan Modra committed
2118 2119 2120 2121 2122 2123 2124
2013-02-08  Alan Modra  <amodra@gmail.com>

	PR binutils/15106
	* elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
	* elf.c (elf_find_function): Revert last change.  Use new
	tdata field rather than static vars for cache.

2125 2126 2127 2128 2129 2130
2013-02-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/15107
	* elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if
	symbol is defined in regular object.

Alan Modra's avatar
Alan Modra committed
2131 2132 2133 2134 2135
2013-02-07  Roberto Agostino Vitillo  <ra.vitillo@gmail.com>

	PR binutils/15106
	* elf.c (elf_find_function): Don't cache if symbols change.

Alan Modra's avatar
Alan Modra committed
2136 2137 2138 2139 2140 2141
2013-02-07  Alan Modra  <amodra@gmail.com>

	PR binutils/14873
	* elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
	copy attributes from or to non-ELF.

2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152
2013-02-06  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count
	for non-zero TLS symbol.
	(elf_i386_relocate_section): Don't resolve size relocation against
	non-zero TLS symbol.
	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear
	pc_count for non-zero TLS symbol.
	(elf_x86_64_relocate_section): Don't resolve size relocation
	against non-zero TLS symbol.

2153
2013-02-06  Sandra Loosemore  <sandra@codesourcery.com>
2154
	    Andrew Jenner <andrew@codesourcery.com>
2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181

	Based on patches from Altera Corporation.

	* Makefile.am (ALL_MACHINES): Add cpu-nios2.lo.
	(ALL_MACHINES_CFILES): Add cpu-nios2.c.
	(BFD_BACKENDS): Add elf32-nios2.lo.
	(BFD32_BACKENDS_CFILES): Add elf32-nios2.c.
	* Makefile.in: Regenerated.
	* configure.in: Add entries for bfd_elf32_bignios2_vec and
	bfd_elf32_littlenios2_vec.
	* configure: Regenerated.
	* config.bfd: Add cases for nios2.
	* archures.c (enum bfd_architecture): Add bfd_arch_nios2.
	(bfd_mach_nios2): Define.
	(bfd_nios2_arch): Declare.
	(bfd_archures_list): Add bfd_nios2_arch.
	* targets.c (bfd_elf32_bignios2_vec): Declare.
	(bfd_elf32_littlenios2_vec): Declare.
	(_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and
	bfd_elf32_littlenios2_vec.
	* elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA.
	* reloc.c (enum bfd_reloc_code_real): Add Nios II relocations.
	* bfd-in2.h: Regenerated.
	* libbfd.h: Regenerated.
	* cpu-nios2.c: New file.
	* elf32-nios2.c: New file.

2182 2183 2184 2185 2186
2013-02-06  Alan Modra  <amodra@gmail.com>

	* elf32-arm.c (elf32_arm_final_link_relocate): Only test for
	stubs in stub_bfd.

2187 2188 2189 2190 2191
2013-02-06  Alan Modra  <amodra@gmail.com>

	* Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
	* Makefile.in: Regenerate.

2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208
2013-02-04  Sergio Durigan Junior  <sergiodj@redhat.com>
	    Pedro Alves  <palves@redhat.com>

	* Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
	* elf-bfd.h (elf_internal_linux_prpsinfo): New structure
	declaration.
	(elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64)
	(elfcore_write_ppc32_linux_prpsinfo32): New declarations.
	* elf-linux-psinfo.h: New file.
	* elf.c: Include elf-linux-psinfo.h.
	(elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64):
	New functions.
	* elf32-ppc.c: Include `elf-linux-psinfo.h'.
	(elf_external_ppc_linux_prpsinfo32): New structure declaration.
	(PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro.
	(elfcore_write_ppc_linux_prpsinfo32): New function.

2209 2210 2211 2212 2213
2013-02-04  Tristan Gingold  <gingold@adacore.com>

	* mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no
	start address.

2214 2215 2216 2217 2218 2219 2220
2013-02-04  Alan Modra  <amodra@gmail.com>

	* Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo.
	(BFD64_BACKENDS_CFILES): Remove elf-nacl.c.
	* Makefile.in: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.

Alan Modra's avatar
Alan Modra committed
2221 2222 2223 2224 2225
2013-02-04  Alan Modra  <amodra@gmail.com>

	* coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete.
	* coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete.

2226 2227 2228 2229 2230
2013-02-01  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
	clears def_regular.

2231 2232 2233 2234 2235 2236
2013-01-31  Tristan Gingold  <gingold@adacore.com>

	* mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections
	earlier.  Fix status checking of bfd_mach_o_scan_start_address.
	(bfd_mach_o_scan_start_address): Handle LC_MAIN.

Alan Modra's avatar
Alan Modra committed
2237 2238 2239 2240 2241 2242 2243 2244 2245 2246
2013-01-31  Alan Modra  <amodra@gmail.com>
	    David S. Miller  <davem@davemloft.net>

	PR ld/15056
	* elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
	references to __tls_get_addr.
	* elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise.  Correct
	vtinherit and vtentry reloc handling too.
	* elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.

Alan Modra's avatar
bfd/  
Alan Modra committed
2247 2248 2249 2250
2013-01-31  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".

2251 2252 2253 2254
2013-01-31  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.

2255 2256 2257 2258 2259 2260 2261 2262 2263
2013-01-28  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c: Use %T to print symbols names and remove redundant
	"relocation" in error messages throughout file.
	(ppc64_elf_relocate_section): Remove sibling call error message,
	replace with "call lacks nop".  Specially report errors for
	branches to function entry points via OPD lookup and branches
	to stubs.  Remove NULL symbol handling now done by %T.

2264 2265 2266 2267 2268 2269 2270 2271
2013-01-28  Alan Modra  <amodra@gmail.com>

	* archive.c (bfd_generic_archive_p): Return target and keep
	ardata on partial matches.
	* format.c (bfd_check_format_matches): Adjust for above
	change.  Remove bfd_error_file_ambiguously_recognized dead
	code.

2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289
2013-01-26  Alan Modra  <amodra@gmail.com>

	* bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
	bfd_preserve_finish): Move to..
	* format.c: ..here, splitting out..
	(bfd_reinit): ..this.  New function.
	(bfd_check_format_matches): Use bfd_preserve_save/restore to
	keep bfd state for a match.
	* elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
	* elfcore.h (elf_core_file_p): Likewise.
	* mach-o.c (bfd_mach_o_header_p): Likewise.
	* pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
	* xsym.c (bfd_sym_object_p): Likewise.
	* mmo.c (mmo_scan): Clear abfd->symcount.
	* opncls.c (_bfd_new_bfd): Use a smaller section hash table.
	* section.c (bfd_section_list_clear): Clear section_htab.count.
	* bfd-in2.h: Regenerate.

2290 2291 2292 2293 2294
2013-01-25  Michael Schewe  <michael.schewe@gmx.net>

	* elf32-h8300.c (elf32_h8_relax_section): When checking for a
	second reloc, make sure that the reloc potentially exists first.

2295 2296 2297 2298 2299 2300 2301 2302
2013-01-24  Nick Clifton  <nickc@redhat.com>

	* archures.c: Add bfd_mach_v850e3v5.
	* bfd-in2.h: Regenerate.
	* cpu-v850.c: Add entries for v850e2v5 and v850e3v5.
	* cpu-v850_rh850.c: Likewise.
	* elf32-v850.c: Add support for v850e3v5 architecture.

2303 2304 2305 2306
2013-01-23  Markos Chandras  <markos.chandras@imgtec.com>

	* elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.

2307 2308 2309 2310
2013-01-23  Leif Ekblad  <leif@rdos.net>

	* config.bfd (x86_64-*-rdos*): Remove targ_selvecs.

2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321
2013-01-18  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
	non-zero TLS symbol.
	(elf_i386_relocate_section): Resolve size relocation against
	non-zero TLS symbol.
	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count
	for non-zero TLS symbol.
	(elf_x86_64_relocate_section): Resolve size relocation against
	non-zero TLS symbol.

2322 2323 2324 2325 2326 2327
2013-01-18  Mike Frysinger  <vapier@gentoo.org>

	* elflink.c (bfd_elf_size_dynamic_sections): Only add DT_RPATH
	when new_dtags is false.  Only add DT_RUNPATH when new_dtags is
	true.

2328 2329 2330 2331 2332 2333 2334
2013-01-17  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_check_relocs): Count size relocation as
	PC-relative relocation.
	* elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation
	as PC-relative relocation.

H.J. Lu's avatar
H.J. Lu committed
2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345
2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32
	check.
	(elf_i386_relocate_section): Don't check TLS for R_386_SIZE32.

	* elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32
	and R_X86_64_SIZE64 check.
	(elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32
	nor R_X86_64_SIZE64.

2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369
2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>

	* bfd-in2.h: Regenerated.
	* libbfd.h: Likewise.

	* elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry.
	(elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32.
	(elf_i386_check_relocs): Handle R_386_SIZE32.
	(elf_i386_gc_sweep_hook): Likewise.
	(elf_i386_relocate_section): Likewise.

	* elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32
	and R_X86_64_SIZE64 entries.
	(x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64,
	(elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32.
	(elf_x86_64_reloc_name_lookup): Likewise.
	(elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and
	R_X86_64_SIZE64.
	(elf_x86_64_gc_sweep_hook): Likewise.
	(elf_x86_64_relocate_section): Likewise.

	* reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and
	BFD_RELOC_SIZE64.

2370 2371 2372 2373 2374
2013-01-15  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE
	with R_X86_64_RELATIVE64.

Nick Clifton's avatar
Nick Clifton committed
2375 2376 2377 2378
2013-01-15  Nick Clifton  <nickc@redhat.com>

	* elf32-msp430.c: Fix spelling typo.

Alan Modra's avatar
bfd/  
Alan Modra committed
2379 2380 2381 2382 2383
2013-01-15  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
	plt-thread-safe.

Alan Modra's avatar
Alan Modra committed
2384 2385 2386 2387 2388 2389 2390 2391 2392 2393
2013-01-14  Alan Modra  <amodra@gmail.com>

	PR binutils/14813
	* bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
	(memory_bclose): Likewise.  Return 0 on success.
	* cache.c (cache_bclose): Likewise.
	* opncls.c (opncls_bclose, bfd_close): Likewise.
	* vms-lib.c (vms_lib_bclose): Likewise.
	* libbfd.h: Regenerate.

2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405
2013-01-13  Alan Modra  <amodra@gmail.com>

	* elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
	Add ref_dynamic_nonweak.
	* elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
	(_bfd_elf_merge_symbol): Don't call above function.  Move
	setting of ref_dynamic_nonweak and dynamic_def earlier.  Don't
	clear dynamic_def.
	(elf_link_add_object_symbols): Delete redundant "override" test.
	Don't set dynamic_def here.
	(elf_link_output_extsym): Update.

2406 2407 2408 2409 2410 2411
2013-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_check_relocs): Set bfd errror for
	normal and TLS symbol access.
	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.

2412 2413 2414 2415 2416 2417
2013-01-12  Alan Modra  <amodra@gmail.com>

	* elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
	* elf-strtab.c (_bfd_elf_strtab_refcount): New function.
	* elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.

Alan Modra's avatar
Alan Modra committed
2418 2419 2420 2421 2422 2423 2424 2425 2426 2427
2013-01-12  Alan Modra  <amodra@gmail.com>

	PR ld/12549
	* elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
	(_bfd_elf_strtab_clear_all_refs): Define.
	* elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
	(_bfd_elf_strtab_clear_all_refs): Delete.
	* elflink.c (elf_link_add_object_symbols): Clear out added
	strtab refs.  Correct handling of warning common symbols.

H.J. Lu's avatar
H.J. Lu committed
2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530
2013-01-10  H.J. Lu  <hongjiu.lu@intel.com>

	* aout0.c: Remove trailing white spaces.
	* archive.c: Likewise.
	* archures.c: Likewise.
	* bfd-in.h: Likewise.
	* bfd-in2.h: Likewise.
	* coff-alpha.c: Likewise.
	* coff-i860.c: Likewise.
	* coff-mips.c: Likewise.
	* coff-ppc.c: Likewise.
	* coff-tic80.c: Likewise.
	* coff-x86_64.c: Likewise.
	* coff-z80.c: Likewise.
	* coffcode.h: Likewise.
	* coffgen.c: Likewise.
	* cofflink.c: Likewise.
	* compress.c: Likewise.
	* corefile.c: Likewise.
	* cpu-arm.c: Likewise.
	* cpu-avr.c: Likewise.
	* cpu-bfin.c: Likewise.
	* cpu-cr16.c: Likewise.
	* cpu-cr16c.c: Likewise.
	* cpu-crx.c: Likewise.
	* cpu-h8300.c: Likewise.
	* cpu-i386.c: Likewise.
	* cpu-lm32.c: Likewise.
	* cpu-m68k.c: Likewise.
	* cpu-moxie.c: Likewise.
	* cpu-msp430.c: Likewise.
	* cpu-sh.c: Likewise.
	* cpu-xc16x.c: Likewise.
	* dwarf2.c: Likewise.
	* ecofflink.c: Likewise.
	* ecoffswap.h: Likewise.
	* elf-ifunc.c: Likewise.
	* elf-m10300.c: Likewise.
	* elf-vxworks.c: Likewise.
	* elf32-avr.c: Likewise.
	* elf32-avr.h: Likewise.
	* elf32-cr16.c: Likewise.
	* elf32-cr16c.c: Likewise.
	* elf32-cris.c: Likewise.
	* elf32-crx.c: Likewise.
	* elf32-frv.c: Likewise.
	* elf32-hppa.c: Likewise.
	* elf32-i860.c: Likewise.
	* elf32-ip2k.c: Likewise.
	* elf32-iq2000.c: Likewise.
	* elf32-m32c.c: Likewise.
	* elf32-m68hc1x.c: Likewise.
	* elf32-msp430.c: Likewise.
	* elf32-mt.c: Likewise.
	* elf32-ppc.c: Likewise.
	* elf32-rl78.c: Likewise.
	* elf32-s390.c: Likewise.
	* elf32-score.h: Likewise.
	* elf32-sh-symbian.c: Likewise.
	* elf32-sh.c: Likewise.
	* elf32-spu.c: Likewise.
	* elf32-tic6x.c: Likewise.
	* elf32-v850.c: Likewise.
	* elf32-xc16x.c: Likewise.
	* elf32-xtensa.c: Likewise.
	* elf64-alpha.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elf64-ppc.c: Likewise.
	* elf64-s390.c: Likewise.
	* elfcore.h: Likewise.
	* elflink.c: Likewise.
	* elfxx-mips.c: Likewise.
	* elfxx-sparc.c: Likewise.
	* elfxx-tilegx.c: Likewise.
	* ieee.c: Likewise.
	* libcoff.h: Likewise.
	* libpei.h: Likewise.
	* libxcoff.h: Likewise.
	* linker.c: Likewise.
	* mach-o-i386.c: Likewise.
	* mach-o-target.c: Likewise.
	* mach-o.c: Likewise.
	* mach-o.h: Likewise.
	* mmo.c: Likewise.
	* opncls.c: Likewise.
	* pdp11.c: Likewise.
	* pe-x86_64.c: Likewise.
	* peXXigen.c: Likewise.
	* pef-traceback.h: Likewise.
	* pei-x86_64.c: Likewise.
	* peicode.h: Likewise.
	* plugin.c: Likewise.
	* reloc.c: Likewise.
	* riscix.c: Likewise.
	* section.c: Likewise.
	* som.c: Likewise.
	* syms.c: Likewise.
	* tekhex.c: Likewise.
	* ticoff.h: Likewise.
	* vaxbsd.c: Likewise.
	* xcofflink.c: Likewise.
	* xtensa-isa.c: Likewise.

2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547
2013-01-10  Will Newton <will.newton@imgtec.com>

	* Makefile.am: Add Meta.
	* Makefile.in: Regenerate.
	* archures.c (bfd_mach_metag): New.
	* bfd-in2.h: Regenerate.
	* config.bfd: Add Meta.
	* configure: Regenerate.
	* configure.in: Add Meta.
	* cpu-metag.c: New file.
	* elf-bfd.h: Add Meta.
	* elf32-metag.c: New file.
	* elf32-metag.h: New file.
	* libbfd.h: Regenerate.
	* reloc.c: Add Meta relocations.
	* targets.c: Add Meta.

Yufeng Zhang's avatar
Yufeng Zhang committed
2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563
2013-01-08  Yufeng Zhang  <yufeng.zhang@arm.com>

	* elf-bfd.h (elfcore_write_aarch_tls): Add prototype.
	(elfcore_write_aarch_hw_break): Likewise.
	(elfcore_write_aarch_hw_watch): Likewise.
	* elf.c (elfcore_grok_aarch_tls): New function.
	(elfcore_grok_aarch_hw_break): Likewise.
	(elfcore_grok_aarch_hw_watch): Likewise.
	(elfcore_grok_note): Call the new functions to handle the
	corresponding notes.
	(elfcore_write_aarch_tls): New function.
	(elfcore_write_aarch_hw_break): Likewise.
	(elfcore_write_aarch_hw_watch): Likewise.
	(elfcore_write_register_note): Call the new functions to handle the
	corresponding pseudo sections.

2564 2565 2566
2013-01-07  Tom Tromey  <tromey@redhat.com>

	* section.c (_bfd_std_section): Rename from std_section.
2567 2568
	(bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
	(STD_SECTION): Update.
2569 2570
	* bfd-in2.h: Rebuild.

2571 2572 2573 2574 2575 2576 2577 2578
2013-01-04  Juergen Urban <JuergenUrban@gmx.de>

	* archures.c (bfd_mach_mips5900): Define.
	* bfd-in2.h: Regenerate.
	* config.bfd: Add mips64-ps2-elf and mips-ps2-elf targets.
	* cpu-mips.c: Add support for MIPS r5900.
	* elfxx-mips.c: Add support for MIPS r5900 (extension of r4000).

2579 2580 2581 2582 2583 2584
2013-01-03  Nickolai Zeldovich  <nickolai@csail.mit.edu>
	    Nick Clifton  <nickc@redhat.com>

	* elflink.c (get_value): Prevent the use of an undefined shift
	operation.  Add sanity checks.

Nick Clifton's avatar
Nick Clifton committed
2585
2013-01-02  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
2586

Nick Clifton's avatar
Nick Clifton committed
2587
	* config.bfd (cr16*-*-uclinux*): New target support.
2588

2589

Nick Clifton's avatar
Nick Clifton committed
2590
For older changes see ChangeLog-2012
2591

Nick Clifton's avatar
Nick Clifton committed
2592
Copyright (C) 2013 Free Software Foundation, Inc.
Nick Clifton's avatar
Nick Clifton committed
2593 2594 2595 2596 2597

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

2598 2599 2600 2601 2602 2603
Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: