mach-o: output output_section target_index to write relocs.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2014-04-04 Tristan Gingold <gingold@adacore.com>
2
3 * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
4 of output_section.
5 * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
6
7 2014-04-04 Tristan Gingold <gingold@adacore.com>
8
9 * bfd.c (bfd_get_arch_size): Default is taken from arch.
10
11 2014-04-03 Jon Turney <jon.turney@dronecode.org.uk>
12
13 * peXXigen.c (pe_print_edata): Verify edt.name lies inside
14 section before dereferencing.
15 (pe_print_idata, pe_print_edata, pe_print_reloc)
16 (rsrc_print_section): Don't bother interpreting the contents
17 of sections which have no contents.
18
19 2014-04-03 Maria Guseva <m.guseva@samsung.com>
20
21 PR ld/16803
22 * elf.c (_bfd_elf_set_section_contents): Use correct type to hold
23 file position.
24
25 2014-04-03 Tristan Gingold <gingold@adacore.com>
26
27 * mach-o.c (bfd_mach_o_mangle_symbols): Use index from
28 output_section.
29 (bfd_mach_o_build_seg_command): Add comment. Realign segment.
30 Fix style.
31 (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
32
33 2014-04-03 Alan Modra <amodra@gmail.com>
34
35 * elf-bfd.h (struct elf_backend_data
36 <elf_backend_bfd_from_remote_memory>): Replace "size_t size"
37 with "bfd_size_type size".
38 (_bfd_elf32_bfd_from_remote_memory): Likewise.
39 (_bfd_elf64_bfd_from_remote_memory): Likewise.
40 * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
41 * elfcode.h (bfd_from_remote_memory): Likewise.
42 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
43 * bfd-in2.h: Regenerate.
44
45 2014-04-02 Tristan Gingold <gingold@adacore.com>
46
47 * mach-o.h (bfd_mach_o_twolevel_hints_command)
48 (bfd_mach_o_prebind_cksum_command): New types.
49 (bfd_mach_o_prebound_dylib_command): Rewrite.
50 (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
51 fields.
52 * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
53 command.
54 (bfd_mach_o_read_prebind_cksum): New function.
55 (bfd_mach_o_read_twolevel_hints): Ditto.
56 (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
57 commands.
58
59 2014-04-02 Alan Modra <amodra@gmail.com>
60
61 * elfcode.h (bfd_from_remote_memory): Add "size" parameter.
62 Consolidate code handling possible section headers past end of
63 segment. Don't use p_align for page size guess, instead use
64 minpagesize. Take note of ld.so clearing section headers when
65 p_memsz > p_filesz. Handle file header specifying no section
66 headers. Handle zero p_align throughout. Default loadbase to
67 zero. Add comments. Rename contents_size to high_offset, and
68 make it a bfd_vma. Delete unnecessary bfd_set_error calls.
69 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
70 * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
71 Likewise.
72 (_bfd_elf32_bfd_from_remote_memory): Likewise.
73 (_bfd_elf64_bfd_from_remote_memory): Likewise.
74 * elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
75 * bfd-in2.h: Regnerate.
76
77 2014-04-01 Tristan Gingold <gingold@adacore.com>
78
79 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
80 when num == 0.
81
82 2014-03-27 Yury Gribov <y.gribov@samsung.com>
83 Pavel Fedin <p.fedin@samsung.com>
84
85 * elf32-arm.c: Add support for limited pretty-printing of PLT
86 entries on eabi and nacl targets.
87 (elf32_arm_get_synthetic_symtab): Add new callback.
88 (elf32_arm_nacl_plt_sym_val): Likewise.
89 (elf32_arm_plt0_size): Add helper function.
90 (elf32_arm_plt_size): Likewise.
91
92 2014-03-27 Tristan Gingold <gingold@adacore.com>
93
94 * mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
95 (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
96
97 2014-03-27 Tristan Gingold <gingold@adacore.com>
98
99 * mach-o.h (bfd_mach_o_get_base_address): New prototype.
100 * mach-o.c (bfd_mach_o_write_symtab)
101 (bfd_mach_o_write_contents)
102 (bfd_mach_o_set_section_flags_from_bfd)
103 (bfd_mach_o_build_seg_command): Fix indentation.
104 (bfd_mach_o_get_base_address): New function.
105
106 2014-03-26 Nick Clifton <nickc@redhat.com>
107
108 * cofflink.c (_bfd_coff_generic_relocate_section): Skip
109 relocations in discarded sections.
110
111 2014-03-26 Tristan Gingold <gingold@adacore.com>
112
113 * mach-o.c (bfd_mach_o_convert_architecture): Add
114 BFD_MACH_O_CPU_TYPE_ARM64.
115
116 2014-03-26 Alan Modra <amodra@gmail.com>
117
118 * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
119 needed plt entries when taking the address of functions for
120 abiversion == 0 (ie. unknown) as well as abiversion == 2.
121 Move opd setup and abiversion checks to..
122 (ppc64_elf_before_check_relocs): ..here. Renamed from
123 ppc64_elf_process_dot_syms. Set output abiversion from input and
124 input abiversion from output, if either is not set.
125 (ppc64_elf_merge_private_bfd_data): Don't merge flags here.
126 (elf_backend_check_directives): Update.
127
128 2014-03-25 Will Newton <will.newton@linaro.org>
129
130 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
131 Set value of DT_PLTRELSZ and DT_RELASZ based on the size
132 of input sections rather than output sections.
133
134 2014-03-20 Will Newton <will.newton@linaro.org>
135
136 PR ld/16715
137 * elf32-arm.c (elf32_arm_check_relocs): Set
138 pointer_equality_needed for absolute references within
139 executable links.
140 (elf32_arm_finish_dynamic_symbol): Set st_value to zero
141 unless pointer_equality_needed is set.
142
143 2014-03-19 Nick Clifton <nickc@redhat.com>
144
145 * peXXigen.c (rsrc_process_section): Add code to scan input
146 sections and record their lengths. Use these lengths to find the
147 start of each merged .rsrc section.
148
149 2014-03-17 Tristan Gingold <gingold@adacore.com>
150
151 * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib.
152 (bfd_mach_o_read_command): Ditto.
153
154 2014-03-14 Meador Inge <meadori@codesourcery.com>
155
156 * configure.in: Add strnlen to AC_CHECK_DECLS.
157 * config.in: Regenerate.
158 * configure: Regenerate.
159 * sysdep.h (strnlen): Add prototype.
160
161 2014-03-14 Alan Modra <amodra@gmail.com>
162
163 * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
164 handling for VLE_SDA21 relocs.
165
166 2014-03-13 Tristan Gingold <gingold@adacore.com>
167
168 * peicode.h (pe_ILF_object_p): Adjust, as the version number
169 has been read.
170 (pe_bfd_object_p): Also read version number to detect ILF.
171 * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define.
172 (x86_64pe_bigobj_vec): Define
173 * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field.
174 (bfd_coff_max_nscns): New macro.
175 (coff_compute_section_file_positions): Use unsigned int for
176 target_index. Compare with bfd_coff_max_nscns.
177 (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table):
178 Set a value for _bfd_coff_max_nscns.
179 (header_bigobj_classid): New constant.
180 (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out)
181 (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out)
182 (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New
183 functions.
184 (bigobj_swap_table): New table.
185 * libcoff.h: Regenerate.
186 * coff-sh.c (bfd_coff_small_swap_table): Likewise.
187 * coff-alpha.c (alpha_ecoff_backend_data): Add value for
188 _bfd_coff_max_nscns.
189 * coff-mips.c (mips_ecoff_backend_data): Likewise.
190 * coff-rs6000.c (bfd_xcoff_backend_data)
191 (bfd_pmac_xcoff_backend_data): Likewise.
192 * coff64-rs6000.c (bfd_xcoff_backend_data)
193 (bfd_xcoff_aix5_backend_data): Likewise.
194 * targets.c (x86_64pe_bigobj_vec): Declare.
195 * configure.in (x86_64pe_bigobj_vec): New vector.
196 * configure: Regenerate.
197 * config.bfd: Add bigobj object format for Windows targets.
198
199 2014-03-12 Nick Clifton <nickc@redhat.com>
200
201 PR ld/16671
202 * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format
203 before testing for vxworks.
204
205 2014-03-12 Alan Modra <amodra@gmail.com>
206
207 * Makefile.in: Regenerate.
208
209 2014-03-12 Alan Modra <amodra@gmail.com>
210
211 PR 16690
212 * elf.c (copy_elf_program_header): Ignore first section lma if
213 non-alloc.
214
215 2014-03-11 Alan Modra <amodra@gmail.com>
216
217 PR 16686
218 * coff-rs6000.c: Include stdint.h.
219 * coff64-rs6000.c: Likewise.
220
221 2014-03-10 Tristan Gingold <gingold@adacore.com>
222
223 * ticoff.h: Removed.
224
225 2014-03-08 Alan Modra <amodra@gmail.com>
226
227 * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for
228 many relocations. Correct bitsize and rightshift too for a number
229 of VLE relocs. Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO.
230 Correct dst_mask on R_PPC_VLE_SDA21_LO.
231 (ppc_elf_vle_split16): Tidy, delete unnecessary prototype.
232 (ppc_elf_relocate_section): Modify overflow test for 16-bit
233 fields in instructions to signed/unsigned according to whether
234 the field takes a signed or unsigned value. Tidy vle split16 code.
235 Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling.
236
237 2014-03-08 Alan Modra <amodra@gmail.com>
238
239 * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed
240 for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN,
241 R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS,
242 R_PPC64_REL16 entries. Use complain_overflow_dont for R_PPC64_TOC.
243 (ppc64_elf_relocate_section): Modify overflow test for 16-bit
244 fields in instructions to signed/unsigned according to whether
245 the field takes a signed or unsigned value.
246
247 2014-03-07 Pedro Alves <palves@redhat.com>
248
249 PR gdb/16696
250 * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
251 through ptr_to_uint instead of through long.
252
253 2014-03-06 Nick Clifton <nickc@redhat.com>
254
255 PR 16664
256 * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt
257 attribute section names.
258
259 2014-03-05 Alan Modra <amodra@gmail.com>
260
261 Update copyright years.
262
263 2014-03-05 Alan Modra <amodra@gmail.com>
264
265 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
266 (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
267 (ppc64_elf_check_relocs): Likewise.
268 (ppc64_elf_relocate_section): Likewise.
269 * Add BFD_RELOC_PPC64_ADDR64_LOCAL.
270 * bfd-in2.h: Regenerate.
271 * libbfd.h: Regenerate.
272
273 2014-03-04 Heiher <r@hev.cc>
274
275 * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for
276 Loongson-3A.
277 (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an
278 extension of bfd_mach_mipsisa64r2.
279
280 2014-03-04 Nick Clifton <nickc@redhat.com>
281
282 PR ld/16017
283 * elf32-arm.c (elf32_thumb2_plt0_entry): New array.
284 (elf32_thumb2_plt_entry): New array.
285 (elf32_arm_create_dynamic_sections): Set PLT entry sizes when
286 using thumb2 based PLT.
287 (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT
288 entries.
289 (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based
290 PLT entries.
291 (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2
292 based PLT 0-entry.
293 (elf32_arm_output_plt_map_1): Handle creation of local symbols for
294 Thumb2 based PLT 0-entry.
295 (elf32_arm_output_arch_local_syms): Handle creation of local
296 symbols for Thumb2 based PLT entries.
297
298 2014-02-28 Alan Modra <amodra@gmail.com>
299
300 PR ld/16643
301 * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly
302 the same conditions we called check_relocs.
303
304 2014-02-27 Yuri Gribov <y.gribov@samsung.com>
305
306 * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt.
307 * bfd-in2.h: Regenerate.
308 * elf32-arm.c (elf32_arm_plt_entry_long): New array.
309 (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if
310 using long PLT entries.
311 (bfd_elf32_arm_use_long_plt): New function.
312 (elf32_arm_populate_plt_entry): Add support for long PLT entries.
313
314 2014-02-27 Alan Modra <amodra@gmail.com>
315
316 * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default
317 params for targets that don't use ppc32elf.em.
318
319 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
320
321 * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
322 of GOTOFF relocations.
323
324 2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com>
325 H.J. Lu <hongjiu.lu@intel.com>
326
327 * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
328 (elf_x86_64_legacy_plt_entry): Likewise.
329 (elf_x86_64_bnd_plt_entry): Likewise.
330 (elf_x86_64_legacy_plt2_entry): Likewise.
331 (elf_x86_64_bnd_plt2_entry): Likewise.
332 (elf_x86_64_bnd_arch_bed): Likewise.
333 (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
334 (elf_x86_64_link_hash_table): Add plt_bnd.
335 (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
336 plt_bnd.
337 (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
338 (elf_x86_64_check_relocs): Create the second PLT for Intel MPX
339 in 64-bit mode.
340 (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
341 symbols. Resolve call to the second PLT if it is created.
342 (elf_x86_64_size_dynamic_sections): Keep the second PLT section.
343 (elf_x86_64_relocate_section): Resolve PLT references to the
344 second PLT if it is created.
345 (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
346 second PLT entry for BND relocation.
347 (elf_x86_64_finish_dynamic_sections): Use MPX backend data if
348 the second PLT is created.
349 (elf_x86_64_get_synthetic_symtab): New.
350 (bfd_elf64_get_synthetic_symtab): Likewise. Undefine for NaCl.
351
352 2014-02-19 Alan Modra <amodra@gmail.com>
353
354 * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
355 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
356 provision of out-of-line register save/restore routines.
357
358 2014-02-18 Jack Carter <jack.carter@imgtec.com>
359
360 * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
361 PT_DYNAMIC segment flags.
362
363 2014-02-17 Jan Kratochvil <jan.kratochvil@redhat.com>
364
365 PR binutils/16595
366 * simple.c (struct saved_offsets): New.
367 (simple_save_output_info): Use it for ptr.
368 (simple_restore_output_info): Use it for ptr. Check section_count.
369 (bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
370
371 2014-02-17 Alan Modra <amodra@gmail.com>
372
373 * elf64-ppc.h (struct ppc64_elf_params): Define.
374 (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
375 ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
376 ppc64_elf_build_stubs): Update prototype.
377 * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
378 fields now in params. Adjust code throughout file.
379 (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
380 Save params pointer in htab.
381 (ppc64_elf_edit_opd, ppc64_elf_tls_setup,
382 ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
383 ppc64_elf_build_stubs): Remove parameters now in "params".
384
385 2014-02-17 Alan Modra <amodra@gmail.com>
386
387 * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
388 patched for ppc476 workaround. Reapply branch taken/not taken
389 relocs.
390
391 2014-02-12 Alan Modra <amodra@gmail.com>
392
393 * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
394 stubs for calls to __tls_get_addr that we know will later be
395 optimised away.
396
397 2014-02-12 Alan Modra <amodra@gmail.com>
398
399 * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
400 for ld -r, when code sections are sufficiently aligned.
401 * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add
402 pagesize_p2.
403
404 2014-02-12 Alan Modra <amodra@gmail.com>
405
406 PR gold/15530
407 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
408 --export-dynamic and --dynamic-list marking of symbols.
409 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
410 cheap tests first.
411
412 2014-02-10 H.J. Lu <hongjiu.lu@intel.com>
413
414 PR gold/16530
415 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
416 executables if it matches dynamic_list.
417
418 2014-02-10 Alan Modra <amodra@gmail.com>
419
420 * po/SRC-POTFILES.in: Regenerate.
421 * po/bfd.pot: Regenerate.
422
423 2014-02-09 Alan Modra <amodra@gmail.com>
424
425 * elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
426 * elfxx-target.h (elf_backend_caches_rawsize): Define.
427 (elfNN_bed): Init new field.
428 * elflink.c (elf_link_input_bfd): Handle caches_rawsize.
429 * elf32-ppc.c (shared_stub_entry): Zero addi offset.
430 (ppc_elf_relax_section): Don't reallocate section here, write
431 stubs, or write out relocs for ld -r here..
432 (ppc_elf_relocate_section): ..instead write stubs here, and use
433 existing code to write out relocs for ld -r. Fix offset
434 adjustment on reloc for little-endian.
435 (elf_backend_caches_rawsize): Define.
436
437 2014-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
438
439 PR build/16550
440 * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
441
442 2014-02-04 Jan Kratochvil <jan.kratochvil@redhat.com>
443
444 * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
445 return paths. Three times.
446 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
447 return paths.
448 (ppc64_elf_tls_optimize): Free TOC_REF in return path.
449 (ppc64_elf_edit_toc): Free USED in return path.
450
451 2014-02-03 Sandra Loosemore <sandra@codesourcery.com>
452
453 * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
454 (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
455 * libbfd.h: Regenerated.
456 * bfd-in2.h: Regenerated.
457 * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
458 (nios2_reloc_map): Likewise.
459 (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
460 Fixed all references.
461 (nios2_elf32_relocate_section): Add new relocations.
462 (nios2_elf32_check_relocs): Likewise.
463 (nios2_elf32_gc_sweep_hook): Likewise.
464
465 2014-02-03 Alan Modra <amodra@gmail.com>
466
467 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
468 Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses.
469 (ppc_elf_link_params): New function.
470 (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
471 workaround.
472 (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
473 parameters. Use htab->params instead.
474 (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
475 (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
476 64 bytes for ppc476 workaround.
477 (struct ppc_elf_relax_info): New.
478 (ppc_elf_relax_section): Exclude linker created sections and
479 those too small to hold one instruction. Don't add another
480 branch around trampolines on later relax passes. Don't
481 generate trampolines for undefined symbols when !relocatable,
482 nor for plugin symbols. Allocate space for ppc476 workaround
483 patch area. Free fixups on error return path.
484 (ppc_elf_relocate_section): Handle ppc476 workaround patching.
485 * elf32-ppc.h (struct ppc_elf_params): New.
486 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
487 (ppc_elf_link_params): Declare.
488 * section.c (SEC_INFO_TYPE_TARGET): Define.
489 * bfd-in2.h: Regenerate.
490
491 2014-02-02 Sandra Loosemore <sandra@codesourcery.com>
492
493 * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
494 h_gp_got field.
495 (nios2_elf32_relocate_section): Use got_base to adjust
496 GOT-pointer-relative relocations relative to _gp_got.
497 (create_got_section): Create _gp_got symbol.
498 (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
499 (nios2_elf32_size_dynamic_sections): Set _gp_got offset.
500
501 2014-01-30 Sandra Loosemore <sandra@codesourcery.com>
502
503 * bfd-in2.h: Update from reloc.c.
504 * elf32-nios2.c: Include elf32-nios2.h.
505 (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
506 (nios2_reloc_map): Likewise.
507 (enum elf32_nios2_stub_type): Declare.
508 (struct elf32_nios2_stub_hash_entry): Declare.
509 (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
510 (struct elf32_nios2_link_hash_entry): Add hsh_cache field.
511 (struct elf32_nios2_link_hash_table): Add new fields bstab,
512 stub_bfd, add_stub_section, layout_sections_again, stub_group,
513 bfd_count, top_index, input_list, all_local_syms.
514 (nios2_call26_stub_entry): New.
515 (nios2_elf32_install_imm16): Move up in file.
516 (nios2_elf32_install_data): Move up in file.
517 (hiadj): Move up in file.
518 (stub_hash_newfunc): New.
519 (link_hash_newfunc): Initialize hsh_cache field.
520 (STUB_SUFFIX): New.
521 (nios2_stub_name): New.
522 (nios2_get_stub_entry): New.
523 (nios2_add_stub): New.
524 (nios2_elf32_setup_section_lists): New.
525 (nios2_elf32_next_input_section): New.
526 (CALL26_SEGMENT): New.
527 (MAX_STUB_SECTION_SIZE): New.
528 (group_sections): New.
529 (nios2_type_of_stub): New.
530 (nios2_build_one_stub): New.
531 (nios2_size_one_stub): New.
532 (get_local_syms): New.
533 (nios2_elf32_size_stubs): New.
534 (nios2_elf32_build_stubs): New.
535 (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
536 (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add
537 trampolines for R_NIOS2_CALL26 stubs.
538 (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
539 (nios2_elf32_gc_sweep_hook): Likewise.
540 (nios2_elf32_link_hash_table_create): Initialize the stub hash table.
541 (nios2_elf32_link_hash_table_free): New.
542 (bfd_elf32_bfd_link_hash_table_free): Define.
543 * elf32-nios2.h: New file.
544 * libbfd.h: Update from reloc.c.
545 * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
546
547 2014-01-29 Nick Clifton <nickc@redhat.com>
548
549 PR binutils/16318
550 * elf32-metag.c (elf_metag_post_process_headers): Call
551 _bfd_elf_post_process_headers.
552 * elf32-sh64.c (sh64_elf_copy_private_data): Call
553 _bfd_elf_copy_private_data.
554 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
555
556 2014-01-29 Nick Clifton <nickc@redhat.com>
557
558 * bfd-in.h (bfd_set_section_vma): Delete.
559 (bfd_set_section_alignment): Delete.
560 (bfd_set_section_userdata): Delete.
561 (bfd_set_cacheable): Delete.
562 * bfd.c (bfd_set_cacheable): New static inline function.
563 * section.c (bfd_set_section_userdata): Likewise.
564 (bfd_set_section_vma): Likewise.
565 (bfd_set_section_alignment): Likewise.
566 * bfd-in2.h: Regenerate.
567
568 2014-01-28 Nick Clifton <nickc@redhat.com>
569
570 * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
571 attributes select the CU containing the abbreviation, which may not
572 be the current CU.
573
574 2014-01-24 Alan Modra <amodra@gmail.com>
575
576 * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
577 to get_relocs for ELFv2.
578
579 2014-01-23 H.J. Lu <hongjiu.lu@intel.com>
580
581 PR ld/16498
582 * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
583 if TLS sections are not adjacent.
584
585 2014-01-22 Alan Modra <amodra@gmail.com>
586
587 * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
588
589 2014-01-22 Alan Modra <amodra@gmail.com>
590
591 * elf64-ppc.c (STK_LINKER): Comment typo fix.
592
593 2014-01-21 H.J. Lu <hongjiu.lu@intel.com>
594
595 PR ld/16467
596 * elflink.c (_bfd_elf_merge_symbol): When types of the existing
597 regular default symbol definition and the versioned dynamic
598 symbol definition mismatch, skip the default symbol definition
599 if one of them is IFUNC.
600
601 2014-01-21 H.J. Lu <hongjiu.lu@intel.com>
602
603 PR ld/2404
604 * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
605 info->export_dynamic nor h->ref_dynamic for type mismatch when
606 adding the default version.
607
608 2014-01-16 Alan Modra <amodra@gmail.com>
609
610 * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
611 mips_elf_traverse_got_arg* rather than mips_got_info*.
612 Adjust caller. Alloc on output_bfd rather than symbol section
613 owner.
614
615 2014-01-15 H.J. Lu <hongjiu.lu@intel.com>
616
617 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
618 change.
619 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
620
621 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
622
623 PR ld/16428
624 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
625 against __ehdr_start.
626 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
627
628 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
629
630 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
631 change.
632 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
633
634 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
635
636 PR ld/16428
637 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
638 count if there are any non pc-relative relocs.
639 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
640
641 2014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org>
642 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org>
643
644 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
645 offset while calculating relocation address.
646 (elfNN_aarch64_create_small_pltn_entry): Likewise.
647 (elfNN_aarch64_init_small_plt0_entry): Likewise.
648
649 2014-01-13 Ma Jiang <ma.jiang@zte.com.cn>
650
651 PR ld/16202
652 * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
653 R_ARM_ABS8 and R_ARM_ABS16.
654
655 2014-01-13 Alan Modra <amodra@gmail.com>
656
657 * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
658 error when shared and force a plt call otherwise.
659 (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
660 plt_type == PLT_NEW.
661 (ppc_elf_relocate_section): Add missing test to resolve ifuncs to
662 the appropriate call stub.
663
664 2014-01-10 Alan Modra <amodra@gmail.com>
665
666 PR ld/14207
667 PR ld/16322
668 PR binutils/16323
669 * elf.c (assign_file_positions_for_load_sections): Revert last change.
670 (assign_file_positions_for_non_load_sections): When setting up
671 PT_GNU_RELRO header, don't require a corresponding PT_LOAD
672 header that completely covers the relro region.
673
674 2014-01-09 Tristan Gingold <gingold@adacore.com>
675
676 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
677 table macros and add macros to initializa the structure.
678
679 2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
680
681 PR ld/14207
682 PR ld/16322
683 PR binutils/16323
684 * elf.c (_bfd_elf_map_sections_to_segments): Don't check section
685 size for PT_GNU_RELRO segment.
686 (assign_file_positions_for_load_sections): If PT_LOAD segment
687 doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
688
689 2014-01-07 Tom Tromey <tromey@redhat.com>
690
691 * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
692 wrappers.
693
694 2014-01-03 Nick Clifton <nickc@redhat.com>
695
696 PR binutils/16199
697 * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
698 zero.
699
700 2014-01-02 Yuanhui Zhang <asmwarrior@gmail.com>
701
702 PR binutils/14289
703 * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
704
705 2014-01-02 Nick Clifton <nickc@redhat.com>
706
707 PR binutils/11983
708 * archive.c (_bfd_get_elt_at_filepos): Store a copy of the
709 filename in the bfd's filename field.
710 * elfcode.h (bfd_from_remote_memory): Likewise.
711 * ieee.c (ieee_object_p): Likewise.
712 * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
713 * oasys.c (oasys_openr_next_archived_file): Likewise.
714 * vms-lib.c (_bfd_vms_lib_get_module): Likewise.
715 * opncls.c (bfd_fopen): Likewise.
716 (bfd_openstreamr): Likewise.
717 (bfd_openr_iovec): Likewise.
718 (bfd_openw): Likewise.
719 (bfd_create): Likewise.
720 (_bfd_delete_bfd): Free filename.
721
722 For older changes see ChangeLog-2013
723 \f
724 Copyright (C) 2014 Free Software Foundation, Inc.
725
726 Copying and distribution of this file, with or without modification,
727 are permitted in any medium without royalty provided the copyright
728 notice and this notice are preserved.
729
730 Local Variables:
731 mode: change-log
732 left-margin: 8
733 fill-column: 74
734 version-control: never
735 End:
This page took 0.043914 seconds and 4 git commands to generate.