1 2014-02-19 Alan Modra <amodra@gmail.com>
3 * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
4 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
5 provision of out-of-line register save/restore routines.
7 2014-02-18 Jack Carter <jack.carter@imgtec.com>
9 * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
10 PT_DYNAMIC segment flags.
12 2014-02-17 Jan Kratochvil <jan.kratochvil@redhat.com>
15 * simple.c (struct saved_offsets): New.
16 (simple_save_output_info): Use it for ptr.
17 (simple_restore_output_info): Use it for ptr. Check section_count.
18 (bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
20 2014-02-17 Alan Modra <amodra@gmail.com>
22 * elf64-ppc.h (struct ppc64_elf_params): Define.
23 (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
24 ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
25 ppc64_elf_build_stubs): Update prototype.
26 * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
27 fields now in params. Adjust code throughout file.
28 (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
29 Save params pointer in htab.
30 (ppc64_elf_edit_opd, ppc64_elf_tls_setup,
31 ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
32 ppc64_elf_build_stubs): Remove parameters now in "params".
34 2014-02-17 Alan Modra <amodra@gmail.com>
36 * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
37 patched for ppc476 workaround. Reapply branch taken/not taken
40 2014-02-12 Alan Modra <amodra@gmail.com>
42 * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
43 stubs for calls to __tls_get_addr that we know will later be
46 2014-02-12 Alan Modra <amodra@gmail.com>
48 * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
49 for ld -r, when code sections are sufficiently aligned.
50 * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add
53 2014-02-12 Alan Modra <amodra@gmail.com>
56 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
57 --export-dynamic and --dynamic-list marking of symbols.
58 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
61 2014-02-10 H.J. Lu <hongjiu.lu@intel.com>
64 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
65 executables if it matches dynamic_list.
67 2014-02-10 Alan Modra <amodra@gmail.com>
69 * po/SRC-POTFILES.in: Regenerate.
70 * po/bfd.pot: Regenerate.
72 2014-02-09 Alan Modra <amodra@gmail.com>
74 * elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
75 * elfxx-target.h (elf_backend_caches_rawsize): Define.
76 (elfNN_bed): Init new field.
77 * elflink.c (elf_link_input_bfd): Handle caches_rawsize.
78 * elf32-ppc.c (shared_stub_entry): Zero addi offset.
79 (ppc_elf_relax_section): Don't reallocate section here, write
80 stubs, or write out relocs for ld -r here..
81 (ppc_elf_relocate_section): ..instead write stubs here, and use
82 existing code to write out relocs for ld -r. Fix offset
83 adjustment on reloc for little-endian.
84 (elf_backend_caches_rawsize): Define.
86 2014-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
89 * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
91 2014-02-04 Jan Kratochvil <jan.kratochvil@redhat.com>
93 * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
94 return paths. Three times.
95 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
97 (ppc64_elf_tls_optimize): Free TOC_REF in return path.
98 (ppc64_elf_edit_toc): Free USED in return path.
100 2014-02-03 Sandra Loosemore <sandra@codesourcery.com>
102 * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
103 (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
104 * libbfd.h: Regenerated.
105 * bfd-in2.h: Regenerated.
106 * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
107 (nios2_reloc_map): Likewise.
108 (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
109 Fixed all references.
110 (nios2_elf32_relocate_section): Add new relocations.
111 (nios2_elf32_check_relocs): Likewise.
112 (nios2_elf32_gc_sweep_hook): Likewise.
114 2014-02-03 Alan Modra <amodra@gmail.com>
116 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
117 Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses.
118 (ppc_elf_link_params): New function.
119 (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
121 (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
122 parameters. Use htab->params instead.
123 (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
124 (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
125 64 bytes for ppc476 workaround.
126 (struct ppc_elf_relax_info): New.
127 (ppc_elf_relax_section): Exclude linker created sections and
128 those too small to hold one instruction. Don't add another
129 branch around trampolines on later relax passes. Don't
130 generate trampolines for undefined symbols when !relocatable,
131 nor for plugin symbols. Allocate space for ppc476 workaround
132 patch area. Free fixups on error return path.
133 (ppc_elf_relocate_section): Handle ppc476 workaround patching.
134 * elf32-ppc.h (struct ppc_elf_params): New.
135 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
136 (ppc_elf_link_params): Declare.
137 * section.c (SEC_INFO_TYPE_TARGET): Define.
138 * bfd-in2.h: Regenerate.
140 2014-02-02 Sandra Loosemore <sandra@codesourcery.com>
142 * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
144 (nios2_elf32_relocate_section): Use got_base to adjust
145 GOT-pointer-relative relocations relative to _gp_got.
146 (create_got_section): Create _gp_got symbol.
147 (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
148 (nios2_elf32_size_dynamic_sections): Set _gp_got offset.
150 2014-01-30 Sandra Loosemore <sandra@codesourcery.com>
152 * bfd-in2.h: Update from reloc.c.
153 * elf32-nios2.c: Include elf32-nios2.h.
154 (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
155 (nios2_reloc_map): Likewise.
156 (enum elf32_nios2_stub_type): Declare.
157 (struct elf32_nios2_stub_hash_entry): Declare.
158 (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
159 (struct elf32_nios2_link_hash_entry): Add hsh_cache field.
160 (struct elf32_nios2_link_hash_table): Add new fields bstab,
161 stub_bfd, add_stub_section, layout_sections_again, stub_group,
162 bfd_count, top_index, input_list, all_local_syms.
163 (nios2_call26_stub_entry): New.
164 (nios2_elf32_install_imm16): Move up in file.
165 (nios2_elf32_install_data): Move up in file.
166 (hiadj): Move up in file.
167 (stub_hash_newfunc): New.
168 (link_hash_newfunc): Initialize hsh_cache field.
170 (nios2_stub_name): New.
171 (nios2_get_stub_entry): New.
172 (nios2_add_stub): New.
173 (nios2_elf32_setup_section_lists): New.
174 (nios2_elf32_next_input_section): New.
175 (CALL26_SEGMENT): New.
176 (MAX_STUB_SECTION_SIZE): New.
177 (group_sections): New.
178 (nios2_type_of_stub): New.
179 (nios2_build_one_stub): New.
180 (nios2_size_one_stub): New.
181 (get_local_syms): New.
182 (nios2_elf32_size_stubs): New.
183 (nios2_elf32_build_stubs): New.
184 (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
185 (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add
186 trampolines for R_NIOS2_CALL26 stubs.
187 (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
188 (nios2_elf32_gc_sweep_hook): Likewise.
189 (nios2_elf32_link_hash_table_create): Initialize the stub hash table.
190 (nios2_elf32_link_hash_table_free): New.
191 (bfd_elf32_bfd_link_hash_table_free): Define.
192 * elf32-nios2.h: New file.
193 * libbfd.h: Update from reloc.c.
194 * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
196 2014-01-29 Nick Clifton <nickc@redhat.com>
199 * elf32-metag.c (elf_metag_post_process_headers): Call
200 _bfd_elf_post_process_headers.
201 * elf32-sh64.c (sh64_elf_copy_private_data): Call
202 _bfd_elf_copy_private_data.
203 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
205 2014-01-29 Nick Clifton <nickc@redhat.com>
207 * bfd-in.h (bfd_set_section_vma): Delete.
208 (bfd_set_section_alignment): Delete.
209 (bfd_set_section_userdata): Delete.
210 (bfd_set_cacheable): Delete.
211 * bfd.c (bfd_set_cacheable): New static inline function.
212 * section.c (bfd_set_section_userdata): Likewise.
213 (bfd_set_section_vma): Likewise.
214 (bfd_set_section_alignment): Likewise.
215 * bfd-in2.h: Regenerate.
217 2014-01-28 Nick Clifton <nickc@redhat.com>
219 * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
220 attributes select the CU containing the abbreviation, which may not
223 2014-01-24 Alan Modra <amodra@gmail.com>
225 * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
226 to get_relocs for ELFv2.
228 2014-01-23 H.J. Lu <hongjiu.lu@intel.com>
231 * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
232 if TLS sections are not adjacent.
234 2014-01-22 Alan Modra <amodra@gmail.com>
236 * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
238 2014-01-22 Alan Modra <amodra@gmail.com>
240 * elf64-ppc.c (STK_LINKER): Comment typo fix.
242 2014-01-21 H.J. Lu <hongjiu.lu@intel.com>
245 * elflink.c (_bfd_elf_merge_symbol): When types of the existing
246 regular default symbol definition and the versioned dynamic
247 symbol definition mismatch, skip the default symbol definition
248 if one of them is IFUNC.
250 2014-01-21 H.J. Lu <hongjiu.lu@intel.com>
253 * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
254 info->export_dynamic nor h->ref_dynamic for type mismatch when
255 adding the default version.
257 2014-01-16 Alan Modra <amodra@gmail.com>
259 * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
260 mips_elf_traverse_got_arg* rather than mips_got_info*.
261 Adjust caller. Alloc on output_bfd rather than symbol section
264 2014-01-15 H.J. Lu <hongjiu.lu@intel.com>
266 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
268 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
270 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
273 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
274 against __ehdr_start.
275 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
277 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
279 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
281 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
283 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
286 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
287 count if there are any non pc-relative relocs.
288 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
290 2014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org>
291 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org>
293 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
294 offset while calculating relocation address.
295 (elfNN_aarch64_create_small_pltn_entry): Likewise.
296 (elfNN_aarch64_init_small_plt0_entry): Likewise.
298 2014-01-13 Ma Jiang <ma.jiang@zte.com.cn>
301 * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
302 R_ARM_ABS8 and R_ARM_ABS16.
304 2014-01-13 Alan Modra <amodra@gmail.com>
306 * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
307 error when shared and force a plt call otherwise.
308 (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
310 (ppc_elf_relocate_section): Add missing test to resolve ifuncs to
311 the appropriate call stub.
313 2014-01-10 Alan Modra <amodra@gmail.com>
318 * elf.c (assign_file_positions_for_load_sections): Revert last change.
319 (assign_file_positions_for_non_load_sections): When setting up
320 PT_GNU_RELRO header, don't require a corresponding PT_LOAD
321 header that completely covers the relro region.
323 2014-01-09 Tristan Gingold <gingold@adacore.com>
325 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
326 table macros and add macros to initializa the structure.
328 2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
333 * elf.c (_bfd_elf_map_sections_to_segments): Don't check section
334 size for PT_GNU_RELRO segment.
335 (assign_file_positions_for_load_sections): If PT_LOAD segment
336 doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
338 2014-01-07 Tom Tromey <tromey@redhat.com>
340 * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
343 2014-01-03 Nick Clifton <nickc@redhat.com>
346 * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
349 2014-01-02 Yuanhui Zhang <asmwarrior@gmail.com>
352 * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
354 2014-01-02 Nick Clifton <nickc@redhat.com>
357 * archive.c (_bfd_get_elt_at_filepos): Store a copy of the
358 filename in the bfd's filename field.
359 * elfcode.h (bfd_from_remote_memory): Likewise.
360 * ieee.c (ieee_object_p): Likewise.
361 * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
362 * oasys.c (oasys_openr_next_archived_file): Likewise.
363 * vms-lib.c (_bfd_vms_lib_get_module): Likewise.
364 * opncls.c (bfd_fopen): Likewise.
365 (bfd_openstreamr): Likewise.
366 (bfd_openr_iovec): Likewise.
367 (bfd_openw): Likewise.
368 (bfd_create): Likewise.
369 (_bfd_delete_bfd): Free filename.
371 For older changes see ChangeLog-2013
373 Copyright (C) 2014 Free Software Foundation, Inc.
375 Copying and distribution of this file, with or without modification,
376 are permitted in any medium without royalty provided the copyright
377 notice and this notice are preserved.
383 version-control: never