]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/ChangeLog
* elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Rename from
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
48f4b4f5
RH
12011-06-14 Richard Henderson <rth@redhat.com>
2
3 * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Rename from
4 elf64_alpha_merge_ind_symbols; adjust for the generic interface.
5 (elf64_alpha_always_size_sections): Don't call
6 elf64_alpha_merge_ind_symbols.
7 (elf_backend_copy_indirect_symbol): New.
8
4d16d575
AM
92011-06-14 Alan Modra <amodra@gmail.com>
10
11 PR ld/12887
12 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Check sec_info_type
13 before doing anything.
14 (_bfd_elf_discard_section_eh_frame): Likewise.
15
1e24d83c
AM
162011-06-14 Alan Modra <amodra@gmail.com>
17
18 * Makefile.am: Formatting.
19 * Makefile.in: Regenerate.
20 * configure.in (bfd_elf64_tilegx_vec): Add elfxx-tilegx.lo.
21 * po/SRC-POTFILES.in: Regnerate.
22
e4d34ace
AM
232011-06-14 Alan Modra <amodra@gmail.com>
24
25 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Don't use PTR.
26 (allocate_dynrelocs, readonly_dynrelocs): Replace PTR with void *.
27 Don't handle warning symbols here.
28 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): As above.
29 (allocate_dynrelocs, readonly_dynrelocs): As above.
30
7f6ab9f8
AM
312011-06-14 Alan Modra <amodra@gmail.com>
32
33 PR ld/12851
34 * elflink.c (_bfd_elf_gc_mark_extra_sections): New function.
35 (elf_gc_sweep): Don't treat debug and sections like .comment
36 specially here.
37 (bfd_elf_gc_sections): Treat note sections as gc roots only when
38 not part of a group. Always call gc_mark_extra_sections.
39 * elf-bfd.h (_bfd_elf_gc_mark_extra_sections): Declare.
40 * elfxx-target.h (elf_backend_gc_mark_extra_sections): Default to
41 _bfd_elf_gc_mark_extra_sections.
42 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Call
43 _bfd_elf_gc_mark_extra_sections.
44 * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): Likewise.
45
09d9a62a
NC
462011-06-13 Nick Clifton <nickc@redhat.com>
47
48 * elf32-tilepro.c (tilepro_elf_check_relocs): Delete unused local
49 variable 'local_got_offsets'.
50 * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
51 (tilegx_finish_dyn): Delete unused local variable 'abi_64_p'.
52
aa137e4d
NC
532011-06-13 Walter Lee <walt@tilera.com>
54
55 * Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo.
56 (ALL_MACHINE_CFILES): Add cpu-tilegx.c and cpu-tilepro.c.
57 (BFD32_BACKENDS): Add elf32-tilegx.lo, elf32-tilepro.lo,
58 and elfxx-tilegx.lo.
59 (BFD32_BACKENDS_CFILES): Add elf32-tilegx.c elf32-tilepro.c, and
60 elfxx-tilegx.c.
61 (BFD64_BACKENDS): Add elf64-tilegx.lo.
62 (BFD64_BACKENDS_CFILES): Add elf64-tilegx.c.
63 * Makefile.in: Regenerate.
64 * arctures.c (bfd_architecture): Define bfd_arch_tilepro,
65 bfd_arch_tilegx, bfd_mach_tilepro, bfd_mach_tilegx.
66 (bfd_arch_info): Add bfd_tilegx_arch, bfd_tilepro_arch.
67 (bfd_archures_list): Add bfd_tilegx_arch, bfd_tilepro_arch.
68 bfd-in2.h: Regenerate.
69 * config.bfd: Handle tilegx-*-* and tilepro-*-*.
70 * configure.in: Handle bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
71 and bfd_elf64_tilegx_vec.
72 * configure: Regenerate.
73 * elf-bfd.h (enum elf_target_id): Define TILEGX_ELF_DATA and
74 TILEPRO_ELF_DATA.
75 * libbfd.h: Regenerate.
76 * reloc.c: Add BFD_RELOC_TILEPRO_{COPY, GLOB_DAT, JMP_SLOT,
77 RELATIVE, BROFF_X1, JOFFLONG_X1, JOFFLONG_X1_PLT, IMM8_X0,
78 IMM8_Y0, IMM8_X1, IMM8_Y1, DEST_IMM8_X1, MT_IMM15_X1, MF_IMM15_X1,
79 IMM16_X0, IMM16_X1, IMM16_X0_LO, IMM16_X1_LO, IMM16_X0_HI,
80 IMM16_X1_HI, IMM16_X0_HA, IMM16_X1_HA, IMM16_X0_PCREL,
81 IMM16_X1_PCREL, IMM16_X0_LO_PCREL, IMM16_X1_LO_PCREL,
82 IMM16_X0_HI_PCREL, IMM16_X1_HI_PCREL, IMM16_X0_HA_PCREL,
83 IMM16_X1_HA_PCREL, IMM16_X0_GOT, IMM16_X1_GOT, IMM16_X0_GOT_LO,
84 IMM16_X1_GOT_LO, IMM16_X0_GOT_HI, IMM16_X1_GOT_HI,
85 IMM16_X0_GOT_HA, IMM16_X1_GOT_HA, MMSTART_X0, MMEND_X0,
86 MMSTART_X1, MMEND_X1, SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1,
87 IMM16_X0_TLS_GD, IMM16_X1_TLS_GD, IMM16_X0_TLS_GD_LO,
88 IMM16_X1_TLS_GD_LO, IMM16_X0_TLS_GD_HI, IMM16_X1_TLS_GD_HI,
89 IMM16_X0_TLS_GD_HA, IMM16_X1_TLS_GD_HA, IMM16_X0_TLS_IE,
90 IMM16_X1_TLS_IE, IMM16_X0_TLS_IE_LO, IMM16_X1_TLS_IE_LO,
91 IMM16_X0_TLS_IE_HI, IMM16_X1_TLS_IE_HI, IMM16_X0_TLS_IE_HA,
92 IMM16_X1_TLS_IE_HA, TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
93 Add BFD_RELOC_TILEGX_{HW0, HW1, HW2, HW3, HW0_LAST, HW1_LAST,
94 HW2_LAST, COPY, GLOB_DAT, JMP_SLOT, RELATIVE, BROFF_X1,
95 JUMPOFF_X1, JUMPOFF_X1_PLT, IMM8_X0, IMM8_Y0, IMM8_X1, IMM8_Y1,
96 DEST_IMM8_X1, MT_IMM14_X1, MF_IMM14_X1, MMSTART_X0, MMEND_X0,
97 SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, IMM16_X0_HW0,
98 IMM16_X1_HW0, IMM16_X0_HW1, IMM16_X1_HW1, IMM16_X0_HW2,
99 IMM16_X1_HW2, IMM16_X0_HW3, IMM16_X1_HW3, IMM16_X0_HW0_LAST,
100 IMM16_X1_HW0_LAST, IMM16_X0_HW1_LAST, IMM16_X1_HW1_LAST,
101 IMM16_X0_HW2_LAST, IMM16_X1_HW2_LAST, IMM16_X0_HW0_PCREL,
102 IMM16_X1_HW0_PCREL, IMM16_X0_HW1_PCREL, IMM16_X1_HW1_PCREL,
103 IMM16_X0_HW2_PCREL, IMM16_X1_HW2_PCREL, IMM16_X0_HW3_PCREL,
104 IMM16_X1_HW3_PCREL, IMM16_X0_HW0_LAST_PCREL,
105 IMM16_X1_HW0_LAST_PCREL, IMM16_X0_HW1_LAST_PCREL,
106 IMM16_X1_HW1_LAST_PCREL, IMM16_X0_HW2_LAST_PCREL,
107 IMM16_X1_HW2_LAST_PCREL, IMM16_X0_HW0_GOT, IMM16_X1_HW0_GOT,
108 IMM16_X0_HW1_GOT, IMM16_X1_HW1_GOT, IMM16_X0_HW2_GOT,
109 IMM16_X1_HW2_GOT, IMM16_X0_HW3_GOT, IMM16_X1_HW3_GOT,
110 IMM16_X0_HW0_LAST_GOT, IMM16_X1_HW0_LAST_GOT,
111 IMM16_X0_HW1_LAST_GOT, IMM16_X1_HW1_LAST_GOT,
112 IMM16_X0_HW2_LAST_GOT, IMM16_X1_HW2_LAST_GOT, IMM16_X0_HW0_TLS_GD,
113 IMM16_X1_HW0_TLS_GD, IMM16_X0_HW1_TLS_GD, IMM16_X1_HW1_TLS_GD,
114 IMM16_X0_HW2_TLS_GD, IMM16_X1_HW2_TLS_GD, IMM16_X0_HW3_TLS_GD,
115 IMM16_X1_HW3_TLS_GD, IMM16_X0_HW0_LAST_TLS_GD,
116 IMM16_X1_HW0_LAST_TLS_GD, IMM16_X0_HW1_LAST_TLS_GD,
117 IMM16_X1_HW1_LAST_TLS_GD, IMM16_X0_HW2_LAST_TLS_GD,
118 IMM16_X1_HW2_LAST_TLS_GD, IMM16_X0_HW0_TLS_IE,
119 IMM16_X1_HW0_TLS_IE, IMM16_X0_HW1_TLS_IE, IMM16_X1_HW1_TLS_IE,
120 IMM16_X0_HW2_TLS_IE, IMM16_X1_HW2_TLS_IE, IMM16_X0_HW3_TLS_IE,
121 IMM16_X1_HW3_TLS_IE, IMM16_X0_HW0_LAST_TLS_IE,
122 IMM16_X1_HW0_LAST_TLS_IE, IMM16_X0_HW1_LAST_TLS_IE,
123 IMM16_X1_HW1_LAST_TLS_IE, IMM16_X0_HW2_LAST_TLS_IE,
124 IMM16_X1_HW2_LAST_TLS_IE, TLS_DTPMOD64, TLS_DTPOFF64, TLS_TPOFF64,
125 TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
126 * targets.c (bfd_elf32_tilegx_vec): Declare.
127 (bfd_elf32_tilepro_vec): Declare.
128 (bfd_elf64_tilegx_vec): Declare.
129 (bfd_target_vector): Add bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
130 and bfd_elf64_tilegx_vec.
131 * cpu-tilegx.c: New file.
132 * cpu-tilepro.c: New file.
133 * elf32-tilepro.h: New file.
134 * elf32-tilepro.c: New file.
135 * elf32-tilegx.c: New file.
136 * elf32-tilegx.h: New file.
137 * elf64-tilegx.c: New file.
138 * elf64-tilegx.h: New file.
139 * elfxx-tilegx.c: New file.
140 * elfxx-tilegx.h: New file.
141
7686d77d
AM
1422011-06-13 Alan Modra <amodra@gmail.com>
143
144 * linker.c (bfd_link_hash_traverse): Follow warning symbol link.
145 (_bfd_generic_link_write_global_symbol, fix_syms): Don't handle
146 warning symbols here.
147 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
148 * elf32-arm.c (allocate_dynrelocs_for_symbol,
149 elf32_arm_readonly_dynrelocs): Likewise.
150 * elf32-bfin.c (bfin_discard_copies): Likewise.
151 * elf32-cris.c (elf_cris_adjust_gotplt_to_got,
152 elf_cris_discard_excess_dso_dynamics,
153 elf_cris_discard_excess_program_dynamics): Likewise.
154 * elf32-hppa.c (allocate_plt_static, allocate_dynrelocs,
155 clobber_millicode_symbols, readonly_dynrelocs): Likewise.
156 * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
157 * elf32-i386.c (elf_i386_allocate_dynrelocs,
158 elf_i386_readonly_dynrelocs): Likewise.
159 * elf32-lm32.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
160 * elf32-m32c.c (m32c_relax_plt_check, m32c_relax_plt_realloc): Likewise.
161 * elf32-m32r.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
162 * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
163 * elf32-microblaze.c (allocate_dynrelocs): Likewise.
164 * elf32-ppc.c (allocate_dynrelocs, maybe_set_textrel): Likewise.
165 * elf32-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
166 * elf32-score.c (score_elf_sort_hash_table_f): Likewise.
167 * elf32-score7.c (score_elf_sort_hash_table_f): Likewise.
168 * elf32-sh.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
169 * elf32-tic6x.c (elf32_tic6x_allocate_dynrelocs,
170 elf32_tic6x_readonly_dynrelocs): Likewise.
171 * elf32-vax.c (elf_vax_discard_copies): Likewise.
172 * elf32-xstormy16.c (xstormy16_relax_plt_check,
173 xstormy16_relax_plt_realloc): Likewise.
174 * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Likewise.
175 * elf64-alpha.c (elf64_alpha_output_extsym,
176 elf64_alpha_calc_got_offsets_for_symbol,
177 elf64_alpha_calc_dynrel_sizes, elf64_alpha_size_rela_got_1): Likewise.
178 * elf64-hppa.c (elf64_hppa_mark_exported_functions,
179 allocate_global_data_opd, elf64_hppa_mark_milli_and_exported_functions,
180 elf_hppa_unmark_useless_dynamic_symbols,
181 elf_hppa_remark_useless_dynamic_symbols): Likewise.
182 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref, func_desc_adjust,
183 adjust_opd_syms, adjust_toc_syms, allocate_dynrelocs,
184 readonly_dynrelocs, merge_global_got, reallocate_got,
185 undo_symbol_twiddle): Likewise.
186 * elf64-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
187 * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
188 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs,
189 elf_x86_64_readonly_dynrelocs): Likewise.
190 * elflink.c (elf_link_renumber_hash_table_dynsyms,
191 elf_link_renumber_local_hash_table_dynsyms, _bfd_elf_export_symbol,
192 _bfd_elf_link_find_version_dependencies,
193 _bfd_elf_link_assign_sym_version, _bfd_elf_adjust_dynamic_symbol,
194 _bfd_elf_link_sec_merge_syms, elf_adjust_dynstr_offsets,
195 elf_collect_hash_codes, elf_collect_gnu_hash_codes,
196 elf_renumber_gnu_hash_syms, elf_gc_sweep_symbol,
197 elf_gc_propagate_vtable_entries_used,
198 elf_gc_smash_unused_vtentry_relocs, bfd_elf_gc_mark_dynamic_ref_symbol,
199 elf_gc_allocate_got_offsets): Likewise.
200 * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free,
201 elfNN_ia64_global_dyn_sym_thunk): Likewise.
202 * elfxx-mips.c (mips_elf_check_symbols, mips_elf_output_extsym,
203 mips_elf_sort_hash_table_f, allocate_dynrelocs): Likewise.
204 * elfxx-sparc.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
205 * i386linux.c (linux_tally_symbols): Likewise.
206 * m68klinux.c (linux_tally_symbols): Likewise.
207 * sparclinux.c (linux_tally_symbols): Likewise.
208 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
209 * xcofflink.c (xcoff_post_gc_symbol): Likewise.
210
211 * elflink.c (elf_link_output_extsym): Make it a bfd_hash_traverse
212 function. Update all callers.
213 * aoutx.h (aout_link_write_other_symbol): Likewise.
214 * pdp11.c (aout_link_write_other_symbol): Likewise.
215 * cofflink.c (_bfd_coff_write_global_sym): Likewise.
216 * ecoff.c (ecoff_link_write_external): Likewise.
217 * xcofflink.c (xcoff_write_global_symbol): Likewise.
218 * vms-alpha.c (alpha_vms_link_output_symbol): Likewise. Handle
219 warning symbols.
220 * ecoff.c (ecoff_link_hash_traverse): Delete.
221 * coff-ppc.c (ppc_bfd_coff_final_link): Use bfd_hash_traverse for
222 _bfd_coff_write_global_sym.
223 * libcoff-in.h (_bfd_coff_write_global_sym): Update prototype.
224 * libcoff.h: Regenerate.
225
894891db
NC
2262011-06-10 Nick Clifton <nickc@redhat.com>
227
228 * elflink.c (_bfd_elf_link_create_dynamic_sections): If the
229 backend does not provide a function for creating dynamic sections
230 then fail.
231 (bfd_elf_final_link): Issue a warning message if a dynamic section
232 has the SHT_NOTE type.
233 (bfd_elf_final_link): Do not look for dynamic strings in a section
234 that does not have the SHT_STRTAB type or the name .dynstr.
235 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Fail if the got
236 section is not in the output binary.
237 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Likewise.
238
d17fe7b7
TG
2392011-06-09 Tristan Gingold <gingold@adacore.com>
240
241 * elfnn-ia64.c (elfNN_ia64_relax_section, elfNN_ia64_choose_gp)
242 (elfNN_ia64_relocate_section, elfNN_vms_object_p): Remove trailing
243 spaces.
244
8076289e
TG
2452011-06-09 Tristan Gingold <gingold@adacore.com>
246
247 * bfd.c (bfd_get_sign_extend_vma): Handle aixcoff.
248
ba85c43e
NC
2492011-06-09 Nick Clifton <nickc@redhat.com>
250
251 PR ld/12845
252 * elf.c (_bfd_elf_init_private_section_data): Add an assertion
253 that the output section has an allocated bfd_elf_section_data
254 structure.
255 * elfxx-mips.c (mips_elf_check_symbols): Do not create a stub for
256 symbols in sections that have been removed by garbage collection.
257
adc7571d
L
2582011-06-08 H.J. Lu <hongjiu.lu@intel.com>
259
260 * elf64-x86-64.c (elf_x86_64_check_relocs): Allow R_X86_64_64
261 relocations in SEC_DEBUGGING sections when building shared
262 libraries.
263
24007750
L
2642011-06-08 H.J. Lu <hongjiu.lu@intel.com>
265
266 PR ld/12851
267 * elflink.c (elf_gc_sweep): Don't check SHT_NOTE sections here.
268 (bfd_elf_gc_sections): Also check SHT_NOTE sections.
269
e79064fe
TG
2702011-06-08 Tristan Gingold <gingold@adacore.com>
271
272 * makefile.vms (OBJS): Add elfxx-ia64.obj
273 Remove vax case.
274
d3aeb6ee
AM
2752011-06-08 Alan Modra <amodra@gmail.com>
276
277 * aix386-core.c, * cisco-core.c, * hpux-core.c, * osf-core.c,
278 * sco5-core.c: Init match_priority field.
279
2a41f396
AM
2802011-06-08 Alan Modra <amodra@gmail.com>
281
282 * elflink.c (_bfd_elf_archive_symbol_lookup): Follow warning and
283 indirect links here.
284
1d859532
JB
2852011-06-07 Joel Brobecker <brobecker@adacore.com>
286
287 * irix-core.c (irix_core_vec): Add match_priority field.
288
0aabe54e
AM
2892011-06-06 Alan Modra <amodra@gmail.com>
290
291 * targets.c (bfd_target): Make ar_max_namelen an unsigned char.
292 Add match_priority.
293 * configure.in: Bump bfd version.
294 * elfcode.h (elf_object_p): Delete hacks preventing match of
295 EM_NONE and ELFOSABI_NONE targets when a better match exists.
296 * elfxx-target.h (elf_match_priority): Define and use.
297 * format.c (bfd_check_format_matches): Use target match_priority
298 to choose best of multiple matching targets. In cases with multiple
299 matches rerun _bfd_check_format if we don't choose the last match.
300 * aout-adobe.c, * aout-arm.c, * aout-target.h, * aout-tic30.c,
301 * binary.c, * bout.c, * coff-alpha.c, * coff-i386.c, * coff-i860.c,
302 * coff-i960.c, * coff-ia64.c, * coff-mips.c, * coff-or32.c,
303 * coff-ppc.c, * coff-rs6000.c, * coff-sh.c, * coff-tic30.c,
304 * coff-tic54x.c, * coff-x86_64.c, * coff64-rs6000.c, * coffcode.h,
305 * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, * mach-o-target.c,
306 * mipsbsd.c, * mmo.c, * nlm-target.h, * oasys.c, * pdp11.c,
307 * pe-mips.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, * srec.c,
308 * tekhex.c, * trad-core.c, * verilog.c, * versados.c, * vms-alpha.c,
309 * vms-lib.c, * xsym.c: Init match_priority field.
310 * configure: Regenerate.
311 * bfd-in2.h: Regenerate.
312
70b554c9
L
3132011-06-04 H.J. Lu <hongjiu.lu@intel.com>
314
315 PR ld/12842
316 * elfcode.h (elf_object_p): Revert the last change.
317
d50ec8a7
AM
3182011-06-04 Alan Modra <amodra@gmail.com>
319
320 * archures.c (bfd_arch_get_compatible): If one arch is unknown,
321 return the other arch.
322 * elfcode.h (elf_object_p): Allow explicit match to generic ELF
323 target.
324
164a5cb7
NC
3252011-06-03 Bertram Felgenhauer <bertram.felgenhauer@gmail.com>
326
327 PR ld/12682
328 * hash.c (higher_primer_number): Add more, small, prime numbers.
329 (bfd_hash_set_default_size): Likewise.
330
cc643b88
NC
3312011-06-02 Nick Clifton <nickc@redhat.com>
332
333 * coff-mcore.c: Fix spelling typo.
334 * coff-stgo32.c: Likewise.
335 * elf32-arm.c: Likewise.
336 * elf32-avr.c: Likewise.
337 * elf-m68hc1x.c: Likewise.
338 * elf32-mcore.c: Likewise.
339 * elf32-mep.c: Likewise.
340 * elf32-mt.c: Likewise.
341 * elf32-ppc.c: Likewise.
342 * elf32-xtensa.c: Likewise.
343 * elf64-ppc.c: Likewise.
344 * elfxx-mips.c: Likewise.
345 * netbsd.h: Likewise.
346 * nlmcode.h: Likewise.
347 * vms-alpha.c: Likewise.
348 * po/bfd.pot: Regenerate.
349 * po/SRC-POTFILES.in: Regenerate.
350
4c422395
DD
3512011-06-01 DJ Delorie <dj@redhat.com>
352
353 * config.bfd: Add bfd_elf32_rx_be_ns_vec.
354 * target.c: Likewise.
355 * configure.in: Likewise.
356 * configure.in: Regenerate.
357 * elf32-rx.c: Add elf32-rx-be-ns target.
358 (rx_elf_object_p): Never allow the be-ns target by default,
359 only allow it if the user requests it.
360
4b819e1f
L
3612011-06-01 H.J. Lu <hongjiu.lu@intel.com>
362
363 * elf32-i386.c (elf_i386_size_dynamic_sections): Properly warn
364 relocation in readonly section in a shared object.
365 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
366
74ce8de7
NC
3672011-05-31 Nick Clifton <nickc@redhat.com>
368
369 * archive.c (adjust_relative_path): Fix comment to prevent it
370 corrupting the auto-generated bfd.h.
371
63e1a0fc
PB
3722011-05-31 Paul Brook <paul@codesourcery.com>
373
374 * elf32-arm.c (elf32_arm_final_link_relocate): Only do bl conversion
375 for known functions.
376 (elf32_arm_swap_symbol_in): Only set ST_BRANCH_TO_ARM for function
377 symbols.
378
12352d3f
PB
3792011-05-31 Paul Brook <paul@codesourcery.com>
380
381 * elf32-arm.c (arm_stub_is_thumb): Add
382 arm_stub_long_branch_v4t_thumb_tls_pic.
383 (elf32_arm_final_link_relocate): TLS stubs are always ARM.
384 Handle Thumb stubs.
385
c4948609
NC
3862011-05-27 Nick Clifton <nickc@redhat.com>
387
388 PR binutils/12710
389 * archive.c (_bfd_get_elt_at_filepos): Set correct error value if
390 unable to read a file pointed to by an entry in a thin archive.
391 (adjust_relative_path): Use lrealpath to canonicalize paths.
392 Handle the case where the reference path is above the current
393 path in the directory tree.
394
6769d501
L
3952011-05-26 H.J. Lu <hongjiu.lu@intel.com>
396
397 PR ld/12809
398 * elf64-x86-64.c (elf_x86_64_relocate_section): Handle
399 R_X86_64_TPOFF64 in executable.
400
2676a7d9
AM
4012011-05-26 Alan Modra <amodra@gmail.com>
402
403 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment.
404 * elflink.c (_bfd_elf_symbol_refs_local_p): Expand
405 local_protected comment.
406
cbe79dfe
TG
4072011-05-25 Tristan Gingold <gingold@adacore.com>
408
409 * configure.in (bfd_elf32_ia64_big_vec, bfd_elf32_ia64_hpux_big_vec)
410 (bfd_elf64_ia64_big_vec, bfd_elf64_ia64_hpux_big_vec)
411 (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_vms_vec): Add elfxx-ia64.lo
412 * Makefile.am (BFD64_BACKENDS): Add elfxx-ia64.lo
413 (BFD64_BACKENDS_CFILES): Add elfxx-ia64.c
414 (elf32-ia64.c): Created from elfnn-ia64.c
415 (elf64-ia64.c): Likewise.
416 * elfxx-ia64.h: New file.
417 * elfxx-ia64.c: Split with elfnn-ia64.c. Keep only the following
418 functions.Includes elfxx-ia64.h.
419 (elfNN_ia64_reloc): Renames to ia64_elf_reloc. Adjust error message.
420 (IA64_HOWTO): Adjust.
421 (lookup_howto): Renames to ia64_elf_lookup_howto. Make it public.
422 (elfNN_ia64_reloc_type_lookup): Renames to
423 ia64_elf_reloc_type_lookup. Make it public. Adjust calls.
424 (elfNN_ia64_reloc_name_lookup): Renames to
425 ia64_elf_reloc_name_lookup. Make it public.
426 (elfNN_ia64_relax_br): Renames to ia64_elf_relax_br. Make it public.
427 (elfNN_ia64_relax_brl): Renames to ia64_elf_relax_brl. Make it
428 public.
429 (elfNN_ia64_relax_ldxmov): Renames to ia64_elf_relax_ldxmov.
430 Move it and make it public. Move prototype to elfxx-ia64.h
431 (elfNN_ia64_install_value): Renames to ia64_elf_install_value.
432 Move prototype to elfxx-ia64.h
433 * elfnn-ia64.c: New file, split from elfxx-ia64.c.
434 (elfNN_ia64_info_to_howto): Adjust calls.
435 (elfNN_ia64_relax_section): Adjust calls.
436 (count_dyn_reloc): Fix typo.
437 (elfNN_ia64_relocate_section): Adjust calls.
438 (elfNN_ia64_finish_dynamic_symbol): Likewise.
439 (bfd_elfNN_bfd_reloc_type_lookup)
440 (bfd_elfNN_bfd_reloc_name_lookup): Adjust macros.
441 * configure: Regenerate.
442 * Makefile.in: Regenerate.
443
1ce74905
DD
4442011-05-23 DJ Delorie <dj@redhat.com>
445
446 * elf32-rx.c (rx_elf_object_p): When reading an RX object in, undo
447 the vma/lma swapping done in elf32_rx_modify_program_headers.
448
997fbe36
NC
4492011-05-23 Nick Clifton <nickc@redhat.com>
450
451 * elf-m10300.c (mn10300_elf_mkobject): New function.
452 (bfd_elf32_mkobject): Define.
453
6061a67d
AM
4542011-05-23 Alan Modra <amodra@gmail.com>
455
456 * elf-bfd.h: Comment typo fix.
457 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Delete. Replace with
458 struct elf_dyn_relocs throughout.
459 * elf64-ppc.c (struct ppc_dyn_relocs): Likewise.
460
25f53a85
AM
4612011-05-23 Alan Modra <amodra@gmail.com>
462
463 * elf32-frv.c: Use info->callbacks->einfo throughout file in linker
464 functions rather than warning callback or _bfd_error_handler.
465 * elf32-ppc.c: Likewise.
466 * elf64-ppc.c: Likewise.
467 * elf32-ppc.c (ppc_elf_tls_optimize): Use %H in __tls_get_addr lost
468 arg error.
469 * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
470
6de6a7fe
AM
4712011-05-23 Alan Modra <amodra@gmail.com>
472
473 PR 12763
474 * elf.c (assign_file_positions_for_load_sections): Set sh_offset for
475 .tbss, and page align same for all SHT_NOBITS sections.
476
86b2281f
AM
4772011-05-21 Alan Modra <amodra@gmail.com>
478
479 PR 12763
480 * elf.c (_bfd_elf_make_section_from_shdr): Set up TLS section LMAs
481 from PT_TLS header.
482 (_bfd_elf_map_sections_to_segments): Don't create a final PT_LOAD
483 segment if just for .tbss.
484 (assign_file_positions_for_load_sections): Don't report "can't
485 allocate in segment" errors for .tbss.
486 (assign_file_positions_for_non_load_sections): Don't set p_filesz
487 from SHT_NOBITS section filepos.
488
4a732032
BS
4892011-05-20 Bernd Schmidt <bernds@codesourcery.com>
490
491 * elf32-tic6x.c (elf32_tic6x_howto_table): Add entries for
492 R_C6000_PCR_H16 and R_C6000_PCR_L16.
493 (elf32_tic6x_relocate_section): Handle them.
494
dd98f8d2
NC
4952011-05-18 Nick Clifton <nickc@redhat.com>
496
497 PR ld/12761
498 * elflink.c (elf_link_add_object_symbols): Process .gnu.warning
499 sections when building shared libraries.
500
9c489990
NC
5012011-05-18 Rafał Krypa <r.krypa@samsung.com>
502
503 PR ld/12778
504 * elf32-arm.c (elf32_arm_gc_sweep_hook): Use the computed dynamic
505 reloc pointer.
506
5ccfed9b
TG
5072011-05-18 Tristan Gingold <gingold@adacore.com>
508
509 * xcofflink.c (xcoff_link_add_symbols): Handle C_DWARF symbols.
510 (xcoff_sweep): Always keep dwarf sections.
511 (xcoff_link_input_bfd): Handle dwarf symbols and sections.
512
85645aed
TG
5132011-05-18 Tristan Gingold <gingold@adacore.com>
514
515 * libxcoff.h (struct xcoff_dwsect_name): New type.
516 (XCOFF_DWSECT_NBR_NAMES): New macro.
517 (xcoff_dwsect_names): Declare.
518 * coffcode.h (sec_to_styp_flags): Handle xcoff dwarf sections.
519 (styp_to_sec_flags): Ditto.
520 (coff_new_section_hook): Ditto.
521 (coff_slurp_symbol_table): Handle C_DWARF and C_INFO.
522 * coff-rs6000.c (xcoff_dwsect_name): New variable.
523
84bff83f
NC
5242011-05-17 Tomohiro Kashiwada <kikairoya@gmail.com>
525
526 PR ld/12759
527 * elf32-rx.c (ignore_lma): New variable.
528 (bfd_elf32_rx_set_target_flags): Add ignore_lma parameter.
529 (rx_modify_program_headers): Only copy the LMA into the VMA if
530 ignore_lma is true.
531
16d96b5b
AM
5322011-05-17 Alan Modra <amodra@gmail.com>
533
534 PR ld/12760
535 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Adjust "notice" call.
536 * elflink.c (elf_link_add_object_symbols): Likewise.
537 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
538
41e04eaa
AM
5392011-05-16 Alan Modra <amodra@gmail.com>
540
541 * linker.c (_bfd_generic_link_add_one_symbol): Don't init u.undef.weak.
542
77c56f44
RS
5432011-05-15 Richard Sandiford <rdsandiford@googlemail.com>
544
545 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Record both local and
546 global GOT entries for GOT_PAGE relocations against global symbols.
547
2a616379
BS
5482011-05-13 Bernd Schmidt <bernds@codesourcery.com>
549
550 * config.bfd (tic6x-*-elf, tic6x-*-uclinux): New.
551 (tic6x-*-*): Replaced by these.
552 * elf32-tic6x.c (elf32_tic6x_set_osabi): New static function.
553 (elf32_tic6x_check_relocs): Create dynamic sections if -shared.
554 (elf_backend_relocs_compatible, elf_backend_post_process_headers):
555 Define.
556 (elf32_bed, TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM,
557 TARGET_BIG_NAME, ELF_OSABI): Redefine twice, and include
558 "elf32-target.h" two more times.
559 * configure.in: Handle bfd_elf32_tic6x_linux_be_vec,
560 bfd_elf32_tic6x_linux_le_vec, bfd_elf32_tic6x_elf_be_vec and
561 bfd_elf32_tic6x_elf_le_vec.
562 * configure: Regenerate.
563
3ac5406b
JB
5642011-05-13 Jan Beulich <jbeulich@novell.com>
565
566 * config.bfd: Add targets x86_64-*-pe and x86_64-*-pep.
567
335e41d4
JK
5682011-05-12 Jan Kratochvil <jan.kratochvil@redhat.com>
569
570 * config.in: Regenerated.
571 * configure: Regenerated.
572 * configure.in: New tests for HAVE_PRPSINFO_T_PR_PID,
573 HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and
574 HAVE_PSINFO32_T_PR_PID.
575 * elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by
576 HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID
577 and HAVE_PSINFO32_T_PR_PID.
578 * hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition.
579
bc989cdc
JK
5802011-05-10 Jan Kratochvil <jan.kratochvil@redhat.com>
581
582 * elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and
583 32bit psinfo.
584 * elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid.
585 * elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise.
586
fbd9ad90
PB
5872011-05-09 Paul Brook <paul@codesourcery.com>
588
589 * bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype.
590 * bfd-in2.h: Regenerate.
591 * elf32-tic6x.c: Include limits.h.
592 (tic6x_unwind_edit_type, tic6x_unwind_table_edit,
593 _tic6x_elf_section_data): New.
594 (elf32_tic6x_section_data): Define.
595 (elf32_tic6x_new_section_hook): Allocate target specific data.
596 (elf32_tic6x_add_unwind_table_edit): New function.
597 (get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size,
598 elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31,
599 elf32_tic6x_copy_exidx_entry): New functions.
600 (elf_backend_write_section): Define.
601
1bce6bd8
PB
6022011-05-09 Paul Brook <paul@codesourcery.com>
603
604 * elf32-tic6x.c (is_tic6x_elf_unwind_section_name,
605 elf32_tic6x_fake_sections): New functions.
606 (elf_backend_fake_sections): Define.
607
9cf0e282
PB
6082011-05-09 Paul Brook <paul@codesourcery.com>
609
610 * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): New function.
611 (elf_backend_gc_mark_extra_sections): Define.
612
730035f7
DK
6132011-05-07 Dave Korn <dave.korn.cygwin@gmail.com>
614
615 PR ld/12365
616 * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about
617 references to symbols defined in discarded sections.
618
88e59394
DK
6192011-05-07 Dave Korn <dave.korn.cygwin@gmail.com>
620
621 PR ld/12365
622 * coffgen.c (coff_write_symbol): Assume input section is its own
623 output section if output_section member not set.
624 (coff_write_alien_symbol): Likewise.
625
310fd250
L
6262011-05-07 H.J. Lu <hongjiu.lu@intel.com>
627
628 PR ld/12730
629 * elf.c (_bfd_elf_section_offset): Check SEC_ELF_REVERSE_COPY.
630
631 * elflink.c (elf_link_input_bfd): Reverse copy .ctors/.dtors
41e04eaa 632 sections if needed.
310fd250
L
633
634 * section.c (SEC_ELF_REVERSE_COPY): New.
635 * bfd-in2.h: Regenerated.
636
70778fc7
AM
6372011-05-07 Anders Kaseorg <andersk@ksplice.com>
638
639 PR 12739
640 * libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast.
641 * bfd-in2.h: Regenerate.
642
8185f55c
TG
6432011-05-06 Tristan Gingold <gingold@adacore.com>
644
645 * vms-alpha.c (evax_section_flags): Remove SEC_IN_MEMORY.
646 (_bfd_vms_slurp_egsd): Rename old_flags to vms_flags. Handle
647 any code section. Add comments.
648 (alpha_vms_object_p): Use void * instead of PTR.
649 (alpha_vms_create_eisd_for_section): Fix test for setting DZRO.
650 (build_module_list): Guard against no DST section. Add comments.
651 (alpha_vms_link_output_symbol): Discard undefined symbols.
652 (alpha_vms_get_section_contents): Simply memcpy if the section was
653 already loaded. Fix typo.
654 (vms_new_section_hook): Use void * instead of PTR.
655 (vms_alpha_vec): Ditto.
656
7d24e6a6
RS
6572011-05-06 Richard Sandiford <richard.sandiford@linaro.org>
658
659 * elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb
660 branch to a PLT entry, redirect it to the PLT's Thumb entry point.
661
c6a8f6e0
BS
6622011-05-05 Bernd Schmidt <bernds@codesourcery.com>
663
664 * elf32-tic6x.c (elf32_tic6x_final_link): New function.
665 (elf32_tic6x_merge_attributes): Do not warn for PID or PIC
666 mismatch. Choose the lower of the two values.
667 (bfd_elf32_bfd_final_link): New macro.
668
7f41df2e
TG
6692011-04-28 Tristan Gingold <gingold@adacore.com>
670
671 * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file.
672 (bfd_xcoff_swap_aux_out): Ditto.
673 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto.
674 (bfd_xcoff64_swap_aux_out): Ditto.
675
9507a174
AM
6762011-05-04 Alan Modra <amodra@gmail.com>
677
678 PR ld/12727
679 * elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear
680 was_undefined on dot-symbols.
681
2fbb87f6
PB
6822011-05-03 Paul Brook <paul@codesourcery.com>
683
684
685 * elf32-tic6x.c (elf32_tic6x_howto_table,
686 elf32_tic6x_howto_table_rel, (elf32_tic6x_gc_sweep_hook,
687 elf32_tic6x_relocate_section, elf32_tic6x_check_relocs):
688 Add R_C6000_EHTYPE.
689
9d4057ee
AM
6902011-05-01 Alan Modra <amodra@gmail.com>
691
692 PR ld/12718
693 * elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before
694 creating ifunc sections.
695 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
696
71e7aa7d
L
6972011-04-30 H.J. Lu <hongjiu.lu@intel.com>
698
699 * elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter
700 names.
701
b5dee4ea
TT
7022011-04-28 Tom Tromey <tromey@redhat.com>
703
704 * bfdio.c (memory_bstat): Pass correct size to memset.
705
e4c93b56
MF
7062011-04-28 Mike Frysinger <vapier@gentoo.org>
707
708 * dwarf2.c (dwarf_debug_sections): Mark const.
709 * elf.c (special_sections): Likewise.
710 * libbfd-in.h (dwarf_debug_sections): Likewise.
711 * libbfd.h: Regenerate.
712
72b016b4
NC
7132011-04-26 Kai Tietz <ktietz@redhat.com>
714
715 * coffcode.h (sec_to_styp_flags): Allow linkonce for
716 debugging sections.
717
4964e065
TG
7182011-04-26 Tristan Gingold <gingold@adacore.com>
719
720 * coff64-rs6000.c: Convert to ISO-C. Remove PARAMS and PTR macros.
721
35ed3f94
AM
7222011-04-24 Alan Modra <amodra@gmail.com>
723
724 PR ld/12365
725 PR ld/12696
726 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call.
727 * linker.c (_bfd_link_hash_newfunc): Clear bitfields.
728 (_bfd_generic_link_add_one_symbol): Update "notice" call.
729 * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when
730 it is a redef of an IR symbol in a real BFD.
731
b70321a2
L
7322011-04-22 H.J. Lu <hongjiu.lu@intel.com>
733
734 * elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation
735 in readonly section in a shared object.
736 (elf_i386_size_dynamic_sections): Likewise.
737 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
738 (elf_x86_64_size_dynamic_sections): Likewise.
739
aa715242
L
7402011-04-21 H.J. Lu <hongjiu.lu@intel.com>
741
742 PR ld/12694
743 * elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC
744 symbols.
745 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
746
f6df62c8
L
7472011-04-21 H.J. Lu <hongjiu.lu@intel.com>
748
749 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false
750 on dynamic symbol error.
751 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
752
4bbd5a24
TG
7532011-04-20 Tristan Gingold <gingold@adacore.com>
754
755 * config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs.
756
8ad17b3a
AM
7572011-04-20 Alan Modra <amodra@gmail.com>
758
759 * hash.c (bfd_default_hash_table_size): Make it an unsigned long.
760 (bfd_hash_table_init_n): Overflow checking.
761 (bfd_hash_set_default_size): Return current size. Take unsigned long
762 arg. Add 65537 to hash_size primes.
763 * bfd-in.h (bfd_hash_set_default_size): Update prototype.
764 * bfd-in2.h: Regenerate.
765
1b0df531
JK
7662011-04-20 Jan Kratochvil <jan.kratochvil@redhat.com>
767
768 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of
769 memmove elements.
770
595213d4
AM
7712011-04-20 Alan Modra <amodra@gmail.com>
772
9e6619e2
AM
773 * libbfd.c (bfd_log2): Do return rounded up value.
774 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2
775 call with expanded old round down version of the function.
776
595213d4
AM
777 * archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
778 * elflink.c (elf_link_add_object_symbols): Delete redundant code.
779
02d00247
AM
7802011-04-20 Alan Modra <amodra@gmail.com>
781
782 PR ld/12365
783 * elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols
784 in their own common section.
785 * elflink.c (elf_link_add_object_symbols): Likewise.
786 * linker.c (generic_link_check_archive_element): Don't lose flags
787 if common section is pre-existing.
788 (_bfd_generic_link_add_one_symbol): Likewise.
789
24f58f47
AM
7902011-04-20 Alan Modra <amodra@gmail.com>
791
792 PR ld/12365
793 * elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls.
794 * linker.c (_bfd_generic_link_add_one_symbol): Likewise. Call
795 multiple_definition regardless of allow_multiple_definition.
796 * simple.c (simple_dummy_multiple_definition): Update.
797 * xcofflink.c (xcoff_link_add_symbols): Update multiple_definition
798 calls.
799
417236c0
TG
8002011-04-18 Tristan Gingold <gingold@adacore.com>
801
802 * coff-rs6000.c: Convert to ISO-C. Remove PARAMS macro.
803
901f1d17
AM
8042011-04-18 Alan Modra <amodra@gmail.com>
805
806 PR ld/12365
807 PR ld/12672
808 * bfd.c (BFD_PLUGIN): Define.
809 (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN.
810 * bfd-in2.h: Regenerate.
811 * elflink.c (elf_link_output_extsym): Strip undefined plugin syms.
812 * opncls.c (bfd_make_readable): Don't lose original bfd flags.
813
63524580
JK
8142011-04-17 Jan Kratochvil <jan.kratochvil@redhat.com>
815
816 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for
817 SEC_LOAD.
818
e21e5835
NC
8192011-04-15 Sergio Durigan Junior <sergiodj@redhat.com>
820
821 * elf-bfd.h (struct sdt_note): New struct.
822 (struct elf_obj_tdata) <sdt_note_head>: New field.
823 * elf.c (elfobj_grok_stapsdt_note_1): New function.
824 (elfobj_grok_stapsdt_note): Likewise.
825 (elf_parse_notes): Added code to treat SystemTap note
826 sections.
827
6452a567
RH
8282011-04-12 Richard Henderson <rth@redhat.com>
829
830 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Do not
831 exclude empty .got sections.
832
2a750708
L
8332011-04-11 H.J. Lu <hongjiu.lu@intel.com>
834
835 * elf32-i386.c (elf_i386_reloc_type_lookup): Fix the out of bound
836 array access for BFD_RELOC_386_IRELATIVE.
837
2123f9ad
BS
8382011-04-11 Bernd Schmidt <bernds@codesourcery.com>
839
840 * elf32-tic6x.c (elf32_tic6x_check_relocs): Initialize pc_count field.
841
f64b2e8d
NC
8422011-04-11 Mark Wielaard <mjw@redhat.com>
843
844 PR 10549
845 * elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols.
846 (has_gnu_symbols): Renamed from has_ifunc_symbols.
847 * elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name.
848 * elf32-arm.c (elf32_arm_add_symbol_hook): Set has_gnu_symbols
849 also if STB_GNU_UNIQUE symbol binding was seen.
850 * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
851 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
852 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
853 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
854 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
855 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
856
e57278ef
AM
8572011-04-11 Alan Modra <amodra@gmail.com>
858
859 * bfd-in.h (bfd_get_section_limit): Don't use rawsize with output
860 sections.
861 * libbfd.c (_bfd_generic_get_section_contents): Likewise.
862 (_bfd_generic_get_section_contents_in_window): Likewise.
863 * section.c (bfd_get_section_contents): Likewise.
864 * compress.c (bfd_get_full_section_contents): Likewise.
865 * elf32-rx.c (rx_final_link): Ignore rawsize.
866 * elf32-microblaze.c (microblaze_elf_relocate_section): Use correct
867 bfd with bfd_get_section_limit.
868 * elfxx-ia64.c (elfNN_ia64_choose_gp): Add "final" parameter. Use
869 os->size during final link. Update callers.
870 * bfd-in2.h: Regenerate.
871
e2ece73c
RS
8722011-04-10 Richard Sandiford <rdsandiford@googlemail.com>
873
874 PR ld/12637
875 * elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count
876 as the number of global entries when merging with the primary GOT.
877
9f973f28
L
8782011-04-09 H.J. Lu <hongjiu.lu@intel.com>
879
880 * elf32-i386.c: Update copyright year.
881 * elf64-x86-64.c: Likewise.
882
21e68916
KT
8832011-04-09 Kai Tietz <ktietz@redhat.com>
884
885 * peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary
886 buffer and use rawsize for sorting.
887 * coffcode.h (coff_compute_section_file_positions): Set rawsize
888 before doing alignment.
889
62d78908
L
8902011-04-09 H.J. Lu <hongjiu.lu@intel.com>
891
892 * elf32-i386.c (elf_i386_relocate_section): Return relocation
893 error on unsupported relocation.
894 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
895
2351cae0
L
8962011-04-09 H.J. Lu <hongjiu.lu@intel.com>
897
898 PR binutils/12657
899 * hosts/x86-64linux.h (elf_prstatus32): Replace __pid_t with
900 pid_t.
901
959b0961
L
9022011-04-08 H.J. Lu <hongjiu.lu@intel.com>
903
904 PR ld/12654
905 * elf32-i386.c (elf_i386_relocate_section): Check !executable
906 instead of shared for R_386_TLS_LDO_32.
907
33b54431
TG
9082011-04-08 Tristan Gingold <gingold@adacore.com>
909
910 * Makefile.am (SOURCE_HFILES): Remove xcoff-target.h
911 * coff-pmac: Remove
912 * xcoff-target.h: Remove
913 * Makefile.in: Regenerate.
914
5d8e6b4d
CC
9152011-04-07 Cary Coutant <ccoutant@google.com>
916
917 * dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification.
918
44e87ece 9192011-04-07 Paul Brook <paul@codesourcery.com>
33b54431 920
44e87ece
PB
921 * elf32-tic6x.c (elf32_tic6x_howto_table): R_C6000_PREL31 is
922 pc-relative.
923 (elf32_tic6x_howto_table_rel): Ditto.
924 (elf32_tic6x_relocate_section): Implement R_C6000_PREL31.
925 (elf32_tic6x_check_relocs): Ditto.
926
8c5fc800
JM
9272011-04-06 Joseph Myers <joseph@codesourcery.com>
928
929 * config.bfd (thumb-*-oabi): Don't handle in list of obsolete
930 targets.
931 (strongarm*, thumb*, xscale*): Remove architectures.
932 (strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
933 thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
934 xscale-*-coff): Remove targets.
935
6f8027ae
TG
9362011-04-01 Tristan Gingold <gingold@adacore.com>
937
938 * elfxx-ia64.c: include bfd_stdint.h
939
c89ce65c
JK
9402011-03-31 Jan Kratochvil <jan.kratochvil@redhat.com>
941
942 * elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable
943 dynobj and its initialization.
944
545f57c6
TG
9452011-03-31 Tristan Gingold <gingold@adacore.com>
946
947 * makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec.
948 * configure.com: Set BFD_HOST_64BIT_LONG_LONG and
949 BFD_HOST_LONG_LONG to 1.
950
083faca9
TG
9512011-03-31 Tristan Gingold <gingold@adacore.com>
952
953 * vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning.
954 (_bfd_vms_write_etir): Ditto.
955 (_bfd_vms_slurp_etir): Avoid to use intptr_t
956 * configure.com: Generate bfd_stdint.h
957
ac145307
BS
9582011-03-31 Bernd Schmidt <bernds@codesourcery.com>
959
960 * elf32-tic6x.h (struct elf32_tic6x_params): New.
961 (elf32_tic6x_setup): Declare.
962 * elf32-tic6x.c: Include <limits.h>.
963 (ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define.
964 (struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry):
965 New structures.
966 (elf32_tic6x_link_hash_table, is_tic6x_elf): New macros.
967 (tic6x_elf_scom_section, tic6x_elf_scom_symbol,
968 tic6x_elf_scom_symbol_ptr): New static variables.
969 (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel,
970 elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE,
971 R_C6000_PCR_H16 and R_C6000_PCR_L16.
972 (elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create,
973 elf32_tic6x_link_hash_table_free, elf32_tic6x_setup,
974 elf32_tic6x_using_dsbt, elf32_tic6x_install_rela,
975 elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc,
976 elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook,
977 elf32_tic6x_adjust_dynamic_symbol): New static functions.
978 (elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches
979 to weak symbols as required by the ABI.
980 Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file
981 as needed when generating DSBT output.
982 (elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook,
983 elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section,
984 elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections,
985 elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers,
986 elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val,
987 elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym):
988 New static functions.
989 (ELF_MAXPAGESIZE): Define to 0x1000.
990 (bfd_elf32_bfd_copy_private_bfd_data,
991 bfd_elf32_bfd_link_hash_table_create,
992 bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount,
993 elf_backend_want_got_plt, elf_backend_want_dynbss,
994 elf_backend_plt_readonly, elf_backend_got_header_size,
995 elf_backend_gc_sweep_hook, elf_backend_modify_program_headers,
996 elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
997 elf_backend_check_relocs, elf_backend_add_symbol_hook,
998 elf_backend_symbol_processing, elf_backend_link_output_symbol_hook,
999 elf_backend_section_from_bfd_section,
1000 elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections,
1001 elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections,
1002 elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define.
1003
1004 * bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE,
1005 BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add.
1006 * bfd/bfd-in2.h: Regenerate.
1007 * bfd/libbfd.h: Regenerate.
1008 * config.bfd: Accept tic6x-*-* instead of tic6x-*-elf.
1009
53dd76d3
TG
10102011-03-31 Tristan Gingold <gingold@adacore.com>
1011
1012 * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
1013 entry on xcoff when value is C_NULL_VALUE.
1014
10152011-03-31 Tristan Gingold <gingold@adacore.com>
2040caca
TG
1016
1017 * libcoff-in.h (exec_hdr): Remove.
1018 * libcoff.h: Regenerate.
1019
3a294fa7
NC
10202011-03-30 Nick Clifton <nickc@redhat.com>
1021
1022 * po/da.po: Updated Danish translation.
1023
e117360e
RH
10242011-03-29 Richard Henderson <rth@redhat.com>
1025
1026 * elf64-alpha.c (elf64_alpha_gc_mark_hook): New.
1027 (elf64_alpha_gc_sweep_hook): New.
1028 (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): New.
1029 (elf_backend_can_gc_sections): New.
1030
5b806d27
NC
10312011-03-26 John Marino <binutils@marino.st>
1032
1033 * config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*.
1034 * configure.in: Delete unused bfd_elf32_i386_dragonfly_vec.
1035 * configure: Regenerate.
1036
b42adabf
NC
10372011-03-25 Michael Snyder <msnyder@vmware.com>
1038
1039 * coffcode.h (coff_set_alignment_hook): Check return of bfd_seek.
1040
a283ff93
TG
10412011-03-25 Tristan Gingold <gingold@adacore.com>
1042
1043 * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Allow the use
1044 of find_nearest_line on object files.
1045
cf6b8767
TG
10462011-03-25 Tristan Gingold <gingold@adacore.com>
1047
1048 * vms-alpha.c (evax_section_flags): Make $CODE$ section read-only.
1049 Minor reordering.
1050 (alpha_vms_create_eisd_for_section): Make code sections read-only.
1051
663a1470
AM
10522011-03-24 Alan Modra <amodra@gmail.com>
1053
1054 * elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where
1055 old-style __tls_get_addr calls without marker relocs don't match
1056 their arg setup insn one for one. If such mismatches are found
1057 report the reloc and don't do any tls optimization.
1058 * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
1059
dc80f6ae
EW
10602011-03-22 Eric B. Weddington <eric.weddington@atmel.com>
1061
1062 * bfd-in2.h: Regenerate.
1063
8cc66334
EW
10642011-03-22 Eric B. Weddington <eric.weddington@atmel.com>
1065
1066 * archures.c: Add AVR XMEGA architecture information.
1067 * cpu-avr.c (arch_info_struct): Likewise.
1068 * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
1069 (elf32_avr_object_p): Likewise.
1070
34e77a92
RS
10712011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1072
1073 * reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation.
1074 * bfd-in2.h: Regenerate.
1075 * elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition
1076 to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE
1077 entry.
1078 (elf32_arm_howto_from_type): Update accordingly.
1079 (elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE.
1080 (elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3.
1081 (arm_plt_info): New structure, split out from elf32_arm_link_hash_entry
1082 with an extra noncall_refcount field.
1083 (arm_local_iplt_info): New structure.
1084 (elf_arm_obj_tdata): Add local_iplt.
1085 (elf32_arm_local_iplt): New accessor macro.
1086 (elf32_arm_link_hash_entry): Replace plt_thumb_refcount,
1087 plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info.
1088 Change tls_type to a bitfield and add is_iplt.
1089 (elf32_arm_link_hash_newfunc): Update accordingly.
1090 (elf32_arm_allocate_local_sym_info): New function.
1091 (elf32_arm_create_local_iplt): Likewise.
1092 (elf32_arm_get_plt_info): Likewise.
1093 (elf32_arm_plt_needs_thumb_stub_p): Likewise.
1094 (elf32_arm_get_local_dynreloc_list): Likewise.
1095 (create_ifunc_sections): Likewise.
1096 (elf32_arm_copy_indirect_symbol): Update after the changes to
1097 elf32_arm_link_hash_entry. Assert the is_iplt has not yet been set.
1098 (arm_type_of_stub): Add an st_type argument. Use elf32_arm_get_plt_info
1099 to get PLT information. Assert that all STT_GNU_IFUNC references
1100 are turned into PLT references.
1101 (arm_build_one_stub): Pass the symbol type to
1102 elf32_arm_final_link_relocate.
1103 (elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub.
1104 (elf32_arm_allocate_irelocs): New function.
1105 (elf32_arm_add_dynreloc): In static objects, use .rel.iplt for
1106 all R_ARM_IRELATIVE.
1107 (elf32_arm_allocate_plt_entry): New function.
1108 (elf32_arm_populate_plt_entry): Likewise.
1109 (elf32_arm_final_link_relocate): Add an st_type parameter.
1110 Set srelgot to null for static objects. Use separate variables
1111 to record which st_value and st_type should be used when generating
1112 a dynamic relocation. Use elf32_arm_get_plt_info to find the
1113 symbol's PLT information, setting has_iplt_entry, splt,
1114 plt_offset and gotplt_offset accordingly. Check whether
1115 STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change
1116 the relocation target accordingly. Broaden assert to include
1117 .iplts. Don't set sreloc for static relocations. Assert that
1118 we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32
1119 and R_ARM_ABS32_NOI. Generate R_ARM_IRELATIVE relocations instead
1120 of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC
1121 symbol. Pass the symbol type to arm_type_of_stub. Conditionally
1122 resolve GOT references to the .igot.plt entry.
1123 (elf32_arm_relocate_section): Update the call to
1124 elf32_arm_final_link_relocate.
1125 (elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT
1126 information. Treat R_ARM_REL32 and R_ARM_REL32_NOI as call
1127 relocations in shared libraries and relocatable executables.
1128 Count non-call PLT references. Use elf32_arm_get_local_dynreloc_list
1129 to get the list of dynamic relocations for a local symbol.
1130 (elf32_arm_check_relocs): Always create ifunc sections. Set isym
1131 at the same time as setting h. Use elf32_arm_allocate_local_sym_info
1132 to allocate local symbol information. Treat R_ARM_REL32 and
1133 R_ARM_REL32_NOI as call relocations in shared libraries and
1134 relocatable executables. Record PLT information for local
1135 STT_GNU_IFUNC functions as well as global functions. Count
1136 non-call PLT references. Use elf32_arm_get_local_dynreloc_list
1137 to get the list of dynamic relocations for a local symbol.
1138 (elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols.
1139 Don't remove STT_GNU_IFUNC PLTs unless all references have been
1140 removed. Update after the changes to elf32_arm_link_hash_entry.
1141 (allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT
1142 entries should live in .plt or .iplt. Check whether the .igot.plt
1143 and .got entries can be combined. Use elf32_arm_allocate_plt_entry
1144 to allocate .plt and .(i)got.plt entries. Detect which .got
1145 entries will need R_ARM_IRELATIVE relocations and use
1146 elf32_arm_allocate_irelocs to allocate them. Likewise other
1147 non-.got dynamic relocations.
1148 (elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt
1149 and dynamic relocations for local STT_GNU_IFUNC symbols.
1150 Check whether the .igot.plt and .got entries can be combined.
1151 Detect which .got entries will need R_ARM_IRELATIVE relocations
1152 and use elf32_arm_allocate_irelocs to allocate them. Use stashed
1153 section pointers intead of strcmp checks. Handle iplt and igotplt.
1154 (elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry
1155 to fill in .plt, .got.plt and .rel(a).plt entries. Point
1156 STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations
1157 resolve to it.
1158 (elf32_arm_output_plt_map_1): New function, split out from
1159 elf32_arm_output_plt_map. Handle .iplt entries. Use
1160 elf32_arm_plt_needs_thumb_stub_p.
1161 (elf32_arm_output_plt_map): Call it.
1162 (elf32_arm_output_arch_local_syms): Add mapping symbols for
1163 local .iplt entries.
1164 (elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols.
1165 (elf32_arm_swap_symbol_out): Likewise.
1166 (elf32_arm_add_symbol_hook): New function.
1167 (elf_backend_add_symbol_hook): Define for all targets.
1168
35fc36a8
RS
11692011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1170
1171 * elf-bfd.h (elf_link_hash_entry): Add target_internal.
1172 * elf.c (swap_out_syms): Set st_target_internal for each
1173 Elf_Internal_Sym.
1174 * elfcode.h (elf_swap_symbol_in): Likewise.
1175 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
1176 * elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise.
1177 * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
1178 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
1179 * elflink.c (elf_link_output_extsym): Likewise.
1180 (bfd_elf_final_link): Likewise.
1181 (elf_link_add_object_symbols): Copy st_target_internal
1182 to the hash table if we see a definition.
1183 (_bfd_elf_copy_link_hash_symbol_type): Copy target_internal.
1184 * elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with
1185 a branch_type field.
1186 (a8_erratum_fix, a8_erratum_reloc): Likewise.
1187 (arm_type_of_stub): Replace actual_st_type with an
1188 actual_branch_type parameter.
1189 (arm_build_one_stub): Use branch types rather than st_types to
1190 determine the type of branch.
1191 (cortex_a8_erratum_scan): Likewise.
1192 (elf32_arm_size_stubs): Likewise.
1193 (bfd_elf32_arm_process_before_allocation): Likewise.
1194 (allocate_dynrelocs_for_symbol): Likewise.
1195 (elf32_arm_finish_dynamic_sections): Likewise.
1196 (elf32_arm_final_link_relocate): Replace sym_flags parameter with
1197 a branch_type parameter.
1198 (elf32_arm_relocate_section): Update call accordingly.
1199 (elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC.
1200 (elf32_arm_output_map_sym): Initialize st_target_internal.
1201 (elf32_arm_output_stub_sym): Likewise.
1202 (elf32_arm_symbol_processing): Delete.
1203 (elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs.
1204 Use st_target_internal to record the branch type.
1205 (elf32_arm_swap_symbol_out): Use st_target_internal to test for
1206 Thumb functions.
1207 (elf32_arm_is_function_type): Delete.
1208 (elf_backend_symbol_processing): Likewise.
1209 (elf_backend_is_function_type): Likewise.
1210
cbc704f3
RS
12112011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1212
1213 * elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj.
1214 (elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion
1215 into the PLT block.
1216
f6e32f6d
RS
12172011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1218
1219 * elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p,
1220 may_need_local_target_p and may_become_dynamic_p to classify
1221 the relocation type. Don't check info->symbolic or h->def_regular
1222 when deciding whether to record a potential dynamic reloc.
1223 Don't treat potential dynamic relocs as PLT references.
1224 (elf32_arm_gc_sweep_hook): Update to match. Assert that we don't
1225 try to make the PLT reference count go negative.
1226
b436d854
RS
12272011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1228
1229 * elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the
1230 GOT entry here, rather than leaving it to finish_dynamic_symbol.
1231 Only create a dynamic relocation for local references if
1232 info->shared.
1233 (allocate_dynrelocs_for_symbol): Update dynamic relocation
1234 allocation accordingly.
1235 (elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here.
1236
47beaa6a
RS
12372011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
1238
1239 * elf32-arm.c (elf32_arm_allocate_dynrelocs): New function.
1240 (elf32_arm_add_dynreloc): Likewise.
1241 (elf32_arm_adjust_dynamic_symbol): Use elf32_arm_allocate_dynrelocs
1242 to allocate dynamic relocations.
1243 (elf32_arm_size_dynamic_sections): Likewise.
1244 (allocate_dynrelocs): Likewise. Rename to
1245 allocate_dynrelocs_for_symbol.
1246 (elf32_arm_final_link_relocate): Use elf32_arm_add_dynreloc to
1247 create dynamic relocations.
1248 (elf32_arm_finish_dynamic_symbol): Likewise.
1249
52bc799a
L
12502011-03-12 H.J. Lu <hongjiu.lu@intel.com>
1251
1252 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
1253 x32 GD->IE and GD->LE transitions.
1254 (elf_x86_64_relocate_section): Supprt TLS x32 GD->IE, GD->LE
1255 and LD->LE transitions.
1256
e11840f9
AM
12572011-03-10 Alan Modra <amodra@gmail.com>
1258
1259 * elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset
1260 for LO_DS error message and correct multiple.
1261
aa374f67
AM
12622011-03-10 Alan Modra <amodra@gmail.com>
1263
1264 * elf64-ppc.c (bfd_elf64_bfd_link_just_syms): Define.
1265 (ppc64_elf_link_just_syms): New function.
1266 (opd_entry_value): Don't assume big-endian host.
1267 (get_r2off): New function.
1268 (ppc_build_one_stub, ppc_size_one_stub): Use it here.
1269
d59a60e9
MS
12702011-03-06 Michael Snyder <msnyder@vmware.com>
1271
4281caad
MS
1272 * compress.c (bfd_compress_section_contents): Check for out of mem.
1273
17672001
MS
1274 * elf64-x86-64.c (elf_x86_64_relocate_section): Document
1275 that case statement falls through intentionally.
1276
d59a60e9
MS
1277 * elf32-i386.c (elf_i386_relocate_section): Document fall through.
1278
0e29e6e8
AM
12792011-03-04 Alan Modra <amodra@gmail.com>
1280
1281 * archive.c (bsd_write_armap): Don't call stat in deterministic
1282 mode, and don't use st_mtime if stat returns error.
1283
eb00922a
MS
12842011-03-03 Michael Snyder <msnyder@vmware.com>
1285
08c13595
MS
1286 * elf64-x86-64.c (elf_x86_64_relocate_section): Remove dead code.
1287
d543c50d
MS
1288 * coff-x86_64.c (coff_amd64_rtype_to_howto): Fencepost error.
1289
c38eb2a6
MS
1290 * aoutx.h (aout_final_link): Use sizeof int not sizeof int*.
1291 (aout_link_write_other_symbol): Missing break statement.
1292
8ecc1f20
MS
1293 * dwarf2.c (scan_unit_for_symbols): Stop memory leak.
1294
eb00922a
MS
1295 * archive.c (_bfd_slurp_extended_name_table): Fail if bfd_seek fails.
1296
4a4c5f25
L
12972011-03-03 H.J. Lu <hongjiu.lu@intel.com>
1298
1299 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
1300 x32 IE->LE transition.
1301 (elf_x86_64_relocate_section): Likewise.
1302
ddcf1fcf
BS
13032011-03-02 Bernd Schmidt <bernds@codesourcery.com>
1304
aa374f67
AM
1305 * elflink.c (is_reloc_section): Remove function.
1306 (get_dynamic_reloc_section_name): Construct string manually.
ddcf1fcf 1307
007d6189
KT
13082011-02-28 Kai Tietz <kai.tietz@onevision.com>
1309
1310 * archive.c (_bfd_find_nested_archive): Use filename_(n)cmp.
1311 (adjust_relative_path): Likewise.
1312 (_bfd_construct_extended_name_table): Likewise.
1313 * corefile.c (generic_core_file_matches_executable_p): Likewise.
1314 * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
1315 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1316 * elf32-spu.c (sort_bfds): Likewise.
1317 (spu_elf_auto_overlay): Likewise.
1318 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1319 * xcofflink.c (xcoff_set_import_path): Likewise.
1320 * xtensa-isa.c (xtensa_regfile_lookup): Likewise.
1321 (xtensa_regfile_lookup_shortname): Likewise.
1322
8616ad89
AM
13232011-02-28 Alan Modra <amodra@gmail.com>
1324
1325 PR 12513
1326 * archive.c (bfd_slurp_bsd_armap_f2): Sanity check parsed_size and
1327 stringsize. Properly sanity check symdef_count. Remove redundant
1328 bfd_release.
1329
80549d04
RÁE
13302011-02-25 Rafael Ávila de Espíndola <respindola@mozilla.com>
1331
1332 * plugin.c (bfd_plugin_object_p): Correctly set the filesize
1333 and handle claim_file seeking. Only try to load the plugin once.
1334
93b3ac75
AS
13352011-02-22 Andreas Schwab <schwab@redhat.com>
1336
1337 * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD
1338 relocation read the value from the second GOT slot.
1339
6fa052f0
TG
13402011-02-15 Tristan Gingold <gingold@adacore.com>
1341
1342 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment.
1343
28be611c
AM
13442011-02-15 Alan Modra <amodra@gmail.com>
1345
1346 * elf64-ppc.c (ppc64_elf_edit_toc): Reinstate second read of
1347 toc relocs. Fuss over free(NULL).
1348
93252b1c
MF
13492011-02-14 Mike Frysinger <vapier@gentoo.org>
1350
1351 * elflink.c (bfd_elf_size_dynamic_sections): Add
1352 bfd_get_symbol_leading_char to the start of newname.
1353
822ce8ee
RW
13542011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1355
1356 * configure: Regenerate.
1357
425b145b
AM
13582011-02-09 Alan Modra <amodra@gmail.com>
1359
1360 * elf64-ppc.c (ppc64_elf_edit_toc): Don't free toc relocs until
1361 we are done. When optimising large toc, check that a global
1362 symbol on a toc reloc is defined in a kept section.
1363
82f2dbf7
NC
13642011-02-08 Nick Clifton <nickc@redhat.com>
1365
1366 PR binutils/12467
1367 * elf.c (assign_file_positions_for_load_sections): Set the program
1368 header offset and entry size to zero if there are no program
1369 headers.
1370
df22d223
AM
13712011-02-08 Alan Modra <amodra@gmail.com>
1372
1373 * elf64-ppc.c (ppc64_elf_edit_toc): Don't segfault on NULL
1374 local_syms when looking for local symbols in .toc.
1375
6683a28d
AM
13762011-02-01 Alan Modra <amodra@gmail.com>
1377
1378 * elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value
1379 for toc pointer on any section having makes_toc_func_call set.
1380 (check_pasted_section): Ensure pasted .init/.fini fragments use
1381 the same toc if any has makes_toc_func_call set.
1382
5240d94d
JM
13832011-01-28 Joseph Myers <joseph@codesourcery.com>
1384
1385 * elf32-ppc.c (ppc_elf_link_hash_newfunc): Initialize has_sda_refs
1386 field.
1387
ed88c97e
RS
13882011-01-22 Richard Sandiford <rdsandiford@googlemail.com>
1389
1390 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Ignore
1391 common sections too.
1392
1a0c107f
L
13932011-01-18 H.J. Lu <hongjiu.lu@intel.com>
1394
04449d86
L
1395 * elf64-x86-64.c (elf_backend_want_plt_sym): Redefine to 0 after
1396 Solaris target.
1a0c107f 1397
d68cd58c
NC
13982011-01-18 Pierre Muller <muller@ics.u-strasbg.fr>
1399
1400 Fix compilation for mingw64.
1401 * coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate
1402 typecast to avoid warning.
1403 * elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type
1404 usage.
1405 * elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead
1406 of long for pointer to avoid warning.
1407 (elfNN_ia64_relax_brl): Idem.
1408 (elfNN_ia64_install_value): Idem.
1409 * vms-alpha.c (_bfd_vms_slurp_etir): Idem.
1410
da17376b
RS
14112011-01-17 Richard Sandiford <richard.sandiford@linaro.org>
1412
1413 * elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than
1414 h->needs_plt when deciding whether to record a possible dynamic reloc.
1415
1e81e12b
RS
14162011-01-17 Richard Sandiford <richard.sandiford@linaro.org>
1417
1418 * elf32-arm.c (elf32_arm_gc_sweep_hook): Remove all registered
1419 dynamic relocs for the removed section.
1420
d1534d16
L
14212011-01-15 H.J. Lu <hongjiu.lu@intel.com>
1422
1423 * elf64-x86-64.c (elf_x86_64_check_relocs): Check invalid x32
1424 relocations.
1425
248775ba
L
14262011-01-14 H.J. Lu <hongjiu.lu@intel.com>
1427
1428 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add pointer_r_type.
1429 (elf_x86_64_link_hash_table_create): Set pointer_r_type.
1430 (elf_x86_64_check_relocs): Handle R_X86_64_32 like R_X86_64_64
1431 for ILP32. Remove ABI_64_P PIC check for R_X86_64_8,
1432 R_X86_64_16, R_X86_64_32 and R_X86_64_32S.
1433 (elf_x86_64_relocate_section): Handle R_X86_64_32 like R_X86_64_64
1434 for ILP32.
1435
4a97a0e5
AM
14362011-01-14 Alan Modra <amodra@gmail.com>
1437
1438 * bfd.c (bfd_perror): Flush stdout before and stderr after printing
1439 error.
1440 (_bfd_default_error_handler): Likewise.
1441 * elf.c (print_segment_map): Likewise.
1442 * libbfd.c (warn_deprecated): Likewise.
1443 * som.c (som_sizeof_headers): No need to do so here.
1444 * coff-i860.c: Replace use of printf for error messages with
1445 _bfd_error_handler.
1446 * coff-ppc.c: Likewise.
1447 * coff-sh.c: Likewise.
1448 * elf32-bfin.c: Likewise.
1449 * elf32-dlx.c: Likewise.
1450 * elf32-mep.c: Likewise.
1451 * elf32-v850.c: Likewise.
1452 * mach-o.c: Likewise.
1453 * pef.c: Likewise.
1454
82e96e07
L
14552011-01-13 H.J. Lu <hongjiu.lu@intel.com>
1456
1457 * elf64-x86-64.c (elf_x86_64_link_hash_table): Remove
1458 swap_reloca_out.
1459 (elf_x86_64_link_hash_table_create): Don't set swap_reloca_out.
1460 (elf_x86_64_check_relocs): Align relocation section to 4 byte
1461 for 32bit.
1462 (elf_x86_64_gc_sweep_hook): Replace ELF64_ST_TYPE with
1463 ELF_ST_TYPE.
1464 (elf_x86_64_finish_dynamic_symbol): Updated.
1465 (elf_x86_64_finish_dynamic_sections): Don't use
1466 Elf64_External_Dyn, bfd_elf64_swap_dyn_in, nor
1467 bfd_elf64_swap_dyn_out.
1468
e6a6bb22
AM
14692011-01-14 J. Park <grassman@gmail.com>
1470
1471 PR ld/12339
1472 * elf32-arm.c (allocate_dynrelocs): Don't set up eh before
1473 following bfd_link_hash_warning symbol link.
1474
0855e32b
NS
14752011-01-10 Nathan Sidwell <nathan@codesourcery.com>
1476 Glauber de Oliveira Costa <glommer@gmail.com>
1477
1478 * reloc.c (BFD_RELOC_ARM_TLS_GOTDESC, BFD_RELOC_ARM_TLS_CALL,
1479 BFD_RELOC_ARM_THM_TLS_CALL, BFD_RELOC_ARM_TLS_DESCSEQ,
1480 BFD_RELOC_ARM_THM_TLS_DESCSEQ, BFD_RELOC_ARM_TLS_DESC): New
1481 relocations.
1482 * libbfd.h: Rebuilt.
1483 * bfd-in2.h: Rebuilt.
1484 * elf32-arm.c (elf32_arm_howto_table_1): Add new relocations.
1485 (elf32_arm_reloc_map): Likewise.
1486 (tls_trampoline, dl_tlsdesc_lazy_trampoline): New PLT templates.
1487 (elf32_arm_stub_long_branch_any_tls_pic,
1488 elf32_arm_stub_long_branch_v4t_thumb_tls_pic): New stub templates.
1489 (DEF_STUBS): Add new stubs.
1490 (struct_elf_arm_obj_data): Add local_tlsdesc_gotent field.
1491 (elf32_arm_local_tlsdesc_gotent): New.
1492 (GOT_TLS_GDESC): New mask.
1493 (GOT_TLS_GD_ANY): Define.
1494 (struct elf32_arm_link_hash_entry): Add tlsdesc_got field.
1495 (elf32_arm_compute_jump_table_size): New.
1496 (struct elf32_arm_link_hash_table): Add next_tls_desc_index,
1497 num_tls_desc, dt_tlsdesc_plt, dt_tlsdesc_got, tls_trampoline,
1498 sgotplt_jump_table_size fields.
1499 (elf32_arm_link_hash_newfunc): Initialize tlsdesc_got field.
1500 (elf32_arm_link_hash_table_create): Initialize new fields.
1501 (arm_type_of_stub): Check TLS desc relocs too.
1502 (elf32_arm_stub_name): TLS desc relocs can be shared.
1503 (elf32_arm_tls_transition): Determine relaxation.
1504 (arm_stub_required_alignment): Add tls stubs.
1505 (elf32_arm_size_stubs): Likewise.
1506 (elf32_arm_tls_relax): Perform TLS relaxing.
1507 (elf32_arm_final_link_relocate): Process TLS DESC relocations.
1508 (IS_ARM_TLS_GNU_RELOC): New.
1509 (IS_ARM_TLS_RELOC): Use it.
1510 (elf32_arm_relocate_section): Perform TLS relaxing.
1511 (elf32_arm_check_relocs): Anticipate TLS relaxing, process tls
1512 desc relocations.
1513 (allocate_dynrelocs): Allocate tls desc relcoations.
1514 (elf32_arm_output_arch_local_syms): Emit tls trampoline mapping
1515 symbols.
1516 (elf32_arm_size_dynamic_sections): Allocate tls trampolines and
1517 got slots.
1518 (elf32_arm_always_size_sections): New. Create _TLS_MODULE_BASE
1519 symbol.
1520 (elf32_arm_finish_dynamic_symbol): Adjust.
1521 (arm_put_trampoline): New.
1522 (elf32_arm_finish_dynamic_sections): Emit new dynamic tags and tls
1523 trampolines.
1524 (elf_backend_always_size_sections): Define.
1525
7be86737
L
15262011-01-06 H.J. Lu <hongjiu.lu@intel.com>
1527
1528 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Optimized.
1529
ae428b57 15302011-01-06 H.J. Lu <hongjiu.lu@intel.com>
3db2e7dd
L
1531
1532 PR ld/12366
1533 PR ld/12371
1534 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly
1535 handle symbols marked with regular reference, but not non-GOT
1536 reference when building shared library.
1537
1538 * elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle
1539 local and global STT_GNU_IFUNC symols when building shared
1540 library.
1541 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
1542
9689e3a3
DD
15432011-01-05 DJ Delorie <dj@redhat.com>
1544
1545 * reloc.c: Add BFD_RELOC_RX_OP_NEG.
1546 * libbfd.h: Regenerate.
1547 * bfd-in2.h: Regenerate.
1548 * elf32-rx.c: Add it to the list, corresponding to R_RX_OPneg.
1549
889a4d3e
L
15502011-01-03 H.J. Lu <hongjiu.lu@intel.com>
1551
1552 * cpu-i386.c (bfd_i386_compatible): New.
1553 (bfd_x64_32_arch_intel_syntax): Replace bfd_default_compatible
1554 with bfd_i386_compatible.
1555 (bfd_x86_64_arch_intel_syntax): Likewise.
1556 (bfd_i386_arch_intel_syntax): Likewise.
1557 (i8086_arch): Likewise.
1558 (bfd_x64_32_arch): Likewise.
1559 (bfd_x86_64_arch): Likewise.
1560 (bfd_i386_arch): Likewise.
1561
9e9e0820 1562For older changes see ChangeLog-2010
56882138
AM
1563\f
1564Local Variables:
1565mode: change-log
1566left-margin: 8
1567fill-column: 74
1568version-control: never
1569End: