* regcache.c (struct regcache_descr): Fix typo.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
ae17ab41
CM
12011-07-11 Catherine Moore <clm@codesourcery.com>
2
3 * aout-adobe.c (aout_32_bfd_lookup_section_flags): New definition.
4 * aout-target.h (MY_bfd_lookup_section_flags): New definition.
5 * aout-tic30.c (MY_bfd_lookup_section_flags): New definition.
6 * bfd-in2.h: Regenerated.
7 * bfd.c (bfd_lookup_section_flags): New definition.
8 * binary.c (binary_bfd_lookup_section_flags): New definition.
9 * bout.c (b_out_bfd_lookup_section_flags): New definition.
10 * coff-alpha.c (_bfd_ecoff_bfd_lookup_section_flags): New definition.
11 * coff-mips.c (_bfd_ecoff_bfd_lookup_section_flags): New definition.
12 * coff-rs6000.c (rs6000coff_vec): Include
13 bfd_generic_lookup_section_flags.
14 (pmac_xcoff_vec): Likewise.
15 * coffcode.h (coff_bfd_lookup_section_flags): New definition.
16 * coff64-rs6000.c (rs6000coff64_vec): Include
17 bfd_generic_lookup_section_flags.
18 (aix5coff64_vec): Likewise.
19 * ecoff.c (bfd_debug_section): Initialize flag_info field.
20 * elf-bfd.h (elf_backend_lookup_section_flags_hook): Declare.
21 (bfd_elf_lookup_section_flags): Declare.
22 * elflink.c (bfd_elf_lookup_section_flags): New function.
23 * elfxx-target.h (bfd_elfNN_bfd_lookup_section_flags): Define.
24 (elf_backend_lookup_section_flags_hook): Define.
25 (elf_backend_data): Add elf_backend_lookup_section_flags_hook.
26 * i386msdos.c (msdos_bfd_lookup_section_flags): New define.
27 * i386os9k.c (os9k_bfd_lookup_section_flags): New define.
28 * ieee.c (ieee_bfd_lookup_section_flags): New define.
29 * ihex.c (ihex_bfd_lookup_section_flags): New define.
30 * libbfd-in.h (_bfd_nolink_bfd_lookup_section_flags): Declare.
31 (bfd_generic_lookup_section_flags): Declare.
32 * libbfd.h: Regenerated.
33 * mach-o-target.c (bfd_mach_o_bfd_lookup_section_flags): New.
34 * mmo.c (mmo_bfd_lookup_section_flags): New definition.
35 * nlm-target.h (nlm_bfd_lookup_section_flags): New definition.
36 * oasys.c (oasys_bfd_lookup_section_flags): New definition.
37 * pef.c (bfd_pef_bfd_lookup_section_flags): New definition.
38 * plugin.c (bfd_plugin_bfd_lookup_section_flags): New definition.
39 * ppcboot.c (ppcboot_bfd_lookup_section_flags): New definition.
40 * reloc.c (bfd_generic_lookup_section_flags): New function.
41 * som.c (som_bfd_lookup_section_flags): New definition.
42 * srec.c (srec_bfd_lookup_section_flags): New definition.
43 * targets.c (flag_info): Declare.
44 (NAME##_bfd_lookup_section_flags): Add to LINK jump table.
45 (_bfd_lookup_section_flags): New.
46 * tekhex.c (tekhex_bfd_lookup_section_flags): New definition.
47 * versados.c (versados_bfd_lookup_section_flags): New definition.
48 * vms-alpha.c (alpha_vms_bfd_lookup_section_flag): New definition.
49 * xsym.c (bfd_sym_bfd_lookup_section_flags): New definition.
50
23ebcd30
L
512011-07-11 H.J. Lu <hongjiu.lu@intel.com>
52
53 PR ld/12978
54 * elfnn-ia64.c (count_dyn_reloc): Fix a typo.
55
0c511000
AM
562011-07-09 Alan Modra <amodra@gmail.com>
57
58 PR ld/12942
59 * elflink.c (elf_link_add_object_symbols): Use elf_discarded_section
60 rather than kept_section to determine whether a symbol is from
61 a discarded section.
62 * cofflink.c (coff_link_add_symbols): Make symbols from discarded
63 sections appear undefined.
64
652011-07-09 H.J. Lu <hongjiu.lu@intel.com>
66
67 PR ld/12942
68 * elf-bfd.h (_bfd_elf_section_already_linked): Replace
69 "asection *" with "struct already_linked *".
70 * libbfd-in.h (_bfd_nolink_section_already_linked): Likewise.
71 (_bfd_generic_section_already_linked): Likewise.
72 (bfd_section_already_linked_table_insert): Likewise.
73 (struct already_linked): New.
74 (struct bfd_section_already_linked): Use it.
75 * elflink.c (_bfd_elf_section_already_linked): Replace.
76 "asection *" with "struct already_linked *". Replace the plugin
77 dummy with the LTO output.
78 * linker.c (_bfd_generic_section_already_linked): Likewise.
79 * targets.c (struct already_linked): Add forward declaration.
80 (bfd_target): Replace "struct bfd_section *" with
81 "struct already_linked *" in _section_already_linked.
82 * bfd-in2.h: Regenerate.
83 * libbfd.h: Regenerate.
84
74f26653
TG
852011-07-06 Tristan Gingold <gingold@adacore.com>
86
87 * mach-o.h: Move loader related definitions to
88 include/mach-o/loader.h. Include it.
89
52cb9dfe
L
902011-07-05 H.J. Lu <hongjiu.lu@intel.com>
91
92 * elf64-x86-64.c (elf_backend_post_process_headers): Always
93 define to _bfd_elf_set_osabi.
94
9c55345c
TS
952011-07-03 Samuel Thibault <samuel.thibault@gnu.org>
96 Thomas Schwinge <thomas@schwinge.name>
97
2bb70ae0 98 PR binutils/12913
9c55345c
TS
99 * elf.c (_bfd_elf_set_osabi): Use ELFOSABI_GNU name instead of
100 ELFOSABI_LINUX alias.
101 * elf32-hppa.c: Likewise.
102 * elf32-i370.c: Likewise.
103 * elf64-hppa.c: Likewise.
104
28ede8be
ILT
1052011-07-01 Ian Lance Taylor <iant@google.com>
106
107 * elf32-i386.c (elf_i386_eh_frame_plt): Correct expression: change
108 DW_OP_lit3 to DW_OP_lit2.
109
c79d6685
AM
1102011-07-01 Alan Modra <amodra@gmail.com>
111
112 * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Don't look at
113 dyn relocs when called to copy flags for a weak sym.
114 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
115 (ppc64_elf_merge_private_bfd_data): Delete.
116 (bfd_elf64_bfd_merge_private_bfd_data): Define as
117 _bfd_generic_verify_endian_match.
118
dc076558
BS
1192011-06-30 Bernd Schmidt <bernds@codesourcery.com>
120
121 * bfd/elf32-tic6x.c (elf32_tic6x_set_osabi): Also set it if
122 link_info is NULL.
123
25d41743
TG
1242011-06-28 Tristan Gingold <gingold@adacore.com>
125
126 * vms-alpha.c (vms_private_data_struct): Make vms_linkage_index
127 unsigned int.
128 (_bfd_vms_write_etir): Write linkage index from reloc.
129
9b02d212
TG
1302011-06-28 Fawzi Mohamed <fawzi.mohamed@nokia.com>
131
132 * mach-o.c (bfd_mach_o_read_command): Also ignore
133 BFD_MACH_O_LC_ROUTINES_64.
134
a8efca92
TG
1352011-06-27 Tristan Gingold <gingold@adacore.com>
136
137 * vms-alpha.c (_bfd_vms_write_etir): Use 'section' to get current
138 section target index.
139
20ee8bc9
NC
1402011-06-27 Nick Clifton <nickc@redhat.com>
141
142 * cisco-core.c (cisco_core_little_vec): Add initialization of
143 match_priority field.
144
4c95ab76
TG
1452011-06-27 Tristan Gingold <gingold@adacore.com>
146
147 * cache.c: Include bfd_stdint.h.
148 (cache_bmmap): Change profile. Return region start and size.
149 * bfdio.c (struct bfd_iovec): Change bmmap profile.
150 (bfd_mmap): Change profile and adjust. Update comment.
151 (memory_bmmap): Change profile.
152 * opncls.c (opncls_bmmap): Change profile.
153 * vms-lib.c (vms_lib_bmmap): Likewise.
154 * libbfd.h: Regenerate.
155 * bfd-in2.h: Regenerate.
156
62a35308
TG
1572011-06-27 Tristan Gingold <gingold@adacore.com>
158
159 * vms-misc.c (vms_time_to_time_t): Adjust overflow detection.
160 Add comment.
161
5d430399
L
1622011-06-25 H.J. Lu <hongjiu.lu@intel.com>
163
164 * elf64-x86-64.c (elf_backend_post_process_headers): Don't
165 define for FreeBSD/x86-64 nor FreeBSD/L1OM. Define for L1OM.
166
332ce62b
JK
1672011-06-25 Jan Kratochvil <jan.kratochvil@redhat.com>
168
169 * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Initialize
170 PLT_EH_FRAME.
171 * elf32-i386.c (elf_i386_link_hash_table): Likewise.
172
7dbf3b76
RH
1732011-06-24 Richard Henderson <rth@redhat.com>
174
175 PR ld/12928
176 * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Recover the
177 tlsgd insn before swapping adjacent insns.
178
d120eec2
TG
1792011-06-24 Tristan Gingold <gingold@adacore.com>
180
181 * vms-alpha.c (alpha_vms_slurp_relocs): Add a guard for relocs in the
182 absolute section.
183
1e951488
AM
1842011-06-24 Alan Modra <amodra@gmail.com>
185
186 PR ld/12921
187 * elf.c (assign_file_positions_for_load_sections): Don't align
188 sh_offset for all SHT_NOBITS sections here, just .tbss sections
189 that don't get a PT_LOAD.
190
b68593b9
KK
1912011-06-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
192
193 * elf32-sh.c (sh_elf_relocate_section): Allow R_SH_TLS_LE_32 for PIE.
194 (sh_elf_check_relocs): Likewise.
195
e366eeae
RH
1962011-06-22 Richard Henderson <rth@redhat.com>
197
198 * elf64-alpha.c (elf64_alpha_check_relocs): No dynamic reloc for
199 TPREL in a PIE image.
200 (alpha_dynamic_entries_for_reloc): Likewise.
201 (elf64_alpha_relocate_section): Allow TPREL in PIE images.
202 (elf64_alpha_relax_got_load): Likewise.
203
9ec0c936
RR
2042011-06-22 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
205
c79d6685
AM
206 * elf32-arm.c (elf32_arm_final_link_relocate): Allow R_ARM_TLS_LE32
207 for PIE.
9ec0c936 208
3a5dbfb2
AM
2092011-06-22 Alan Modra <amodra@gmail.com>
210
211 * elflink.c (_bfd_elf_merge_symbol): Allow type changes for
212 plugin symbols. Fix segfault on linker scrip defined syms.
213
e41b3a13
JJ
2142011-06-20 Jakub Jelinek <jakub@redhat.com>
215
216 PR ld/12570
217 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Allow no relocations
218 at all for linker created .eh_frame sections.
219 (_bfd_elf_discard_section_eh_frame): Handle linker created
220 .eh_frame sections with no relocations.
221 * elf64-x86-64.c: Include dwarf2.h.
222 (elf_x86_64_eh_frame_plt): New variable.
223 (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
224 PLT_FDE_LEN_OFFSET): Define.
225 (struct elf_x86_64_link_hash_table): Add plt_eh_frame field.
226 (elf_x86_64_create_dynamic_sections): Create and fill in
227 .eh_frame section for .plt section.
228 (elf_x86_64_size_dynamic_sections): Write .plt section size
229 into .eh_frame FDE covering .plt section.
230 (elf_x86_64_finish_dynamic_sections): Write .plt section
231 start into .eh_frame FDE covering .plt section. Call
232 _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
233 (elf_backend_plt_alignment): Define to 4.
234 * elf32-i386.c: Include dwarf2.h.
235 (elf_i386_eh_frame_plt): New variable.
236 (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
237 PLT_FDE_LEN_OFFSET): Define.
238 (struct elf_i386_link_hash_table): Add plt_eh_frame field.
239 (elf_i386_create_dynamic_sections): Create and fill in
240 .eh_frame section for .plt section.
241 (elf_i386_size_dynamic_sections): Write .plt section size
242 into .eh_frame FDE covering .plt section.
243 (elf_i386_finish_dynamic_sections): Write .plt section
244 start into .eh_frame FDE covering .plt section. Call
245 _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
246 (elf_backend_plt_alignment): Define to 4.
247
8b778942
L
2482011-06-19 H.J. Lu <hongjiu.lu@intel.com>
249
250 * elf64-x86-64.c (elf_backend_post_process_headers): Defined
251 for x32.
252
8fd79e71
L
2532011-06-16 H.J. Lu <hongjiu.lu@intel.com>
254
255 * elf64-x86-64.c: Include <stdarg.h> and CORE_HEADER if
256 CORE_HEADER is defined.
257 (elf_x86_64_write_core_note): New.
258 (elf_backend_write_core_note): Likewise.
259
260 * hosts/x86-64linux.h (uint64_t): New.
261 (user_regsx32_struct): Likewise.
262 (elf_gregx32_t): Likewise.
263 (ELF_NGREGX32): Likewise.
264 (elf_gregsetx32_t): Likewise.
265 (elf_prstatusx32): Likewise.
266 (prstatusx32_t): Likewise.
267 (user_fpregs32_struct): Removed.
268 (user_fpxregs32_struct): Likewise.
269 (user32): Likewise.
270 (elf_fpregset32_t): Likewise.
271 (elf_fpxregset32_t): Likewise.
272 (prgregset32_t): Likewise.
273 (prfpregset32_t): Likewise.
274
bcd823f1
L
2752011-06-16 H.J. Lu <hongjiu.lu@intel.com>
276
277 * elf64-x86-64.c (elf_x86_64_grok_prstatus): Support x32.
278 (elf_x86_64_grok_psinfo): Likewise.
279
a06c7d5a
NC
2802011-06-16 Nick Clifton <nickc@redhat.com>
281
282 * elf.c (elf_find_function): Fail if not provided with a symbol
283 table.
284
faa9a424
UW
2852011-06-15 Ulrich Weigand <ulrich.weigand@linaro.org>
286
287 * elf-bfd.h (elfcore_write_arm_vfp): Add prototype.
288 * elf.c (elfcore_grok_arm_vfp): New function.
289 (elfcore_grok_note): Call it to handle NT_ARM_VFP notes.
290 (elfcore_write_arm_vfp): New function.
291 (elfcore_write_register_note): Call it to handle .reg-arm-vfp.
292
48f4b4f5
RH
2932011-06-14 Richard Henderson <rth@redhat.com>
294
295 * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Rename from
296 elf64_alpha_merge_ind_symbols; adjust for the generic interface.
297 (elf64_alpha_always_size_sections): Don't call
298 elf64_alpha_merge_ind_symbols.
299 (elf_backend_copy_indirect_symbol): New.
300
4d16d575
AM
3012011-06-14 Alan Modra <amodra@gmail.com>
302
303 PR ld/12887
304 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Check sec_info_type
305 before doing anything.
306 (_bfd_elf_discard_section_eh_frame): Likewise.
307
1e24d83c
AM
3082011-06-14 Alan Modra <amodra@gmail.com>
309
310 * Makefile.am: Formatting.
311 * Makefile.in: Regenerate.
312 * configure.in (bfd_elf64_tilegx_vec): Add elfxx-tilegx.lo.
313 * po/SRC-POTFILES.in: Regnerate.
314
e4d34ace
AM
3152011-06-14 Alan Modra <amodra@gmail.com>
316
317 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Don't use PTR.
318 (allocate_dynrelocs, readonly_dynrelocs): Replace PTR with void *.
319 Don't handle warning symbols here.
320 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): As above.
321 (allocate_dynrelocs, readonly_dynrelocs): As above.
322
7f6ab9f8
AM
3232011-06-14 Alan Modra <amodra@gmail.com>
324
325 PR ld/12851
326 * elflink.c (_bfd_elf_gc_mark_extra_sections): New function.
327 (elf_gc_sweep): Don't treat debug and sections like .comment
328 specially here.
329 (bfd_elf_gc_sections): Treat note sections as gc roots only when
330 not part of a group. Always call gc_mark_extra_sections.
331 * elf-bfd.h (_bfd_elf_gc_mark_extra_sections): Declare.
332 * elfxx-target.h (elf_backend_gc_mark_extra_sections): Default to
333 _bfd_elf_gc_mark_extra_sections.
334 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Call
335 _bfd_elf_gc_mark_extra_sections.
336 * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): Likewise.
337
09d9a62a
NC
3382011-06-13 Nick Clifton <nickc@redhat.com>
339
340 * elf32-tilepro.c (tilepro_elf_check_relocs): Delete unused local
341 variable 'local_got_offsets'.
342 * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
343 (tilegx_finish_dyn): Delete unused local variable 'abi_64_p'.
344
aa137e4d
NC
3452011-06-13 Walter Lee <walt@tilera.com>
346
347 * Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo.
348 (ALL_MACHINE_CFILES): Add cpu-tilegx.c and cpu-tilepro.c.
349 (BFD32_BACKENDS): Add elf32-tilegx.lo, elf32-tilepro.lo,
350 and elfxx-tilegx.lo.
351 (BFD32_BACKENDS_CFILES): Add elf32-tilegx.c elf32-tilepro.c, and
352 elfxx-tilegx.c.
353 (BFD64_BACKENDS): Add elf64-tilegx.lo.
354 (BFD64_BACKENDS_CFILES): Add elf64-tilegx.c.
355 * Makefile.in: Regenerate.
356 * arctures.c (bfd_architecture): Define bfd_arch_tilepro,
357 bfd_arch_tilegx, bfd_mach_tilepro, bfd_mach_tilegx.
358 (bfd_arch_info): Add bfd_tilegx_arch, bfd_tilepro_arch.
359 (bfd_archures_list): Add bfd_tilegx_arch, bfd_tilepro_arch.
360 bfd-in2.h: Regenerate.
361 * config.bfd: Handle tilegx-*-* and tilepro-*-*.
362 * configure.in: Handle bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
363 and bfd_elf64_tilegx_vec.
364 * configure: Regenerate.
365 * elf-bfd.h (enum elf_target_id): Define TILEGX_ELF_DATA and
366 TILEPRO_ELF_DATA.
367 * libbfd.h: Regenerate.
368 * reloc.c: Add BFD_RELOC_TILEPRO_{COPY, GLOB_DAT, JMP_SLOT,
369 RELATIVE, BROFF_X1, JOFFLONG_X1, JOFFLONG_X1_PLT, IMM8_X0,
370 IMM8_Y0, IMM8_X1, IMM8_Y1, DEST_IMM8_X1, MT_IMM15_X1, MF_IMM15_X1,
371 IMM16_X0, IMM16_X1, IMM16_X0_LO, IMM16_X1_LO, IMM16_X0_HI,
372 IMM16_X1_HI, IMM16_X0_HA, IMM16_X1_HA, IMM16_X0_PCREL,
373 IMM16_X1_PCREL, IMM16_X0_LO_PCREL, IMM16_X1_LO_PCREL,
374 IMM16_X0_HI_PCREL, IMM16_X1_HI_PCREL, IMM16_X0_HA_PCREL,
375 IMM16_X1_HA_PCREL, IMM16_X0_GOT, IMM16_X1_GOT, IMM16_X0_GOT_LO,
376 IMM16_X1_GOT_LO, IMM16_X0_GOT_HI, IMM16_X1_GOT_HI,
377 IMM16_X0_GOT_HA, IMM16_X1_GOT_HA, MMSTART_X0, MMEND_X0,
378 MMSTART_X1, MMEND_X1, SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1,
379 IMM16_X0_TLS_GD, IMM16_X1_TLS_GD, IMM16_X0_TLS_GD_LO,
380 IMM16_X1_TLS_GD_LO, IMM16_X0_TLS_GD_HI, IMM16_X1_TLS_GD_HI,
381 IMM16_X0_TLS_GD_HA, IMM16_X1_TLS_GD_HA, IMM16_X0_TLS_IE,
382 IMM16_X1_TLS_IE, IMM16_X0_TLS_IE_LO, IMM16_X1_TLS_IE_LO,
383 IMM16_X0_TLS_IE_HI, IMM16_X1_TLS_IE_HI, IMM16_X0_TLS_IE_HA,
384 IMM16_X1_TLS_IE_HA, TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
385 Add BFD_RELOC_TILEGX_{HW0, HW1, HW2, HW3, HW0_LAST, HW1_LAST,
386 HW2_LAST, COPY, GLOB_DAT, JMP_SLOT, RELATIVE, BROFF_X1,
387 JUMPOFF_X1, JUMPOFF_X1_PLT, IMM8_X0, IMM8_Y0, IMM8_X1, IMM8_Y1,
388 DEST_IMM8_X1, MT_IMM14_X1, MF_IMM14_X1, MMSTART_X0, MMEND_X0,
389 SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, IMM16_X0_HW0,
390 IMM16_X1_HW0, IMM16_X0_HW1, IMM16_X1_HW1, IMM16_X0_HW2,
391 IMM16_X1_HW2, IMM16_X0_HW3, IMM16_X1_HW3, IMM16_X0_HW0_LAST,
392 IMM16_X1_HW0_LAST, IMM16_X0_HW1_LAST, IMM16_X1_HW1_LAST,
393 IMM16_X0_HW2_LAST, IMM16_X1_HW2_LAST, IMM16_X0_HW0_PCREL,
394 IMM16_X1_HW0_PCREL, IMM16_X0_HW1_PCREL, IMM16_X1_HW1_PCREL,
395 IMM16_X0_HW2_PCREL, IMM16_X1_HW2_PCREL, IMM16_X0_HW3_PCREL,
396 IMM16_X1_HW3_PCREL, IMM16_X0_HW0_LAST_PCREL,
397 IMM16_X1_HW0_LAST_PCREL, IMM16_X0_HW1_LAST_PCREL,
398 IMM16_X1_HW1_LAST_PCREL, IMM16_X0_HW2_LAST_PCREL,
399 IMM16_X1_HW2_LAST_PCREL, IMM16_X0_HW0_GOT, IMM16_X1_HW0_GOT,
400 IMM16_X0_HW1_GOT, IMM16_X1_HW1_GOT, IMM16_X0_HW2_GOT,
401 IMM16_X1_HW2_GOT, IMM16_X0_HW3_GOT, IMM16_X1_HW3_GOT,
402 IMM16_X0_HW0_LAST_GOT, IMM16_X1_HW0_LAST_GOT,
403 IMM16_X0_HW1_LAST_GOT, IMM16_X1_HW1_LAST_GOT,
404 IMM16_X0_HW2_LAST_GOT, IMM16_X1_HW2_LAST_GOT, IMM16_X0_HW0_TLS_GD,
405 IMM16_X1_HW0_TLS_GD, IMM16_X0_HW1_TLS_GD, IMM16_X1_HW1_TLS_GD,
406 IMM16_X0_HW2_TLS_GD, IMM16_X1_HW2_TLS_GD, IMM16_X0_HW3_TLS_GD,
407 IMM16_X1_HW3_TLS_GD, IMM16_X0_HW0_LAST_TLS_GD,
408 IMM16_X1_HW0_LAST_TLS_GD, IMM16_X0_HW1_LAST_TLS_GD,
409 IMM16_X1_HW1_LAST_TLS_GD, IMM16_X0_HW2_LAST_TLS_GD,
410 IMM16_X1_HW2_LAST_TLS_GD, IMM16_X0_HW0_TLS_IE,
411 IMM16_X1_HW0_TLS_IE, IMM16_X0_HW1_TLS_IE, IMM16_X1_HW1_TLS_IE,
412 IMM16_X0_HW2_TLS_IE, IMM16_X1_HW2_TLS_IE, IMM16_X0_HW3_TLS_IE,
413 IMM16_X1_HW3_TLS_IE, IMM16_X0_HW0_LAST_TLS_IE,
414 IMM16_X1_HW0_LAST_TLS_IE, IMM16_X0_HW1_LAST_TLS_IE,
415 IMM16_X1_HW1_LAST_TLS_IE, IMM16_X0_HW2_LAST_TLS_IE,
416 IMM16_X1_HW2_LAST_TLS_IE, TLS_DTPMOD64, TLS_DTPOFF64, TLS_TPOFF64,
417 TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
418 * targets.c (bfd_elf32_tilegx_vec): Declare.
419 (bfd_elf32_tilepro_vec): Declare.
420 (bfd_elf64_tilegx_vec): Declare.
421 (bfd_target_vector): Add bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
422 and bfd_elf64_tilegx_vec.
423 * cpu-tilegx.c: New file.
424 * cpu-tilepro.c: New file.
425 * elf32-tilepro.h: New file.
426 * elf32-tilepro.c: New file.
427 * elf32-tilegx.c: New file.
428 * elf32-tilegx.h: New file.
429 * elf64-tilegx.c: New file.
430 * elf64-tilegx.h: New file.
431 * elfxx-tilegx.c: New file.
432 * elfxx-tilegx.h: New file.
433
7686d77d
AM
4342011-06-13 Alan Modra <amodra@gmail.com>
435
436 * linker.c (bfd_link_hash_traverse): Follow warning symbol link.
437 (_bfd_generic_link_write_global_symbol, fix_syms): Don't handle
438 warning symbols here.
439 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
440 * elf32-arm.c (allocate_dynrelocs_for_symbol,
441 elf32_arm_readonly_dynrelocs): Likewise.
442 * elf32-bfin.c (bfin_discard_copies): Likewise.
443 * elf32-cris.c (elf_cris_adjust_gotplt_to_got,
444 elf_cris_discard_excess_dso_dynamics,
445 elf_cris_discard_excess_program_dynamics): Likewise.
446 * elf32-hppa.c (allocate_plt_static, allocate_dynrelocs,
447 clobber_millicode_symbols, readonly_dynrelocs): Likewise.
448 * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
449 * elf32-i386.c (elf_i386_allocate_dynrelocs,
450 elf_i386_readonly_dynrelocs): Likewise.
451 * elf32-lm32.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
452 * elf32-m32c.c (m32c_relax_plt_check, m32c_relax_plt_realloc): Likewise.
453 * elf32-m32r.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
454 * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
455 * elf32-microblaze.c (allocate_dynrelocs): Likewise.
456 * elf32-ppc.c (allocate_dynrelocs, maybe_set_textrel): Likewise.
457 * elf32-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
458 * elf32-score.c (score_elf_sort_hash_table_f): Likewise.
459 * elf32-score7.c (score_elf_sort_hash_table_f): Likewise.
460 * elf32-sh.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
461 * elf32-tic6x.c (elf32_tic6x_allocate_dynrelocs,
462 elf32_tic6x_readonly_dynrelocs): Likewise.
463 * elf32-vax.c (elf_vax_discard_copies): Likewise.
464 * elf32-xstormy16.c (xstormy16_relax_plt_check,
465 xstormy16_relax_plt_realloc): Likewise.
466 * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Likewise.
467 * elf64-alpha.c (elf64_alpha_output_extsym,
468 elf64_alpha_calc_got_offsets_for_symbol,
469 elf64_alpha_calc_dynrel_sizes, elf64_alpha_size_rela_got_1): Likewise.
470 * elf64-hppa.c (elf64_hppa_mark_exported_functions,
471 allocate_global_data_opd, elf64_hppa_mark_milli_and_exported_functions,
472 elf_hppa_unmark_useless_dynamic_symbols,
473 elf_hppa_remark_useless_dynamic_symbols): Likewise.
474 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref, func_desc_adjust,
475 adjust_opd_syms, adjust_toc_syms, allocate_dynrelocs,
476 readonly_dynrelocs, merge_global_got, reallocate_got,
477 undo_symbol_twiddle): Likewise.
478 * elf64-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
479 * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
480 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs,
481 elf_x86_64_readonly_dynrelocs): Likewise.
482 * elflink.c (elf_link_renumber_hash_table_dynsyms,
483 elf_link_renumber_local_hash_table_dynsyms, _bfd_elf_export_symbol,
484 _bfd_elf_link_find_version_dependencies,
485 _bfd_elf_link_assign_sym_version, _bfd_elf_adjust_dynamic_symbol,
486 _bfd_elf_link_sec_merge_syms, elf_adjust_dynstr_offsets,
487 elf_collect_hash_codes, elf_collect_gnu_hash_codes,
488 elf_renumber_gnu_hash_syms, elf_gc_sweep_symbol,
489 elf_gc_propagate_vtable_entries_used,
490 elf_gc_smash_unused_vtentry_relocs, bfd_elf_gc_mark_dynamic_ref_symbol,
491 elf_gc_allocate_got_offsets): Likewise.
492 * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free,
493 elfNN_ia64_global_dyn_sym_thunk): Likewise.
494 * elfxx-mips.c (mips_elf_check_symbols, mips_elf_output_extsym,
495 mips_elf_sort_hash_table_f, allocate_dynrelocs): Likewise.
496 * elfxx-sparc.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
497 * i386linux.c (linux_tally_symbols): Likewise.
498 * m68klinux.c (linux_tally_symbols): Likewise.
499 * sparclinux.c (linux_tally_symbols): Likewise.
500 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
501 * xcofflink.c (xcoff_post_gc_symbol): Likewise.
502
503 * elflink.c (elf_link_output_extsym): Make it a bfd_hash_traverse
504 function. Update all callers.
505 * aoutx.h (aout_link_write_other_symbol): Likewise.
506 * pdp11.c (aout_link_write_other_symbol): Likewise.
507 * cofflink.c (_bfd_coff_write_global_sym): Likewise.
508 * ecoff.c (ecoff_link_write_external): Likewise.
509 * xcofflink.c (xcoff_write_global_symbol): Likewise.
510 * vms-alpha.c (alpha_vms_link_output_symbol): Likewise. Handle
511 warning symbols.
512 * ecoff.c (ecoff_link_hash_traverse): Delete.
513 * coff-ppc.c (ppc_bfd_coff_final_link): Use bfd_hash_traverse for
514 _bfd_coff_write_global_sym.
515 * libcoff-in.h (_bfd_coff_write_global_sym): Update prototype.
516 * libcoff.h: Regenerate.
517
894891db
NC
5182011-06-10 Nick Clifton <nickc@redhat.com>
519
520 * elflink.c (_bfd_elf_link_create_dynamic_sections): If the
521 backend does not provide a function for creating dynamic sections
522 then fail.
523 (bfd_elf_final_link): Issue a warning message if a dynamic section
524 has the SHT_NOTE type.
525 (bfd_elf_final_link): Do not look for dynamic strings in a section
526 that does not have the SHT_STRTAB type or the name .dynstr.
527 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Fail if the got
528 section is not in the output binary.
529 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Likewise.
530
d17fe7b7
TG
5312011-06-09 Tristan Gingold <gingold@adacore.com>
532
533 * elfnn-ia64.c (elfNN_ia64_relax_section, elfNN_ia64_choose_gp)
534 (elfNN_ia64_relocate_section, elfNN_vms_object_p): Remove trailing
535 spaces.
536
8076289e
TG
5372011-06-09 Tristan Gingold <gingold@adacore.com>
538
539 * bfd.c (bfd_get_sign_extend_vma): Handle aixcoff.
540
ba85c43e
NC
5412011-06-09 Nick Clifton <nickc@redhat.com>
542
543 PR ld/12845
544 * elf.c (_bfd_elf_init_private_section_data): Add an assertion
545 that the output section has an allocated bfd_elf_section_data
546 structure.
547 * elfxx-mips.c (mips_elf_check_symbols): Do not create a stub for
548 symbols in sections that have been removed by garbage collection.
549
adc7571d
L
5502011-06-08 H.J. Lu <hongjiu.lu@intel.com>
551
552 * elf64-x86-64.c (elf_x86_64_check_relocs): Allow R_X86_64_64
553 relocations in SEC_DEBUGGING sections when building shared
554 libraries.
555
24007750
L
5562011-06-08 H.J. Lu <hongjiu.lu@intel.com>
557
558 PR ld/12851
559 * elflink.c (elf_gc_sweep): Don't check SHT_NOTE sections here.
560 (bfd_elf_gc_sections): Also check SHT_NOTE sections.
561
e79064fe
TG
5622011-06-08 Tristan Gingold <gingold@adacore.com>
563
564 * makefile.vms (OBJS): Add elfxx-ia64.obj
565 Remove vax case.
566
d3aeb6ee
AM
5672011-06-08 Alan Modra <amodra@gmail.com>
568
569 * aix386-core.c, * cisco-core.c, * hpux-core.c, * osf-core.c,
570 * sco5-core.c: Init match_priority field.
571
2a41f396
AM
5722011-06-08 Alan Modra <amodra@gmail.com>
573
574 * elflink.c (_bfd_elf_archive_symbol_lookup): Follow warning and
575 indirect links here.
576
1d859532
JB
5772011-06-07 Joel Brobecker <brobecker@adacore.com>
578
579 * irix-core.c (irix_core_vec): Add match_priority field.
580
0aabe54e
AM
5812011-06-06 Alan Modra <amodra@gmail.com>
582
583 * targets.c (bfd_target): Make ar_max_namelen an unsigned char.
584 Add match_priority.
585 * configure.in: Bump bfd version.
586 * elfcode.h (elf_object_p): Delete hacks preventing match of
587 EM_NONE and ELFOSABI_NONE targets when a better match exists.
588 * elfxx-target.h (elf_match_priority): Define and use.
589 * format.c (bfd_check_format_matches): Use target match_priority
590 to choose best of multiple matching targets. In cases with multiple
591 matches rerun _bfd_check_format if we don't choose the last match.
592 * aout-adobe.c, * aout-arm.c, * aout-target.h, * aout-tic30.c,
593 * binary.c, * bout.c, * coff-alpha.c, * coff-i386.c, * coff-i860.c,
594 * coff-i960.c, * coff-ia64.c, * coff-mips.c, * coff-or32.c,
595 * coff-ppc.c, * coff-rs6000.c, * coff-sh.c, * coff-tic30.c,
596 * coff-tic54x.c, * coff-x86_64.c, * coff64-rs6000.c, * coffcode.h,
597 * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, * mach-o-target.c,
598 * mipsbsd.c, * mmo.c, * nlm-target.h, * oasys.c, * pdp11.c,
599 * pe-mips.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, * srec.c,
600 * tekhex.c, * trad-core.c, * verilog.c, * versados.c, * vms-alpha.c,
601 * vms-lib.c, * xsym.c: Init match_priority field.
602 * configure: Regenerate.
603 * bfd-in2.h: Regenerate.
604
70b554c9
L
6052011-06-04 H.J. Lu <hongjiu.lu@intel.com>
606
607 PR ld/12842
608 * elfcode.h (elf_object_p): Revert the last change.
609
d50ec8a7
AM
6102011-06-04 Alan Modra <amodra@gmail.com>
611
612 * archures.c (bfd_arch_get_compatible): If one arch is unknown,
613 return the other arch.
614 * elfcode.h (elf_object_p): Allow explicit match to generic ELF
615 target.
616
164a5cb7
NC
6172011-06-03 Bertram Felgenhauer <bertram.felgenhauer@gmail.com>
618
619 PR ld/12682
620 * hash.c (higher_primer_number): Add more, small, prime numbers.
621 (bfd_hash_set_default_size): Likewise.
622
cc643b88
NC
6232011-06-02 Nick Clifton <nickc@redhat.com>
624
625 * coff-mcore.c: Fix spelling typo.
626 * coff-stgo32.c: Likewise.
627 * elf32-arm.c: Likewise.
628 * elf32-avr.c: Likewise.
629 * elf-m68hc1x.c: Likewise.
630 * elf32-mcore.c: Likewise.
631 * elf32-mep.c: Likewise.
632 * elf32-mt.c: Likewise.
633 * elf32-ppc.c: Likewise.
634 * elf32-xtensa.c: Likewise.
635 * elf64-ppc.c: Likewise.
636 * elfxx-mips.c: Likewise.
637 * netbsd.h: Likewise.
638 * nlmcode.h: Likewise.
639 * vms-alpha.c: Likewise.
640 * po/bfd.pot: Regenerate.
641 * po/SRC-POTFILES.in: Regenerate.
642
4c422395
DD
6432011-06-01 DJ Delorie <dj@redhat.com>
644
645 * config.bfd: Add bfd_elf32_rx_be_ns_vec.
646 * target.c: Likewise.
647 * configure.in: Likewise.
648 * configure.in: Regenerate.
649 * elf32-rx.c: Add elf32-rx-be-ns target.
650 (rx_elf_object_p): Never allow the be-ns target by default,
651 only allow it if the user requests it.
652
4b819e1f
L
6532011-06-01 H.J. Lu <hongjiu.lu@intel.com>
654
655 * elf32-i386.c (elf_i386_size_dynamic_sections): Properly warn
656 relocation in readonly section in a shared object.
657 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
658
74ce8de7
NC
6592011-05-31 Nick Clifton <nickc@redhat.com>
660
661 * archive.c (adjust_relative_path): Fix comment to prevent it
662 corrupting the auto-generated bfd.h.
663
63e1a0fc
PB
6642011-05-31 Paul Brook <paul@codesourcery.com>
665
666 * elf32-arm.c (elf32_arm_final_link_relocate): Only do bl conversion
667 for known functions.
668 (elf32_arm_swap_symbol_in): Only set ST_BRANCH_TO_ARM for function
669 symbols.
670
12352d3f
PB
6712011-05-31 Paul Brook <paul@codesourcery.com>
672
673 * elf32-arm.c (arm_stub_is_thumb): Add
674 arm_stub_long_branch_v4t_thumb_tls_pic.
675 (elf32_arm_final_link_relocate): TLS stubs are always ARM.
676 Handle Thumb stubs.
677
c4948609
NC
6782011-05-27 Nick Clifton <nickc@redhat.com>
679
680 PR binutils/12710
681 * archive.c (_bfd_get_elt_at_filepos): Set correct error value if
682 unable to read a file pointed to by an entry in a thin archive.
683 (adjust_relative_path): Use lrealpath to canonicalize paths.
684 Handle the case where the reference path is above the current
685 path in the directory tree.
686
6769d501
L
6872011-05-26 H.J. Lu <hongjiu.lu@intel.com>
688
689 PR ld/12809
690 * elf64-x86-64.c (elf_x86_64_relocate_section): Handle
691 R_X86_64_TPOFF64 in executable.
692
2676a7d9
AM
6932011-05-26 Alan Modra <amodra@gmail.com>
694
695 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment.
696 * elflink.c (_bfd_elf_symbol_refs_local_p): Expand
697 local_protected comment.
698
cbe79dfe
TG
6992011-05-25 Tristan Gingold <gingold@adacore.com>
700
701 * configure.in (bfd_elf32_ia64_big_vec, bfd_elf32_ia64_hpux_big_vec)
702 (bfd_elf64_ia64_big_vec, bfd_elf64_ia64_hpux_big_vec)
703 (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_vms_vec): Add elfxx-ia64.lo
704 * Makefile.am (BFD64_BACKENDS): Add elfxx-ia64.lo
705 (BFD64_BACKENDS_CFILES): Add elfxx-ia64.c
706 (elf32-ia64.c): Created from elfnn-ia64.c
707 (elf64-ia64.c): Likewise.
708 * elfxx-ia64.h: New file.
709 * elfxx-ia64.c: Split with elfnn-ia64.c. Keep only the following
710 functions.Includes elfxx-ia64.h.
711 (elfNN_ia64_reloc): Renames to ia64_elf_reloc. Adjust error message.
712 (IA64_HOWTO): Adjust.
713 (lookup_howto): Renames to ia64_elf_lookup_howto. Make it public.
714 (elfNN_ia64_reloc_type_lookup): Renames to
715 ia64_elf_reloc_type_lookup. Make it public. Adjust calls.
716 (elfNN_ia64_reloc_name_lookup): Renames to
717 ia64_elf_reloc_name_lookup. Make it public.
718 (elfNN_ia64_relax_br): Renames to ia64_elf_relax_br. Make it public.
719 (elfNN_ia64_relax_brl): Renames to ia64_elf_relax_brl. Make it
720 public.
721 (elfNN_ia64_relax_ldxmov): Renames to ia64_elf_relax_ldxmov.
722 Move it and make it public. Move prototype to elfxx-ia64.h
723 (elfNN_ia64_install_value): Renames to ia64_elf_install_value.
724 Move prototype to elfxx-ia64.h
725 * elfnn-ia64.c: New file, split from elfxx-ia64.c.
726 (elfNN_ia64_info_to_howto): Adjust calls.
727 (elfNN_ia64_relax_section): Adjust calls.
728 (count_dyn_reloc): Fix typo.
729 (elfNN_ia64_relocate_section): Adjust calls.
730 (elfNN_ia64_finish_dynamic_symbol): Likewise.
731 (bfd_elfNN_bfd_reloc_type_lookup)
732 (bfd_elfNN_bfd_reloc_name_lookup): Adjust macros.
733 * configure: Regenerate.
734 * Makefile.in: Regenerate.
735
1ce74905
DD
7362011-05-23 DJ Delorie <dj@redhat.com>
737
738 * elf32-rx.c (rx_elf_object_p): When reading an RX object in, undo
739 the vma/lma swapping done in elf32_rx_modify_program_headers.
740
997fbe36
NC
7412011-05-23 Nick Clifton <nickc@redhat.com>
742
743 * elf-m10300.c (mn10300_elf_mkobject): New function.
744 (bfd_elf32_mkobject): Define.
745
6061a67d
AM
7462011-05-23 Alan Modra <amodra@gmail.com>
747
748 * elf-bfd.h: Comment typo fix.
749 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Delete. Replace with
750 struct elf_dyn_relocs throughout.
751 * elf64-ppc.c (struct ppc_dyn_relocs): Likewise.
752
25f53a85
AM
7532011-05-23 Alan Modra <amodra@gmail.com>
754
755 * elf32-frv.c: Use info->callbacks->einfo throughout file in linker
756 functions rather than warning callback or _bfd_error_handler.
757 * elf32-ppc.c: Likewise.
758 * elf64-ppc.c: Likewise.
759 * elf32-ppc.c (ppc_elf_tls_optimize): Use %H in __tls_get_addr lost
760 arg error.
761 * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
762
6de6a7fe
AM
7632011-05-23 Alan Modra <amodra@gmail.com>
764
765 PR 12763
766 * elf.c (assign_file_positions_for_load_sections): Set sh_offset for
767 .tbss, and page align same for all SHT_NOBITS sections.
768
86b2281f
AM
7692011-05-21 Alan Modra <amodra@gmail.com>
770
771 PR 12763
772 * elf.c (_bfd_elf_make_section_from_shdr): Set up TLS section LMAs
773 from PT_TLS header.
774 (_bfd_elf_map_sections_to_segments): Don't create a final PT_LOAD
775 segment if just for .tbss.
776 (assign_file_positions_for_load_sections): Don't report "can't
777 allocate in segment" errors for .tbss.
778 (assign_file_positions_for_non_load_sections): Don't set p_filesz
779 from SHT_NOBITS section filepos.
780
4a732032
BS
7812011-05-20 Bernd Schmidt <bernds@codesourcery.com>
782
783 * elf32-tic6x.c (elf32_tic6x_howto_table): Add entries for
784 R_C6000_PCR_H16 and R_C6000_PCR_L16.
785 (elf32_tic6x_relocate_section): Handle them.
786
dd98f8d2
NC
7872011-05-18 Nick Clifton <nickc@redhat.com>
788
789 PR ld/12761
790 * elflink.c (elf_link_add_object_symbols): Process .gnu.warning
791 sections when building shared libraries.
792
9c489990
NC
7932011-05-18 Rafał Krypa <r.krypa@samsung.com>
794
795 PR ld/12778
796 * elf32-arm.c (elf32_arm_gc_sweep_hook): Use the computed dynamic
797 reloc pointer.
798
5ccfed9b
TG
7992011-05-18 Tristan Gingold <gingold@adacore.com>
800
801 * xcofflink.c (xcoff_link_add_symbols): Handle C_DWARF symbols.
802 (xcoff_sweep): Always keep dwarf sections.
803 (xcoff_link_input_bfd): Handle dwarf symbols and sections.
804
85645aed
TG
8052011-05-18 Tristan Gingold <gingold@adacore.com>
806
807 * libxcoff.h (struct xcoff_dwsect_name): New type.
808 (XCOFF_DWSECT_NBR_NAMES): New macro.
809 (xcoff_dwsect_names): Declare.
810 * coffcode.h (sec_to_styp_flags): Handle xcoff dwarf sections.
811 (styp_to_sec_flags): Ditto.
812 (coff_new_section_hook): Ditto.
813 (coff_slurp_symbol_table): Handle C_DWARF and C_INFO.
814 * coff-rs6000.c (xcoff_dwsect_name): New variable.
815
84bff83f
NC
8162011-05-17 Tomohiro Kashiwada <kikairoya@gmail.com>
817
818 PR ld/12759
819 * elf32-rx.c (ignore_lma): New variable.
820 (bfd_elf32_rx_set_target_flags): Add ignore_lma parameter.
821 (rx_modify_program_headers): Only copy the LMA into the VMA if
822 ignore_lma is true.
823
16d96b5b
AM
8242011-05-17 Alan Modra <amodra@gmail.com>
825
826 PR ld/12760
827 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Adjust "notice" call.
828 * elflink.c (elf_link_add_object_symbols): Likewise.
829 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
830
41e04eaa
AM
8312011-05-16 Alan Modra <amodra@gmail.com>
832
833 * linker.c (_bfd_generic_link_add_one_symbol): Don't init u.undef.weak.
834
77c56f44
RS
8352011-05-15 Richard Sandiford <rdsandiford@googlemail.com>
836
837 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Record both local and
838 global GOT entries for GOT_PAGE relocations against global symbols.
839
2a616379
BS
8402011-05-13 Bernd Schmidt <bernds@codesourcery.com>
841
842 * config.bfd (tic6x-*-elf, tic6x-*-uclinux): New.
843 (tic6x-*-*): Replaced by these.
844 * elf32-tic6x.c (elf32_tic6x_set_osabi): New static function.
845 (elf32_tic6x_check_relocs): Create dynamic sections if -shared.
846 (elf_backend_relocs_compatible, elf_backend_post_process_headers):
847 Define.
848 (elf32_bed, TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM,
849 TARGET_BIG_NAME, ELF_OSABI): Redefine twice, and include
850 "elf32-target.h" two more times.
851 * configure.in: Handle bfd_elf32_tic6x_linux_be_vec,
852 bfd_elf32_tic6x_linux_le_vec, bfd_elf32_tic6x_elf_be_vec and
853 bfd_elf32_tic6x_elf_le_vec.
854 * configure: Regenerate.
855
3ac5406b
JB
8562011-05-13 Jan Beulich <jbeulich@novell.com>
857
858 * config.bfd: Add targets x86_64-*-pe and x86_64-*-pep.
859
335e41d4
JK
8602011-05-12 Jan Kratochvil <jan.kratochvil@redhat.com>
861
862 * config.in: Regenerated.
863 * configure: Regenerated.
864 * configure.in: New tests for HAVE_PRPSINFO_T_PR_PID,
865 HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and
866 HAVE_PSINFO32_T_PR_PID.
867 * elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by
868 HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID
869 and HAVE_PSINFO32_T_PR_PID.
870 * hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition.
871
bc989cdc
JK
8722011-05-10 Jan Kratochvil <jan.kratochvil@redhat.com>
873
874 * elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and
875 32bit psinfo.
876 * elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid.
877 * elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise.
878
fbd9ad90
PB
8792011-05-09 Paul Brook <paul@codesourcery.com>
880
881 * bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype.
882 * bfd-in2.h: Regenerate.
883 * elf32-tic6x.c: Include limits.h.
884 (tic6x_unwind_edit_type, tic6x_unwind_table_edit,
885 _tic6x_elf_section_data): New.
886 (elf32_tic6x_section_data): Define.
887 (elf32_tic6x_new_section_hook): Allocate target specific data.
888 (elf32_tic6x_add_unwind_table_edit): New function.
889 (get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size,
890 elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31,
891 elf32_tic6x_copy_exidx_entry): New functions.
892 (elf_backend_write_section): Define.
893
1bce6bd8
PB
8942011-05-09 Paul Brook <paul@codesourcery.com>
895
896 * elf32-tic6x.c (is_tic6x_elf_unwind_section_name,
897 elf32_tic6x_fake_sections): New functions.
898 (elf_backend_fake_sections): Define.
899
9cf0e282
PB
9002011-05-09 Paul Brook <paul@codesourcery.com>
901
902 * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): New function.
903 (elf_backend_gc_mark_extra_sections): Define.
904
730035f7
DK
9052011-05-07 Dave Korn <dave.korn.cygwin@gmail.com>
906
907 PR ld/12365
908 * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about
909 references to symbols defined in discarded sections.
910
88e59394
DK
9112011-05-07 Dave Korn <dave.korn.cygwin@gmail.com>
912
913 PR ld/12365
914 * coffgen.c (coff_write_symbol): Assume input section is its own
915 output section if output_section member not set.
916 (coff_write_alien_symbol): Likewise.
917
310fd250
L
9182011-05-07 H.J. Lu <hongjiu.lu@intel.com>
919
920 PR ld/12730
921 * elf.c (_bfd_elf_section_offset): Check SEC_ELF_REVERSE_COPY.
922
923 * elflink.c (elf_link_input_bfd): Reverse copy .ctors/.dtors
41e04eaa 924 sections if needed.
310fd250
L
925
926 * section.c (SEC_ELF_REVERSE_COPY): New.
927 * bfd-in2.h: Regenerated.
928
70778fc7
AM
9292011-05-07 Anders Kaseorg <andersk@ksplice.com>
930
931 PR 12739
932 * libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast.
933 * bfd-in2.h: Regenerate.
934
8185f55c
TG
9352011-05-06 Tristan Gingold <gingold@adacore.com>
936
937 * vms-alpha.c (evax_section_flags): Remove SEC_IN_MEMORY.
938 (_bfd_vms_slurp_egsd): Rename old_flags to vms_flags. Handle
939 any code section. Add comments.
940 (alpha_vms_object_p): Use void * instead of PTR.
941 (alpha_vms_create_eisd_for_section): Fix test for setting DZRO.
942 (build_module_list): Guard against no DST section. Add comments.
943 (alpha_vms_link_output_symbol): Discard undefined symbols.
944 (alpha_vms_get_section_contents): Simply memcpy if the section was
945 already loaded. Fix typo.
946 (vms_new_section_hook): Use void * instead of PTR.
947 (vms_alpha_vec): Ditto.
948
7d24e6a6
RS
9492011-05-06 Richard Sandiford <richard.sandiford@linaro.org>
950
951 * elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb
952 branch to a PLT entry, redirect it to the PLT's Thumb entry point.
953
c6a8f6e0
BS
9542011-05-05 Bernd Schmidt <bernds@codesourcery.com>
955
956 * elf32-tic6x.c (elf32_tic6x_final_link): New function.
957 (elf32_tic6x_merge_attributes): Do not warn for PID or PIC
958 mismatch. Choose the lower of the two values.
959 (bfd_elf32_bfd_final_link): New macro.
960
7f41df2e
TG
9612011-04-28 Tristan Gingold <gingold@adacore.com>
962
963 * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file.
964 (bfd_xcoff_swap_aux_out): Ditto.
965 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto.
966 (bfd_xcoff64_swap_aux_out): Ditto.
967
9507a174
AM
9682011-05-04 Alan Modra <amodra@gmail.com>
969
970 PR ld/12727
971 * elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear
972 was_undefined on dot-symbols.
973
2fbb87f6
PB
9742011-05-03 Paul Brook <paul@codesourcery.com>
975
976
977 * elf32-tic6x.c (elf32_tic6x_howto_table,
978 elf32_tic6x_howto_table_rel, (elf32_tic6x_gc_sweep_hook,
979 elf32_tic6x_relocate_section, elf32_tic6x_check_relocs):
980 Add R_C6000_EHTYPE.
981
9d4057ee
AM
9822011-05-01 Alan Modra <amodra@gmail.com>
983
984 PR ld/12718
985 * elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before
986 creating ifunc sections.
987 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
988
71e7aa7d
L
9892011-04-30 H.J. Lu <hongjiu.lu@intel.com>
990
991 * elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter
992 names.
993
b5dee4ea
TT
9942011-04-28 Tom Tromey <tromey@redhat.com>
995
996 * bfdio.c (memory_bstat): Pass correct size to memset.
997
e4c93b56
MF
9982011-04-28 Mike Frysinger <vapier@gentoo.org>
999
1000 * dwarf2.c (dwarf_debug_sections): Mark const.
1001 * elf.c (special_sections): Likewise.
1002 * libbfd-in.h (dwarf_debug_sections): Likewise.
1003 * libbfd.h: Regenerate.
1004
72b016b4
NC
10052011-04-26 Kai Tietz <ktietz@redhat.com>
1006
1007 * coffcode.h (sec_to_styp_flags): Allow linkonce for
1008 debugging sections.
1009
4964e065
TG
10102011-04-26 Tristan Gingold <gingold@adacore.com>
1011
1012 * coff64-rs6000.c: Convert to ISO-C. Remove PARAMS and PTR macros.
1013
35ed3f94
AM
10142011-04-24 Alan Modra <amodra@gmail.com>
1015
1016 PR ld/12365
1017 PR ld/12696
1018 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call.
1019 * linker.c (_bfd_link_hash_newfunc): Clear bitfields.
1020 (_bfd_generic_link_add_one_symbol): Update "notice" call.
1021 * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when
1022 it is a redef of an IR symbol in a real BFD.
1023
b70321a2
L
10242011-04-22 H.J. Lu <hongjiu.lu@intel.com>
1025
1026 * elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation
1027 in readonly section in a shared object.
1028 (elf_i386_size_dynamic_sections): Likewise.
1029 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
1030 (elf_x86_64_size_dynamic_sections): Likewise.
1031
aa715242
L
10322011-04-21 H.J. Lu <hongjiu.lu@intel.com>
1033
1034 PR ld/12694
1035 * elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC
1036 symbols.
1037 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
1038
f6df62c8
L
10392011-04-21 H.J. Lu <hongjiu.lu@intel.com>
1040
1041 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false
1042 on dynamic symbol error.
1043 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
1044
4bbd5a24
TG
10452011-04-20 Tristan Gingold <gingold@adacore.com>
1046
1047 * config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs.
1048
8ad17b3a
AM
10492011-04-20 Alan Modra <amodra@gmail.com>
1050
1051 * hash.c (bfd_default_hash_table_size): Make it an unsigned long.
1052 (bfd_hash_table_init_n): Overflow checking.
1053 (bfd_hash_set_default_size): Return current size. Take unsigned long
1054 arg. Add 65537 to hash_size primes.
1055 * bfd-in.h (bfd_hash_set_default_size): Update prototype.
1056 * bfd-in2.h: Regenerate.
1057
1b0df531
JK
10582011-04-20 Jan Kratochvil <jan.kratochvil@redhat.com>
1059
1060 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of
1061 memmove elements.
1062
595213d4
AM
10632011-04-20 Alan Modra <amodra@gmail.com>
1064
9e6619e2
AM
1065 * libbfd.c (bfd_log2): Do return rounded up value.
1066 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2
1067 call with expanded old round down version of the function.
1068
595213d4
AM
1069 * archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
1070 * elflink.c (elf_link_add_object_symbols): Delete redundant code.
1071
02d00247
AM
10722011-04-20 Alan Modra <amodra@gmail.com>
1073
1074 PR ld/12365
1075 * elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols
1076 in their own common section.
1077 * elflink.c (elf_link_add_object_symbols): Likewise.
1078 * linker.c (generic_link_check_archive_element): Don't lose flags
1079 if common section is pre-existing.
1080 (_bfd_generic_link_add_one_symbol): Likewise.
1081
24f58f47
AM
10822011-04-20 Alan Modra <amodra@gmail.com>
1083
1084 PR ld/12365
1085 * elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls.
1086 * linker.c (_bfd_generic_link_add_one_symbol): Likewise. Call
1087 multiple_definition regardless of allow_multiple_definition.
1088 * simple.c (simple_dummy_multiple_definition): Update.
1089 * xcofflink.c (xcoff_link_add_symbols): Update multiple_definition
1090 calls.
1091
417236c0
TG
10922011-04-18 Tristan Gingold <gingold@adacore.com>
1093
1094 * coff-rs6000.c: Convert to ISO-C. Remove PARAMS macro.
1095
901f1d17
AM
10962011-04-18 Alan Modra <amodra@gmail.com>
1097
1098 PR ld/12365
1099 PR ld/12672
1100 * bfd.c (BFD_PLUGIN): Define.
1101 (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN.
1102 * bfd-in2.h: Regenerate.
1103 * elflink.c (elf_link_output_extsym): Strip undefined plugin syms.
1104 * opncls.c (bfd_make_readable): Don't lose original bfd flags.
1105
63524580
JK
11062011-04-17 Jan Kratochvil <jan.kratochvil@redhat.com>
1107
1108 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for
1109 SEC_LOAD.
1110
e21e5835
NC
11112011-04-15 Sergio Durigan Junior <sergiodj@redhat.com>
1112
1113 * elf-bfd.h (struct sdt_note): New struct.
1114 (struct elf_obj_tdata) <sdt_note_head>: New field.
1115 * elf.c (elfobj_grok_stapsdt_note_1): New function.
1116 (elfobj_grok_stapsdt_note): Likewise.
1117 (elf_parse_notes): Added code to treat SystemTap note
1118 sections.
1119
6452a567
RH
11202011-04-12 Richard Henderson <rth@redhat.com>
1121
1122 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Do not
1123 exclude empty .got sections.
1124
2a750708
L
11252011-04-11 H.J. Lu <hongjiu.lu@intel.com>
1126
1127 * elf32-i386.c (elf_i386_reloc_type_lookup): Fix the out of bound
1128 array access for BFD_RELOC_386_IRELATIVE.
1129
2123f9ad
BS
11302011-04-11 Bernd Schmidt <bernds@codesourcery.com>
1131
1132 * elf32-tic6x.c (elf32_tic6x_check_relocs): Initialize pc_count field.
1133
f64b2e8d
NC
11342011-04-11 Mark Wielaard <mjw@redhat.com>
1135
1136 PR 10549
1137 * elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols.
1138 (has_gnu_symbols): Renamed from has_ifunc_symbols.
1139 * elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name.
1140 * elf32-arm.c (elf32_arm_add_symbol_hook): Set has_gnu_symbols
1141 also if STB_GNU_UNIQUE symbol binding was seen.
1142 * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
1143 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1144 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1145 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1146 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1147 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
1148
e57278ef
AM
11492011-04-11 Alan Modra <amodra@gmail.com>
1150
1151 * bfd-in.h (bfd_get_section_limit): Don't use rawsize with output
1152 sections.
1153 * libbfd.c (_bfd_generic_get_section_contents): Likewise.
1154 (_bfd_generic_get_section_contents_in_window): Likewise.
1155 * section.c (bfd_get_section_contents): Likewise.
1156 * compress.c (bfd_get_full_section_contents): Likewise.
1157 * elf32-rx.c (rx_final_link): Ignore rawsize.
1158 * elf32-microblaze.c (microblaze_elf_relocate_section): Use correct
1159 bfd with bfd_get_section_limit.
1160 * elfxx-ia64.c (elfNN_ia64_choose_gp): Add "final" parameter. Use
1161 os->size during final link. Update callers.
1162 * bfd-in2.h: Regenerate.
1163
e2ece73c
RS
11642011-04-10 Richard Sandiford <rdsandiford@googlemail.com>
1165
1166 PR ld/12637
1167 * elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count
1168 as the number of global entries when merging with the primary GOT.
1169
9f973f28
L
11702011-04-09 H.J. Lu <hongjiu.lu@intel.com>
1171
1172 * elf32-i386.c: Update copyright year.
1173 * elf64-x86-64.c: Likewise.
1174
21e68916
KT
11752011-04-09 Kai Tietz <ktietz@redhat.com>
1176
1177 * peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary
1178 buffer and use rawsize for sorting.
1179 * coffcode.h (coff_compute_section_file_positions): Set rawsize
1180 before doing alignment.
1181
62d78908
L
11822011-04-09 H.J. Lu <hongjiu.lu@intel.com>
1183
1184 * elf32-i386.c (elf_i386_relocate_section): Return relocation
1185 error on unsupported relocation.
1186 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1187
2351cae0
L
11882011-04-09 H.J. Lu <hongjiu.lu@intel.com>
1189
1190 PR binutils/12657
1191 * hosts/x86-64linux.h (elf_prstatus32): Replace __pid_t with
1192 pid_t.
1193
959b0961
L
11942011-04-08 H.J. Lu <hongjiu.lu@intel.com>
1195
1196 PR ld/12654
1197 * elf32-i386.c (elf_i386_relocate_section): Check !executable
1198 instead of shared for R_386_TLS_LDO_32.
1199
33b54431
TG
12002011-04-08 Tristan Gingold <gingold@adacore.com>
1201
1202 * Makefile.am (SOURCE_HFILES): Remove xcoff-target.h
1203 * coff-pmac: Remove
1204 * xcoff-target.h: Remove
1205 * Makefile.in: Regenerate.
1206
5d8e6b4d
CC
12072011-04-07 Cary Coutant <ccoutant@google.com>
1208
1209 * dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification.
1210
44e87ece 12112011-04-07 Paul Brook <paul@codesourcery.com>
33b54431 1212
44e87ece
PB
1213 * elf32-tic6x.c (elf32_tic6x_howto_table): R_C6000_PREL31 is
1214 pc-relative.
1215 (elf32_tic6x_howto_table_rel): Ditto.
1216 (elf32_tic6x_relocate_section): Implement R_C6000_PREL31.
1217 (elf32_tic6x_check_relocs): Ditto.
1218
8c5fc800
JM
12192011-04-06 Joseph Myers <joseph@codesourcery.com>
1220
1221 * config.bfd (thumb-*-oabi): Don't handle in list of obsolete
1222 targets.
1223 (strongarm*, thumb*, xscale*): Remove architectures.
1224 (strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
1225 thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
1226 xscale-*-coff): Remove targets.
1227
6f8027ae
TG
12282011-04-01 Tristan Gingold <gingold@adacore.com>
1229
1230 * elfxx-ia64.c: include bfd_stdint.h
1231
c89ce65c
JK
12322011-03-31 Jan Kratochvil <jan.kratochvil@redhat.com>
1233
1234 * elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable
1235 dynobj and its initialization.
1236
545f57c6
TG
12372011-03-31 Tristan Gingold <gingold@adacore.com>
1238
1239 * makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec.
1240 * configure.com: Set BFD_HOST_64BIT_LONG_LONG and
1241 BFD_HOST_LONG_LONG to 1.
1242
083faca9
TG
12432011-03-31 Tristan Gingold <gingold@adacore.com>
1244
1245 * vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning.
1246 (_bfd_vms_write_etir): Ditto.
1247 (_bfd_vms_slurp_etir): Avoid to use intptr_t
1248 * configure.com: Generate bfd_stdint.h
1249
ac145307
BS
12502011-03-31 Bernd Schmidt <bernds@codesourcery.com>
1251
1252 * elf32-tic6x.h (struct elf32_tic6x_params): New.
1253 (elf32_tic6x_setup): Declare.
1254 * elf32-tic6x.c: Include <limits.h>.
1255 (ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define.
1256 (struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry):
1257 New structures.
1258 (elf32_tic6x_link_hash_table, is_tic6x_elf): New macros.
1259 (tic6x_elf_scom_section, tic6x_elf_scom_symbol,
1260 tic6x_elf_scom_symbol_ptr): New static variables.
1261 (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel,
1262 elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE,
1263 R_C6000_PCR_H16 and R_C6000_PCR_L16.
1264 (elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create,
1265 elf32_tic6x_link_hash_table_free, elf32_tic6x_setup,
1266 elf32_tic6x_using_dsbt, elf32_tic6x_install_rela,
1267 elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc,
1268 elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook,
1269 elf32_tic6x_adjust_dynamic_symbol): New static functions.
1270 (elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches
1271 to weak symbols as required by the ABI.
1272 Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file
1273 as needed when generating DSBT output.
1274 (elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook,
1275 elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section,
1276 elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections,
1277 elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers,
1278 elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val,
1279 elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym):
1280 New static functions.
1281 (ELF_MAXPAGESIZE): Define to 0x1000.
1282 (bfd_elf32_bfd_copy_private_bfd_data,
1283 bfd_elf32_bfd_link_hash_table_create,
1284 bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount,
1285 elf_backend_want_got_plt, elf_backend_want_dynbss,
1286 elf_backend_plt_readonly, elf_backend_got_header_size,
1287 elf_backend_gc_sweep_hook, elf_backend_modify_program_headers,
1288 elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
1289 elf_backend_check_relocs, elf_backend_add_symbol_hook,
1290 elf_backend_symbol_processing, elf_backend_link_output_symbol_hook,
1291 elf_backend_section_from_bfd_section,
1292 elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections,
1293 elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections,
1294 elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define.
1295
1296 * bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE,
1297 BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add.
1298 * bfd/bfd-in2.h: Regenerate.
1299 * bfd/libbfd.h: Regenerate.
1300 * config.bfd: Accept tic6x-*-* instead of tic6x-*-elf.
1301
53dd76d3
TG
13022011-03-31 Tristan Gingold <gingold@adacore.com>
1303
1304 * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
1305 entry on xcoff when value is C_NULL_VALUE.
1306
13072011-03-31 Tristan Gingold <gingold@adacore.com>
2040caca
TG
1308
1309 * libcoff-in.h (exec_hdr): Remove.
1310 * libcoff.h: Regenerate.
1311
3a294fa7
NC
13122011-03-30 Nick Clifton <nickc@redhat.com>
1313
1314 * po/da.po: Updated Danish translation.
1315
e117360e
RH
13162011-03-29 Richard Henderson <rth@redhat.com>
1317
1318 * elf64-alpha.c (elf64_alpha_gc_mark_hook): New.
1319 (elf64_alpha_gc_sweep_hook): New.
1320 (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): New.
1321 (elf_backend_can_gc_sections): New.
1322
5b806d27
NC
13232011-03-26 John Marino <binutils@marino.st>
1324
1325 * config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*.
1326 * configure.in: Delete unused bfd_elf32_i386_dragonfly_vec.
1327 * configure: Regenerate.
1328
b42adabf
NC
13292011-03-25 Michael Snyder <msnyder@vmware.com>
1330
1331 * coffcode.h (coff_set_alignment_hook): Check return of bfd_seek.
1332
a283ff93
TG
13332011-03-25 Tristan Gingold <gingold@adacore.com>
1334
1335 * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Allow the use
1336 of find_nearest_line on object files.
1337
cf6b8767
TG
13382011-03-25 Tristan Gingold <gingold@adacore.com>
1339
1340 * vms-alpha.c (evax_section_flags): Make $CODE$ section read-only.
1341 Minor reordering.
1342 (alpha_vms_create_eisd_for_section): Make code sections read-only.
1343
663a1470
AM
13442011-03-24 Alan Modra <amodra@gmail.com>
1345
1346 * elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where
1347 old-style __tls_get_addr calls without marker relocs don't match
1348 their arg setup insn one for one. If such mismatches are found
1349 report the reloc and don't do any tls optimization.
1350 * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
1351
dc80f6ae
EW
13522011-03-22 Eric B. Weddington <eric.weddington@atmel.com>
1353
1354 * bfd-in2.h: Regenerate.
1355
8cc66334
EW
13562011-03-22 Eric B. Weddington <eric.weddington@atmel.com>
1357
1358 * archures.c: Add AVR XMEGA architecture information.
1359 * cpu-avr.c (arch_info_struct): Likewise.
1360 * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
1361 (elf32_avr_object_p): Likewise.
1362
34e77a92
RS
13632011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1364
1365 * reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation.
1366 * bfd-in2.h: Regenerate.
1367 * elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition
1368 to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE
1369 entry.
1370 (elf32_arm_howto_from_type): Update accordingly.
1371 (elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE.
1372 (elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3.
1373 (arm_plt_info): New structure, split out from elf32_arm_link_hash_entry
1374 with an extra noncall_refcount field.
1375 (arm_local_iplt_info): New structure.
1376 (elf_arm_obj_tdata): Add local_iplt.
1377 (elf32_arm_local_iplt): New accessor macro.
1378 (elf32_arm_link_hash_entry): Replace plt_thumb_refcount,
1379 plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info.
1380 Change tls_type to a bitfield and add is_iplt.
1381 (elf32_arm_link_hash_newfunc): Update accordingly.
1382 (elf32_arm_allocate_local_sym_info): New function.
1383 (elf32_arm_create_local_iplt): Likewise.
1384 (elf32_arm_get_plt_info): Likewise.
1385 (elf32_arm_plt_needs_thumb_stub_p): Likewise.
1386 (elf32_arm_get_local_dynreloc_list): Likewise.
1387 (create_ifunc_sections): Likewise.
1388 (elf32_arm_copy_indirect_symbol): Update after the changes to
1389 elf32_arm_link_hash_entry. Assert the is_iplt has not yet been set.
1390 (arm_type_of_stub): Add an st_type argument. Use elf32_arm_get_plt_info
1391 to get PLT information. Assert that all STT_GNU_IFUNC references
1392 are turned into PLT references.
1393 (arm_build_one_stub): Pass the symbol type to
1394 elf32_arm_final_link_relocate.
1395 (elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub.
1396 (elf32_arm_allocate_irelocs): New function.
1397 (elf32_arm_add_dynreloc): In static objects, use .rel.iplt for
1398 all R_ARM_IRELATIVE.
1399 (elf32_arm_allocate_plt_entry): New function.
1400 (elf32_arm_populate_plt_entry): Likewise.
1401 (elf32_arm_final_link_relocate): Add an st_type parameter.
1402 Set srelgot to null for static objects. Use separate variables
1403 to record which st_value and st_type should be used when generating
1404 a dynamic relocation. Use elf32_arm_get_plt_info to find the
1405 symbol's PLT information, setting has_iplt_entry, splt,
1406 plt_offset and gotplt_offset accordingly. Check whether
1407 STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change
1408 the relocation target accordingly. Broaden assert to include
1409 .iplts. Don't set sreloc for static relocations. Assert that
1410 we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32
1411 and R_ARM_ABS32_NOI. Generate R_ARM_IRELATIVE relocations instead
1412 of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC
1413 symbol. Pass the symbol type to arm_type_of_stub. Conditionally
1414 resolve GOT references to the .igot.plt entry.
1415 (elf32_arm_relocate_section): Update the call to
1416 elf32_arm_final_link_relocate.
1417 (elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT
1418 information. Treat R_ARM_REL32 and R_ARM_REL32_NOI as call
1419 relocations in shared libraries and relocatable executables.
1420 Count non-call PLT references. Use elf32_arm_get_local_dynreloc_list
1421 to get the list of dynamic relocations for a local symbol.
1422 (elf32_arm_check_relocs): Always create ifunc sections. Set isym
1423 at the same time as setting h. Use elf32_arm_allocate_local_sym_info
1424 to allocate local symbol information. Treat R_ARM_REL32 and
1425 R_ARM_REL32_NOI as call relocations in shared libraries and
1426 relocatable executables. Record PLT information for local
1427 STT_GNU_IFUNC functions as well as global functions. Count
1428 non-call PLT references. Use elf32_arm_get_local_dynreloc_list
1429 to get the list of dynamic relocations for a local symbol.
1430 (elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols.
1431 Don't remove STT_GNU_IFUNC PLTs unless all references have been
1432 removed. Update after the changes to elf32_arm_link_hash_entry.
1433 (allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT
1434 entries should live in .plt or .iplt. Check whether the .igot.plt
1435 and .got entries can be combined. Use elf32_arm_allocate_plt_entry
1436 to allocate .plt and .(i)got.plt entries. Detect which .got
1437 entries will need R_ARM_IRELATIVE relocations and use
1438 elf32_arm_allocate_irelocs to allocate them. Likewise other
1439 non-.got dynamic relocations.
1440 (elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt
1441 and dynamic relocations for local STT_GNU_IFUNC symbols.
1442 Check whether the .igot.plt and .got entries can be combined.
1443 Detect which .got entries will need R_ARM_IRELATIVE relocations
1444 and use elf32_arm_allocate_irelocs to allocate them. Use stashed
1445 section pointers intead of strcmp checks. Handle iplt and igotplt.
1446 (elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry
1447 to fill in .plt, .got.plt and .rel(a).plt entries. Point
1448 STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations
1449 resolve to it.
1450 (elf32_arm_output_plt_map_1): New function, split out from
1451 elf32_arm_output_plt_map. Handle .iplt entries. Use
1452 elf32_arm_plt_needs_thumb_stub_p.
1453 (elf32_arm_output_plt_map): Call it.
1454 (elf32_arm_output_arch_local_syms): Add mapping symbols for
1455 local .iplt entries.
1456 (elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols.
1457 (elf32_arm_swap_symbol_out): Likewise.
1458 (elf32_arm_add_symbol_hook): New function.
1459 (elf_backend_add_symbol_hook): Define for all targets.
1460
35fc36a8
RS
14612011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1462
1463 * elf-bfd.h (elf_link_hash_entry): Add target_internal.
1464 * elf.c (swap_out_syms): Set st_target_internal for each
1465 Elf_Internal_Sym.
1466 * elfcode.h (elf_swap_symbol_in): Likewise.
1467 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
1468 * elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise.
1469 * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
1470 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
1471 * elflink.c (elf_link_output_extsym): Likewise.
1472 (bfd_elf_final_link): Likewise.
1473 (elf_link_add_object_symbols): Copy st_target_internal
1474 to the hash table if we see a definition.
1475 (_bfd_elf_copy_link_hash_symbol_type): Copy target_internal.
1476 * elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with
1477 a branch_type field.
1478 (a8_erratum_fix, a8_erratum_reloc): Likewise.
1479 (arm_type_of_stub): Replace actual_st_type with an
1480 actual_branch_type parameter.
1481 (arm_build_one_stub): Use branch types rather than st_types to
1482 determine the type of branch.
1483 (cortex_a8_erratum_scan): Likewise.
1484 (elf32_arm_size_stubs): Likewise.
1485 (bfd_elf32_arm_process_before_allocation): Likewise.
1486 (allocate_dynrelocs_for_symbol): Likewise.
1487 (elf32_arm_finish_dynamic_sections): Likewise.
1488 (elf32_arm_final_link_relocate): Replace sym_flags parameter with
1489 a branch_type parameter.
1490 (elf32_arm_relocate_section): Update call accordingly.
1491 (elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC.
1492 (elf32_arm_output_map_sym): Initialize st_target_internal.
1493 (elf32_arm_output_stub_sym): Likewise.
1494 (elf32_arm_symbol_processing): Delete.
1495 (elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs.
1496 Use st_target_internal to record the branch type.
1497 (elf32_arm_swap_symbol_out): Use st_target_internal to test for
1498 Thumb functions.
1499 (elf32_arm_is_function_type): Delete.
1500 (elf_backend_symbol_processing): Likewise.
1501 (elf_backend_is_function_type): Likewise.
1502
cbc704f3
RS
15032011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1504
1505 * elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj.
1506 (elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion
1507 into the PLT block.
1508
f6e32f6d
RS
15092011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1510
1511 * elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p,
1512 may_need_local_target_p and may_become_dynamic_p to classify
1513 the relocation type. Don't check info->symbolic or h->def_regular
1514 when deciding whether to record a potential dynamic reloc.
1515 Don't treat potential dynamic relocs as PLT references.
1516 (elf32_arm_gc_sweep_hook): Update to match. Assert that we don't
1517 try to make the PLT reference count go negative.
1518
b436d854
RS
15192011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1520
1521 * elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the
1522 GOT entry here, rather than leaving it to finish_dynamic_symbol.
1523 Only create a dynamic relocation for local references if
1524 info->shared.
1525 (allocate_dynrelocs_for_symbol): Update dynamic relocation
1526 allocation accordingly.
1527 (elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here.
1528
47beaa6a
RS
15292011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1530
1531 * elf32-arm.c (elf32_arm_allocate_dynrelocs): New function.
1532 (elf32_arm_add_dynreloc): Likewise.
1533 (elf32_arm_adjust_dynamic_symbol): Use elf32_arm_allocate_dynrelocs
1534 to allocate dynamic relocations.
1535 (elf32_arm_size_dynamic_sections): Likewise.
1536 (allocate_dynrelocs): Likewise. Rename to
1537 allocate_dynrelocs_for_symbol.
1538 (elf32_arm_final_link_relocate): Use elf32_arm_add_dynreloc to
1539 create dynamic relocations.
1540 (elf32_arm_finish_dynamic_symbol): Likewise.
1541
52bc799a
L
15422011-03-12 H.J. Lu <hongjiu.lu@intel.com>
1543
1544 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
1545 x32 GD->IE and GD->LE transitions.
1546 (elf_x86_64_relocate_section): Supprt TLS x32 GD->IE, GD->LE
1547 and LD->LE transitions.
1548
e11840f9
AM
15492011-03-10 Alan Modra <amodra@gmail.com>
1550
1551 * elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset
1552 for LO_DS error message and correct multiple.
1553
aa374f67
AM
15542011-03-10 Alan Modra <amodra@gmail.com>
1555
1556 * elf64-ppc.c (bfd_elf64_bfd_link_just_syms): Define.
1557 (ppc64_elf_link_just_syms): New function.
1558 (opd_entry_value): Don't assume big-endian host.
1559 (get_r2off): New function.
1560 (ppc_build_one_stub, ppc_size_one_stub): Use it here.
1561
d59a60e9
MS
15622011-03-06 Michael Snyder <msnyder@vmware.com>
1563
4281caad
MS
1564 * compress.c (bfd_compress_section_contents): Check for out of mem.
1565
17672001
MS
1566 * elf64-x86-64.c (elf_x86_64_relocate_section): Document
1567 that case statement falls through intentionally.
1568
d59a60e9
MS
1569 * elf32-i386.c (elf_i386_relocate_section): Document fall through.
1570
0e29e6e8
AM
15712011-03-04 Alan Modra <amodra@gmail.com>
1572
1573 * archive.c (bsd_write_armap): Don't call stat in deterministic
1574 mode, and don't use st_mtime if stat returns error.
1575
eb00922a
MS
15762011-03-03 Michael Snyder <msnyder@vmware.com>
1577
08c13595
MS
1578 * elf64-x86-64.c (elf_x86_64_relocate_section): Remove dead code.
1579
d543c50d
MS
1580 * coff-x86_64.c (coff_amd64_rtype_to_howto): Fencepost error.
1581
c38eb2a6
MS
1582 * aoutx.h (aout_final_link): Use sizeof int not sizeof int*.
1583 (aout_link_write_other_symbol): Missing break statement.
1584
8ecc1f20
MS
1585 * dwarf2.c (scan_unit_for_symbols): Stop memory leak.
1586
eb00922a
MS
1587 * archive.c (_bfd_slurp_extended_name_table): Fail if bfd_seek fails.
1588
4a4c5f25
L
15892011-03-03 H.J. Lu <hongjiu.lu@intel.com>
1590
1591 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
1592 x32 IE->LE transition.
1593 (elf_x86_64_relocate_section): Likewise.
1594
ddcf1fcf
BS
15952011-03-02 Bernd Schmidt <bernds@codesourcery.com>
1596
aa374f67
AM
1597 * elflink.c (is_reloc_section): Remove function.
1598 (get_dynamic_reloc_section_name): Construct string manually.
ddcf1fcf 1599
007d6189
KT
16002011-02-28 Kai Tietz <kai.tietz@onevision.com>
1601
1602 * archive.c (_bfd_find_nested_archive): Use filename_(n)cmp.
1603 (adjust_relative_path): Likewise.
1604 (_bfd_construct_extended_name_table): Likewise.
1605 * corefile.c (generic_core_file_matches_executable_p): Likewise.
1606 * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
1607 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1608 * elf32-spu.c (sort_bfds): Likewise.
1609 (spu_elf_auto_overlay): Likewise.
1610 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1611 * xcofflink.c (xcoff_set_import_path): Likewise.
1612 * xtensa-isa.c (xtensa_regfile_lookup): Likewise.
1613 (xtensa_regfile_lookup_shortname): Likewise.
1614
8616ad89
AM
16152011-02-28 Alan Modra <amodra@gmail.com>
1616
1617 PR 12513
1618 * archive.c (bfd_slurp_bsd_armap_f2): Sanity check parsed_size and
1619 stringsize. Properly sanity check symdef_count. Remove redundant
1620 bfd_release.
1621
80549d04
RÁE
16222011-02-25 Rafael Ávila de Espíndola <respindola@mozilla.com>
1623
1624 * plugin.c (bfd_plugin_object_p): Correctly set the filesize
1625 and handle claim_file seeking. Only try to load the plugin once.
1626
93b3ac75
AS
16272011-02-22 Andreas Schwab <schwab@redhat.com>
1628
1629 * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD
1630 relocation read the value from the second GOT slot.
1631
6fa052f0
TG
16322011-02-15 Tristan Gingold <gingold@adacore.com>
1633
1634 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment.
1635
28be611c
AM
16362011-02-15 Alan Modra <amodra@gmail.com>
1637
1638 * elf64-ppc.c (ppc64_elf_edit_toc): Reinstate second read of
1639 toc relocs. Fuss over free(NULL).
1640
93252b1c
MF
16412011-02-14 Mike Frysinger <vapier@gentoo.org>
1642
1643 * elflink.c (bfd_elf_size_dynamic_sections): Add
1644 bfd_get_symbol_leading_char to the start of newname.
1645
822ce8ee
RW
16462011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1647
1648 * configure: Regenerate.
1649
425b145b
AM
16502011-02-09 Alan Modra <amodra@gmail.com>
1651
1652 * elf64-ppc.c (ppc64_elf_edit_toc): Don't free toc relocs until
1653 we are done. When optimising large toc, check that a global
1654 symbol on a toc reloc is defined in a kept section.
1655
82f2dbf7
NC
16562011-02-08 Nick Clifton <nickc@redhat.com>
1657
1658 PR binutils/12467
1659 * elf.c (assign_file_positions_for_load_sections): Set the program
1660 header offset and entry size to zero if there are no program
1661 headers.
1662
df22d223
AM
16632011-02-08 Alan Modra <amodra@gmail.com>
1664
1665 * elf64-ppc.c (ppc64_elf_edit_toc): Don't segfault on NULL
1666 local_syms when looking for local symbols in .toc.
1667
6683a28d
AM
16682011-02-01 Alan Modra <amodra@gmail.com>
1669
1670 * elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value
1671 for toc pointer on any section having makes_toc_func_call set.
1672 (check_pasted_section): Ensure pasted .init/.fini fragments use
1673 the same toc if any has makes_toc_func_call set.
1674
5240d94d
JM
16752011-01-28 Joseph Myers <joseph@codesourcery.com>
1676
1677 * elf32-ppc.c (ppc_elf_link_hash_newfunc): Initialize has_sda_refs
1678 field.
1679
ed88c97e
RS
16802011-01-22 Richard Sandiford <rdsandiford@googlemail.com>
1681
1682 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Ignore
1683 common sections too.
1684
1a0c107f
L
16852011-01-18 H.J. Lu <hongjiu.lu@intel.com>
1686
04449d86
L
1687 * elf64-x86-64.c (elf_backend_want_plt_sym): Redefine to 0 after
1688 Solaris target.
1a0c107f 1689
d68cd58c
NC
16902011-01-18 Pierre Muller <muller@ics.u-strasbg.fr>
1691
1692 Fix compilation for mingw64.
1693 * coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate
1694 typecast to avoid warning.
1695 * elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type
1696 usage.
1697 * elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead
1698 of long for pointer to avoid warning.
1699 (elfNN_ia64_relax_brl): Idem.
1700 (elfNN_ia64_install_value): Idem.
1701 * vms-alpha.c (_bfd_vms_slurp_etir): Idem.
1702
da17376b
RS
17032011-01-17 Richard Sandiford <richard.sandiford@linaro.org>
1704
1705 * elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than
1706 h->needs_plt when deciding whether to record a possible dynamic reloc.
1707
1e81e12b
RS
17082011-01-17 Richard Sandiford <richard.sandiford@linaro.org>
1709
1710 * elf32-arm.c (elf32_arm_gc_sweep_hook): Remove all registered
1711 dynamic relocs for the removed section.
1712
d1534d16
L
17132011-01-15 H.J. Lu <hongjiu.lu@intel.com>
1714
1715 * elf64-x86-64.c (elf_x86_64_check_relocs): Check invalid x32
1716 relocations.
1717
248775ba
L
17182011-01-14 H.J. Lu <hongjiu.lu@intel.com>
1719
1720 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add pointer_r_type.
1721 (elf_x86_64_link_hash_table_create): Set pointer_r_type.
1722 (elf_x86_64_check_relocs): Handle R_X86_64_32 like R_X86_64_64
1723 for ILP32. Remove ABI_64_P PIC check for R_X86_64_8,
1724 R_X86_64_16, R_X86_64_32 and R_X86_64_32S.
1725 (elf_x86_64_relocate_section): Handle R_X86_64_32 like R_X86_64_64
1726 for ILP32.
1727
4a97a0e5
AM
17282011-01-14 Alan Modra <amodra@gmail.com>
1729
1730 * bfd.c (bfd_perror): Flush stdout before and stderr after printing
1731 error.
1732 (_bfd_default_error_handler): Likewise.
1733 * elf.c (print_segment_map): Likewise.
1734 * libbfd.c (warn_deprecated): Likewise.
1735 * som.c (som_sizeof_headers): No need to do so here.
1736 * coff-i860.c: Replace use of printf for error messages with
1737 _bfd_error_handler.
1738 * coff-ppc.c: Likewise.
1739 * coff-sh.c: Likewise.
1740 * elf32-bfin.c: Likewise.
1741 * elf32-dlx.c: Likewise.
1742 * elf32-mep.c: Likewise.
1743 * elf32-v850.c: Likewise.
1744 * mach-o.c: Likewise.
1745 * pef.c: Likewise.
1746
82e96e07
L
17472011-01-13 H.J. Lu <hongjiu.lu@intel.com>
1748
1749 * elf64-x86-64.c (elf_x86_64_link_hash_table): Remove
1750 swap_reloca_out.
1751 (elf_x86_64_link_hash_table_create): Don't set swap_reloca_out.
1752 (elf_x86_64_check_relocs): Align relocation section to 4 byte
1753 for 32bit.
1754 (elf_x86_64_gc_sweep_hook): Replace ELF64_ST_TYPE with
1755 ELF_ST_TYPE.
1756 (elf_x86_64_finish_dynamic_symbol): Updated.
1757 (elf_x86_64_finish_dynamic_sections): Don't use
1758 Elf64_External_Dyn, bfd_elf64_swap_dyn_in, nor
1759 bfd_elf64_swap_dyn_out.
1760
e6a6bb22
AM
17612011-01-14 J. Park <grassman@gmail.com>
1762
1763 PR ld/12339
1764 * elf32-arm.c (allocate_dynrelocs): Don't set up eh before
1765 following bfd_link_hash_warning symbol link.
1766
0855e32b
NS
17672011-01-10 Nathan Sidwell <nathan@codesourcery.com>
1768 Glauber de Oliveira Costa <glommer@gmail.com>
1769
1770 * reloc.c (BFD_RELOC_ARM_TLS_GOTDESC, BFD_RELOC_ARM_TLS_CALL,
1771 BFD_RELOC_ARM_THM_TLS_CALL, BFD_RELOC_ARM_TLS_DESCSEQ,
1772 BFD_RELOC_ARM_THM_TLS_DESCSEQ, BFD_RELOC_ARM_TLS_DESC): New
1773 relocations.
1774 * libbfd.h: Rebuilt.
1775 * bfd-in2.h: Rebuilt.
1776 * elf32-arm.c (elf32_arm_howto_table_1): Add new relocations.
1777 (elf32_arm_reloc_map): Likewise.
1778 (tls_trampoline, dl_tlsdesc_lazy_trampoline): New PLT templates.
1779 (elf32_arm_stub_long_branch_any_tls_pic,
1780 elf32_arm_stub_long_branch_v4t_thumb_tls_pic): New stub templates.
1781 (DEF_STUBS): Add new stubs.
1782 (struct_elf_arm_obj_data): Add local_tlsdesc_gotent field.
1783 (elf32_arm_local_tlsdesc_gotent): New.
1784 (GOT_TLS_GDESC): New mask.
1785 (GOT_TLS_GD_ANY): Define.
1786 (struct elf32_arm_link_hash_entry): Add tlsdesc_got field.
1787 (elf32_arm_compute_jump_table_size): New.
1788 (struct elf32_arm_link_hash_table): Add next_tls_desc_index,
1789 num_tls_desc, dt_tlsdesc_plt, dt_tlsdesc_got, tls_trampoline,
1790 sgotplt_jump_table_size fields.
1791 (elf32_arm_link_hash_newfunc): Initialize tlsdesc_got field.
1792 (elf32_arm_link_hash_table_create): Initialize new fields.
1793 (arm_type_of_stub): Check TLS desc relocs too.
1794 (elf32_arm_stub_name): TLS desc relocs can be shared.
1795 (elf32_arm_tls_transition): Determine relaxation.
1796 (arm_stub_required_alignment): Add tls stubs.
1797 (elf32_arm_size_stubs): Likewise.
1798 (elf32_arm_tls_relax): Perform TLS relaxing.
1799 (elf32_arm_final_link_relocate): Process TLS DESC relocations.
1800 (IS_ARM_TLS_GNU_RELOC): New.
1801 (IS_ARM_TLS_RELOC): Use it.
1802 (elf32_arm_relocate_section): Perform TLS relaxing.
1803 (elf32_arm_check_relocs): Anticipate TLS relaxing, process tls
1804 desc relocations.
1805 (allocate_dynrelocs): Allocate tls desc relcoations.
1806 (elf32_arm_output_arch_local_syms): Emit tls trampoline mapping
1807 symbols.
1808 (elf32_arm_size_dynamic_sections): Allocate tls trampolines and
1809 got slots.
1810 (elf32_arm_always_size_sections): New. Create _TLS_MODULE_BASE
1811 symbol.
1812 (elf32_arm_finish_dynamic_symbol): Adjust.
1813 (arm_put_trampoline): New.
1814 (elf32_arm_finish_dynamic_sections): Emit new dynamic tags and tls
1815 trampolines.
1816 (elf_backend_always_size_sections): Define.
1817
7be86737
L
18182011-01-06 H.J. Lu <hongjiu.lu@intel.com>
1819
1820 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Optimized.
1821
ae428b57 18222011-01-06 H.J. Lu <hongjiu.lu@intel.com>
3db2e7dd
L
1823
1824 PR ld/12366
1825 PR ld/12371
1826 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly
1827 handle symbols marked with regular reference, but not non-GOT
1828 reference when building shared library.
1829
1830 * elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle
1831 local and global STT_GNU_IFUNC symols when building shared
1832 library.
1833 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
1834
9689e3a3
DD
18352011-01-05 DJ Delorie <dj@redhat.com>
1836
1837 * reloc.c: Add BFD_RELOC_RX_OP_NEG.
1838 * libbfd.h: Regenerate.
1839 * bfd-in2.h: Regenerate.
1840 * elf32-rx.c: Add it to the list, corresponding to R_RX_OPneg.
1841
889a4d3e
L
18422011-01-03 H.J. Lu <hongjiu.lu@intel.com>
1843
1844 * cpu-i386.c (bfd_i386_compatible): New.
1845 (bfd_x64_32_arch_intel_syntax): Replace bfd_default_compatible
1846 with bfd_i386_compatible.
1847 (bfd_x86_64_arch_intel_syntax): Likewise.
1848 (bfd_i386_arch_intel_syntax): Likewise.
1849 (i8086_arch): Likewise.
1850 (bfd_x64_32_arch): Likewise.
1851 (bfd_x86_64_arch): Likewise.
1852 (bfd_i386_arch): Likewise.
1853
9e9e0820 1854For older changes see ChangeLog-2010
56882138
AM
1855\f
1856Local Variables:
1857mode: change-log
1858left-margin: 8
1859fill-column: 74
1860version-control: never
1861End:
This page took 0.636282 seconds and 4 git commands to generate.