Nios II large-GOT relocations
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2014-02-03 Sandra Loosemore <sandra@codesourcery.com>
2
3 * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
4 (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
5 * libbfd.h: Regenerated.
6 * bfd-in2.h: Regenerated.
7 * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
8 (nios2_reloc_map): Likewise.
9 (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
10 Fixed all references.
11 (nios2_elf32_relocate_section): Add new relocations.
12 (nios2_elf32_check_relocs): Likewise.
13 (nios2_elf32_gc_sweep_hook): Likewise.
14
15 2014-02-03 Alan Modra <amodra@gmail.com>
16
17 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
18 Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses.
19 (ppc_elf_link_params): New function.
20 (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
21 workaround.
22 (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
23 parameters. Use htab->params instead.
24 (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
25 (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
26 64 bytes for ppc476 workaround.
27 (struct ppc_elf_relax_info): New.
28 (ppc_elf_relax_section): Exclude linker created sections and
29 those too small to hold one instruction. Don't add another
30 branch around trampolines on later relax passes. Don't
31 generate trampolines for undefined symbols when !relocatable,
32 nor for plugin symbols. Allocate space for ppc476 workaround
33 patch area. Free fixups on error return path.
34 (ppc_elf_relocate_section): Handle ppc476 workaround patching.
35 * elf32-ppc.h (struct ppc_elf_params): New.
36 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
37 (ppc_elf_link_params): Declare.
38 * section.c (SEC_INFO_TYPE_TARGET): Define.
39 * bfd-in2.h: Regenerate.
40
41 2014-02-02 Sandra Loosemore <sandra@codesourcery.com>
42
43 * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
44 h_gp_got field.
45 (nios2_elf32_relocate_section): Use got_base to adjust
46 GOT-pointer-relative relocations relative to _gp_got.
47 (create_got_section): Create _gp_got symbol.
48 (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
49 (nios2_elf32_size_dynamic_sections): Set _gp_got offset.
50
51 2014-01-30 Sandra Loosemore <sandra@codesourcery.com>
52
53 * bfd-in2.h: Update from reloc.c.
54 * elf32-nios2.c: Include elf32-nios2.h.
55 (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
56 (nios2_reloc_map): Likewise.
57 (enum elf32_nios2_stub_type): Declare.
58 (struct elf32_nios2_stub_hash_entry): Declare.
59 (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
60 (struct elf32_nios2_link_hash_entry): Add hsh_cache field.
61 (struct elf32_nios2_link_hash_table): Add new fields bstab,
62 stub_bfd, add_stub_section, layout_sections_again, stub_group,
63 bfd_count, top_index, input_list, all_local_syms.
64 (nios2_call26_stub_entry): New.
65 (nios2_elf32_install_imm16): Move up in file.
66 (nios2_elf32_install_data): Move up in file.
67 (hiadj): Move up in file.
68 (stub_hash_newfunc): New.
69 (link_hash_newfunc): Initialize hsh_cache field.
70 (STUB_SUFFIX): New.
71 (nios2_stub_name): New.
72 (nios2_get_stub_entry): New.
73 (nios2_add_stub): New.
74 (nios2_elf32_setup_section_lists): New.
75 (nios2_elf32_next_input_section): New.
76 (CALL26_SEGMENT): New.
77 (MAX_STUB_SECTION_SIZE): New.
78 (group_sections): New.
79 (nios2_type_of_stub): New.
80 (nios2_build_one_stub): New.
81 (nios2_size_one_stub): New.
82 (get_local_syms): New.
83 (nios2_elf32_size_stubs): New.
84 (nios2_elf32_build_stubs): New.
85 (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
86 (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add
87 trampolines for R_NIOS2_CALL26 stubs.
88 (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
89 (nios2_elf32_gc_sweep_hook): Likewise.
90 (nios2_elf32_link_hash_table_create): Initialize the stub hash table.
91 (nios2_elf32_link_hash_table_free): New.
92 (bfd_elf32_bfd_link_hash_table_free): Define.
93 * elf32-nios2.h: New file.
94 * libbfd.h: Update from reloc.c.
95 * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
96
97 2014-01-29 Nick Clifton <nickc@redhat.com>
98
99 PR binutils/16318
100 * elf32-metag.c (elf_metag_post_process_headers): Call
101 _bfd_elf_post_process_headers.
102 * elf32-sh64.c (sh64_elf_copy_private_data): Call
103 _bfd_elf_copy_private_data.
104 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
105
106 2014-01-29 Nick Clifton <nickc@redhat.com>
107
108 * bfd-in.h (bfd_set_section_vma): Delete.
109 (bfd_set_section_alignment): Delete.
110 (bfd_set_section_userdata): Delete.
111 (bfd_set_cacheable): Delete.
112 * bfd.c (bfd_set_cacheable): New static inline function.
113 * section.c (bfd_set_section_userdata): Likewise.
114 (bfd_set_section_vma): Likewise.
115 (bfd_set_section_alignment): Likewise.
116 * bfd-in2.h: Regenerate.
117
118 2014-01-28 Nick Clifton <nickc@redhat.com>
119
120 * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
121 attributes select the CU containing the abbreviation, which may not
122 be the current CU.
123
124 2014-01-24 Alan Modra <amodra@gmail.com>
125
126 * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
127 to get_relocs for ELFv2.
128
129 2014-01-23 H.J. Lu <hongjiu.lu@intel.com>
130
131 PR ld/16498
132 * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
133 if TLS sections are not adjacent.
134
135 2014-01-22 Alan Modra <amodra@gmail.com>
136
137 * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
138
139 2014-01-22 Alan Modra <amodra@gmail.com>
140
141 * elf64-ppc.c (STK_LINKER): Comment typo fix.
142
143 2014-01-21 H.J. Lu <hongjiu.lu@intel.com>
144
145 PR ld/16467
146 * elflink.c (_bfd_elf_merge_symbol): When types of the existing
147 regular default symbol definition and the versioned dynamic
148 symbol definition mismatch, skip the default symbol definition
149 if one of them is IFUNC.
150
151 2014-01-21 H.J. Lu <hongjiu.lu@intel.com>
152
153 PR ld/2404
154 * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
155 info->export_dynamic nor h->ref_dynamic for type mismatch when
156 adding the default version.
157
158 2014-01-16 Alan Modra <amodra@gmail.com>
159
160 * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
161 mips_elf_traverse_got_arg* rather than mips_got_info*.
162 Adjust caller. Alloc on output_bfd rather than symbol section
163 owner.
164
165 2014-01-15 H.J. Lu <hongjiu.lu@intel.com>
166
167 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
168 change.
169 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
170
171 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
172
173 PR ld/16428
174 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
175 against __ehdr_start.
176 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
177
178 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
179
180 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
181 change.
182 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
183
184 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
185
186 PR ld/16428
187 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
188 count if there are any non pc-relative relocs.
189 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
190
191 2014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org>
192 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org>
193
194 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
195 offset while calculating relocation address.
196 (elfNN_aarch64_create_small_pltn_entry): Likewise.
197 (elfNN_aarch64_init_small_plt0_entry): Likewise.
198
199 2014-01-13 Ma Jiang <ma.jiang@zte.com.cn>
200
201 PR ld/16202
202 * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
203 R_ARM_ABS8 and R_ARM_ABS16.
204
205 2014-01-13 Alan Modra <amodra@gmail.com>
206
207 * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
208 error when shared and force a plt call otherwise.
209 (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
210 plt_type == PLT_NEW.
211 (ppc_elf_relocate_section): Add missing test to resolve ifuncs to
212 the appropriate call stub.
213
214 2014-01-10 Alan Modra <amodra@gmail.com>
215
216 PR ld/14207
217 PR ld/16322
218 PR binutils/16323
219 * elf.c (assign_file_positions_for_load_sections): Revert last change.
220 (assign_file_positions_for_non_load_sections): When setting up
221 PT_GNU_RELRO header, don't require a corresponding PT_LOAD
222 header that completely covers the relro region.
223
224 2014-01-09 Tristan Gingold <gingold@adacore.com>
225
226 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
227 table macros and add macros to initializa the structure.
228
229 2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
230
231 PR ld/14207
232 PR ld/16322
233 PR binutils/16323
234 * elf.c (_bfd_elf_map_sections_to_segments): Don't check section
235 size for PT_GNU_RELRO segment.
236 (assign_file_positions_for_load_sections): If PT_LOAD segment
237 doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
238
239 2014-01-07 Tom Tromey <tromey@redhat.com>
240
241 * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
242 wrappers.
243
244 2014-01-03 Nick Clifton <nickc@redhat.com>
245
246 PR binutils/16199
247 * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
248 zero.
249
250 2014-01-02 Yuanhui Zhang <asmwarrior@gmail.com>
251
252 PR binutils/14289
253 * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
254
255 2014-01-02 Nick Clifton <nickc@redhat.com>
256
257 PR binutils/11983
258 * archive.c (_bfd_get_elt_at_filepos): Store a copy of the
259 filename in the bfd's filename field.
260 * elfcode.h (bfd_from_remote_memory): Likewise.
261 * ieee.c (ieee_object_p): Likewise.
262 * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
263 * oasys.c (oasys_openr_next_archived_file): Likewise.
264 * vms-lib.c (_bfd_vms_lib_get_module): Likewise.
265 * opncls.c (bfd_fopen): Likewise.
266 (bfd_openstreamr): Likewise.
267 (bfd_openr_iovec): Likewise.
268 (bfd_openw): Likewise.
269 (bfd_create): Likewise.
270 (_bfd_delete_bfd): Free filename.
271
272 For older changes see ChangeLog-2013
273 \f
274 Copyright (C) 2014 Free Software Foundation, Inc.
275
276 Copying and distribution of this file, with or without modification,
277 are permitted in any medium without royalty provided the copyright
278 notice and this notice are preserved.
279
280 Local Variables:
281 mode: change-log
282 left-margin: 8
283 fill-column: 74
284 version-control: never
285 End:
This page took 0.036597 seconds and 4 git commands to generate.