* po/bg.po: New Bulgarian translation.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
310092bd
TG
12009-11-17 Tristan Gingold <gingold@adacore.com>
2
3 * targets.c: Include alloca-conf.h
4
5fbe9721
KT
52009-11-16 Kai Tietz <kai.tietz@onevision.com>
6
7 * targets.c (bfd_get_target_info): New function.
8 (_bfd_find_arch_match): New function.
9 * bfd-in2.h: Regenerated.
10
fa78c13a
NC
112009-11-12 Nick Clifton <nickc@redhat.com>
12
13 * po/ru.po: Updates Russian translation.
14
41327c9d
NC
152009-11-11 Nick Clifton <nickc@redhat.com>
16
17 * po/id.po: Updated Indonesian translation.
18
da2f07f1
JK
192009-11-11 Jan Kratochvil <jan.kratochvil@redhat.com>
20
21 * configure.in: Call ACX_LARGEFILE. Stop calling AC_PLUGINS,
22 AC_SYS_LARGEFILE and checking the Solaris largefile exception.
23 * aclocal.m4: Regenerate.
24 * configure: Regenerate.
25
57ca8ac7
L
262009-11-09 H.J. Lu <hongjiu.lu@intel.com>
27
28 PR ld/10911
29 * elflink.c (elf_link_output_extsym): Don't return on
30 STT_GNU_IFUNC symbol when stripping.
31
d9f40817
DA
322009-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
33
34 * elf32-hppa.c (elf32_hppa_final_link): Don't sort unwind information
35 in a relocatable link.
36 * elf64-hppa.c (elf_hppa_final_link): Likewise.
37
3cbc5de0
NC
382009-11-05 Nick Clifton <nickc@redhat.com>
39
40 * elflink.c (elf_link_add_object_symbols): Improve error
41 message generated when a symbol is left unresolved because a
57ca8ac7 42 --no-add-needed command line option has prevented the
3cbc5de0
NC
43 inclusion of the DSO defining it.
44
6567fa84
UW
452009-11-03 Alan Modra <amodra@bigpond.net.au>
46 Ulrich Weigand <uweigand@de.ibm.com>
47
48 * elf32-spu.c (mark_functions_via_relocs): Handle non-branch relocs
49 (jump tables or other references to code labels) as well.
50
62f3b8c8
PB
512009-11-02 Paul Brook <paul@codesourcery.com>
52
53 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle VFPv4
54 attributes.
55
3703bab9
AM
562009-11-02 Alan Modra <amodra@bigpond.net.au>
57
58 * elflink.c (elf_link_add_object_symbols): Don't force debug
59 symbols local.
60
5d5a918a
HPN
612009-10-29 Johan Kristell <johankri@axis.com>
62
63 * elf32-cris.c (cris_elf_plt_sym_val): New function.
64 (elf_backend_plt_sym_val): Define.
65
5fdcb63c
KT
662009-10-27 Kai Tietz <kai.tietz@onevision.com>
67
68 * peXXigen.c (bfdver.h): Add include.
69 (LINKER_VERSION): Do calculation based on BFD_VERSION.
70
d76b263e
MR
712009-10-25 Maciej W. Rozycki <macro@linux-mips.org>
72
73 * elf32-vax.c (elf_vax_relocate_section): Correct assertion.
74
71f136d6
MR
752009-10-25 Maciej W. Rozycki <macro@linux-mips.org>
76
77 * elf32-vax.c (elf_vax_plt_entry): Fix formatting.
78
9e86195c
MR
792009-10-25 Maciej W. Rozycki <macro@linux-mips.org>
80
81 * elf32-vax.c (elf_vax_relocate_section): Fix a typo.
82
406dba13
KT
832009-10-23 Kai Tietz <kai.tietz@onevision.com>
84
85 * coff-x86_64.c (coff_amd64_rtype_to_howto): Subtract offset
86 of R_AMD64_PCRLONG_<X> relocations from addend.
87
98950613
AM
882009-10-23 Alan Modra <amodra@bigpond.net.au>
89
90 * plugin.c: Produce empty object if not BFD_SUPPORTS_PLUGINS.
91
dbde1c12
AM
922009-10-20 Alan Modra <amodra@bigpond.net.au>
93
94 PR binutils/10802
95 * opncls.c (_maybe_make_executable): Make DYNAMIC files executable.
96
ebf275e3
HPN
972009-10-19 Hans-Peter Nilsson <hp@axis.com>
98
99 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_DTPREL>:
100 Don't subtract the size of the TLS block for non-shared objects
101 from the relocation.
102
6c293e26
AM
1032009-10-17 Arnold Metselaar <arnold.metselaar@planet.nl>
104
105 * coff-z80.c (z80coff_vec): Allow sections to be of type
106 SEC_CODE or SEC_DATA
107
493152cb
AM
1082009-10-16 Alan Modra <amodra@bigpond.net.au>
109
110 PR binutils/10785
111 * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Don't bfd_alloc
112 bim and bim->buffer. bfd_malloc instead.
113 * peicode.h (pe_ILF_build_a_bfd): Similarly.
114 (ILF_DATA_SIZE): Don't include bim.
115 * opncls.c (bfd_close): Test bim->buffer non-NULL before freeing.
116
f88dc410
AM
1172009-10-14 Alan Modra <amodra@bigpond.net.au>
118
119 * aoutx.h (aout_link_check_ar_symbols): Typo fix.
120
cd2b2c10
L
1212009-10-13 H.J. Lu <hongjiu.lu@intel.com>
122
123 PR binutils/10763
124 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Declare plt
125 earlier.
126
fc3e1e3c
AM
1272009-10-13 Alan Modra <amodra@bigpond.net.au>
128
129 * elflink.c (_bfd_elf_merge_symbol): Revert previous patch.
130
f8076f98
RM
1312009-10-12 Roland McGrath <roland@frob.com>
132
133 * elflink.c (elf_link_add_object_symbols, _bfd_elf_merge_symbol):
134 Fix %s that should be %B in several message formats.
135
f0803690
AM
1362009-10-10 Alan Modra <amodra@bigpond.net.au>
137
138 * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols for
139 excluded output sections.
140
0c9b2b4c
TG
1412009-10-09 Tristan Gingold <gingold@adacore.com>
142
143 * mach-o.c (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_RPATH.
144 (bfd_mach_o_bfd_print_private_bfd_data): Ditto.
145
ab273af8
TG
1462009-10-09 Tristan Gingold <gingold@adacore.com>
147
148 * mach-o.c (bfd_mach_o_scan_read_symtab_symbols): Rename to
149 bfd_mach_o_read_symtab_symbols.
150 (bfd_mach_o_scan_write_thread): Rename to bfd_mach_o_write_thread.
151 (bfd_mach_o_scan_write_relocs): Rename to bfd_mach_o_write_relocs.
152 (bfd_mach_o_scan_write_section_32): Rename to
153 bfd_mach_o_write_section_32.
154 (bfd_mach_o_scan_write_section_64): Rename to
155 bfd_mach_o_write_section_64.
156 (bfd_mach_o_scan_write_segment_32): Rename to
157 bfd_mach_o_write_segment_32.
158 (bfd_mach_o_scan_write_segment_64): Rename to
159 bfd_mach_o_write_segment_64.
160 (bfd_mach_o_scan_write_symtab): Rename to bfd_mach_o_write_symtab.
161 (bfd_mach_o_scan_read_section_32): Rename to
162 bfd_mach_o_read_section_32.
163 (bfd_mach_o_scan_read_section_64): Rename to
164 bfd_mach_o_read_section_64.
165 (bfd_mach_o_scan_read_section): Rename to bfd_mach_o_read_section.
166 (bfd_mach_o_scan_read_symtab_strtab): Rename to
167 bfd_mach_o_read_symtab_strtab.
168 (bfd_mach_o_scan_read_symtab_symbol): Rename to
169 bfd_mach_o_read_symtab_symbol.
170 (bfd_mach_o_scan_read_dysymtab_symbol): Rename to
171 bfd_mach_o_read_dysymtab_symbol.
172 (bfd_mach_o_scan_read_dylinker): Rename to bfd_mach_o_read_dylinker.
173 (bfd_mach_o_scan_read_dylib): Rename to bfd_mach_o_read_dylib.
174 (bfd_mach_o_scan_read_prebound_dylib): Rename to
175 bfd_mach_o_read_prebound_dylib.
176 (bfd_mach_o_scan_read_thread): Rename to bfd_mach_o_read_thread.
177 (bfd_mach_o_scan_read_dysymtab): Rename to bfd_mach_o_read_dysymtab.
178 (bfd_mach_o_scan_read_symtab): Rename to bfd_mach_o_read_symtab.
179 (bfd_mach_o_scan_read_uuid): Rename to bfd_mach_o_read_uuid.
180 (bfd_mach_o_scan_read_linkedit): Rename to bfd_mach_o_read_linkedit.
181 (bfd_mach_o_scan_read_str): Rename to bfd_mach_o_read_str.
182 (bfd_mach_o_scan_read_dyld_info): Rename to bfd_mach_o_read_dyld_info.
183 (bfd_mach_o_scan_read_segment): Rename to bfd_mach_o_read_segment.
184 (bfd_mach_o_scan_read_segment_32): Rename to
185 bfd_mach_o_read_segment_32.
186 (bfd_mach_o_scan_read_segment_64): Rename to
187 bfd_mach_o_read_segment_64.
188 (bfd_mach_o_scan_read_command): Rename to bfd_mach_o_read_command.
189 * mach-o.h (bfd_mach_o_scan_read_dysymtab_symbol): Rename to
190 bfd_mach_o_read_dysymtab_symbol.
191
b2b62060
TG
1922009-10-09 Tristan Gingold <gingold@adacore.com>
193
194 * mach-o.c (bfd_mach_o_section_get_entry_size): Moved.
195 (bfd_mach_o_section_get_nbr_indirect): Ditto.
196 (bfd_mach_o_get_synthetic_symtab): New function.
197 (bfd_mach_o_print_private_header): Print the number of commands
198 in decimal.
199 * mach-o.h (bfd_mach_o_get_synthetic_symtab): Add prototype.
200 * mach-o-target.c: Do not defined bfd_mach_o_get_synthetic_symtab.
201
615b63d4
TG
2022009-10-08 Tristan Gingold <gingold@adacore.com>
203
204 * config.bfd: Add bfd_mach_o_i386_vec in x86_64-darwin targ_selvecs.
205
8654b68a
L
2062009-10-06 H.J. Lu <hongjiu.lu@intel.com>
207
208 * bfd-in2.h: Regenerated.
209
4a056f14
AM
2102009-10-02 Alan Modra <amodra@bigpond.net.au>
211
212 * aout-cris.c (N_SHARED_LIB): Don't define.
213 * hp300bsd.c (N_SHARED_LIB): Don't define.
214 * i386bsd.c (N_SHARED_LIB): Don't define.
215 * i386linux.c (N_SHARED_LIB): Don't define.
216 * i386lynx.c (N_SHARED_LIB): Don't define.
217 * m68klinux.c (N_SHARED_LIB): Don't define.
218 * m88kmach3.c (N_SHARED_LIB): Don't define.
219 * mipsbsd.c (N_SHARED_LIB): Don't define.
220 * newsos3.c (N_SHARED_LIB): Don't define.
221 * pc532-mach.c (N_SHARED_LIB): Don't define.
222 * pdp11.c (N_SHARED_LIB): Don't define.
223 * sparclinux.c (N_SHARED_LIB): Don't define.
224 * vaxbsd.c (N_SHARED_LIB): Don't define.
225
eb503a00
DK
2262009-10-01 Dave Korn <dave.korn.cygwin@gmail.com>
227
228 * cofflink.c (_bfd_coff_generic_relocate_section): Look for the aux
229 symbol for a weak undef in the auxbfd, not the input bfd.
230
64028ad7
UW
2312009-10-01 Ulrich Weigand <uweigand@de.ibm.com>
232
233 * elf32-spu.c (spu_elf_auto_overlay): Insert icache linker script
234 after .toe instead of before .text section. Set the LMA of all
235 overlay sections to their icache IA address.
236 (spu_elf_find_overlays): Determine icache set id without reference
237 to the LMA.
238
27a5525e
TG
2392009-09-30 Tristan Gingold <gingold@adacore.com>
240
241 * configure.com: Use hosts/alphavms.h on both alpha and ia64 VMS.
242
464d3bd4
L
2432009-09-29 H.J. Lu <hongjiu.lu@intel.com>
244
245 * elf64-x86-64.c (elf64_x86_64_append_rela): New.
246 (elf64_x86_64_relocate_section): Use it.
247 (elf64_x86_64_finish_dynamic_symbol): Likewise.
248
c7927a3c
NC
2492009-09-29 DJ Delorie <dj@redhat.com>
250
251 * Makefile.am (ALL_MACHINES): Add cpu-rx.lo.
252 (ALL_MACHINES_CFILES): Add cpu-rx.c.
253 (BFD32_BACKENDS): Add elf32-rx.lo.
254 (BFD32_BACKENDS_CFILES): Add elf32-rx.c.
255 * archures.c (bfd_architecture): Add bfd_arch_rx and bfd_mach_rx.
256 Export bfd_rx_arch.
257 (bfd_archures_list): Add bfd_rx_arch.
258 * config.bfd: Add entry for rx-*-elf.
259 * configure.in: Add entries for bfd_elf32_rx_le_vec and
260 bfd_elf32_rx_be_vec.
261 * reloc.c: Add RX relocations.
262 * targets.c: Add RX target vectors.
263 * Makefile.in: Regenerate.
264 * bfd-in2.h: Regenerate.
265 * configure: Regenerate.
266 * libbfd.h: Regenerate.
267 * cpu-rx.c: New file.
268 * elf32-rx.c: New file.
269
0505e902
SR
2702009-09-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
271
272 * elf32-cr16.c (elf32_cr16_relocate_section): Removed
f8076f98 273 info->relocatable to fix the ld/testsuites/ld-elf/linkonce1 test case.
0505e902 274
caa83f8b
NC
2752009-09-28 Nick Clifton <nickc@redhat.com>
276
277 PR 10478: Accepting Solaris binaries.
278 * elf.c (bfd_section_from_shdr): Allow SHN_BEFORE and SHN_AFTER
279 section link values in x86 binaries.
280 * elfcode.h (elf_object_p): Likewise.
281
fc9f1df9
NC
2822009-09-28 Philippe De Muyter <phdm@macqel.be>
283
284 * elf32-m68k.c (elf_m68k_final_write_processing): New function.
285 (elf_backend_final_write_processing): Macro defined as above function.
286
21d799b5
NC
2872009-09-25 Martin Thuresson <martint@google.com>
288
4a056f14 289 Update sources to make alpha and arm targets compile cleanly with
21d799b5
NC
290 -Wc++-compat:
291 * ecoff.c: Add casts.
292 * ecofflink.c: Add casts.
293 * elf64-alpha.c: Add casts.
294 (struct alpha_elf_got_entry, struct alpha_elf_reloc_entry): Move
295 to top level.
296 (SKIP_HOWTO): Use enum name.
297 * elf32-arm.c: Add casts.
298 (elf32_arm_vxworks_bed): Update code to avoid multiple
299 declarations.
300 (struct map_stub): Move to top level.
301
935bd1e0
L
3022009-09-24 H.J. Lu <hongjiu.lu@intel.com>
303
304 PR ld/10630
305 * elflink.c (elf_link_output_extsym): Turn off visibility on
306 local symbol.
307 (bfd_elf_final_link): Turn off visibility on dynamic local
308 symbol.
309
107601c8
AM
3102009-09-24 Alan Modra <amodra@bigpond.net.au>
311
312 PR binutils/10654
313 * dwarf2.c (lookup_address_in_line_info_table): Remove workaround
314 for invalid location lists generated by gcc-2.95 and Intel 6.0 C++.
315 Remove "function" parm, adjust caller.
316
7ee314fa
AM
3172009-09-23 Matt Rice <ratmice@gmail.com>
318
319 * bfd-in.h (bfd_elf_size_dynamic_sections): Add audit and depaudit
320 arguments.
321 * elflink.c (bfd_elf_size_dynamic_sections): Generate DT_AUDIT,
322 DT_DEPAUDIT from audit/depaudit arguments.
323 (elf_finalize_dynstr): Finalize DT_AUDIT and DT_DEPAUDIT strtab entries.
324 (elf_link_add_object_symbols): Set dt_audit target data when finding a
325 DT_AUDIT.
326 * bfd-in2.h: Regenerate.
327 * bfd-elf.h: Add dt_audit to elf_obj_tdata, and elf_dt_audit macro.
328
d3e32c2e
JZ
3292009-09-23 Jie Zhang <jie.zhang@analog.com>
330
331 * elf32-bfin.c (_bfinfdpic_size_got_plt): Make sure empty
332 .rel.plt and .plt sections are removed.
333 (elf32_bfinfdpic_size_dynamic_sections): Remove empty .dynbss
334 section. Remove the duplicated removing of empty .rel.plt
335 section.
336
a10917ef
RS
3372009-09-21 Richard Sandiford <rdsandiford@googlemail.com>
338
339 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Extend previous
340 patch to handle the new personality relaxation.
341
30af5962
RS
3422009-09-21 Richard Sandiford <rdsandiford@googlemail.com>
343
344 * elf-eh-frame.c (make_pc_relative): New function.
345 (_bfd_elf_write_section_eh_frame): Use it.
346
a7f2871e
AM
3472009-09-21 Alan Modra <amodra@bigpond.net.au>
348
349 * elf32-ppc.c (TLS_GET_ADDR_GLINK_SIZE): Define.
350 (ADD_3_12_2, BEQLR, CMPWI_11_0, LWZ_11_3, LWZ_12_3): Define.
351 (MR_0_3, MR_3_0): Define.
352 (struct ppc_elf_link_hash_table): Add no_tls_get_addr_opt.
353 (ppc_elf_select_plt_layout): Save emit_stub_syms param earlier.
354 (ppc_elf_tls_setup): Add no_tls_get_addr_opt param and save to hash
355 table. Check for presense of __tls_get_addr_opt
356 (allocate_dynrelocs): Increase glink entry size for __tls_get_addr.
357 (ppc_elf_size_dynamic_sections): Add DT_PPC_TLS_OPT tag.
358 (write_glink_stub): Add param p.
359 (ppc_elf_relocate_section): Adjust write_glink_stub call.
360 (ppc_elf_finish_dynamic_symbol): Emit special glink call stub for
361 __tls_get_addr.
362 * elf32-ppc.h (ppc_elf_tls_setup): Update prototype.
363 * elf64-ppc.c (struct ppc_link_hash_table): Add no_tls_get_addr_opt.
364 (ppc64_elf_tls_setup): Add no_tls_get_addr_opt param and save to hash
365 table. Check for presense of __tls_get_addr_opt.
366 (ppc64_elf_size_dynamic_sections): Add DT_PPC64_TLS_OPT tag.
367 (LD_R11_0R3, LD_R12_0R3, MR_R0_R3, CMPDI_R11_0, ADD_R3_R12_R13,
368 BEQLR, MR_R3_R0, MFLR_R11, STD_R11_0R1, BCTRL, LD_R11_0R1,
369 LD_R2_0R1, MTLR_R11): Define.
370 (build_tls_get_addr_stub): New function.
371 (ppc_build_one_stub): Call it.
372 (ppc_size_one_stub): Add extra size for __tls_get_addr stub.
373 (ppc64_elf_relocate_section): Don't change nop to ld 2,40(1) for
374 __tls_get_addr plt call.
375 * elf64-ppc.h (ppc64_elf_tls_setup): Update prototype.
376
18e04883
RS
3772009-09-19 Richard Sandiford <rdsandiford@googlemail.com>
378
379 * elf-bfd.h (eh_cie_fde): Add personality_offset and
380 make_per_encoding_relative to the CIE structure. Add a padding field.
381 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Use 0x70
382 rather than 0xf0 when masking out the base address encoding
383 Record the offset of personality data from the start of the CIE.
384 Remove a repeated elf_backend_can_make_relative_eh_frame check.
385 (find_merged_cie): Take an info argument. If the personality
386 binds locally, try converting an absolute personality into
387 a local one.
388 (_bfd_elf_discard_section_eh_frame): Use 0x70 rather than 0xf0
389 when masking out the base address encoding. Update the call to
390 find_merged_cie.
391 (_bfd_elf_eh_frame_section_offset): Discard relocations against
392 the personality data if we are converting into PC-relative form.
393 (_bfd_elf_write_section_eh_frame): Use 0x70 rather than 0xf0
394 when masking out the base address encoding. Handle
395 make_per_encoding_relative.
396
bd6c6e2b
AM
3972009-09-18 Alan Modra <amodra@bigpond.net.au>
398
399 PR ld/10406
400 * elf32-ppc.c (ppc_elf_howto_raw): Make R_PPC_EMB_SDAI16 and
401 R_PPC_EMB_SDA2I16 complain_overflow_signed.
402 (create_sdata_sym): Pass info rather than htab.
403 Update all callers. Ensure symbols are hidden.
404 (ppc_elf_check_relocs): Allow SDAREL16 when shared.
405 (ppc_elf_size_dynamic_sections): When shared, equate _SDA_BASE_ to
406 _GLOBAL_OFFSET_TABLE_.
407 (elf_finish_pointer_linker_section): Don't assume that sdata base
408 symbol is always at 0x8000 offset. Don't subtract the addend here.
409 (is_static_defined): New function.
410 (ppc_elf_relocate_section): Verify symbol base used in SDA relocs
411 is statically defined. Clear addend for EMB_SDAI16 and EMB_SDA2I16
412 relocs. Downgrade error on unexpected section for EMB_SDA2REL
413 reloc symbols to a warning.
414
ca58b19f
NC
4152009-09-18 Nick Clifton <nickc@redhat.com>
416
417 * po/es.po: Updated Spanish translation.
2f0205e8 418 * po/vi.po: Updated Vietnamese translation.
ca58b19f 419
b31867b6
AM
4202009-09-18 Alan Modra <amodra@bigpond.net.au>
421
422 * elf64-ppc.c (follow_link, elf_follow_link, ppc_follow_link): New
423 functions. Use throughout.
424 (ppc64_elf_copy_indirect_symbol): Set direct symbol "oh" field
425 from indirect symbol.
426 (lookup_fdh): Rename from get_fdh. Follow indirect sym links.
427 (add_symbol_adjust): Simplify.
428 (defined_code_entry, defined_func_desc): New functions.
429 (ppc64_elf_gc_keep): Follow indirect sym links. Use defined_code_entry.
430 (ppc64_elf_gc_mark_dynamic_ref): Use defined_func_desc and
431 defined_code_entry to follow indirect sym links.
432 (ppc64_elf_gc_mark_hook, func_desc_adjust): Likewise.
433 (ppc_type_of_stub): Follow indirect sym links.
434 (toc_adjusting_stub_needed): Likewise.
435 (ppc_build_one_stub): Likewise. Make undefined dot-symbols weak
436 rather than defining them at stub.
437 (ppc64_elf_relocate_section): Rewrite call test to avoid multiple
438 assignments in test.
439
afecc97c 4402009-09-16 Tristan Gingold <gingold@adacore.com>
7ee314fa 441
afecc97c
TG
442 * mach-o.h (bfd_mach_o_filetype): Add new constants from darwin10.
443 Reindent.
444 * mach-o.c (bfd_mach_o_cpu_name): Reindent.
445 (bfd_mach_o_filetype_name): Complete with new constants. Reindent.
446 (bfd_mach_o_print_private_header): Use fputs instead of fprintf
447 when possible to avoid warnings.
448 (bfd_mach_o_print_section_map): Ditto.
449 (bfd_mach_o_section_get_entry_size): New function.
450 (bfd_mach_o_section_get_nbr_indirect): Simplify using the newly
451 added function.
452 (bfd_mach_o_print_dysymtab): Print address of indirect symbols.
453
df58f7b0
NC
4542009-09-14 Nick Clifton <nickc@redhat.com>
455
456 * po/fi.po: Updated Finnish translation.
457
1e9cc1c2
NC
4582009-09-11 Nick Clifton <nickc@redhat.com>
459
460 * po/bfd.pot: Updated by the Translation project.
461
8b31b6c4
NC
4622009-09-11 Philippe De Muyter <phdm@macqel.be>
463
464 * binary.c (binary_object_p): Remove bfd_external_binary_architecture
465 hack. objcopy `-B' (`--binary-architecture') option is now handled
466 in a generic way.
467
681fe688
NC
4682009-09-11 Nick Clifton <nickc@redhat.com>
469
470 * rs6000-core.c (read_hdr): Fix typo in recent C++ compatibility
471 changes.
472
3b6cfd4e 4732009-09-11 Jie Zhang <jie.zhang@analog.com>
83fd9437
JZ
474
475 * elf32-bfin.c (bfinfdpic_relocs_info_find): Just return
476 NULL if `ht' is NULL.
477
a50b1753
NC
4782009-09-09 Martin Thuresson <martin@mtme.org>
479
4a056f14 480 Update sources to compile cleanly with -Wc++-compat:
a50b1753
NC
481 * aoutx.h: Add casts.
482 * archive.c: Add casts.
483 * archive64.c: Add casts.
484 * archures.c: Add casts.
485 * bfd-in2.h: Regenerated.
486 * bfd.c: Add casts. (enum bfd_direction): Move out to top level.
487 * bfdio.c: Add casts.
488 * binary.c: Add casts.
489 * cache.c (cache_bseek,cache_bread_1,cache_bwrite): Updated
490 parameter to use enum value instead of int.
491 * coffcode.h: Add casts.
492 * coffgen.c: Add casts.
493 * cofflink.c: Add casts.
494 * compress.c: Add casts.
495 * dwarf1.c: Add casts.
496 * dwarf2.c: Add casts. (struct dwarf2_debug): Rename member bfd to
497 bfd_ptr. Update code to use new name.
498 * elf-attrs.c: Add casts.
499 * elf-bfd.h (elf_link_virtual_table_entry): Gives name to
500 anonymous struct. (union gotplt_union, struct
501 elf_link_virtual_table_entry): Move to top level.
502 * elf-eh-frame.c: Add casts.
503 * elf-strtab.c: Add casts.
504 * elf.c: Add casts. (_bfd_elm_make_Section_from_phdr): Change
505 argument name from typename to type_name.
506 * elf32-i386.c: Add casts.
507 * elf64-x86-64.c: Add casts.
508 * elfcode.h: Add casts.
509 * elfcore.h: Add casts.
510 * elflink.c: Add casts.
511 * format.c: Add casts.
512 * hash.c: Add casts.
513 * ihex.c: Add casts.
514 * libaout.h (enum aout_subformat, enum aout_magic): Move to top
515 level.
516 * libbfd.c: Add casts.
517 * linker.c: Add casts.
518 * merge.c: Add casts.
519 * opncls.c: Add casts.
520 * peXXigen.c: Add casts.
521 * peicode.h: Add casts.
522 * reloc.c: Add casts.
523 * section.c: Add casts.
524 * simple.c: Add casts.
525 * srec.c: Add casts.
526 * stabs.c: Add casts.
527 * syms.c: Add casts.
528 * targets.c: Add casts.
529 * tekhex.c: Add casts.
530 * verilog.c: Add casts.
531
f3b4f6d0
PB
5322009-09-09 Paolo Bonzini <bonzini@gnu.org>
533
534 * configure: Regenerate.
535
67d74e43
DJ
5362009-09-09 Daniel Jacobowitz <dan@codesourcery.com>
537
538 * elf32-arm.c (elf32_arm_final_link_relocate): Set sym_flags
539 for the mode of target PLT entries.
540 (allocate_dynrelocs): Only adjust symbol type if setting its
541 value.
542
07c58694
PB
5432009-09-09 Paolo Bonzini <bonzini@gnu.org>
544
f3b4f6d0 545 * configure: Regenerate.
07c58694 546
cfcac11d
NC
5472009-09-09 Nick Clifton <nickc@redhat.com>
548
549 PR 10478:
550 * elf.c (bfd_section_from_shdr): Do not reject sparc binaries with
551 section headers containing sh_link values of SHN_BEFORE or
552 SHN_AFTER.
553 * elfcode.h (elf_object_p): Likewise.
554
ad86f1fb
TG
5552009-09-09 Tristan Gingold <gingold@adacore.com>
556
557 Handle DYLD_INFO introduced by Darwin10.
558 * mach-o.h (bfd_mach_o_load_command_type): Add
559 BFD_MACH_O_LC_DYLD_INFO.
560 (bfd_mach_o_dyld_info_command): New type.
561 (bfd_mach_o_load_command): Add dyld_info field.
562 * mach-o.c (bfd_mach_o_scan_read_str): Reduce size of buf.
563 (bfd_mach_o_scan_read_dyld_info): New function.
564 (bfd_mach_o_scan_read_command): Handle BFD_MACH_O_LC_DYLD_INFO.
565 (bfd_mach_o_bfd_print_private_bfd_data): Ditto.
566 (bfd_mach_o_load_command_name): AddB FD_MACH_O_LC_DYLD_INFO.
567 (bfd_mach_o_print_dyld_info): New function.
568
1004c3e1
SR
5692009-09-09 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
570
571 * elf32-cr16.c (elf32_cr16_relocate_section): Add code to discard the
572 linkonce or linker script discarded section.
573
498199fc
AM
5742009-09-09 Alan Modra <amodra@bigpond.net.au>
575
576 * elf32-xtensa.c (elf_xtensa_relax_section): Delete -r check.
577
c86ad514
AS
5782009-09-07 Andreas Schwab <schwab@linux-m68k.org>
579
580 * elf32-m68k.c (rtype_to_howto): If the reloc index is out of
581 range call the bfd error hander and use R_68K_NONE instead.
582
b11d79f2
TG
5832009-09-07 Tristan Gingold <gingold@adacore.com>
584
23f938f1
TG
585 * po/SRC-POTFILES.in: Regenerate.
586 * po/bfd.pot: Regenerate.
587
b11d79f2
TG
588 * bfd.m4 (BFD_HAVE_TIME_TYPE_MEMBER,
589 BFD_HAVE_SYS_STAT_TYPE_MEMBER): Moved to gas/acinclude.m4
590 * configure.in: Move tests for tm_gmtoff, st_mtim.tv_sec and
591 st_mtim.tv_nsec to gas/configure.in
592 (bfd_elf64_ia64_vms_vec): Remove vmsutil.lo
593 * configure: Regenerate.
594 * config.in: Regenerate.
595 * vmsutil.c: Moved to gas/config/te-vms.c
596 * vmsutil.h: Removed.
597 * Makefile.am (BFD32_BACKENDS_CFILES): Remove vmsutil.c
598 (BFD32_BACKENDS): Remove vmsutil.lo
599 * Makefile.in: Regenerate.
600
3d03da9a
EZ
6012009-09-05 Eli Zaretskii <eliz@gnu.org>
602
603 * coffcode.h: Include libiberty.h.
604
96d56e9f
NC
6052009-09-05 Martin Thuresson <martin@mtme.org>
606
607 * coff-arm.c (coff_arm_relocate_section)
608 (record_thumb_to_arm_glue, bfd_arm_process_before_allocation):
609 Change member name class to symbol_class.
610 * coff-i960.c (coff_i960_relocate_section) Rename variable
611 class to class_val. Change member name class to symbol_class.
612 * coff-rs6000.c (_bfd_xcoff_swap_aux_in)
613 (_bfd_xcoff_swap_aux_out): Rename arguments class to in_class.
614 * coff-stgo32.c (adjust_aux_in_post)
615 (adjust_aux_out_pre, adjust_aux_out_post): Rename arguments class
616 to in_class.
617 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in)
618 (_bfd_xcoff64_swap_aux_out): Rename arguments class to in_class.
619 * coffcode.h (coff_pointerize_aux_hook): Rename variable class
620 to n_sclass.
621 * coffgen.c (coff_write_symbol, coff_pointerize_aux): Rename
622 variables named class to n_sclass. (coff_write_symbols): Rename
623 variable class to sym_class. (bfd_coff_set_symbol_class): Rename
624 argument class to symbol_class.
625 * cofflink.c (_bfd_coff_link_hash_newfunc)
626 (coff_link_add_symbols, _bfd_coff_link_input_bfd)
627 (_bfd_coff_write_global_sym, _bfd_coff_generic_relocate_section):
628 Update code to use renamed members.
629 * coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Rename
630 argument class to in_class.
631 * libcoff-in.h (struct coff_link_hash_entry, struct
632 coff_debug_merge_type) Renamed members class to symbol_class and
633 type_class.
634 * libcoff.h Regenerated.
635 * peXXigen.c: (_bfd_XXi_swap_aux_in, _bfd_XXi_swap_aux_out):
636 Rename argument class to in_class.
637 * pef.c (bfd_pef_parse_imported_symbol): Update code to use
638 renamed members.
639 * pef.h (struct bfd_pef_imported_symbol): Changed name of
640 member class to symbol_class.
641
df7e4f42
L
6422009-09-04 H.J. Lu <hongjiu.lu@intel.com>
643
644 * configure: Regenerated.
645
bac4da50
TG
6462009-09-04 Tristan Gingold <gingold@adacore.com>
647
648 * configure.in: Bump version to 2.20.51
bac4da50 649
57e96a08
AM
6502009-09-04 Alan Modra <amodra@bigpond.net.au>
651
652 * elf32-spu.c (spu_elf_relocate_section): Correct 2009-07-24 logic.
653
153d38f6
JZ
6542009-09-04 Jie Zhang <jie.zhang@analog.com>
655
656 * elf32-bfin.c (elf32_bfinfdpic_create_dynamic_sections): Always
657 create .rela.bss.
658 (elf32_bfinfdpic_size_dynamic_sections): Set SEC_EXCLUDE flag
659 for empty .rela.bss and .rel.plt sections.
660
5bbc5ae7
AN
6612009-09-03 Adam Nemet <anemet@caviumnetworks.com>
662
663 * elfxx-mips.c (mips_elf_calculate_relocation): Don't relocate
664 R_MIPS_JALR unless symbol resolves locally.
665
99da6b5f
AN
6662009-09-03 Adam Nemet <anemet@caviumnetworks.com>
667
668 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Don't set
669 has_static_relocs for R_MIPS_JALR.
670
fcbc2f09
MR
6712009-09-03 Maciej W. Rozycki <macro@codesourcery.com>
672
673 * elf64-mips.c (mips_elf64_howto_table_rela): Add support for
674 R_MIPS_TLS_DTPMOD64 and R_MIPS_TLS_TPREL64, replacing the
675 respective stubs.
676
90d60710
L
6772009-09-01 H.J. Lu <hongjiu.lu@intel.com>
678
679 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Declare
680 plt earlier.
681
11d73275
TG
6822009-09-01 Tristan Gingold <gingold@adacore.com>
683
684 * makefile.vms: Ported to Itanium VMS. Remove useless variable and
685 dependencies. Reindent.
686 * configure.com: Ported to Itanium VMS. Now generates a build.com
687 to build without make. Add messages but make edit silent.
688 * hosts/alphavms.h: Add a prototype for stpcpy.
689 * vms.c: Add a missing include for Alpha VMS.
690 * elfxx-ia64.c (ELF_OSABI): Define for OpenVMS.
691
94be91de
JB
6922009-08-31 Jan Beulich <jbeulich@novell.com>
693
694 * elf-bfd.h (bfd_elf_get_default_section_type): Declare.
695 * elf.c (bfd_elf_get_default_section_type): New.
696 (elf_fake_sections): Use bfd_elf_get_default_section_type.
697
883c7410
L
6982009-08-30 H.J. Lu <hongjiu.lu@intel.com>
699
700 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert the
701 accidental checkin.
702 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likwise.
703
095106a2
AM
7042009-08-30 Alan Modra <amodra@bigpond.net.au>
705
706 PR ld/10569
707 * bfd.c (bfd_emul_get_maxpagesize): Don't abort.
708 (bfd_emul_get_commonpagesize): Likewise.
709
d3ce72d0
NC
7102009-08-29 Martin Thuresson <martin@mtme.org>
711
712 * elf32-arm.c (struct stub_def): Rename member template to
713 template_sequence. (arm_build_one_stub,
714 find_stub_size_and_template, arm_size_one_stub, arm_map_one_stub):
715 Rename variable template to template_sequence.
716 * elfxx-ia64.c (elfNN_ia64_relax_br, elfNN_ia64_relax_brl):
717 Rename variable template to template_val.
718 * aoutx.h (NAME (aout, make_empty_symbol)): Rename variable
719 new to new_symbol.
720 * coffgen.c (coff_make_empty_symbol)
721 (coff_bfd_make_debug_symbol): Rename variable new to new_symbol.
722 * cpu-ia64-opc.c (ext_reg, ins_imms_scaled): Rename variable
723 new to new_insn.
724 * ecoff.c (_bfd_ecoff_make_empty_symbol): Rename variable new
725 to new_symbol.
726 * elf32-m68k.c (elf_m68k_get_got_entry_type): Rename argument
727 new to new_reloc.
728 * hash.c (bfd_hash_lookup): Rename variable new to new_string.
729 * ieee.c (ieee_make_empty_symbol): Rename variable new to
730 new_symbol.
731 * linker.c (bfd_new_link_order): Rename variable new to
732 new_lo.
733 * mach-o.c (bfd_mach_o_sizeof_headers): Rename variable new to
734 symbol.
735 * oasys.c (oasys_make_empty_symbol): Rename variable new to
736 new_symbol_type.
737 * pdp11.c (NAME (aout, make_empty_symbol)): Rename variable
738 new to new_symbol_type.
739 * plugin.c (bfd_plugin_make_empty_symbol): Rename variable new
740 to new_symbol.
741 * rs6000-core.c (CoreHdr, VmInfo): Rename union member new to
742 new_dump.
743 (read_hdr, rs6000coff_core_p)
744 (rs6000coff_core_file_matches_executable_p)
745 (rs6000coff_core_file_failing_command)
746 (rs6000coff_core_file_failing_signal): Updated function to use new
747 union member name.
748 * som.c (som_make_empty_symbol): Rename variable new to
749 new_symbol_type.
750 * syms.c (_bfd_generic_make_empty_symbol): Rename variable new
751 to new_symbol.
752 * tekhex.c (first_phase, tekhex_make_empty_symbol): Rename
753 variable new to new_symbol.
754
573e8a1c
RW
7552009-08-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
756
757 * acinclude.m4 (AM_INSTALL_LIBBFD): Call AM_SUBST_NOTMAKE for
758 bfdlibdir and bfdincludedir.
759 * Makefile.am (bfdlibdir, bfdincludedir): Move definition ...
760 [INSTALL_LIBBFD]: ... here, ...
761 [INSTALL_LIBBFD]: ... and empty overrides here.
762 [!INSTALL_LIBBFD]: (rpath_bfdlibdir): New variable.
763 [!INSTALL_LIBBFD] (libbfd_la_LDFLAGS): Use it.
764 * Makefile.in: Regenerate.
765 * configure: Regenerate.
766
325e58c7
NC
7672009-08-26 Maxim Kuvyrkov <maxim@codesourcery.com>
768
769 * elf32-m68k.c: Rewrite initialization of GOT entries for TLS
770 relocations. Rewrite output of dynamic TLS relocations.
771 (DTP_OFFSET, TP_OFFSET): New constants.
772 (dtpoff_base): Update.
773 (tpoff): Rename to tpoff_base, update.
774 (elf_m68k_init_got_entry_static, elf_m68k_init_got_entry_local_shared):
775 New functions. Move code from elf_m68k_relocate_section here.
776 (elf_m68k_relocate_section): Update.
777 (elf_m68k_finish_dynamic_symbol): Fix handling of local TLS symbols.
778
e5f2b1de
NC
7792009-08-26 Maxim Kuvyrkov <maxim@codesourcery.com>
780
781 * elf32-m68k.c (elf_m68k_copy_indirect_symbol): Propagate
782 non_got_ref value.
783 (elf_m68k_check_relocs): Handle dynamic TLS relocations.
784 Handle non_got_ref field.
785 (elf_m68k_adjust_dynamic_symbol): Handle non_got_ref field.
786
0666b2c3
AM
7872009-08-26 Alan Modra <amodra@bigpond.net.au>
788
600b8686 789 PR ld/10518
0666b2c3
AM
790 * linker.c (bfd_find_version_for_sym): Revert warning.
791
78a03297
AM
7922009-08-26 Alan Modra <amodra@bigpond.net.au>
793
600b8686 794 PR ld/10518
78a03297
AM
795 * linker.c (bfd_find_version_for_sym): Override a "*" match by any
796 other wildcard match. Warn on multiple wildcard matches.
797
81ecdfbb
RW
7982009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
799
14ec8efd
RW
800 * Makefile.am (libbfd_la_LDFLAGS): Initialize early, to allow
801 appending.
802 [INSTALL_LIBBFD] (bfdlib_LTLIBRARIES, bfdinclude_HEADERS): Set
803 only in this condition.
804 [!INSTALL_LIBBFD] (noinst_LTLIBRARIES, libbfd_la_LDFLAGS): New,
805 to build but not install libbfd.la in this condition.
806 (install-bfdlibLTLIBRARIES, uninstall-bfdlibLTLIBRARIES)
807 (install_libbfd, install_libbfd): Remove.
808 * Makefile.in: Regenerate.
809 * doc/Makefile.am (AM_CPPFLAGS): Renamed from ...
810 (INCLUDES): ... this.
811 ($(MKDOC)): Adjust.
812 * doc/Makefile.in: Regenerate.
813
95b40122
RW
814 * Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus, instead use
815 no-dist and foreign.
816 (EXTRA_libbfd_la_SOURCES): New, list $(CFILES) to allow
817 dependency tracking to work for them.
818 (targets.lo, archures.lo, dwarf.lo): Rewrite to
819 use automake dependency tracking mechanism.
820 (MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Remove.
821 (mkdep section): Remove.
822 (BUILT_SOURCES): New, list $(BUILD_HFILES).
823 * Makefile.in: Regenerate.
824 * po/SRC-POTFILES.in, po/bfd.pot: Regenerate.
825
af542c2e
RW
826 * Makefile.am (datarootdir, docdir, htmldor, pdfdir)
827 (install-pdf, install-pdf-recursive, install-html)
828 (install-html-recursive): Remove.
829 * Makefile.in: Regenerate.
830
81ecdfbb
RW
831 * Makefile.in: Regenerate.
832 * aclocal.m4: Likewise.
833 * config.in: Likewise.
834 * configure: Likewise.
835
cd1dac3d
DG
8362009-08-21 Daniel Gutson <dgutson@codesourcery.com>
837
838 * elf32-arm.c (arch_has_thumb2_nop): New function.
839 (arch_has_arm_nop): New function.
840 (elf32_arm_final_link_relocate): NOP opcodes changed.
841
440ae135
DE
8422009-08-16 Doug Evans <dje@google.com>
843
844 * opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec,
845 at least don't leak memory.
846
a109e2f5
DD
8472009-08-13 DJ Delorie <dj@redhat.com>
848
849 * elf32-m32c.c (m32c_elf_relax_delete_bytes): Adjust symbol sizes
850 if needed.
851
c1742541
NC
8522009-08-12 Nick Clifton <nickc@redhat.com>
853
854 * po/fi.po: Updated Finnish translation.
855
6a9adeca
BS
8562009-08-11 Bernd Schmidt <bernd.schmidt@analog.com>
857
858 Merge some FRV FDPIC changes into the Blackfin code.
859 * elf32-bfin.c (struct bfinfdpic_elf_link_hash_table): Add pointer to
860 summary reloc information.
861 (bfinfdpic_dynamic_got_plt_info): New.
862 (_bfin_create_got_section): Create the PLT section here.
863 (elf32_bfinfdpic_create_dynamic_sections): Not here.
864 (_bfinfdpic_count_nontls_entries): Move out of...
865 (_bfinfdpic_count_got_plt_entries): ... here.
866 (_bfinfdpic_count_relocs_fixups): Likewise.
867 (_bfinfdpic_reset_got_plt_entries): New.
868 (_bfinfdpic_size_got_plt): Move out of...
869 (elf32_bfinfdpic_size_dynamic_sections): ... here.
870 (bfinfdpic_relocate_section): Be careful not to call
871 _bfinfdpic_add_rofixup or _bfinfdpic_add_dyn_reloc for deleted relocs.
872 (bfinfdpic_check_discarded_relocs, bfinfdpic_elf_discard_info):
873 New functions.
874 (elf_backend_discard_info): Define for FD-PIC.
875
5dabe785
AM
8762009-08-11 Alan Modra <amodra@bigpond.net.au>
877
878 * elflink.c: Add FIXMEs for some places that require octets_per_byte
879 adjustments.
880 * elf-eh-frame.c: Likewise.
881 * merge.c: Likewise.
882
ea7a63de
AM
8832009-08-11 Alan Modra <amodra@bigpond.net.au>
884
885 * configure.in: Remove elf-ifunc.lo from common ELF files. Add
886 to x86 and x86_64 configurations.
887 * configure: Regenerate.
888
9bf609ec
JK
8892009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>
890
891 Stop using bfd_usrdata in libbfd.
892 * coff-stgo32.c (bfd_coff_go32stub): Remove.
893 (stub_bytes, comment): Replace STUBSIZE by GO32_STUBSIZE.
894 (adjust_filehdr_in_post): Declare the abfd parameter as unused.
895 Replace STUBSIZE by GO32_STUBSIZE. Save now the stub in
896 filehdr_dst->u.go32.stub. New comment with the reason.
897 (adjust_filehdr_out_pre): Replace STUBSIZE by GO32_STUBSIZE.
898 Substitute the removed macro bfd_coff_go32stub.
899 (adjust_filehdr_out_post, adjust_scnhdr_in_post, adjust_scnhdr_out_pre)
900 (adjust_scnhdr_out_post, adjust_aux_in_post, adjust_aux_out_pre)
901 (adjust_aux_out_post): Replace STUBSIZE by GO32_STUBSIZE.
902 (create_go32_stub, go32_stubbed_coff_bfd_copy_private_bfd_data):
903 Replace STUBSIZE by GO32_STUBSIZE. Substitute the removed macro
904 bfd_coff_go32stub.
905 * coffcode.h (coff_mkobject_hook): Initialize coff->go32stub.
906 * libcoff-in.h (coff_data_type): New field go32stub.
907 * libcoff.h: Regenerated.
908
e39e47bd
JK
9092009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>
910
911 Fix go32 stub preservation by objcopy.
912 * coff-stgo32.c (adjust_filehdr_in_post): Use bfd_malloc.
913 (go32_stubbed_coff_bfd_copy_private_bfd_data): Optionally allocate OBFD
914 go32stub.
915
ffcb4889
NS
9162009-08-10 Nathan Sidwell <nathan@codesourcery.com>
917
918 * elf32-arm.c (elf32_arm_size_stubs): Don't die on undefined local
919 symbols.
920 (elf32_arm_final_link_relocate): Treat local undefined symbols the
921 same as global undefined symbols.
922 (elf32_arm_relocate_section): Give an error for local undefined
923 non-weak symbols, unless the reloc will not use the symbol.
924
01017ef8
NS
9252009-08-10 Nathan Sidwell <nathan@codesourcery.com>
926
927 * elf32-ppc.c (shared_stub_entry, stub_entry): Use r12, not r11.
928 (ppc_elf_relax_section): Use symbol index to distinguish
929 relocatable stubs.
930
a8ad78a7
AM
9312009-08-10 Alan Modra <amodra@bigpond.net.au>
932
933 * elf32-ppc.c (ppc_elf_relax_section): Ignore non-code sections.
934
91e21fb7
AM
9352009-08-10 Alan Modra <amodra@bigpond.net.au>
936
937 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Don't clear plt
938 info for STT_GNU_IFUNC.
939 * elf32-ppc.c (ppc_elf_check_relocs): Count a needed plt entry
940 on got refs in case the symbol turns out to be ifunc.
941 (ppc_elf_gc_sweep_hook): Similarly.
942 (ppc_elf_adjust_dynamic_symbol): Adjust assertion.
943 (allocate_dynrelocs): Don't specially allocate got relocs for ifunc.
944 (ppc_elf_size_dynamic_sections): Likewise.
945 (ppc_elf_relocate_section): Likewise.
946
6a9adeca 9472009-08-09 Bernd Schmidt <bernd.schmidt@analog.com>
cb88ce9f
BS
948
949 From Mike Frysinger <michael.frysinger@analog.com>
950 * elf32-bfin.c (bfin_howto_table, bfin_reloc_map, bfin_check_relocs,
951 bfin_final_link_relocate, bfin_relocate_section, bfin_gc_sweep_hook,
952 _bfinfdpic_emit_got_relocs_plt_entries, bfinfdpic_relocate_section,
953 bfinfdpic_gc_sweep_hook, bfinfdpic_check_relocs,
954 bfin_finish_dynamic_symbol, bfd_bfin_elf32_create_embedded_relocs):
955 Adjust to match the renamed reloc definitions.
7ee314fa 956
e7e75368
AM
9572009-08-08 Alan Modra <amodra@bigpond.net.au>
958
959 PR 10494
960 * elf.c (_bfd_elf_make_section_from_shdr): When setting up section
961 LMAs, use ELF_IS_SECTION_IN_SEGMENT to match sections with headers.
962
918d9742
TT
9632009-08-07 Tom Tromey <tromey@redhat.com>
964
965 * elf32-microblaze.c (microblaze_elf_check_relocs): Avoid strict
966 aliasing error.
967
7ba29e2a
NC
9682009-08-06 Michael Eager <eager@eagercon.com>
969
970 * Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}.
971 * Makefile.in: Regenerate.
972 * archures.c: Add bfd_arch_microblaze.
973 * bfd-in2.h: Regenerate.
974 * config.bfd: Add microblaze target.
975 * configure.in: Add bfd_elf32_microblaze_vec target.
976 * configure: Regenerate.
977 * cpu-microblaze.c: New.
978 * elf32-microblaze.c: New.
979 * libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc().
980 * libbfd.h: Regenerate.
981 * reloc.c: Add MICROBLAZE relocations.
982 * section.c: Add struct relax_table and relax_count to section.
983 * targets.c: Add bfd_elf32_microblaze_vec.
984
e47bf690
JJ
9852009-08-06 Jakub Jelinek <jakub@redhat.com>
986 Alan Modra <amodra@bigpond.net.au>
987
988 PR binutils/10492
989 * elf.c (sym_is_global): Return true even for BSF_GNU_UNIQUE
990 symbols.
991 * elf32-mips.c (mips_elf_sym_is_global): Likewise.
992 * elfn32-mips.c (mips_elf_sym_is_global): Likewise.
993
3ae046cc
NS
9942009-08-06 Nathan Sidwell <nathan@codesourcery.com>
995
996 * elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again
997 at least once when fixing cortex-a8.
998
cd8d5a82
CF
9992009-08-05 Chao-ying Fu <fu@mips.com>
1000
1001 * elf32-mips.c (mips_reloc_map): Add BFD_RELOC_MIPS_JALR.
1002 * elfxx-mips.c (JAL_TO_BAL_P): New define to transform JAL to BAL
1003 for CPUs. It is true for RM9000.
1004 (JALR_TO_BAL_P): New define to transform JALR to BAL. It is true
1005 for all CPUs.
1006 (mips_elf_perform_relocation): Use JAL_TO_BAL_P and JALR_TO_BAL_P
1007 to guard the transformation.
1008
9cc305ec
TS
10092009-08-05 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
1010
1011 * elf32-spu.h (spu_elf_params): Add member emit_fixups.
1012 (spu_elf_size_sections): Declare prototype.
1013 * elf32-spu.c (spu_link_hash_table): Add member sfixup.
1014 (FIXUP_RECORD_SIZE, FIXUP_GET, FIXUP_PUT): New macros.
1015 (spu_elf_emit_fixup): New function.
1016 (spu_elf_relocate_section): Emit fixup for each SPU_ADDR32.
1017 (spu_elf_size_sections): New function.
1018
eb7c4339
NS
10192009-08-05 Nathan Sidwell <nathan@codesourcery.com>
1020
1021 * elf32-arm.c (elf32_arm_stub_type): Add arm_stub_a8_veneer_lwm.
1022 (arm_build_one_stub): Build a8 veneers as a separate pass.
1023 (cortex_a8_erratum_scan): Add prev_num_a8_fixes and stub_changed_p
1024 parameters. Use them to check if we create a different a8 fixup
1025 than the previous pass.
1026 (elf32_arm_size_stubs): Move scope of stub_changed and
1027 prev_num_a8_fixes into main loop.
1028 (elf32_arm_build_stubs): Build a8 veneers in a second pass.
1029
a9585d22
AM
10302009-08-04 Alan Modra <amodra@bigpond.net.au>
1031
1032 * elf32-ppc.c (ppc_elf_relax_section): Correct conditions under
1033 which find_plt_ent is called. Delete redundant code.
1034
45b222d6
L
10352009-08-03 H.J. Lu <hongjiu.lu@intel.com>
1036
1037 PR binutils/10363
1038 * elf.c (bfd_elf_string_from_elf_section): Return NULL on
1039 invalid string offset.
1040
004fb780
L
10412009-08-03 H.J. Lu <hongjiu.lu@intel.com>
1042
1043 PR ld/10433
1044 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Set got
1045 to htab->init_got_offset and plt to htab->init_plt_offset
1046 when discarding space for dynamic relocations.
1047
a877a2b6
AM
10482009-08-03 Alan Modra <amodra@bigpond.net.au>
1049
1050 * elf32-ppc.c (struct plt_entry): Revise comments.
1051 (ppc_elf_check_relocs): Don't create needless plt_entry info
1052 for non-pie executables. Don't test info->pie when info->shared
1053 already covers that case.
1054 (ppc_elf_gc_sweep_hook): Adjust for above change.
1055 (add_stub_sym): Don't test info->pie when info->shared tested.
1056 (allocate_dynrelocs, ppc_elf_size_dynamic_sections): Likewise.
1057 (write_glink_stub, ppc_elf_finish_dynamic_symbol): Likewise.
1058 (ppc_elf_relax_section): Adjust find_plt_ent arguments.
1059 (ppc_elf_relocate_section): Likewise.
1060
de972ffa
AM
10612009-08-03 Alan Modra <amodra@bigpond.net.au>
1062
1063 * elf32-ppc.c (ppc_elf_check_relocs): Always add a plt ref count
1064 for local ifunc symbols in non-pie executables, regardless of
1065 reloc type. Don't specially create ifunc dyn relocs. Tidy ifunc
1066 code so that it's obvious that we only do anything special for
1067 local ifunc syms.
1068 (ppc_elf_gc_sweep_hook): Adjust to suit check_relocs changes.
1069 (allocate_dynrelocs): Correct comment for syms defined in plt.
1070 Don't specially allocate ifunc dyn relocs.
1071 (ppc_elf_relax_section): Relax branches to ifunc plt entries too.
1072 (ppc_elf_relocate_section): Set "relocation" value for ifunc
1073 syms in non-pie executables. No specially allocated dyn relocs
1074 for ifunc to write. Allow for local sym on R_PPC_RELAX32_PLT.
1075 (ppc_elf_finish_dynamic_symbol): Set value of ifunc symbols in
1076 a non-pie executable.
1077
1d85728f
L
10782009-08-02 H.J. Lu <hongjiu.lu@intel.com>
1079 Jakub Jelinek <jakub@redhat.com>
1080
1081 PR ld/6443
1082 * elf32-i386.c (elf_i386_tls_transition): Check executable
1083 instead of shared for TLS when building PIE.
1084 (elf_i386_check_relocs): Likewise.
1085 (elf_i386_allocate_dynrelocs): Likewise.
1086 (elf_i386_relocate_section): Likewise.
1087
1088 * elf64-x86-64.c (elf64_x86_64_tls_transition): Check executable
1089 instead of shared for TLS when building PIE.
1090 (elf64_x86_64_check_relocs): Likewise.
1091 (elf64_x86_64_allocate_dynrelocs): Likewise.
1092 (elf64_x86_64_relocate_section): Likewise.
1093
5d8d4872
AG
10942009-07-31 Anthony Green <green@moxielogic.com>
1095
1096 * config.bfd (targ_cpu): Add moxie-uclinux support.
1097
080a1b9f
HPN
10982009-07-31 Hans-Peter Nilsson <hp@bitrange.com>
1099
1100 * linker.c (fix_syms): Consider SEC_LOAD when choosing section.
1101
25f23106
AM
11022009-07-30 Alan Modra <amodra@bigpond.net.au>
1103
1104 * elf32-ppc.c (ppc_elf_check_relocs): Always set up sections
1105 used by indirect function support. Count dynamic relocs for
1106 ifunc syms.
1107 (ppc_elf_adjust_dynamic_symbol): Tweak for ifunc.
1108 (allocate_dynrelocs): Allocate all non-dynamic ifunc plt entries
1109 in iplt and their relocs in reliplt. Don't make ifunc syms
1110 dynamic. Allocate got entry relocs for non-dynamic ifunc in
1111 reliplt. Handle other dynamic relocs for ifunc.
1112 (ppc_elf_size_dynamic_sections): Alloc dyn relocs for static
1113 ifunc in reliplt, likewise relocs for got against local ifunc.
1114 Typo fix on reliplt size adjust.
1115 (ppc_elf_relocate_section): Don't use plt scheme of allocating
1116 relocs 1-1 with entries for iplt, instead just add using
1117 reloc_count. Write got relocs and dyn relocs for ifunc to reliplt.
1118 Error on invalid ifunc dyn relocs.
1119 (ppc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc plt
1120 in iplt/reliplt.
1121 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_JMP_IREL,
1122 R_PPC64_REL16, R_PPC64_REL16_LO, R_PPC64_REL16_HI, R_PPC64_REL16_HA.
1123 (ppc64_elf_reloc_type_lookup): Handle new relocs.
1124 (ppc64_elf_check_relocs): Likewise. Count dyn relocs for ifunc.
1125 (allocate_dynrelocs): As for elf32-ppc.c above.
1126 (ppc64_elf_size_dynamic_sections): Likewise.
1127 (ppc_build_one_stub): Put non-dynamic ifunc plt call stubs in iplt,
1128 and their relocs in reliplt. Use R_PPC64_JMP_IREL.
1129 (ppc_size_one_stub): Similarly.
1130 (ppc64_elf_relocate_section): As for elf32-ppc.c above. Handle new
1131 relocs too.
1132 (ppc64_elf_finish_dynamic_symbol): As for elf32-ppc.c above.
1133
80f540b7
HPN
11342009-07-29 Hans-Peter Nilsson <hp@bitrange.com>
1135
1136 * elf64-mmix.c (mmix_elf_relax_section): Revert 2009-05-27
1137 change. Add note to head comment.
1138
4ad4f3cb
JB
11392009-07-28 Jan Beulich <jbeulich@novell.com>
1140
1141 * archive.c (get_extended_arelt_filename): Remove redundant
1142 range check on index.
1143
d8d2f433
DK
11442009-07-27 Doug Kwan <dougkwan@google.com>
1145
1146 * elf32-arm.c (stub_hash_newfunc): Initialize field output_name.
1147
9e675548
L
11482009-07-27 H.J. Lu <hongjiu.lu@intel.com>
1149
1150 * archures.c bfd_*_arch): Sorted.
1151 (bfd_archures_list): Likewise.
1152
86514226
SR
11532009-07-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
1154
9e675548 1155 * elf32-cr16.c (elf_cr16_final_link_relocate): Add code to handle
86514226
SR
1156 to R_cr16_NUM32 relocation.
1157
305f7588
MS
11582009-07-26 Michael Eager <eager@eagercon.com>
1159
1160 * archures.c: Add bfd_mach_ppc_405
1161 * bfd-in2.h: Same.
1162
b1995b01
L
11632009-07-25 H.J. Lu <hongjiu.lu@intel.com>
1164
1165 * cpu-i386.c (bfd_x86_64_arch): Fix comment typos.
1166 * cpu-l1om.c (bfd_l1om_arch): Likewise.
1167
8a9036a4
L
11682009-07-25 H.J. Lu <hongjiu.lu@intel.com>
1169
1170 * archures.c (bfd_architecture): Add bfd_arch_l1om.
1171 (bfd_l1om_arch): New.
1172 (bfd_archures_list): Add &bfd_l1om_arch.
1173 * bfd-in2.h: Regenerated.
1174
1175 * config.bfd (targ64_selvecs): Add bfd_elf64_l1om_vec if
1176 bfd_elf64_x86_64_vec is supported. Add bfd_elf64_l1om_freebsd_vec
1177 if bfd_elf64_x86_64_freebsd_vec is supported.
1178 (targ_selvecs): Likewise.
1179
1180 * configure.in: Support bfd_elf64_l1om_vec and
1181 bfd_elf64_l1om_freebsd_vec.
1182 * configure: Regenerated.
1183
1184 * cpu-l1om.c: New.
1185
1186 * elf64-x86-64.c (elf64_l1om_elf_object_p): New.
1187 (bfd_elf64_l1om_vec): Likewise.
1188 (bfd_elf64_l1om_freebsd_vec): Likewise.
1189
1190 * Makefile.am (ALL_MACHINES): Add cpu-l1om.lo.
1191 (ALL_MACHINES_CFILES): Add cpu-l1om.c.
1192 * Makefile.in: Regenerated.
1193
1194 * targets.c (bfd_elf64_l1om_vec): New.
1195 (bfd_elf64_l1om_freebsd_vec): Likewise.
1196 (_bfd_target_vector): Add bfd_elf64_l1om_vec and
1197 bfd_elf64_l1om_freebsd_vec.
1198
8fdcc58d
TS
11992009-07-24 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
1200 Alan Modra <amodra@bigpond.net.au>
1201
1202 * reloc.c (BFD_RELOC_SPU_ADD_PIC): Define.
1203 * bfd-in2.h: Regenerate.
1204 * libbfd.h: Regenerate.
1205 * elf32-spu.c (elf_howto_table): Add entries SPU_ADD_PIC.
1206 (spu_elf_bfd_to_reloc_type): Handle SPU_ADD_PIC.
1207 (spu_elf_relocate_section): Patch instructions marked by SPU_ADD_PIC.
1208
9b769489
L
12092009-07-23 H.J. Lu <hongjiu.lu@intel.com>
1210
1211 PR ld/10434
1212 * elf64-x86-64.c (elf64_x86_64_check_relocs): Check executable
1213 instead of shared for R_X86_64_TPOFF32.
1214 (elf64_x86_64_relocate_section): Likewise.
1215
3e7a7d11
NC
12162009-07-23 Ulrich Drepper <drepper@redhat.com>
1217
1218 * elf-bfd.h (struct elf_link_hash_entry): Add unique_global field.
1219 * elf.c (swap_out_syms): Set binding to STB_GNU_UNIQUE for symbols
1220 with the BSF_GNU_UNIQUE flag bit set.
1221 * elfcode.h (elf_slurp_symbol_table): Set the BSF_GNU_UNIQUE flag
1222 for symbols with STB_GNU_UNIQUE binding.
1223 * elflink.c (_bfd_elf_merge_symbol): Set unique_global for symbols
1224 with the STB_GNU_UNIQUE binding.
1225 (elf_link_add_object_symbols): Set the BSF_GNU_UNIQUE flag for
1226 symbols with STB_GNU_UNIQUE binding. Set STB_GNU_UNIQUE for
1227 symbols with the unique_global field set.
1228 (elf_link_output_extsym): Set unique_global field for symbols with
1229 the STB_GNU_UNIQUE binding.
1230 * syms.c (struct bfd_symbol): Define BSF_GNU_UNIQUE flag bit.
1231 (bfd_print_symbol_vandf): Print a 'u' character for BSF_GNU_UNIQUE
1232 symbols.
1233 (bfd_decode_symclass): Return a 'u' character for BSF_GNU_UNIQUE
1234 symbols.
1235 * bfd-in2.h: Regenerate.
1236
5f35ea9c
L
12372009-07-22 H.J. Lu <hongjiu.lu@intel.com>
1238
107601c8 1239 * elflink.c (elf_link_output_extsym): Revert the last change.
5f35ea9c 1240
b63cc625
L
12412009-07-22 H.J. Lu <hongjiu.lu@intel.com>
1242
107601c8
AM
1243 PR ld/10433
1244 * elflink.c (elf_link_output_extsym): Special case ifunc syms
1245 when ref_regular, not def_regular.
b63cc625 1246
2955ec4c
L
12472009-07-21 H.J. Lu <hongjiu.lu@intel.com>
1248
107601c8
AM
1249 PR ld/10426
1250 * elflink.c (elf_link_add_object_symbols): Turn an IFUNC symbol
1251 from a DSO into a normal FUNC symbol.
1252 (elf_link_output_extsym): Turn an undefined IFUNC symbol into
1253 a normal FUNC symbol.
2955ec4c 1254
6d30f5b2
NC
12552009-07-17 Chao-ying Fu <fu@mips.com>
1256
1257 * elfxx-mips.c (LOAD_INTERLOCKS_P): New define.
1258 (_bfd_mips_elf_size_dynamic_sections): For CPUs without load
1259 interlocking, the last PLT entry needs a nop in the branch delay slot.
1260 (_bfd_mips_elf_finish_dynamic_symbol): For CPUs with load itnerlocking,
1261 output the last two PLT entries in reverse order.
1262
1f85278f
L
12632009-07-16 H.J. Lu <hongjiu.lu@intel.com>
1264
1265 * elf32-i386.c (elf_i386_relocate_section): Don't get local
1266 STT_GNU_IFUNC symbol for relocatable link.
1267 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1268
f07749bb
L
12692009-07-10 H.J. Lu <hongjiu.lu@intel.com>
1270
1271 * bfdio.c (bfd_iovec): Add comments for bmmap.
1272 * bfd-in2.h: Regenerated.
1273
8455dd2c
L
12742009-07-10 H.J. Lu <hongjiu.lu@intel.com>
1275
1276 * Makefile.am: Run "make dep-am".
1277 * Makefile.in: Regenerated.
1278
cedfb179
DK
12792009-07-10 Doug Kwan <dougkwan@google.com>
1280
1281 * elf32-arm.c (stub_hash_newfunc): Initialize fields
1282 target_addend and orig_insn.
1283
fa8f86ff
TT
12842009-07-10 Tom Tromey <tromey@redhat.com>
1285
1286 * Makefile.am (dwarf2.lo): Use dwarf2.h, not elf/dwarf2.h.
1287 (elf-eh-frame.lo): Likewise.
1288 (elf32-bfin.lo): Likewise.
1289 (elf32-frv.lo): Likewise.
1290 (elf32-xc16x.lo): Likewise.
1291 * Makefile.in: Rebuild.
1292 * dwarf2.c: Included dwarf.h, not elf/dwarf2.h.
1293 * elf-eh-frame.c: Likewise.
1294 * elf32-bfin.c: Likewise.
1295 * elf32-frv.c: Likewise.
1296 * elf32-xc16x.c: Likewise.
1297
33c6a8fc
JB
12982009-07-10 Julian Brown <julian@codesourcery.com>
1299
1300 * elf32-arm.c (arm_build_one_stub): Use the hash entry of the
1301 symbol a stub entry is derived from, not the entry for the stub
1302 itself, in call to elf32_arm_final_link_relocate.
1303
1d770845
L
13042009-07-10 H.J. Lu <hongjiu.lu@intel.com>
1305
1306 * elf.c (_bfd_elf_get_synthetic_symtab): Remove leading zeros
1307 when reporting addends.
1308
52cfded7
AM
13092009-07-10 Alan Modra <amodra@bigpond.net.au>
1310
1311 * elf32-spu.c (spu_elf_size_stubs): Do set up soft-icache manager
1312 data even when no stubs.
1313 (spu_elf_place_overlay_data, spu_elf_build_stubs): Adjust.
1314
e054468f
AM
13152009-07-10 Alan Modra <amodra@bigpond.net.au>
1316
1317 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_IRELATIVE.
1318 (ppc_elf_get_synthetic_symtab): Report addend.
1319 (PLT_IFUNC): Define.
1320 (struct ppc_elf_link_hash_table): Add iplt and reliplt.
1321 (ppc_elf_create_glink): New function.
1322 (ppc_elf_create_dynamic_sections): Use it.
1323 (ppc_elf_add_symbol_hook): Set has_ifunc_symbols.
1324 (update_local_sym_info): Allocate space for local_plt array.
1325 Don't bump local_got_refcounts for PLT_IFUNC. Return local_plt
1326 entry pointer.
1327 (is_branch_reloc): New function.
1328 (ppc_elf_check_relocs): Handle STT_GNU_IFUNC symbols.
1329 (ppc_elf_gc_sweep_hook): Likewise.
1330 (ppc_elf_adjust_dynamic_symbol): Likewise.
1331 (allocate_dynrelocs): Likewise.
1332 (ppc_elf_size_dynamic_sections): Likewise.
1333 (ppc_elf_relocate_section): Likewise.
1334 (branch_reloc_hash_match): Use is_branch_reloc.
1335 (ppc_elf_tls_optimize): Adjust for local_plt.
1336 (write_glink_stub): New function, extracted from..
1337 (ppc_elf_finish_dynamic_symbol): ..here. Handle STT_GNU_IFUNC.
1338 (ppc_elf_finish_dynamic_sections): Only write plt resolver and
1339 branch table when dynamic.
1340 (elf_backend_post_process_headers): Define.
1341 * elf64-ppc.c (elf_backend_post_process_headers): Define.
1342 (ppc64_elf_howto_raw): Add R_PPC64_IRELATIVE.
1343 (ppc64_elf_get_synthetic_symtab): Report addend.
1344 (struct ppc_stub_hash_entry): Add plt_ent.
1345 (PLT_IFUNC): Define.
1346 (struct ppc_link_hash_table): Add iplt and reliplt.
1347 (create_linkage_sections): Make .iplt and .rela.iplt sections.
1348 (ppc64_elf_add_symbol_hook): Set has_ifunc_symbols.
1349 (update_local_sym_info): Allocate space for local_plt array.
1350 Don't bump local_got_ents for PLT_IFUNC. Return local_plt
1351 entry pointer.
1352 (update_plt_info): Pass pointer to plt_entry rather than sym hash,
1353 and don't change hash flags here.
1354 (is_branch_reloc): New function.
1355 (ppc64_elf_check_relocs): Handle STT_GNU_IFUNC.
1356 (ppc64_elf_gc_sweep_hook): Likewise.
1357 (ppc64_elf_adjust_dynamic_symbol): Likewise.
1358 (allocate_dynrelocs): Likewise.
1359 (ppc64_elf_size_dynamic_sections): Likewise.
1360 (ppc_build_one_stub, ppc_size_one_stub): Likewise.
1361 (ppc64_elf_size_stubs): Likewise.
1362 (ppc64_elf_relocate_section): Likewise.
1363 (get_sym_h): Adjust for local_plt.
1364 (branch_reloc_hash_match): Use is_branch_reloc.
1365 (ppc_type_of_stub): Pass plt_entry pointer and handle ifunc.
1366 (ppc64_elf_toc): Ignore SEC_EXCLUDE sections.
1367
041de40d
AM
13682009-07-10 Alan Modra <amodra@bigpond.net.au>
1369
1370 * elf.c (_bfd_elf_get_synthetic_symtab): Report addends.
1371
7ae26bc1
AM
13722009-07-10 Alan Modra <amodra@bigpond.net.au>
1373
1374 * elf-bfd.h (struct elf_link_hash_entry): Clarify ref_regular
1375 and ref_regular_nonweak comment.
1376 * elflink.c (elf_link_output_extsym): Special case ifunc syms
1377 when def_regular, not ref_regular.
1378 (elf_link_add_object_symbols): Don't set needs_plt on ifunc syms,..
1379 * elf32-i386.c (elf_i386_check_relocs): ..set it here instead..
1380 * elf64-x86-64.c (elf64_x86_64_check_relocs): ..and here.
1381
9c4d0c1f
AM
13822009-07-09 Alan Modra <amodra@bigpond.net.au>
1383
1384 * elf32-spu.c (mark_functions_via_relocs): Init broken_cycle field
1385 of malloc'd struct call_info.
1386 (pasted_function): Likewise, priority too.
1387
2fc6d3b0
AM
13882009-07-07 Alan Modra <amodra@bigpond.net.au>
1389
1390 * elf32-spu.c (spu_elf_auto_overlay): Take into account section
1391 alignment when packing sections into overlays.
1392
9e1f7c0e
DK
13932009-07-03 Cary Coutant <ccoutant@google.com>
1394
1395 * dwarf2.c (decode_line_info): Ignore DW_LNE_set_discriminator.
1396
4a768870
DK
13972009-07-03 Dave Korn <dave.korn.cygwin@gmail.com>
1398
1399 * coffcode.h (sec_to_styp_flags): Partially revert (functional
1400 changes only) earlier patch:-
1401
107601c8 14022009-06-25 Kai Tietz <kai.tietz@onevision.com>
4a768870 1403
107601c8
AM
1404 * coffcode.h (sec_to_styp_flags): Set discardable for .reloc and
1405 give .debug and .reloc data characteristics.
1406 (DOT_RELOC): New define for .reloc section string.
1407 (coff_write_object_contents): Use DOT_RELOC instead of string.
4a768870 1408
848f5748
TT
14092009-07-02 Tom Tromey <tromey@redhat.com>
1410
1411 * aoutx.h (aout_get_external_symbols): Declare 'amt' locally.
1412 * bfdwin.c (bfd_free_window): Cast to unsigned long.
1413
dda46a27
L
14142009-07-01 Nick Clifton <nickc@redhat.com>
1415
1416 * elf-m10300.c: Remove trailing white space.
1417 * reloc.c: Likewise.
1418
efde2f2c
NC
14192009-07-01 Douglas B Rupp <rupp@gnat.com>
1420
dda46a27 1421 * bfd.m4 (BFD_HAVE_TIME_TYPE_MEMBER,
efde2f2c 1422 BFD_HAVE_SYS_STAT_TYPE_MEMBER): New config functions.
dda46a27
L
1423 * configure.in: Use them.
1424 * configure: Regenerate.
b11d79f2 1425 * config.in: Regenerate.
dda46a27 1426 * vmsutil.c: Include sysdep.h, remove ansidecl.h.
efde2f2c
NC
1427 #define _BSD_SOURCE. Add comments.
1428 (vms_file_stats_name): Calculate creation date based on available
1429 runtime data. Return 1 for version instead of 0.
1430
e1ec24c6
NC
14312009-07-01 Nick Clifton <nickc@redhat.com>
1432
1433 PR 10072
1434 * elf32-arm.c (elf32_arm_final_link_relocate): Add code to handle
1435 to R_ARM_THM_PC8 relocation.
1436
2709f570
NC
14372009-06-29 Nick Clifton <nickc@redhat.com>
1438
1439 * elf-m10300.c (mn10300_elf_relax_section): Allow for the
1440 different uses of the relocations addend when a symbol is in a
1441 merged section.
1442
83b89087
L
14432009-06-27 H.J. Lu <hongjiu.lu@intel.com>
1444
1445 PR ld/10337
1446 * elf.c (bfd_section_from_shdr): Don't change sh_link for
1447 SHT_REL/SHT_RELA sections on executable nor shared library.
1448 Treat SHT_REL/SHT_RELA sections with sh_link set to SHN_UNDEF
1449 as a normal section.
1450
be7035c6
NC
14512009-06-25 Nick Clifton <nickc@redhat.com>
1452
1453 * elf-m10300.c (mn10300_elf_relax_section): Handle non-section
1454 symbols with SEC_MERGE flag.
1455
bdeb4032
KT
14562009-06-25 Kai Tietz <kai.tietz@onevision.com>
1457
1458 * coffcode.h (sec_to_styp_flags): Set discardable for .reloc and
1459 give .debug and .reloc data characteristics.
1460 (DOT_RELOC): New define for .reloc section string.
1461 (coff_write_object_contents): Use DOT_RELOC instead of string.
1462
b32e07d7
TG
14632009-06-25 Tristan Gingold <gingold@adacore.com>
1464
1465 * mach-o-target.c (bfd_mach_o_get_dynamic_symtab_upper_bound)
1466 (bfd_mach_o_canonicalize_dynamic_symtab)
1467 (bfd_mach_o_get_synthetic_symtab): Defines.
1468 (TARGET_NAME_BACKEND): Add bfd_mach_o_print_thread entry.
1469 (TARGET_NAME): Use Mach-O specific functions for dynamic.
1470
1471 * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_in): Fix howto indexes
1472 for scattered relocations.
1473 (bfd_mach_o_i386_print_thread): New function.
1474 (bfd_mach_o_print_thread): Define.
1475
1476 * mach-o.c (text_section_names_xlat): Add an entry for __const.
7ee314fa 1477 (bfd_mach_o_canonicalize_one_reloc, bfd_mach_o_canonicalize_relocs):
b32e07d7
TG
1478 New functions extracted from ...
1479 (bfd_mach_o_canonicalize_reloc): ... This. Simplified.
1480 (bfd_mach_o_get_dynamic_reloc_upper_bound): New function.
1481 (bfd_mach_o_canonicalize_dynamic_reloc): New function.
1482 (bfd_mach_o_i386_flavour_string): Adjusted after enum renaming.
1483 (bfd_mach_o_ppc_flavour_string): Reindentation. Add 64 bits cases.
1484 (bfd_mach_o_scan_read_dylinker): Do not create a section anymore.
1485 Set name_str field.
1486 (bfd_mach_o_scan_read_dylib): Ditto.
1487 (bfd_mach_o_scan_read_thread): Set mdata at declaration. Add comments,
1488 reindent.
1489 (bfd_mach_o_scan_read_dysymtab): Set mdata at declaration. Correctly
1490 decode isym and flags on little endian targets. Set dysymtab field.
1491 (bfd_mach_o_scan_start_address): Adjust for enum names.
1492 (bfd_mach_o_lookup_section): Do not look for segments anymore.
1493 (bfd_mach_o_print_section): Display bfd section name.
1494 (bfd_mach_o_print_segment): Display none if no name.
1495 (bfd_mach_o_print_dysymtab): Display next index for local, external
1496 and undefined symbols.
1497 (bfd_mach_o_bfd_print_private_bfd_data): Adjust code by using name_str.
1498 Display dylinker name. Display thread and unixthread commands content.
1499 (bfd_mach_o_print_thread): New macro.
1500
1501 * mach-o.h (bfd_mach_o_mach_header_magic): Align numbers.
1502 (bfd_mach_o_ppc_thread_flavour): Ditto.
1503 (bfd_mach_o_i386_thread_flavour): Ditto.
1504 (BFD_MACH_O_PPC_THREAD_STATE_NONE): New enum.
1505 (BFD_MACH_O_x86_THREAD_STATE_NONE): Replaces
1506 BFD_MACH_O_THREAD_STATE_NONE.
1507 (bfd_mach_o_segment_command): Remove segment field.
1508 (bfd_mach_o_thread_flavour): Field offset is now unsigned long.
1509 (bfd_mach_o_dylinker_command): Remove section field, add name_str.
1510 (bfd_mach_o_prebound_dylib_command): Ditto.
1511 (bfd_mach_o_dylib_command): Ditto.
1512 (bfd_mach_o_prebound_dylib_command): Remove section field.
1513 (mach_o_data_struct): Add dysymtab field.
1514 (bfd_mach_o_backend_data): Add _bfd_mach_o_print_thread field.
1515 (bfd_mach_o_get_reloc_upper_bound, bfd_mach_o_canonicalize_reloc)
1516 (bfd_mach_o_build_commands): Remove parameter names and attributes.
1517 (bfd_mach_o_get_dynamic_reloc_upper_bound)
1518 (bfd_mach_o_canonicalize_dynamic_reloc): New prototypes.
1519
c41ba836
DK
15202009-06-25 Rafael Avila de Espindola <espindola@google.com>
1521
1522 * plugin.c (load_plugin): Use stat and S_ISREG instead of the d_type
1523 field of struct dirent.
1524
3188b070
TG
15252009-06-23 Tristan Gingold <gingold@adacore.com>
1526
1527 * vms.c (vms_get_synthetic_symtab): Remove duplicate definition
1528 of this macro. Fix indentation.
1529
022f8312
CL
15302009-06-22 Christophe Lyon <christophe.lyon@st.com>
1531
1532 * elf32-arm.c (elf32_arm_size_stubs): Use PLT address as
1533 destination for defined dynamic symbols when deciding whether to
1534 insert a stub or not.
1535 (allocate_dynrelocs): Make sure functions are not marked as Thumb
1536 when actually accessed through a PLT, even when generating a
1537 shared lib.
1538
d297e807
TG
15392009-06-22 Tristan Gingold <gingold@adacore.com>
1540
1541 * mach-o.c (bfd_mach_o_canonicalize_reloc): Append a sentinel to
1542 the relocs array.
1543
ceaf50a2
AM
15442009-06-22 Alan Modra <amodra@bigpond.net.au>
1545
1546 * elf32-ppc.c (ppc_elf_check_relocs): Handle R_PPC_RELAX* in switch.
1547 * elf32-v850.c (v850_elf_relocate_section): Warning fix.
1548
983bddc8
AM
15492009-06-22 Alan Modra <amodra@bigpond.net.au>
1550
1551 * elf64-ppc.c (ppc64_elf_edit_opd): Avoid gcc warning.
1552
f8703194
L
15532009-06-19 H.J. Lu <hongjiu.lu@intel.com>
1554
1555 * elflink.c (elf_link_add_object_symbols): Avoid warning
1556 from -Wjump-misses-init in gcc 4.5.0.
1557
09a24cbf
L
15582009-06-19 H.J. Lu <hongjiu.lu@intel.com>
1559
1560 * elf32-i386.c (elf_i386_check_relocs): Properly check local
1561 symbol on error.
1562 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1563
4c544807
L
15642009-06-19 H.J. Lu <hongjiu.lu@intel.com>
1565
1566 * elf32-i386.c (elf_i386_tls_transition): Add a parameter,
1567 r_symndx. Report local symbol name on error.
1568 (elf_i386_check_relocs): Updated. Report local symbol name on
1569 error.
1570 (elf_i386_gc_sweep_hook): Updated.
1571 (elf_i386_relocate_section): Likewise.
1572
1573 * elf64-x86-64.c (elf64_x86_64_tls_transition): Add a parameter,
1574 r_symndx. Report local symbol name on error.
1575 (elf64_x86_64_check_relocs): Updated. Report local symbol name
1576 on error.
1577 (elf64_x86_64_gc_sweep_hook): Updated.
1578 (elf64_x86_64_relocate_section): Likewise.
1579
b8674692
TG
15802009-06-19 Tristan Gingold <gingold@adacore.com>
1581
1582 * mach-o.c (bfd_mach_o_print_private_header): Fix format character.
1583
046b007d
TG
15842009-06-19 Tristan Gingold <gingold@adacore.com>
1585
1586 * mach-o.c (bfd_mach_o_scan_read_symtab_symbols): Add prototype.
1587 (bfd_mach_o_version): Use bfd_mach_o_get_data instead of direct access.
1588 (bfd_mach_o_valid): Ditto.
1589 (bfd_mach_o_wide_p): Ditto.
1590 (bfd_mach_o_canonicalize_reloc): Ditto.
1591 (bfd_mach_o_build_commands): Ditto.
1592 (bfd_mach_o_scan_read_thread): Ditto.
1593 (bfd_mach_o_flatten_sections): Ditto.
1594 (bfd_mach_o_scan_start_address): Ditto.
1595 (bfd_mach_o_lookup_section): Ditto.
1596 (bfd_mach_o_core_fetch_environment): Ditto.
1597 (bfd_mach_o_write_contents): Ditto. Handle reexport_dylib.
1598 (bfd_mach_o_scan_write_relocs): Adjust for bfd_mach_o_get_data.
1599 (bfd_mach_o_scan_write_symtab): Ditto.
1600 Use macros instead of hard-coded values.
1601 (bfd_mach_o_scan_read_symtab_symbol): Make the function static.
1602 Use bfd_mach_o_get_data instead of direct access. Use macros
1603 instead of hard-coded values.
1604 (bfd_mach_o_scan_read_symtab_strtab): Make the function static.
1605 Remove sym argument and get section from mdata.
1606 Move code into the else branch.
1607 (bfd_mach_o_scan_read_symtab_symbols): Make the function static.
1608 Remove sym argument and get section from mdata. Adjust code.
1609 (bfd_mach_o_scan_read_dylib): Move assertion into the created
1610 switch (which replaces consecutive if statements).
1611 (bfd_mach_o_scan_read_dysymtab): Rename seg to cmd. Load
1612 module table, table of content, indirect symbols and external
1613 referenced symbols.
1614 (bfd_mach_o_scan_read_symtab): Renames seg to symtab. Set symtab
1615 field.
1616 (bfd_mach_o_scan_read_linkedit): New function.
1617 (bfd_mach_o_scan_read_str): Ditto.
1618 (bfd_mach_o_count_symbols): Simplify the code by using the symtab
1619 field of mdata.
1620 (bfd_mach_o_get_symtab_upper_bound): Remove check as
1621 bfd_mach_o_count_symbols never returns an error.
1622 (bfd_mach_o_canonicalize_symtab): Simplify the code by using the
1623 symtab field (there might be only one symtab).
1624 (bfd_mach_o_scan_read_command): Handle reexported dylib.
1625 Handle sub frameworks, sub umbrella, sub library and sub client.
1626 Read code signature and segment split info commands.
1627 (bfd_mach_o_scan): Reindent.
1628 (bfd_mach_o_xlat_name): New type.
1629 (bfd_mach_o_print_flags): New function.
1630 (bfd_mach_o_get_name): Ditto.
1631 (bfd_mach_o_cpu_name): New variable.
1632 (bfd_mach_o_filetype_name, bfd_mach_o_header_flags_name)
1633 (bfd_mach_o_section_type_name)
1634 (bfd_mach_o_section_attribute_name)
1635 (bfd_mach_o_load_command_name): New variables.
1636 (bfd_mach_o_print_private_header): New function.
1637 (bfd_mach_o_print_section_map): New function extracted from
1638 bfd_mach_o_print_private_bfd_data.
1639 (bfd_mach_o_print_section): Ditto. Print more infos.
1640 (bfd_mach_o_print_segment): Ditto.
1641 (bfd_mach_o_print_dysymtab): Ditto.
1642 (bfd_mach_o_bfd_print_private_bfd_data): Reworked. Handle
1643 load weak dylib, reexport dylib and id dylib.
1644 Handle code signature and segment_split info.
1645 Handle sub frameworks, sub umbrella, sub library and sub client.
1646 (bfd_mach_o_section_get_nbr_indirect): New function.
1647
1648 * mach-o.h (BFD_MACH_O_REFERENCE_MASK): New macro. Add comment.
1649 (bfd_mach_o_header_flags): New enum to define header flags.
1650 (bfd_mach_o_section_attribute): New enum to replace ...
1651 (BFD_MACH_O_S_ATTR_LOC_RELOC, BFD_MACH_O_S_ATTR_EXT_RELOC,
1652 BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS, BFD_MACH_O_S_ATTR_DEBUG,
1653 BFD_MACH_O_S_SELF_MODIFYING_CODE, BFD_MACH_O_S_ATTR_LIVE_SUPPORT,
1654 BFD_MACH_O_S_ATTR_NO_DEAD_STRIP, BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS,
1655 BFD_MACH_O_S_ATTR_NO_TOC, BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS): ...
1656 these removed macros.
1657 (BFD_MACH_O_NLIST_SIZE, BFD_MACH_O_NLIST_64_SIZE): New macros.
1658 (bfd_mach_o_dylib_module): New type.
1659 (BFD_MACH_O_DYLIB_MODULE_SIZE, BFD_MACH_O_DYLIB_MODULE_64_SIZE): New
1660 macros.
1661 (bfd_mach_o_dylib_table_of_content): New type.
1662 (BFD_MACH_O_TABLE_OF_CONTENT_SIZE): New macro.
1663 (bfd_mach_o_dylib_reference): New type.
1664 (BFD_MACH_O_REFERENCE_SIZE): New macro.
1665 (bfd_mach_o_dysymtab_command): Add fields for loaded and decoded
1666 modules, toc, references and indirect syms.
1667 (BFD_MACH_O_INDIRECT_SYMBOL_SIZE): New macro.
1668 (bfd_mach_o_dylinker_command): Remove cmd and cmdsize fields (were
1669 unused). Add comment.
1670 (bfd_mach_o_dylib_command): Ditto.
1671 (bfd_mach_o_prebound_dylib_command): Ditto.
1672 (bfd_mach_o_linkedit_command): New type.
1673 (bfd_mach_o_str_command): New type.
1674 (bfd_mach_o_load_command): Add linkedit and str fields.
1675 (mach_o_data_struct): Add symtab field.
1676 (bfd_get_mach_o_data): Renamed to ...
1677 (bfd_mach_o_get_data): ... this new macro.
1678 (bfd_mach_o_scan_read_symtab_symbol,
1679 bfd_mach_o_scan_read_symtab_strtab,
1680 bfd_mach_o_scan_read_symtab_symbols): Prototypes removed.
1681
1682 * mach-o-i386.c (bfd_mach_o_i386_mkobject): Use bfd_mach_o_get_data
1683 instead of direct access.
1684
6d78d0b9
AM
16852009-06-19 Alan Modra <amodra@bigpond.net.au>
1686
1687 * elf32-ppc.c (ppc_elf_check_relocs): Allow local symbols for
1688 R_PPC_PLTREL24 relocs.
1689 (ppc_elf_relocate_section): Likewise.
1690
3ec01793
AM
16912009-06-19 Alan Modra <amodra@bigpond.net.au>
1692
1693 * elf32-ppc.c (find_plt_ent): Pass pointer to plist rather than
1694 pointer to sym hash. Update all uses.
1695 (update_plt_info): Likewise. Don't check addend here.
1696
c2e61a4e
L
16972009-06-18 H.J. Lu <hongjiu.lu@intel.com>
1698
1699 * elf32-i386.c (elf_i386_check_relocs): Remove isymbuf and use
1700 bfd_sym_from_r_symndx.
1701 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1702
87d72d41
AM
17032009-06-18 Alan Modra <amodra@bigpond.net.au>
1704
1705 * elf-bfd.h (struct sym_sec_cache): Delete.
1706 (struct sym_cache): New.
1707 (bfd_section_from_r_symndx): Delete prototype.
1708 (bfd_sym_from_r_symndx): Define prototype.
1709 * elf.c (bfd_section_from_r_symndx): Delete, replace with..
1710 (bfd_sym_from_r_symndx): ..new function.
1711 * elf32-arm.c: Update all uses of struct sym_sec_cache and
1712 bfd_section_from_r_symndx to new struct and function.
1713 * elf32-bfin.c: Likewise.
1714 * elf32-hppa.c: Likewise.
1715 * elf32-i386.c: Likewise.
1716 * elf32-m32r.c: Likewise.
1717 * elf32-m68hc1x.c: Likewise.
1718 * elf32-m68hc1x.h: Likewise.
1719 * elf32-m68k.c: Likewise.
1720 * elf32-ppc.c: Likewise.
1721 * elf32-s390.c: Likewise.
1722 * elf32-sh.c: Likewise.
1723 * elf64-ppc.c: Likewise.
1724 * elf64-s390.c: Likewise.
1725 * elf64-x86-64.c: Likewise.
1726 * elfxx-sparc.c: Likewise.
1727 * elfxx-sparc.h: Likewise.
1728
14aae723
L
17292009-06-18 H.J. Lu <hongjiu.lu@intel.com>
1730
1731 * elf32-i386.c (elf_i386_check_relocs): Cache or free isymbuf.
1732 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1733
5e486aa1
NC
17342009-06-18 Nick Clifton <nickc@redhat.com>
1735
1736 * elflink.c (elf_link_sort_relocs): Return early if there are no
1737 relocs to sort.
1738
361dff73
DK
17392009-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
1740
32425da9
NC
1741 Merge cegcc and mingw32ce target name changes from
1742 CeGCC project:
361dff73 1743
32425da9 1744 2007-12-25 Pedro Alves <pedro_alves@portugalmail.pt>
361dff73
DK
1745
1746 * config.bfd: Add arm*-*-cegcc* target.
1747
32425da9 1748 2007-12-17 Pedro Alves <pedro_alves@portugalmail.pt>
361dff73
DK
1749
1750 * config.bfd: Add arm-*-mingw32ce* target.
1751
e03a8ed8
L
17522009-06-17 H.J. Lu <hongjiu.lu@intel.com>
1753
1754 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): New.
1755 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Likewise.
1756 * elf32-i386.c (elf_i386_allocate_dynrelocs): Use it.
1757 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
1758
17592009-06-17 H.J. Lu <hongjiu.lu@intel.com>
1760
1761 * elf-bfd.h (_bfd_elf_create_ifunc_dyn_reloc): New.
1762 * elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Likewise.
1763 * elf32-i386.c (elf_i386_check_relocs): Use it.
1764 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1765
17662009-06-17 H.J. Lu <hongjiu.lu@intel.com>
1767
1768 * elf-bfd.h (elf_dyn_relocs): New.
1769
1770 * elf32-i386.c (elf_i386_dyn_relocs): Removed.
1771 (elf_i386_link_hash_entry): Replace elf_i386_dyn_relocs with
1772 elf_dyn_relocs.
1773 (elf_i386_copy_indirect_symbol): Likewise.
1774 (elf_i386_check_relocs): Likewise.
1775 (elf_i386_gc_sweep_hook): Likewise.
1776 (elf_i386_allocate_dynrelocs): Likewise.
1777 (elf_i386_readonly_dynrelocs): Likewise.
1778 (elf_i386_size_dynamic_sections): Likewise.
1779
1780 * elf64-x86-64.c (elf64_x86_64_dyn_relocs): Removed.
1781 (elf64_x86_64_link_hash_entry): Replace elf64_x86_64_dyn_relocs
1782 with elf_dyn_relocs.
1783 (elf64_x86_64_copy_indirect_symbol): Updated.
1784 (elf64_x86_64_check_relocs): Likewise.
1785 (elf64_x86_64_gc_sweep_hook): Likewise.
1786 (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1787 (elf64_x86_64_allocate_dynrelocs): Likewise.
1788 (elf64_x86_64_readonly_dynrelocs): Likewise.
1789 (elf64_x86_64_size_dynamic_sections): Likewise.
1790
64e77c6d
L
17912009-06-17 H.J. Lu <hongjiu.lu@intel.com>
1792
1793 * elf32-arm.c (create_got_section): Get existing .rela.got
1794 section.
1795 * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise.
1796 * elf32-lm32.c (create_got_section): Likewise.
1797 * elf32-m32r.c (create_got_section): Likewise.
1798 * elf32-ppc.c (ppc_elf_create_got): Likewise.
1799 * elf32-s390.c (create_got_section): Likewise.
1800 * elf32-sh.c (create_got_section): Likewise.
1801 * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise.
1802 * elf64-s390.c (create_got_section): Likewise.
1803 * elfxx-sparc.c (create_got_section): Likewise.
1804
1805 * elflink.c (_bfd_elf_create_got_section): Properly initialize
1806 the GOT size.
1807
d2149d72
L
18082009-06-16 H.J. Lu <hongjiu.lu@intel.com>
1809
1810 * elf-bfd.h (ELF_LOCAL_SYMBOL_HASH): New.
1811
1812 * elf32-i386.c (elf_i386_local_hash): Removed.
1813 (elf_i386_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH.
1814 (elf_i386_get_local_sym_hash): Likewise.
1815
1816 * elf64-x86-64.c (elf64_x86_64_local_hash): Removed.
1817 (elf64_x86_64_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH.
1818 (elf64_x86_64_get_local_sym_hash): Likewise.
1819 * elfxx-ia64.c (elfNN_ia64_local_htab_hash): Likewise.
1820 (get_local_sym_hash): Likewise.
1821
cc3bd654
L
18222009-06-16 H.J. Lu <hongjiu.lu@intel.com>
1823
1824 * elfxx-ia64.c (elfNN_ia64_link_hash_table): Remove got_sec,
1825 rel_got_sec and plt_sec.
1826 (elfNN_ia64_relax_section): Updated.
1827 (elfNN_ia64_create_dynamic_sections): Likewise.
1828 (get_got): Likewise.
1829 (allocate_dynrel_entries): Likewise.
1830 (elfNN_ia64_size_dynamic_sections): Likewise.
1831 (set_got_entry): Likewise.
1832 (elfNN_ia64_choose_gp): Likewise.
1833 (elfNN_ia64_relocate_section): Likewise.
1834 (elfNN_ia64_finish_dynamic_symbol): Likewise.
1835 (elfNN_ia64_finish_dynamic_sections): Likewise.
1836
be3e406d
UW
18372009-06-16 Ulrich Weigand <uweigand@de.ibm.com>
1838
1839 * elf32-spu.c (needs_ovl_stub): Respect .brinfo lrlive bits
1840 also for calls.
1841
6de2ae4a
L
18422009-06-16 H.J. Lu <hongjiu.lu@intel.com>
1843
1844 * configure.in (elf): Add elf-ifunc.lo.
1845
1846 * configure: Regenerated.
1847 * Makefile.in: Likewise.
1848
1849 * elf-bfd.h (elf_link_hash_table): Add sgot, sgotplt,
1850 srelgot, splt, srelplt, igotplt, iplt, irelplt and irelifunc.
1851
1852 * elf32-i386.c (elf_i386_link_hash_table): Remove sgot,
1853 sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and
1854 irelifunc.
1855 (elf_i386_link_hash_table_create): Likewise.
1856 (elf_i386_create_dynamic_sections): Likewise.
1857 (elf_i386_check_relocs): Likewise.
1858 (elf_i386_allocate_dynrelocs): Likewise.
1859 (elf_i386_size_dynamic_sections): Likewise.
1860 (elf_i386_relocate_section): Likewise.
1861 (elf_i386_finish_dynamic_symbol): Likewise.
1862 (elf_i386_finish_dynamic_sections): Likewise.
1863 (elf_i386_create_got_section): Removed.
1864
1865 * elf64-x86-64.c (elf64_x86_64_link_hash_table): Remove sgot,
1866 sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and
1867 irelifunc.
1868 (elf64_x86_64_compute_jump_table_size): Updated.
1869 (elf64_x86_64_link_hash_table_create): Likewise.
1870 (elf64_x86_64_create_dynamic_sections): Likewise.
1871 (elf64_x86_64_check_relocs): Likewise.
1872 (elf64_x86_64_allocate_dynrelocs): Likewise.
1873 (elf64_x86_64_size_dynamic_sections): Likewise.
1874 (elf64_x86_64_relocate_section): Likewise.
1875 (elf64_x86_64_finish_dynamic_symbol): Likewise.
1876 (elf64_x86_64_finish_dynamic_sections): Likewise.
1877 (elf64_x86_64_create_got_section): Removed.
1878
1879 * elflink.c (_bfd_elf_create_got_section): Use log_file_align
1880 for pointer alignment. Set up section pointers.
1881 (_bfd_elf_create_dynamic_sections): Likewise.
1882 (_bfd_elf_create_ifunc_sections): Moved to ...
1883 * elf-ifunc.c: Here. New.
1884
1885 * Makefile.am (BFD32_BACKENDS): Add elf-ifunc.lo.
1886 (BFD32_BACKENDS_CFILES): Add elf-ifunc.c.
1887 Run "make dep-am".
1888
81694485
NC
18892009-06-16 Doug Kwan <dougkwan@google.com>
1890
6de2ae4a
L
1891 * elf32-arm.c (cortex_a8_erratum_scan): Change type of offset
1892 to bfd_signed_vma. Cast constant operands which are used in
1893 offset related expressions to bfd_signed_vma type as appropriate.
81694485 1894
6db7e006
MR
18952009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1896
1897 * elf32-vax.c (elf_vax_plt_sym_val): New function.
1898 (elf_backend_plt_sym_val): Define.
1899
9b90d8fd
MR
19002009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1901
1902 * elf32-vax.c (elf_vax_reloc_type_class): New function.
1903 (elf_backend_reloc_type_class): Define.
1904
04981bc1
MR
19052009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1906
1907 * elf32-vax.c (elf_vax_relocate_section): For symbol references
1908 from an executable to a shared library treat R_VAX_PC32
1909 relocations as R_VAX_PLT32 ones.
1910
886815b2
MR
19112009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1912
1913 * elf32-vax.c (elf_vax_instantiate_got_entries): Skip local
1914 symbols in GOT space calculation.
1915 (elf_vax_relocate_section): Adjust accordingly.
1916
6c4fb25a
MR
19172009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1918
1919 * elf32-vax.c (elf_vax_plt_entry): Set the entry mask to
1920 include <R11:R2>.
1921
7b6021f1
MR
19222009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1923
1924 * elf32-vax.c (elf_vax_check_relocs): Handle the visibility
1925 attribute.
1926 (elf_vax_relocate_section): Likewise.
1927
188dbb07
L
19282009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1929
1930 * elf32-i386.c (elf_i386_allocate_dynrelocs): Update comments.
1931 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
1932
048cbda4
L
19332009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1934
1935 * elf32-i386.c (elf_i386_check_relocs): Reformat.
1936 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1937
482c6ce9
L
19382009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1939
1940 * Makefile.am: Run "make dep-am".
1941 * Makefile.in: Regenerated.
1942
eba077f2
L
19432009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1944
1945 * elf32-i386.c (elf_i386_allocate_dynrelocs): Fix a typo.
1946 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
1947
ec68b083
NC
19482009-06-15 Nick Clifton <nickc@redhat.com>
1949
1950 * po/ru.po: New Russian translation.
1951 * configure.in (ALL_LINGUAS): Add ru.
1952 * configure: Regenerate.
1953
b80ee1aa
L
19542009-06-14 H.J. Lu <hongjiu.lu@intel.com>
1955
1956 * elf32-i386.c: Remove duplicated comments.
1957
44c4ea11
L
19582009-06-14 H.J. Lu <hongjiu.lu@intel.com>
1959
1960 PR ld/10270
1961 * elf32-i386.c (elf_i386_allocate_dynrelocs): Disallow
1962 dynamic IFUNC pointer in non-shared object. Use .got.plt
1963 for IFUNC definition in PIE.
1964 (elf_i386_allocate_dynrelocs): Resolve IFUNC definition in
1965 PIE locally.
1966
1967 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Disallow
1968 dynamic IFUNC pointer in non-shared object. Use .got.plt
1969 for IFUNC definition in PIE.
1970 (elf64_x86_64_relocate_section): Resolve IFUNC definition in
1971 PIE locally.
1972
8b7e2992
L
19732009-06-13 H.J. Lu <hongjiu.lu@intel.com>
1974
1975 * elf32-i386.c (elf_i386_check_relocs): Properly report
1976 local symbol for unhandled relocation against STT_GNU_IFUNC
1977 symbol.
637fa7af 1978 (elf_i386_relocate_section): Likewise.
8b7e2992 1979 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
637fa7af 1980 (elf64_x86_64_relocate_section): Likewise.
8b7e2992 1981
c25bc9fc
L
19822009-06-13 H.J. Lu <hongjiu.lu@intel.com>
1983
1984 PR ld/10269
1985 * elf32-i386.c: Include "objalloc.h" and "hashtab.h".
1986 (elf_i386_link_hash_table): Add loc_hash_table and
1987 loc_hash_memory.
1988 (elf_i386_local_hash): New.
1989 (elf_i386_local_htab_hash): Likewise.
1990 (elf_i386_local_htab_eq): Likewise.
1991 (elf_i386_get_local_sym_hash): Likewise.
1992 (elf_i386_link_hash_table_free): Likewise.
1993 (elf_i386_allocate_local_dynrelocs): Likewise.
1994 (elf_i386_finish_local_dynamic_symbol): Likewise.
1995 (bfd_elf64_bfd_link_hash_table_free): Likewise.
1996 (elf_i386_link_hash_table_create): Create loc_hash_table and
1997 loc_hash_memory.
1998 (elf_i386_check_relocs): Handle local STT_GNU_IFUNC symbols.
1999 (elf_i386_size_dynamic_sections): Likewise.
2000 (elf_i386_relocate_section): Likewise.
2001 (elf_i386_finish_dynamic_sections): Likewise.
2002 (elf_i386_finish_dynamic_symbol): Check _DYNAMIC only if sym
2003 isn't NULL.
2004
2005 * elf64-x86-64.c: Include "objalloc.h" and "hashtab.h".
2006 (elf64_x86_64_link_hash_table): Add loc_hash_table and
2007 loc_hash_memory.
2008 (elf64_x86_64_local_hash): New.
2009 (elf64_x86_64_local_htab_hash): Likewise.
2010 (elf64_x86_64_local_htab_eq): Likewise.
2011 (elf64_x86_64_get_local_sym_hash): Likewise.
2012 (elf64_x86_64_link_hash_table_free): Likewise.
2013 (elf64_x86_64_allocate_local_dynrelocs): Likewise.
2014 (elf64_x86_64_finish_local_dynamic_symbol): Likewise.
2015 (bfd_elf64_bfd_link_hash_table_free): Likewise.
2016 (elf64_x86_64_link_hash_table_create): Create loc_hash_table
2017 and loc_hash_memory.
2018 (elf64_x86_64_check_relocs): Handle local STT_GNU_IFUNC
2019 symbols.
2020 (elf64_x86_64_size_dynamic_sections): Likewise.
2021 (elf64_x86_64_relocate_section): Likewise.
2022 (elf64_x86_64_finish_dynamic_sections): Likewise.
2023 (elf64_x86_64_finish_dynamic_symbol): Check _DYNAMIC only if
2024 sym isn't NULL.
2025
dec9d5df
PB
20262009-06-10 Philip Blundell <philb@gnu.org>
2027
2028 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Avoid crash if
2029 elf_sec->this_hdr == NULL.
2030
92bc0e80
TG
20312009-06-12 Tristan Gingold <gingold@adacore.com>
2032
2033 * reloc.c: Add BFD_RELOC_MACH_O_SECTDIFF and BFD_RELOC_MACH_O_PAIR.
2034 * bfd-in2.h: Regenerated.
2035 * libbfd.h: Regenerated.
2036
2037 * mach-o.c (FILE_ALIGN): New macro.
2038 (bfd_mach_o_canonicalize_symtab): Adjust for bfd_mach_o_asymbol.
2039 (bfd_mach_o_print_symbol): Ditto.
2040 (bfd_mach_o_scan_write_thread): Adjust type of variable offset.
2041 (bfd_mach_o_get_reloc_upper_bound): New function.
2042 (bfd_mach_o_canonicalize_reloc): Ditto.
2043 (bfd_mach_o_scan_write_relocs): Ditto.
2044 (bfd_mach_o_scan_write_section_32): Remove offset argument.
2045 (bfd_mach_o_scan_write_section_64): Ditto.
2046 (bfd_mach_o_scan_write_segment_32): Write relocs. Fix size of data
2047 written for load command. Do not compute section file offset.
2048 (bfd_mach_o_scan_write_segment_64): Ditto.
2049 (bfd_mach_o_scan_write_symtab): Compute file offset first.
2050 Adjust for bfd_mach_o_asymbol. Move code to convert from BFD to
2051 Mach-O to ...
2052 (bfd_mach_o_mangle_symbols): ... this new function.
046b007d 2053 (bfd_mach_o_write_contents): Be sure to have load commands built.
92bc0e80
TG
2054 Call bfd_mach_o_mangle_symbols.
2055 (bfd_mach_o_build_commands): Adjust for filelen field.
2056 Use FILE_ALIGN macro. Clear section file offset if section is empty.
2057 Do not set symtab file offset anymore here.
2058 (bfd_mach_o_make_empty_symbol): Allocate a bfd_mach_o_asymbol.
2059 (bfd_mach_o_make_bfd_section): Set SEC_RELOC if has reloc.
2060 Set reloc_count and rel_filepos section fields.
2061 (bfd_mach_o_scan_read_section_32): Type of argument offset is now
2062 unsigned int.
2063 (bfd_mach_o_scan_read_section_64): Ditto.
2064 (bfd_mach_o_scan_read_section): Ditto.
2065 (bfd_mach_o_scan_read_symtab_symbol): Typr of argument s is now
2066 bfd_mach_o_asymbol. Use unsigned int for file offset type.
2067 (bfd_mach_o_scan_read_symtab_symbol): Adjust for bfd_mach_o_asymbol.
2068 Handle weak-ref symbols.
2069 (bfd_mach_o_scan_read_symtab_symbols): Adjust for bfd_mach_o_asymbol.
2070 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
2071 (bfd_mach_o_scan): Remove assignment to removed field.
2072 (bfd_mach_o_mkobject_init): Ditto.
2073 (bfd_mach_o_bfd_print_private_bfd_data): Adjust printf formatter.
2074 (bfd_mach_o_bfd_reloc_type_lookup): New macro.
2075 (bfd_mach_o_bfd_reloc_name_lookup): Ditto.
2076 (bfd_mach_o_swap_reloc_in): Ditto.
2077 (bfd_mach_o_swap_reloc_out): Ditto.
2078
2079 * mach-o.h (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_NON_LAZY)
2080 (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_LAZY)
2081 (BFD_MACH_O_REFERENCE_FLAG_DEFINED)
2082 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_DEFINED)
2083 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY)
2084 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY)
2085 (BFD_MACH_O_REFERENCED_DYNAMICALLY, BFD_MACH_O_N_DESC_DISCARDED)
2086 (BFD_MACH_O_N_NO_DEAD_STRIP, BFD_MACH_O_N_WEAK_REF)
2087 (BFD_MACH_O_N_WEAK_DEF): New macros.
2088 Add comments.
2089 (bfd_mach_o_section_type): Add new enumeration values.
2090 (BFD_MACH_O_S_SELF_MODIFYING_CODE)
2091 (BFD_MACH_O_S_ATTR_LIVE_SUPPORT)
2092 (BFD_MACH_O_S_ATTR_NO_DEAD_STRIP)
2093 (BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS, BFD_MACH_O_S_ATTR_NO_TOC): New
2094 macros.
2095 (BFD_MACH_O_GENERIC_RELOC_VANILLA)
2096 (BFD_MACH_O_GENERIC_RELOC_PAIR)
2097 (BFD_MACH_O_GENERIC_RELOC_SECTDIFF)
2098 (BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR)
2099 (BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF): Ditto.
2100 (BFD_MACH_O_RELENT_SIZE): Ditto.
2101 (BFD_MACH_O_R_PCREL, BFD_MACH_O_GET_R_LENGTH)
2102 (BFD_MACH_O_R_EXTERN, BFD_MACH_O_GET_R_TYPE)
2103 (BFD_MACH_O_GET_R_SYMBOLNUM, BFD_MACH_O_SET_R_LENGTH)
2104 (BFD_MACH_O_SET_R_TYPE, BFD_MACH_O_SET_R_SYMBOLNUM): Ditto.
2105 (BFD_MACH_O_SR_SCATTERED, BFD_MACH_O_SR_PCREL)
2106 (BFD_MACH_O_GET_SR_LENGTH, BFD_MACH_O_GET_SR_TYPE)
2107 (BFD_MACH_O_GET_SR_ADDRESS, BFD_MACH_O_SET_SR_LENGTH)
2108 (BFD_MACH_O_SET_SR_TYPE, BFD_MACH_O_SET_SR_ADDRESS): Ditto.
2109 (bfd_mach_o_reloc_info): New struct.
2110 (bfd_mach_o_asymbol): New struct.
2111 (bfd_mach_o_symtab_command): The symbols field is now of type
2112 bfd_mach_o_asymbol.
2113 (bfd_mach_o_load_command): The offset and len fields are now of type
2114 unsigned int.
2115 (mach_o_data_struct): Remove symbols, nsymbols and ibfd fields.
2116 Add a filelen field. Add comments.
2117 (bfd_mach_o_backend_data): New struct.
2118 (bfd_mach_o_get_backend_data): New macro.
2119 (bfd_mach_o_scan_read_symtab_symbol): Parameter symbol now of type
2120 bfd_mach_o_asymbol.
2121 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
2122 (bfd_mach_o_get_reloc_upper_bound): New prototype.
2123 (bfd_mach_o_canonicalize_reloc): Ditto.
7ee314fa 2124
92bc0e80
TG
2125 * mach-o-target.c (bfd_mach_o_bfd_is_local_label_name): Remove
2126 duplicated macro. Now defined to _bfd_generic_is_local_label.
2127 (TARGET_NAME_BACKEND): New macro...
2128 (TARGET_NAME_BACKEND): ... used to name a new variable.
2129 (TARGET_NAME): Define relocs table using bfd_mach_o, reference
2130 Mach-O backend data.
2131
2132 * mach-o-i386.c (i386_howto_table): New variable.
2133 (bfd_mach_o_i386_swap_reloc_in): New function.
2134 (bfd_mach_o_i386_swap_reloc_out): Ditto.
2135 (bfd_mach_o_i386_bfd_reloc_type_lookup): Ditto.
2136 (bfd_mach_o_i386_bfd_reloc_name_lookup): Ditto.
2137 (bfd_mach_o_swap_reloc_in, bfd_mach_o_swap_reloc_out): New macros.
2138 (bfd_mach_o_bfd_reloc_type_lookup)
2139 (bfd_mach_o_bfd_reloc_name_lookup): Ditto.
2140
8c7d38e8
NC
21412009-06-11 Eric Paris <eparis@redhat.com>
2142 Nick Clifton <nickc@redhat.com>
2143
2144 * opncls.c (_maybe_make_executable): New function. Gives execute
2145 permission to an executable bfd that was opened for writing
2146 provided that it is a regular file. Replaces common code found in...
2147 (bfd_close): here and ...
2148 (bfd_close_all_done): here.
2149
f865a31d
AG
21502009-06-11 Anthony Green <green@moxielogic.com>
2151
2152 * reloc.c: Add BFD_RELOC_MOXIE_10_PCREL.
2153 * bfd-in2.h: Rebuilt.
2154 * libbfd.h: Rebuilt.
2155 * elf32-moxie.c (moxie_elf_howto_table): Add R_MOXIE_PCREL10
2156 relocation support.
2157 (moxie_reloc_map): Ditto.
2158 Clean up copyright notice.
2159
25b88f33 21602009-06-10 Paul Pluzhnikov <ppluzhnikov@google.com>
7ee314fa 2161
1372b818 2162 * bfd-in2.h: bfd_mmap prototype.
25b88f33
PP
2163 * bfdio.c (bfd_mmap): New function.
2164 * libbfd.h (bfd_iovec): Add bmmap.
1372b818 2165 * cache.c (cache_bmmap): New function.
25b88f33
PP
2166 (cache_iovec): Initialize bmmap member.
2167 * opencls.c (opncls_bmmap): New function.
7ee314fa
AM
2168 (opncls_iovec): Initialize bmmap member.
2169
c2f09c75
TG
21702009-06-09 Tristan Gingold <gingold@adacore.com>
2171
2172 * mach-o.h (bfd_mach_o_symtab_command): Remove stabs_segment
2173 and stabstr_segment fields.
2174 (mach_o_be_vec, mach_o_le_vec): Removed
2175 (bfd_mach_o_version): New prototype.
2176
2177 * mach-o.c (bfd_mach_o_version): Make this function public.
2178 (mach_o_wide_p): New function.
2179 (bfd_mach_o_wide_p): Ditto.
2180 (bfd_mach_o_convert_section_name_to_bfd): Add prefix only for
2181 weird names.
2182 (bfd_mach_o_convert_section_name_to_mach_o): Fix typo in comment.
2183 Search in the list only if the name starts with a dot.
2184 (bfd_mach_o_write_header): Use mach_o_wide_p instead of hard-coded
2185 test. Check bfd_seek status.
2186 (bfd_mach_o_scan_write_thread): Check bfd_seek status.
2187 (bfd_mach_o_scan_write_section_32): Ditto.
2188 (bfd_mach_o_scan_write_section_64): Ditto.
2189 (bfd_mach_o_scan_write_section): Removed.
2190 (bfd_mach_o_scan_write_segment): Split into ...
2191 (bfd_mach_o_scan_write_segment_32): ... this and ...
2192 (bfd_mach_o_scan_write_segment_64): ... this. Check bfd_seek status.
2193 (bfd_mach_o_scan_write_symtab_symbols): Moved into ...
2194 (bfd_mach_o_scan_write_symtab): ... this. Write symtab from BFD
2195 symbol table. Now returns a boolean.
2196 (bfd_mach_o_write_contents): Set filetype. Check bfd_seek status.
2197 Adjust for status type.
2198 (bfd_mach_o_build_commands): Use mach_o_wide_p instead of hard-coded
2199 test. Write symbol table. Numbers the sections.
2200 (bfd_mach_o_read_header): Check bfd_seek status.
2201 Use mach_o_wide_p instead of hard-coded test.
2202 (bfd_mach_o_scan_read_section_32): Check bfd_seek status.
2203 (bfd_mach_o_scan_read_section_64): Ditto.
2204 (bfd_mach_o_scan_read_symtab_symbol): Ditto. Check bfd_seek status.
2205 Use BFD_MACH_O_N_TYPE instead of hard-coded value. Correctly
2206 handled common symbols.
2207 (bfd_mach_o_scan_read_symtab_strtab): Check bfd_seek status.
2208 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
2209 (bfd_mach_o_scan_read_dylinker): Ditto.
2210 (bfd_mach_o_scan_read_dylib): Ditto.
2211 (bfd_mach_o_scan_read_thread): Ditto.
2212 (bfd_mach_o_scan_read_symtab): Ditto.
2213 Do not create a section for the stabs.
2214 (bfd_mach_o_scan_read_uuid): Check bfd_seek status.
2215 (bfd_mach_o_scan_read_segment): Ditto.
2216 (bfd_mach_o_scan_read_command): Ditto.
2217 (bfd_mach_o_scan_start_address): Ditto.
2218 (bfd_mach_o_scan): Use mach_o_wide_p instead of hard-coded test.
2219 (bfd_mach_o_archive_p): Check bfd_seek status.
2220 (bfd_mach_o_core_fetch_environment): Ditto.
2221
2222 * mach-o-i386.c (bfd_mach_o_i386_mkobject): Don't set filetype.
2223
2a81c24a
L
22242009-06-06 H.J. Lu <hongjiu.lu@intel.com>
2225
2226 * elf32-i386.c (elf_i386_link_hash_table): Add irelifunc.
2227 (elf_i386_link_hash_table_create): Initialize irelifunc.
2228 (elf_i386_check_relocs): Updated. Set up irelifunc for
2229 shared objects.
2230 (elf_i386_allocate_dynrelocs): Use irelifunc for dynamic
2231 relocation for non-GOT reference of STT_GNU_IFUNC symbol in
2232 shared objects.
2233 (elf_i386_relocate_section): Likewise.
2234
2235 * elf64-x86-64.c (elf64_x86_64_link_hash_table): Add irelifunc.
2236 (elf64_x86_64_link_hash_table_create): Initialize irelifunc.
2237 (elf64_x86_64_check_relocs): Updated. Set up irelifunc for
2238 shared objects.
2239 (elf64_x86_64_allocate_dynrelocs): Use irelifunc for dynamic
2240 relocation for non-GOT reference of STT_GNU_IFUNC symbol in
2241 shared objects.
2242 (elf64_x86_64_relocate_section): Likewise.
2243
2244 * elf-bfd.h (_bfd_elf_create_static_ifunc_sections): Renamed to
2245 ...
2246 (_bfd_elf_create_ifunc_sections): This.
2247
c2f09c75 2248 * elflink.c (_bfd_elf_create_static_ifunc_sections): Renamed to
2a81c24a
L
2249 ...
2250 (_bfd_elf_create_ifunc_sections): This. Create .rel[a].ifunc
2251 for shared objects.
2252
710ab287
L
22532009-06-06 H.J. Lu <hongjiu.lu@intel.com>
2254
2255 * elf32-i386.c (elf_i386_check_relocs): Make room for dynamic
2256 relocation for R_386_32 against STT_GNU_IFUNC symbol when
2257 building shared object. Check info->executable instead of
2258 !info->shared when setting non_got_ref.
2259 (elf_i386_allocate_dynrelocs): Allocate dynamic relocation
2260 for non-GOT reference of STT_GNU_IFUNC symbol in shared
2261 object. Allocate GOT relocation agsinst STT_GNU_IFUNC
2262 symbol if needed.
2263 (elf_i386_relocate_section): Output dynamic relocation for
2264 R_386_32 against STT_GNU_IFUNC symbol to get the real
2265 function address when building shared object.
2266 (elf_i386_finish_dynamic_symbol): Output R_386_GLOB_DAT
2267 relocation for STT_GNU_IFUNC symbol in shared object.
2268
2269 * elf64-x86-64.c (elf64_x86_64_check_relocs): Make room for
2270 dynamic relocation for R_X86_64_64 against STT_GNU_IFUNC
2271 symbol when building shared object. Check info->executable
2272 instead of !info->shared when setting non_got_ref.
2273 (elf64_x86_64_allocate_dynrelocs): Allocate dynamic relocation
2274 for non-GOT reference of STT_GNU_IFUNC symbol in shared
2275 library. Allocate GOT relocation agsinst STT_GNU_IFUNC symbol
2276 if needed.
2277 (elf64_x86_64_relocate_section): Output dynamic relocation
2278 for R_X86_64_64 against STT_GNU_IFUNC symbol to get the real
2279 function address when building shared object.
2280 (elf64_x86_64_finish_dynamic_symbol): Output R_X86_64_GLOB_DAT
2281 relocation for STT_GNU_IFUNC symbol in shared object.
2282
9e93c730
JK
22832009-06-06 Jan Kratochvil <jan.kratochvil@redhat.com>
2284
2285 * Makefile.am: Run "make dep-am".
2286 (BFD32_BACKENDS): Add mach-o-i386.lo.
2287 (BFD32_BACKENDS_CFILES): Add mach-o-i386.c.
2288 * Makefile.in: Regenerate.
2289
74681fc4
AM
22902009-06-06 Alan Modra <amodra@bigpond.net.au>
2291
2292 * elf32-spu.c (spu_elf_relocate_section): Match overlay number
2293 when looking for soft-icache stubs.
2294
154a1ee5
TG
22952009-06-05 Tristan Gingold <gingold@adacore.com>
2296
2297 * mach-o.h: Update copyright year.
2298 (bfd_mach_o_mach_header_magic): New enum.
2299 (bfd_mach_o_cpu_subtype): Now an enum.
2300 (BFD_MACH_O_HEADER_SIZE, BFD_MACH_O_HEADER_64_SIZE): New macros.
2301 (BFD_MACH_O_SECTION_SIZE, BFD_MACH_O_SECTION_64_SIZE): Ditto.
2302 (BFD_MACH_O_LC_SEGMENT_SIZE, BFD_MACH_O_LC_SEGMENT_64_SIZE): Ditto.
2303 (bfd_mach_o_load_command): Field type_required is now a boolean.
2304 Reindent prototypes.
2305 (bfd_mach_o_object_p, bfd_mach_o_core_p): Remove.
2306 (bfd_mach_o_bfd_copy_private_symbol_data): Add a prototype.
2307 (bfd_mach_o_bfd_copy_private_section_data): Ditto.
2308 (bfd_mach_o_bfd_copy_private_bfd_data): Ditto.
2309 (bfd_mach_o_get_symtab_upper_bound): Ditto.
2310 (bfd_mach_o_canonicalize_symtab): Ditto.
2311 (bfd_mach_o_get_symbol_info): Ditto.
2312 (bfd_mach_o_print_symbol): Ditto.
2313 (bfd_mach_o_bfd_print_private_bfd_data): Ditto.
2314 (bfd_mach_o_make_empty_symbol): Ditto.
2315 (bfd_mach_o_write_contents): Ditto.
2316
2317 * mach-o.c (bfd_mach_o_object_p, bfd_mach_o_core_p,
2318 bfd_mach_o_mkobject): Defines.
2319 (bfd_mach_o_valid): Returns FALSE/TRUE instead of 0/1.
2320 Do not check with target vector but with flavour.
2321 (struct mach_o_section_name_xlat): New declaration.
2322 (dwarf_section_names_xlat): Ditto.
2323 (text_section_names_xlat): Ditto.
2324 (data_section_names_xlat): Ditto.
2325 (struct mach_o_segment_name_xlat): Ditto.
2326 (segsec_names_xlat): Ditto.
2327 (bfd_mach_o_convert_section_name_to_bfd): New function.
2328 (bfd_mach_o_convert_section_name_to_mach_o): Ditto.
2329 (bfd_mach_o_bfd_copy_private_symbol_data): Make it public.
2330 (bfd_mach_o_bfd_copy_private_section_data): Ditto.
2331 (bfd_mach_o_bfd_copy_private_bfd_data): Ditto.
2332 Accept any input and output flavour. Do not share private data
2333 anymore.
2334 (bfd_mach_o_count_symbols): Add a comment.
2335 (bfd_mach_o_get_symtab_upper_bound): Make it public.
2336 (bfd_mach_o_canonicalize_symtab): Ditto.
2337 (bfd_mach_o_get_symbol_info): Ditto.
2338 (bfd_mach_o_print_symbol): Ditto.
2339 (bfd_mach_o_write_header): Now returns a boolean instead of an int.
2340 Use constants instead of hard-coded values.
2341 (bfd_mach_o_scan_write_section_32): Use constants instead of hard-coded
2342 values.
2343 (bfd_mach_o_scan_write_section_64): Ditto.
2344 (bfd_mach_o_scan_write_segment): Ditto.
2345 Do not copy sections anymore.
2346 (bfd_mach_o_write_contents): Make it public.
2347 Remove dead code. Rewrite typeflag assignment.
2348 (bfd_mach_o_build_commands): New function.
2349 (bfd_mach_o_set_section_contents): Ditto.
2350 (bfd_mach_o_make_empty_symbol): Make it public.
2351 (bfd_mach_o_read_header): Make it static.
2352 Convert to bfd_boolean.
2353 Use constants instead of hard-coded values.
2354 (bfd_mach_o_make_bfd_section): Call
2355 bfd_mach_o_convert_section_name_to_bfd to create name.
2356 (bfd_mach_o_scan_read_section_32): Use constants instead of hard-coded
2357 values.
2358 (bfd_mach_o_scan_read_section_64): Ditto.
2359 (bfd_mach_o_scan_read_segment): Do not create a bfd section for
2360 a segment anymore. Use constants instead of hard-coded values.
2361 (bfd_mach_o_scan_read_command): Fix style.
2362 (bfd_mach_o_scan): Use constants instead of hard-coded values.
2363 Get rid of BFD_IO_FUNCS.
2364 (bfd_mach_o_mkobject_init): Renamed from bfd_mach_o_mkobject.
2365 (bfd_mach_o_header_p): Created from bfd_mach_o_object_p.
2366 (bfd_mach_o_gen_object_p): New function, replaces bfd_mach_o_object_p.
2367 (bfd_mach_o_object_p): Removed.
2368 (bfd_mach_o_gen_core_p): New function, replaces ...
2369 (bfd_mach_o_core_p): ... deleted.
2370 (bfd_mach_o_bfd_print_private_bfd_data): Make it public.
2371
2372 * mach-o-i386.c: New file.
2373 * config.bfd: Use mach_o_i386_vec as targ_defvec for ix86-darwin.
2374 * configure.in (TDEFINES): Add mach_o_i386_vec.
2375 * configure: Regenerated.
2376 * targets.c: Add mach_o_i386_vec.
2377
2378 * mach-o.c: Update copyright years.
2379 (BFD_IO_FUNCS): Remove (was not used).
2380 (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr, bfd_mach_o_slurp_armap
2381 bfd_mach_o_slurp_extended_name_table,
2382 bfd_mach_o_construct_extended_name_table,
2383 bfd_mach_o_truncate_arname, bfd_mach_o_write_armap,
2384 bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt,
2385 bfd_mach_o_update_armap_timestamp, bfd_mach_o_close_and_cleanup,
2386 bfd_mach_o_bfd_free_cached_info, bfd_mach_o_new_section_hook,
2387 bfd_mach_o_get_section_contents_in_window,
2388 bfd_mach_o_bfd_is_local_label_name,
2389 bfd_mach_o_bfd_is_target_special_symbol,
2390 bfd_mach_o_bfd_is_local_label_name, bfd_mach_o_get_lineno,
2391 bfd_mach_o_find_nearest_line, bfd_mach_o_find_inliner_info,
2392 bfd_mach_o_bfd_make_debug_symbol, bfd_mach_o_read_minisymbols,
2393 bfd_mach_o_minisymbol_to_symbol,
2394 bfd_mach_o_bfd_get_relocated_section_contents,
2395 bfd_mach_o_bfd_relax_section, bfd_mach_o_bfd_link_hash_table_create,
2396 bfd_mach_o_bfd_link_hash_table_free, bfd_mach_o_bfd_link_add_symbols,
2397 bfd_mach_o_bfd_link_just_syms, bfd_mach_o_bfd_final_link,
2398 bfd_mach_o_bfd_link_split_section, bfd_mach_o_set_arch_mach,
2399 bfd_mach_o_bfd_merge_private_bfd_data,
2400 bfd_mach_o_bfd_set_private_flags, bfd_mach_o_get_section_contents,
2401 bfd_mach_o_bfd_gc_sections, bfd_mach_o_bfd_merge_sections,
2402 bfd_mach_o_bfd_is_group_section, bfd_mach_o_bfd_discard_group,
2403 bfd_mach_o_section_already_linked, bfd_mach_o_bfd_define_common_symbol,
2404 bfd_mach_o_bfd_copy_private_header_data,
2405 bfd_mach_o_core_file_matches_executable_p): Move these defines ...
2406 * mach-o-target.c: ... here.
2407 Update copyright years.
2408
a1ef399e
AM
24092009-06-04 Alan Modra <amodra@bigpond.net.au>
2410
2411 * dep-in.sed: Don't use \n in replacement part of s command.
2412 * Makefile.am (DEP1): LC_ALL for uniq.
2413 Run "make dep-am".
2414 * Makefile.in: Regenerate.
2415
2e75bb35
L
24162009-06-03 H.J. Lu <hongjiu.lu@intel.com>
2417
2418 * elf32-i386.c (elf_i386_allocate_dynrelocs): Remove check of
2419 h->plt.refcount > 0 on STT_GNU_IFUNC symbol.
2420 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
2421
0018b0a3
L
24222009-06-03 H.J. Lu <hongjiu.lu@intel.com>
2423
2424 * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate
2425 GOT entry for STT_GNU_IFUNC symbol with pointer equality.
2426 (elf_i386_relocate_section): Adjust R_386_GOT32 relocation
2427 against STT_GNU_IFUNC symbols for static executables.
2428 (elf_i386_finish_dynamic_symbol): Load GOT entry with
2429 PLT entry for STT_GNU_IFUNC symbol with pointer equality.
2430
2431 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Allocate
2432 GOT entry for STT_GNU_IFUNC symbol with pointer equality.
2433 (elf64_x86_64_finish_dynamic_symbol): Load GOT entry with
2434 PLT entry for STT_GNU_IFUNC symbol with pointer equality.
2435
94313f36
RS
24362009-06-02 Richard Sandiford <r.sandiford@uk.ibm.com>
2437
2438 * coff-rs6000.c (xcoff_ppc_relocate_section): Allow undefined
2439 symbols to be left unimported when linking statically.
2440 * xcofflink.c (xcoff_link_add_symbols): Ignore global linkage
2441 code when linking statically.
2442
7afd84dc
L
24432009-06-02 H.J. Lu <hongjiu.lu@intel.com>
2444
2445 * elf32-i386.c (elf_i386_check_relocs): Increment
2446 got.refcount for R_386_GOT32/R_386_GOTOFF relocations
2447 against STT_GNU_IFUNC symbol.
2448 (elf_i386_allocate_dynrelocs): Set got.refcount to 0 if
2449 local STT_GNU_IFUNC definition is used.
2450 (elf_i386_relocate_section): Handle got.offset != -1 for
2451 R_386_GOT32/R_386_GOTOFF relocations against STT_GNU_IFUNC
2452 symbol.
2453
2454 * elf64-x86-64.c (elf64_x86_64_check_relocs): Increment
2455 got.refcount for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64
2456 relocations against STT_GNU_IFUNC symbol.
2457 (elf64_x86_64_allocate_dynrelocs): Set got.refcount to 0 if
2458 local STT_GNU_IFUNC definition is used.
2459 (elf64_x86_64_relocate_section): Handle got.offset != -1
2460 for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64 relocations against
2461 STT_GNU_IFUNC symbol.
2462
cbe950e9
L
24632009-06-01 H.J. Lu <hongjiu.lu@intel.com>
2464
2465 PR ld/10205
2466 * elf32-i386.c (elf_howto_table): Add R_386_IRELATIVE.
2467 (elf_i386_reloc_type_lookup): Likewise.
2468 (R_386_tls): Removed.
2469 (R_386_irelative): New.
2470 (R_386_vt_offset): Updated.
2471 (elf_i386_rtype_to_howto): Likewise.
2472 (elf_i386_link_hash_table): Add igotplt, iplt and irelplt.
2473 (elf_i386_link_hash_table_create): Initialize igotplt,
2474 iplt and irelplt.
2475 (elf_i386_check_relocs): Handle STT_GNU_IFUNC symbol first.
2476 (elf_i386_adjust_dynamic_symbol): Likewise.
2477 (elf_i386_allocate_dynrelocs): Likewise.
2478 (elf_i386_relocate_section): Likewise.
2479 (elf_i386_size_dynamic_sections): Set up .iplt and .igot.plt
2480 sections.
2481 (elf_i386_finish_dynamic_symbol): When building a static
2482 executable, use .iplt, .igot.plt and .rel.iplt sections for
2483 STT_GNU_IFUNC symbols. Generate R_386_IRELATIVE relocation for
2484 locally defined STT_GNU_IFUNC symbol.
2485
2486 * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_IRELATIVE.
2487 (x86_64_reloc_map): Likewise.
2488 (R_X86_64_standard): Updated.
2489 (elf64_x86_64_link_hash_table): Add igotplt, iplt and irelplt.
2490 (elf64_x86_64_link_hash_table_create): Initialize igotplt,
2491 iplt and irelplt.
2492 (elf64_x86_64_check_relocs): Handle STT_GNU_IFUNC symbol first.
2493 (elf64_x86_64_adjust_dynamic_symbol): Likewise.
2494 (elf64_x86_64_allocate_dynrelocs): Likewise.
2495 (elf64_x86_64_relocate_section): Likewise.
2496 (elf64_x86_64_size_dynamic_sections): Set up .iplt and .igot.plt
2497 sections.
2498 (elf64_x86_64_finish_dynamic_symbol): When building a static
2499 executable, use .iplt, .igot.plt and .rela.iplt sections for
2500 STT_GNU_IFUNC symbols. Generate R_X86_64_IRELATIVE relocation
2501 for locally defined STT_GNU_IFUNC symbol.
2502
2503 * reloc.c (BFD_RELOC_386_IRELATIVE): New.
2504 (BFD_RELOC_X86_64_IRELATIVE): Likewise.
2505
2506 * bfd-in2.h: Regenerated.
2507 * libbfd.h: Likewise.
2508
3aa14d16
L
25092009-06-01 H.J. Lu <hongjiu.lu@intel.com>
2510
2511 * elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs.
2512 (_bfd_elf_make_ifunc_reloc_section): Removed.
2513 (_bfd_elf_is_ifunc_symbol): Likewise.
2514 (_bfd_elf_create_static_ifunc_sections): New.
2515
2516 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Move STT_GNU_IFUNC
2517 symbol check to ...
2518 (elf_link_add_object_symbols): Here.
2519 (_bfd_elf_link_hash_hide_symbol): Don't clean plt on
2520 STT_GNU_IFUNC symbol.
2521 (elf_link_output_extsym): Call elf_backend_finish_dynamic_symbol
2522 if a STT_GNU_IFUNC symbol is referenced in a non-shared object.
2523 (IFUNC_INFIX): Removed.
2524 (get_ifunc_reloc_section_name): Likewise.
2525 (_bfd_elf_make_ifunc_reloc_section): Likewise.
2526 (_bfd_elf_is_ifunc_symbol): Likewise.
2527 (_bfd_elf_create_static_ifunc_sections): New.
2528
eb4ff4d6
L
25292009-05-29 H.J. Lu <hongjiu.lu@intel.com>
2530
2531 * elf32-i386.c (link_hash_newfunc): Add elf_i386_ prefix.
2532 (create_got_section): Likewise.
2533 (allocate_dynrelocs): Likewise.
2534 (readonly_dynrelocs): Likewise.
2535 (set_tls_module_base): Likewise.
2536 (dtpoff_base): Likewise.
2537 (tpoff): Likewise.
2538 (elf_i386_link_hash_table_create): Updated.
2539 (elf_i386_create_dynamic_sections): Likewise.
2540 (elf_i386_check_relocs): Likewise.
2541 (elf_i386_size_dynamic_sections): Likewise.
2542 (elf_i386_relocate_section): Likewise.
2543
2544 * elf64-x86-64.c (link_hash_newfunc): Add elf64_x86_64_ prefix.
2545 (create_got_section): Likewise.
2546 (allocate_dynrelocs): Likewise.
2547 (readonly_dynrelocs): Likewise.
2548 (set_tls_module_base): Likewise.
2549 (dtpoff_base): Likewise.
2550 (tpoff): Likewise.
2551 (elf64_x86_64_link_hash_table_create): Updated.
2552 (elf64_x86_64_create_dynamic_sections): Likewise.
2553 (elf64_x86_64_check_relocs): Likewise.
2554 (elf64_x86_64_size_dynamic_sections): Likewise.
2555 (elf64_x86_64_relocate_section): Likewise.
2556
fc579192
NC
25572009-05-28 Nick Clifton <nickc@redhat.com>
2558
2559 * targets.c (_bfd_target_vector): Only include plugin target in
2560 all-targets build if BFD_SUPPORTS_PLUGINS is non-zero.
2561
5ebe2858
UW
25622009-05-28 Ulrich Weigand <uweigand@de.ibm.com>
2563
2564 * elf32-spu.c (struct call_info): New member broken_cycle.
2565 (remove_cycle): Instead of physically removing call_info structures
2566 to break call graph cycles, mark them using the broken_cycle flag.
2567 (mark_overlay_section): Respect broken_cycle flag.
2568 (unmark_overlay_section): Likewise.
2569 (collect_lib_sections): Likewise.
2570 (collect_overlays): Likewise.
2571 (sum_stack): Likewise.
2572
34ad4cb0
UW
25732009-05-28 Ulrich Weigand <uweigand@de.ibm.com>
2574
2575 * elf32-spu.c (insert_callee): Accumulate incoming callee->count.
2576 (mark_functions_via_relocs): Initialize callee->count to 1.
2577 (pasted_function): Likewise.
2578 (spu_elf_auto_overlay): Honor call counts when determining number
2579 of stubs required in software i-cache mode.
2580
fc579192
NC
25812009-05-27 Rafael Avila de Espindola <espindola@google.com>
2582
2583 * plugin.c (program_name): Remove.
2584 (plugin_program_name): New.
2585 (bfd_plugin_set_program_name): New.
2586 (try_load_plugin): Use plugin_program_name.
2587 * plugin.h (bfd_plugin_set_program_name): New.
2588
25892009-05-27 Rafael Avila de Espindola <espindola@google.com>
5691d22d
NC
2590
2591 * aclocal.m4: Include ../config/plugins.m4.
2592 * configure.in: Use AC_PLUGINS.
2593 * configure: Regenerate.
2594 * Makefile.in: Regenerate.
2595 * doc/Makefile.in: Regenerate.
2596
c8a1f254
NS
25972009-05-27 Nathan Sidwell <nathan@codesourcery.com>
2598
2599 * elf32-ppc.c (ppc_elf_relax_section): Work with a partial
2600 link.
2601 * bout.c (b_out_bfd_relax_section): Reject relocatable links.
2602 * elf32-m10300.c (mn10300_elf_relax_section): Likewise.
2603 * elf32-avr.c (elf32_avr_relax_section): Likewise.
2604 * elf32-frv.c (elf32_avr_relax_section): Likewise.
2605 * elf32-xtensa.c (elf_xtensa_relax_section): Likewise.
2606 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
2607 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
2608 * elfxx-sparc.c (_bfd_sparc_elf_relax_section): Likewise.
2609 * reloc.c (bfd_generic_relax_section): Likewise.
2610 * reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
2611 * vms.c (vms_bfd_relax_section): Likewise.
2612
68d7e96a
L
26132009-05-26 H.J. Lu <hongjiu.lu@intel.com>
2614
2615 * elf-bfd.h (_bfd_elf_is_ifunc_symbol): New.
2616
2617 * elf32-i386.c (is_indirect_symbol): Renamed to ...
2618 * elflink.c (_bfd_elf_is_ifunc_symbol): This.
2619
2620 * elf32-i386.c (allocate_dynrelocs): Updated.
2621 (elf_i386_relocate_section): Likewise.
2622 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
2623 (elf64_x86_64_relocate_section): Likewise.
2624
2625 * elf64-x86-64.c (is_indirect_symbol): Removed.
2626
f12e7348
NC
26272009-05-26 Nick Clifton <nickc@redhat.com>
2628
2629 * po/id.po: Updated Indonesian translation.
2630
ce3c775b
NC
26312009-05-26 Rafael Avila de Espindola <espindola@google.com>
2632
2633 * Makefile.am: Run "make dep-am".
2634 (AM_CPPFLAGS): New.
2635 (LIBDL): New.
2636 (ALL_MACHINES): Add cpu-plugin.lo.
2637 (ALL_MACHINES_CFILES): Add cpu-plugin.c.
2638 (BFD32_BACKENDS): Add plugin.lo.
2639 (BFD32_BACKENDS_CFILES): Add plugin.c.
2640 (libbfd_la_LIBADD): Add LIBDL
2641 * archures.c (bfd_architecture): Add bfd_arch_plugin.
2642 (bfd_plugin_arch): Declare.
2643 * bfd-in.h (BFD_SUPPORTS_PLUGINS): New.
2644 * bfd.c (bfd): Add plugin_data.
2645 * config.bfd: Handle the plugin target.
2646 * configure.in: Check for --enable-plugins.
2647 (LT_INIT): Use the dlopen option.
2648 * cpu-plugin.c: New.
2649 * plugin.c: New.
2650 * plugin.h: New.
2651 * targets.c (plugin_vec): Declare.
2652 (_bfd_target_vector): Add plugin_vec.
2653 * Makefile.in: Regenerate.
2654 * bfd-in2.h: Regenerate.
2655 * configure: Regenerate.
2656
9e097a72
AM
26572009-05-26 Alan Modra <amodra@bigpond.net.au>
2658
2659 * dep-in.sed: Don't modify .o to .lo here. Output one filename
2660 per line with all lines having continuation backslash. Prefix
2661 first line with "A", following lines with "B".
2662 * Makefile.am (DEP): Don't use dep.sed here.
2663 (DEP1): Run $MKDEP on single files, modify .o to .lo here. Use
2664 dep.sed here on dependencies, sort and uniq.
2665 * Makefile.in: Regenerate.
2666
d5acff2f
TG
26672009-05-25 Tristan Gingold <gingold@adacore.com>
2668
2669 * makefile.vms: Add verilog.obj to object list OBJS.
2670
5c93f09b
AM
26712009-05-24 Alan Modra <amodra@bigpond.net.au>
2672
107601c8
AM
2673 * bfdio.c (bfd_seek): Formatting. Ensure newly allocated memory
2674 for BFD_IN_MEMORY is cleared.
2675 (bfd_bwrite): Zero excess memory allocated.
5c93f09b 2676
48229727
JB
26772009-05-22 Julian Brown <julian@codesourcery.com>
2678
2679 * elf32-arm.c (THUMB16_BCOND_INSN, THUMB32_INSN, THUMB32_B_INSN): New
2680 macros.
2681 (elf32_arm_stub_a8_veneer_b_cond, elf32_arm_stub_a8_veneer_b)
2682 (elf32_arm_stub_a8_veneer_blx): New stub sequences.
2683 (elf32_arm_stub_type): Add arm_stub_a8_veneer_b_cond,
2684 arm_stub_a8_veneer_b and arm_stub_a8_veneer_blx.
2685 (elf32_arm_stub_hash_entry): Add target_addend, orig_insn fields.
2686 (a8_erratum_fix, a8_erratum_reloc): New structs.
2687 (elf32_arm_link_hash_table): Add a8_erratum_fixes,
2688 num_a8_erratum_fixes, fix_cortex_a8 fields.
2689 (elf32_arm_link_hash_table_create): Zero fix_cortex_a8.
2690 (elf32_arm_add_stub): Split into two parts, creating...
2691 (elf32_arm_create_or_find_stub_sec): New function.
2692 (elf32_arm_final_link_relocate): Add forward declaration.
2693 (arm_build_one_stub): Add support for THUMB32_TYPE, Thumb-2
2694 relocations, multiple relocations per stub.
2695 (find_stub_size_and_template): New (using parts of arm_size_one_stub).
2696 (arm_size_one_stub): Use find_stub_size_and_template.
2697 (a8_reloc_compare): New.
2698 (find_thumb_glue): Add forward declaration.
2699 (cortex_a8_erratum_scan): New.
2700 (elf32_arm_size_stubs): Add Cortex-A8 erratum workaround support.
2701 (bfd_elf32_arm_set_cortex_a8_fix): New.
2702 (bfd_elf32_arm_set_target_relocs): Add fix_cortex_a8 argument.
2703 (arm_map_one_stub): Add THUMB32_TYPE support.
2704 (a8_branch_to_stub_data): New.
2705 (make_branch_to_a8_stub): New.
2706 (elf32_arm_write_section): Add Cortex-A8 erratum workaround support.
2707 * bfd-in.h (bfd_elf32_arm_set_cortex_a8_fix): New.
2708 (bfd_elf32_arm_set_target_relocs): Add argument for controlling
2709 Cortex-A8 erratum workaround.
2710 * bfd-in2.h: Regenerate.
2711
2b3decb5
AM
27122009-05-22 Alan Modra <amodra@bigpond.net.au>
2713
2714 * Makefile.am: Run "make dep-am".
2715 * Makefile.in: Regenerate.
2716 * po/SRC-POTFILES.in: Regenerate.
2717
930e005c
AM
27182009-05-21 Alan Modra <amodra@bigpond.net.au>
2719
2720 * elflink.c (elf_link_input_bfd): Correct *pindex change in last
2721 commit.
2722
6e0b88f1
AM
27232009-05-21 Alan Modra <amodra@bigpond.net.au>
2724
2725 * elf-bfd.h (struct elf_backend_data
2726 <elf_backend_link_output_symbol_hook>): Return an int.
2727 * elf64-ppc.c (ppc64_elf_output_symbol_hook): Return 2 to drop
2728 symbols on deleted .opd entries.
2729 * elflink.c (elf_link_output_sym): Return without outputting sym
2730 if output_symbol_hook returns 2.
2731 (elf_link_output_extsym): Don't assign h->indx when symbol discarded.
2732 Abort if we must not discard sym.
2733 (elf_link_input_bfd): Similarly, don't set finfo->indices for
2734 local syms.
2735 (bfd_elf_final_link): Adjust elf_link_output_sym calls.
2736 * elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Adjust for
2737 elf_backend_link_output_symbol_hook return type change.
2738 * elf32-arm.c (output_arch_syminfo): Likewise.
2739 (elf32_arm_output_map_sym, elf32_arm_output_stub_sym): Likewise.
2740 (elf32_arm_output_arch_local_syms): Likewise.
2741 * elf32-cr16c.c (elf32_cr16c_link_output_symbol_hook): Likewise.
2742 * elf32-score.c (s3_bfd_score_elf_link_output_symbol_hook): Likewise.
2743 (bfd_score_elf_link_output_symbol_hook): Likewise.
2744 * elf32-score.h (s7_bfd_score_elf_link_output_symbol_hook): Likewise.
2745 * elf32-score7.c (s7_bfd_score_elf_link_output_symbol_hook): Likewise.
2746 * elf32-sh64.c (sh64_elf_link_output_symbol_hook): Likewise.
2747 * elf32-spu.c (spu_elf_output_symbol_hook): Likewise.
2748 * elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
2749 * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
2750 * elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
2751 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
2752 * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
2753 * elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
2754 * elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
2755
5ef11c02
AM
27562009-05-21 Alan Modra <amodra@bigpond.net.au>
2757
2758 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't segfault on
2759 out of range .opd symbols.
2760
ebf12fbe
DK
27612009-05-21 Dave Korn <dave.korn.cygwin@gmail.com>
2762
2763 * coffgen.c (coff_print_symbol): Use bfd_fprintf_vma, not
2764 fprintf_vma directly.
2765 * peXXigen.c (pe_print_edata): Likewise.
2766 (pe_print_pdata): Likewise.
2767 (_bfd_XX_print_ce_compressed_pdata): Likewise.
2768 (_bfd_XX_print_private_bfd_data_common): Likewise.
2769
c1711530
DK
27702009-05-19 Dave Korn <dave.korn.cygwin@gmail.com>
2771
2772 * cofflink.c (process_embedded_commands): Ignore "-aligncomm".
2773
22a8f80e 27742009-05-15 Andrew Stubbs <ams@codesourcery.com>
164e7efc 2775 Paul Brook <paul@codesourcery.com>
22a8f80e
PB
2776
2777 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Don't attempt to
2778 fix discarded sections.
2779
335bd8f2
UW
27802009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2781
2782 * elf32-spu.c (mark_overlay_section): Move .init and .fini
2783 sections into the software icache.
2784
cdc83fba
UW
27852009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2786
2787 * elf32-spu.c (build_stub): Always build "compact" sofware
2788 i-cache stubs.
2789
97fc8d84
UW
27902009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2791
2792 * elf32-spu.c (struct spu_link_hash_table): Add fromelem_size_log2.
2793 (spu_elf_setup): Initialize it.
2794 (spu_elf_size_stubs): Move .ovtab into .bss for software i-cache.
2795 Update to new-sytle cache manager data structures.
2796 (spu_elf_build_stubs): Generate new-style cache manager data
2797 structures and symbols.
2798 (spu_elf_auto_overlay): Update size computation.
2799
452de53c
UW
28002009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2801
2802 * elf32-spu.c (spu_elf_modify_segment_map): Move all PF_OVERLAY
2803 segments first amongst the program headers.
2804
d342a8b1
UW
28052009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2806
2807 * elf32-spu.c (spu_elf_relocate_section): Only encode overlay index
2808 into addresses for relocation types that look at high bits. Remove
2809 special handling of relocation overflow warnings.
2810
cc210763
UW
28112009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2812
2813 * elf32-spu.c (mark_functions_via_relocs): Handle cycles in the
2814 control flow graph between fragments of a function.
2815
c1ea05bb
UW
28162009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2817
2818 * elf32-spu.c (spu_elf_size_stubs): Even in software i-cache mode,
2819 generate only a 16-byte .toe section.
2820 (spu_elf_build_stubs, spu_elf_auto_overlay): Likewise.
2821
bbb0fc04
AM
28222009-05-14 Alan Modra <amodra@bigpond.net.au>
2823
2824 * elf32-spu.c (spu_elf_size_stubs): Split out section placement to..
2825 (spu_elf_place_overlay_data): ..here. New function.
2826 * elf32-spu.h (spu_elf_place_overlay_data): Declare.
2827
6e6718a3
AJ
28282009-05-13 Andrew Jenner <andrew@codesourcery.com>
2829
2830 * elf32-arm.c: Move sysdep.h to start of file.
2831
77ae44b0
AM
28322009-05-11 Ulrich Weigand <uweigand@de.ibm.com>
2833
2834 * elf32-spu.c (spu_elf_find_overlays): Don't use .ovl.init lma as
2835 start of overlays.
2836 (spu_elf_build_stubs): Don't define __icache_tagbase. Define
2837 __icache_tag_array and __icache_tag_array_size.
2838
51408ec2
AM
28392009-05-11 Masaki Muranaka <monaka@monami-software.com>
2840
2841 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Remove unnecessary
2842 ATTRIBUTE_UNUSED.
2843 (bfinfdpic_link_omit_section_dynsym): Likewise.
2844 (elf32_bfinfdpic_finish_dynamic_sections): Likewise.
2845
2468f9c9
PB
28462009-05-05 Paul Brook <paul@codesourcery.com>
2847
2848 * bfd-in.h (elf32_arm_fix_exidx_coverage): Add prototype.
2849 * bfd-in2.h: Regenerate.
2850 * elf32-arm.c (arm_unwind_edit_type, arm_unwind_table_edit): Define.
2851 (_arm_elf_section_data): Add text and exidx fields.
2852 (add_unwind_table_edit, get_arm_elf_section_data, adjust_exidx_size,
2853 insert_cantunwind_after, elf32_arm_fix_exidx_coverage, offset_prel31,
2854 copy_exidx_entry): New functions.
2855 (elf32_arm_write_section): Fixup .ARM.exidx contents.
2856
738a79f6
CL
28572009-05-05 Christophe lyon <christophe.lyon@st.com>
2858
2859 * elf32-arm.c (DEF_STUBS): New helper define.
2860 (DEF_STUB): Likewise.
2861 (stub_def): New type.
2862 (stub_definitions): New array, containing stub template pointers
2863 and sizes.
2864 (arm_size_one_stub): Make use of stub_definitions.
2865
09e2aba4
DK
28662009-05-04 Dave Korn <dave.korn.cygwin@gmail.com>
2867
2868 * elflink.c (find_version_for_sym): Remove from here, ...
2869 * linker.c (bfd_find_version_for_sym): ... rename, replace
2870 here, make public and update all callers.
2871 * bfd-in2.h: Regenerate.
2872
d8045f23
NC
28732009-04-30 Nick Clifton <nickc@redhat.com>
2874
2875 * elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs
2876 section pointer.
2877 (struct elf_obj_data): Add has_ifunc_symbols boolean.
2878 * elf.c (swap_out_syms): Convert BSF_GNU_INDIRECT_FUNCTION flags
2879 into a STT_GNU_IFUNC symbol type.
2880 (_bfd_elf_is_function_type): Accept STT_GNU_IFUNC as a function
2881 type.
2882 (_bfd_elf_set_osabi): Set the osasbi field to ELFOSABI_LINUX if
2883 the binary contains ifunc symbols.
2884 * elfcode.h (elf_slurp_symbol_table): Translate the STT_GNU_IFUNC
2885 symbol type into a BSF_GNU_INDIRECT_FUNCTION flag.
2886 * elf32-i386.c (is_indirect_function): New function.
2887 (elf_i386_check_relocs): Create an ifunc output section.
2888 (allocate_dynrelocs): Create dynamic relocs in the ifunc output
2889 section if necessary.
2890 (elf_i386_relocate_section): Emit a reloc against an ifunc symbol
2891 if necessary.
2892 (elf_i386_add_symbol_hook): New function. Set the
2893 has_ifunc_symbols field of the elf_obj_data structure if an ifunc
2894 symbol is encountered.
2895 (elf_backend_post_process_headers): Define.
2896 (elf_backend_add_symbol_hook): Define.
2897 (elf_i386_post_process_headers): Rename to
2898 elf_i388_fbsd_post_process_headers.
2899 * elf64-x86_64.c (IS_X86_64_PCREL_TYPE): New macro.
2900 (is_indirect_function): New function.
2901 (elf64_x86_64_check_relocs): Create an ifunc output section.
2902 (allocate_dynrelocs): Create dynamic relocs in the ifunc output
2903 section if necessary.
2904 (elf64_x86_64_relocate_section): Emit a reloc against an ifunc
2905 symbol if necessary.
2906 (elf_i386_add_symbol_hook): Set the has_ifunc_symbols field of the
2907 elf_obj_data structure if an ifunc symbol is encountered.
2908 (elf_backend_post_process_headers): Define.
2909 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Always create a PLT
2910 if we have ifunc symbols to handle.
2911 (get_ifunc_reloc_section_name): New function. Computes the name
2912 for an ifunc section.
2913 (_bfd_elf_make_ifunc_reloc_section): New function. Creates a
2914 section to hold ifunc relocs.
2915 * syms.c (BSF_GNU_INDIRECT_FUNCTION): Define.
2916 (bfd_print_symbol_vandf): Handle ifunc symbols.
2917 (bfd_decode_symclass): Likewise.
2918 * bfd-in2.h: Regenerate.
2919
96c23d59
JM
29202009-04-30 Joseph Myers <joseph@codesourcery.com>
2921
2922 * elf32-arm.c (elf32_arm_check_relocs): Give errors for absolute
2923 MOVW and MOVT relocations in a shared library link.
2924
c067354b
NC
29252009-04-27 Anthony Green <green@moxielogic.com>
2926
2927 * verilog.c: New file.
2928 * Makefile.am (BFD32_LIBS): Add verilog.c.
2929 (BFD32_LIBS_CFILES): Add verilog.c.
2930 (verilog.lo): New build rule.
2931 * Makefile.in: Rebuilt.
2932 * targets.c: Add verilog support.
2933 * bfd.c (tdata union): Add Verilog private data field.
2934 * bfd-in2.h: Regenerate.
2935
325c681d
L
29362009-04-27 H.J. Lu <hongjiu.lu@intel.com>
2937
2938 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
2939 copy pe_opthdr.
2940
ba775898
DK
29412009-04-23 Matthias Klose <doko@ubuntu.com>
2942
2e28a5fc 2943 * peXXigen.c (_bfd_XXi_swap_sym_in): Initialize `name'.
ba775898 2944
155d87d7
CL
29452009-04-22 Christophe Lyon <christophe.lyon@st.com>
2946
2947 PR9743
2948 * elf32-arm.c (arm_type_of_stub): Handle R_ARM_THM_JUMP24,
2949 R_ARM_JUMP24 and R_ARM_PLT32 relocations.
2950 (elf32_arm_size_stubs): Likewise.
2951 (record_thumb_to_arm_glue): Deleted unused function.
2952 (bfd_elf32_arm_process_before_allocation): No longer handle
2953 R_ARM_THM_JUMP24, R_ARM_JUMP24 and R_ARM_PLT32 relocations here.
2954 (elf32_arm_final_link_relocate): Handle R_ARM_THM_JUMP24,
2955 R_ARM_JUMP24 and R_ARM_PLT32 relocations.
2956
3e6b1042
DJ
29572009-04-21 Daniel Jacobowitz <dan@codesourcery.com>
2958
2959 * elf32-arm.c (INTERWORK_FLAG): Check BFD_LINKER_CREATED.
2960 (elf32_arm_write_section): Declare early.
2961 (elf32_arm_size_stubs): Skip non-stub sections in the stub BFD.
2962 (arm_allocate_glue_section_space): Exclude empty sections.
2963 (ARM_GLUE_SECTION_FLAGS): Add SEC_LINKER_CREATED.
2964 (bfd_elf32_arm_add_glue_sections_to_bfd): Do not skip the stub
2965 BFD.
2966 (elf32_arm_output_glue_section, elf32_arm_final_link): New.
2967 (elf32_arm_merge_eabi_attributes): Skip the stub BFD.
2968 (elf32_arm_size_dynamic_sections): Allocate interworking
2969 sections here.
2970 (bfd_elf32_bfd_final_link): Define.
2971
4f360784
L
29722009-04-21 H.J. Lu <hongjiu.lu@intel.com>
2973
2974 * coff-ia64.c (COFF_PAGE_SIZE): Changed to 8K.
154a1ee5 2975
4f360784
L
2976 * coffcode.h (coff_compute_section_file_positions): Clear
2977 D_PAGED if PE section alignment is smaller than COFF_PAGE_SIZE.
2978
2979 * libcoff-in.h (pe_tdata): Remove force_minimum_alignment and
2980 force_minimum_alignment.
2981
2982 * libcoff.h: Regenerated.
2983
2984 * pei-ia64.c (PEI_TARGET_SUBSYSTEM): Removed.
2985 (PEI_FORCE_MINIMUM_ALIGNMENT): Likewise.
2986
2987 * peicode.h (pe_mkobject): Don't set force_minimum_alignment
2988 nor target_subsystem.
2989
2990 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't check
2991 force_minimum_alignment nor target_subsystem.
2992
e48570bb
DK
29932009-04-21 Kai Tietz <kai.tietz@onevision.com>
2994
2995 * coff-x86_64.c (PEI_HEADERS): Protect includes.
2996 (bfd_pe_print_pdata): Remove #ifdef PE variation.
2997 * pei-x86_64.c (PEI_HEADERS): Define to prevent double
2998 include in coff-x86_64.c of headers.
2999 (PDATA_ROW_SIZE): New define.
3000 (pex_regs[]): New static array.
3001 (pex64_get_runtime_function): New static function.
3002 (pex64_get_unwind_info): Likewise.
3003 (pex64_get_scope_entry): Likewise.
3004 (pex64_xdata_print_uwd_codes): Likewise.
3005 (pex64_get_section_by_rva): Likewise.
3006 (pex64_dump_xdata): Likewise.
3007 (pex64_bfd_print_pdata): Likewise.
3008 (bfd_pe_print_pdata): Define as pex64_bfd_print_pdata.
3009 * peXXigen.c (_bfd_pex64_print_pdata): Removed implementation.
3010 * libpei.h (_bfd_pex64_print_pdata): Removed declaration.
3011
383c383f 30122009-04-19 Peter O'Gorman <binutils@mlists.thewrittenword.com>
4f360784
L
3013 Alan Modra <amodra@bigpond.net.au>
3014 Dave Korn <dave.korn.cygwin@gmail.com>
383c383f
AM
3015
3016 * peXXigen.c (_bfd_XXi_swap_sym_in): Fix name handling w.r.t
3017 long names and non-NUL-terminated strings.
3018
b6b450f1
L
30192009-04-17 H.J. Lu <hongjiu.lu@intel.com>
3020
3021 * bfd-in2.h: Regenerated.
3022
d9118602
L
30232009-04-17 H.J. Lu <hongjiu.lu@intel.com>
3024
3025 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Replace
3026 IMAGE_SUBSYSTEM_EFI_ROM with IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER.
3027
92dd4511
L
30282009-04-17 H.J. Lu <hongjiu.lu@intel.com>
3029
3030 PR binutils/10074
3031 * coffcode.h (bfd_pei_p): New.
3032
3033 * config.bfd: Remove bfd_efi_bsdrv_ia32_vec,
3034 bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,
3035 bfd_efi_rtdrv_x86_64_vec, bfd_efi_bsdrv_ia64_vec and
3036 bfd_efi_rtdrv_ia64_vec. Replace bfd_efi_app_ia32_vec,
3037 bfd_efi_app_x86_64_vec and bfd_efi_app_ia64_vec with
3038 i386pei_vec, x86_64pei_vec and bfd_pei_ia64_vec, respectively.
3039
3040 * configure.in: Remove bfd_efi_bsdrv_ia32_vec,
3041 bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,
3042 bfd_efi_rtdrv_x86_64_vec,
3043 bfd_efi_bsdrv_ia64_vec and bfd_efi_rtdrv_ia64_vec. Replace
3044 bfd_efi_ia64_vec with bfd_pei_ia64_vec.
3045 * targets.c: Likewise.
3046
3047 * configure: Regenerated.
3048 * libcoff.h: Likewise.
3049 * Makefile.in: Likewise.
3050
3051 * efi-app-ia32.c: Removed.
3052 * efi-app-x86_64.c: Likewise.
3053 * efi-bsdrv-ia32.c: Likewise.
3054 * efi-bsdrv-ia64.c: Likewise.
3055 * efi-bsdrv-x86_64.c: Likewise.
3056 * efi-rtdrv-ia32.c: Likewise.
3057 * efi-rtdrv-ia64.c: Likewise.
3058 * efi-rtdrv-x86_64.c: Likewise.
3059 * efi-rtdrv-ia32.c: Likewise.
3060
3061 * efi-app-ia64.c: Moved to ...
3062 * pei-ia64.c: This.
3063 (TARGET_SYM): Set to bfd_pei_ia64_vec.
3064 (TARGET_NAME): Set to pei-ia64.
3065
3066 * libpei.h (bfd_target_pei_p): Removed.
3067 (bfd_target_pei_arch): Likewise.
3068 (bfd_target_efi_app_p): Likewise.
3069 (bfd_target_efi_app_arch): Likewise.
3070 (bfd_target_efi_bsdrv_p): Likewise.
3071 (bfd_target_efi_bsdrv_arch): Likewise.
3072 (bfd_target_efi_rtdrv_p): Likewise.
3073 (bfd_target_efi_rtdrv_arch): Likewise.
3074 (bfd_pe_executable_p): Likewise.
3075
3076 * Makefile.am (BFD32_BACKENDS): Remove efi-app-ia32.lo,
3077 efi-bsdrv-ia32.lo and efi-rtdrv-ia32.lo.
3078 (BFD32_BACKENDS_CFILES): Remove efi-app-ia32.c, efi-bsdrv-ia32.c
3079 and efi-rtdrv-ia32.c.
3080 (BFD64_BACKENDS): Remove efi-app-ia64.lo, efi-bsdrv-ia64.lo,
3081 efi-rtdrv-ia64.lo, efi-app-x86_64.lo, efi-bsdrv-x86_64.lo and
3082 efi-rtdrv-x86_64.lo. Add pei-ia64.lo.
3083 (BFD64_BACKENDS_CFILES): Remove efi-app-ia64.c, efi-bsdrv-ia64.c,
3084 efi-rtdrv-ia64.c, efi-app-x86_64.c, efi-bsdrv-x86_64.c and
3085 efi-rtdrv-x86_64.c. Add pei-ia64.c.
3086 (efi-app-ia64.lo): Removed.
3087 (efi-bsdrv-ia32.lo): Likewise.
3088 (efi-rtdrv-ia32.lo): Likewise.
3089 (efi-app-ia64.lo): Likewise.
3090 (efi-bsdrv-ia64.lo): Likewise.
3091 (efi-rtdrv-ia64.lo): Likewise.
3092 (efi-app-x86_64.lo): Likewise.
3093 (efi-bsdrv-x86_64.lo): Likewise.
3094 (efi-rtdrv-x86_64.lo): Likewise.
3095 (pei-ia64.lo): New.
3096
3097 * peicode.h (coff_swap_scnhdr_in): Replace bfd_pe_executable_p
3098 with bfd_pei_p.
3099 (arch_type): Removed.
3100 (pe_arch): Likewise.
3101 (pe_bfd_object_p): Just return coff_object_p.
3102
3103 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Replace
3104 bfd_pe_executable_p with bfd_pei_p.
3105
69c5861e
CL
31062009-04-17 Christophe Lyon <christophe.lyon@st.com>
3107
3108 * elf32-arm.c (elf32_arm_size_stubs): Handle long branches through
3109 PLT entries to an undefined symbol when generating a shared
3110 library.
3111
e9cd0660
NC
31122009-04-17 Nick Clifton <nickc@redhat.com>
3113
3114 PR 9909
3115 * coffcode.h (handle_COMDAT): Allow for external COMDAT symbols.
3116
3023e3f6
RS
31172009-04-16 Richard Sandiford <r.sandiford@uk.ibm.com>
3118
3119 * aout-adobe.c (aout_32_bfd_define_common_symbol): Define.
3120 * aout-target.h (MY_bfd_define_common_symbol): Likewise.
3121 * aout-tic30.c (MY_bfd_define_common_symbol): Likewise.
3122 * binary.c (binary_bfd_define_common_symbol): Likewise.
3123 * bout.c (b_out_bfd_define_common_symbol): Likewise.
3124 * coff-alpha.c (_bfd_ecoff_bfd_define_common_symbol): Likewise.
3125 * coff-mips.c (_bfd_ecoff_bfd_define_common_symbol): Likewise.
3126 * coffcode.h (coff_bfd_define_common_symbol): Likewise.
3127 * elfxx-target.h (bfd_elfNN_bfd_define_common_symbol): Likewise.
3128 * i386msdos.c (msdos_bfd_define_common_symbol): Likewise.
3129 * i386os9k.c (os9k_bfd_define_common_symbol): Likewise.
3130 * ieee.c (ieee_bfd_define_common_symbol): Likewise.
3131 * ihex.c (ihex_bfd_define_common_symbol): Likewise.
3132 * libbfd-in.h (_bfd_nolink_bfd_define_common_symbol): Likewise.
3133 * mach-o.c (bfd_mach_o_bfd_define_common_symbol): Likewise.
3134 * mmo.c (mmo_bfd_define_common_symbol): Likewise.
3135 * nlm-target.h (nlm_bfd_define_common_symbol): Likewise.
3136 * oasys.c (oasys_bfd_define_common_symbol): Likewise.
3137 * pef.c (bfd_pef_bfd_define_common_symbol): Likewise.
3138 * ppcboot.c (ppcboot_bfd_define_common_symbol): Likewise.
3139 * som.c (som_bfd_define_common_symbol): Likewise.
3140 * srec.c (srec_bfd_define_common_symbol): Likewise.
3141 * tekhex.c (tekhex_bfd_define_common_symbol): Likewise.
3142 * versados.c (versados_bfd_define_common_symbol): Likewise.
3143 * vms.c (vms_bfd_define_common_symbol): Likewise.
3144 * xcoff-target.h (_bfd_xcoff_bfd_define_common_symbol): Likewise.
3145 * xsym.c (bfd_sym_bfd_define_common_symbol): Likewise.
3146 * coff-rs6000.c (rs6000coff_vec): Add _bfd_xcoff_define_common_symbol.
3147 (pmac_xcoff_vec): Likewise.
3148 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
3149 (aix5coff64_vec): Likewise.
3150 * linker.c (bfd_generic_define_common_symbol): New function.
3151 * targets.c (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_define_common_symbol.
3152 (_bfd_define_common_symbol): New field.
3153 * libcoff-in.h (_bfd_xcoff_define_common_symbol): Declare.
3154 * xcofflink.c (_bfd_xcoff_define_common_symbol): New function.
3155 (xcoff_build_ldsyms): Don't set XCOFF_DEF_REGULAR for common
3156 symbols here.
3157 * bfd-in2.h: Regenerate.
3158 * libbfd.h: Likewise.
3159 * libcoff.h: Likewise.
3160
20135e4c
NC
31612009-04-15 Anthony Green <green@moxielogic.com>
3162
3163 * targets.c: Add moxie support.
3164 * Makefile.am: Ditto.
3165 * Makefile.in: Rebuilt.
3166 * cpu-moxie.c, elf32-moxie.c: New files.
3167 * archures.c: Add moxie support.
3168 * configure.in: Add moxie support.
3169 * configure: Rebuilt.
3170 * config.bfd, archures.c: Add moxie support.
3171 * bfd-in2.h: Rebuilt.
3172
82b5c97a
CL
31732009-04-15 Christophe Lyon <christophe.lyon@st.com>
3174
3175 * elf32-arm.c (elf32_arm_final_link_relocate): Don't convert ARM
3176 branch to an undef weak symbol into a jump to next instruction if
3177 a PLT entry will be created.
3178
0408dee6
DK
31792009-04-14 Dave Korn <dave.korn.cygwin@gmail.com>
3180
3181 * coffgen.c (make_a_section_from_file): Set the backend long
3182 section names enable if long section names found on input.
3183 * coffcode.h: Extend long section names documentation to match.
3184
a0c402a5
L
31852009-04-08 H.J. Lu <hongjiu.lu@intel.com>
3186
3187 * elflink.c (elf_link_add_object_symbols): Warn alternate ELF
3188 machine code.
3189
4d28413b
DD
31902009-04-07 DJ Delorie <dj@redhat.com>
3191
3192 * archures.c: Add bfd_mach_mep_c5.
3193 * bfd-in2.h: Likewise.
3194 * cpu-mep.c: Add bfd_c5_arch.
3195 * elf32-mep.c: Support it.
3196
bb6198d2
L
31972009-04-07 H.J. Lu <hongjiu.lu@intel.com>
3198
3199 * elflink.c (_bfd_elf_section_already_linked): Add `\n' for
3200 info->callbacks->einfo.
3201 * linker.c (_bfd_generic_section_already_linked): Likewise.
3202
bcb012d3
DD
32032009-04-06 DJ Delorie <dj@redhat.com>
3204
3205 * elf32-h8300.c (elf32_h8_relax_section): Relax MOVA opcodes.
3206
db1fe6e9
L
32072009-04-06 H.J. Lu <hongjiu.lu@intel.com>
3208
3209 * coff-x86_64.c (bfd_pe_print_pdata): Defined to
3210 _bfd_pex64_print_pdata only if PE is defined.
3211
3212 * libpei.h (_bfd_pep_print_x64_pdata): Renamed to ...
3213 (_bfd_pex64_print_pdata): This.
3214
3215 * peXXigen.c (_bfd_pep_print_x64_pdata): Renamed to ...
3216 (_bfd_pex64_print_pdata): This. Defined only if COFF_WITH_pex64
3217 is defined.
3218
c7c7219d
KT
32192009-04-05 Kai Tietz <kai.tietz@onevision.com>
3220
3221 * coff-x86_64.c (bfd_pe_print_pdata): Define as
3222 _bfd_pep_print_x64_pdata.
3223 * libpei.h (_bfd_pep_print_x64_pdata): Add prototype.
3224 * peXXigen.c (_bfd_pep_print_x64_pdata): New.
3225
3df502ae
SA
32262009-04-02 Sterling Augustine <sterling@jaw.hq.tensilica.com>
3227
154a1ee5 3228 * elf32-xtensa.c (relax_property_section): Always set r_offset
3df502ae
SA
3229 to zero.
3230
d3626fb0
CL
32312009-04-02 Christophe Lyon <christophe.lyon@st.com>
3232
3233 * elf32-arm.c (elf32_arm_stub_long_branch_v4t_thumb_thumb,
3234 elf32_arm_stub_long_branch_v4t_thumb_thumb_pic): Two new long
3235 branch stubs.
3236 (elf32_arm_stub_type): New enum values for the two new stubs.
3237 (arm_type_of_stub): Make use of the two new stubs.
3238 (arm_size_one_stub): Handle the two new stubs.
3239
fe723c87
MT
32402009-04-01 Matt Thomas <matt@netbsd.org>
3241
3242 * elf32-vax.c (elf_vax_check_relocs): Do not put relocations against
3243 hidden symbols into the GOT or PLT.GOT.
154a1ee5 3244 (elf_vax_relocate_section): Do not emit a PCREL reloc
fe723c87
MT
3245 into a shared object if it is against a hidden symbol.
3246
ee698300
RS
32472009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3248
3249 * xcofflink.c (xcoff_archive_info): Add contains_shared_object_p
3250 and know_contains_shared_object_p.
3251 (xcoff_archive_contains_shared_object_p): Add an "info" parameter.
3252 Cache the result in the archive_info table.
3253 (xcoff_auto_export_p): Add an "info" parameter and update the
3254 call to xcoff_archive_contains_shared_object_p.
3255 (xcoff_mark_auto_exports): Update accordingly.
3256 (xcoff_post_gc_symbol): Likewise.
3257
54e2dbe0
RS
32582009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3259
3260 * xcofflink.c (bfd_link_input_bfd): Treat __rtinit as C_HIDEXT
3261 rather than C_EXT.
3262
2e470849
RS
32632009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3264
3265 * coff-rs6000.c (member_layout): New structure.
3266 (archive_iterator): Likewise.
3267 (member_layout_init): New function.
3268 (archive_iterator_begin): Likewise.
3269 (archive_iterator_next): Likewise.
3270 (xcoff_write_armap_old): Use the new iterator functions.
3271 (do_shared_object_padding): Delete.
3272 (xcoff_write_armap_big): Use the new iterator functions. Simplify
3273 handling of arch_info.
3274 (xcoff_write_archive_contents_old): Allocate arelt_data in the
3275 first loop rather than the second. Allocate a member header if
3276 there isn't one, then work out the stat information and length
3277 in the first loop too. Use the new iterators for the second loop.
3278 (xcoff_write_archive_contents_big): Likewise.
3279
24c611d1
RS
32802009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3281
3282 * bfd-in.h (bfd_xcoff_split_import_path): Declare.
3283 (bfd_xcoff_set_archive_import_path): Likewise.
3284 * bfd-in2.h: Regenerate.
3285 * xcofflink.c: Include libiberty.h.
3286 (xcoff_archive_info): New structure.
3287 (xcoff_archive_info_hash): New function.
3288 (xcoff_archive_info_eq): Likewise.
3289 (xcoff_get_archive_info): Likewise.
3290 (_bfd_xcoff_bfd_link_hash_table_create): Initialize archive_info.
3291 (bfd_xcoff_split_import_path): New function.
3292 (bfd_xcoff_set_archive_import_path): Likewise.
3293 (xcoff_set_import_path): Move earlier in file.
3294 (xcoff_link_add_dynamic_symbols): Set the import path of a non-archive
3295 object to the the directory part of the bfd's filename. Get the
3296 import path and filename of an archive object from the archive's
3297 xcoff_tdata, initializing it if necessary. Update use of
3298 import_file_id.
3299 (bfd_link_input_bfd): Update use of import_file_id.
3300 (xcoff_write_global_symbol): Likewise.
3301
d286971a
RS
33022009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3303
3304 * xcofflink.c (xcoff_link_hash_table): Moved from include/coff/xcoff.h.
3305
33062009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3307
3308 * xcofflink.c (xcoff_link_create_extra_sections): Don't create
3309 a .loader section for relocatable links.
3310 (xcoff_need_ldrel_p): New function.
3311 (xcoff_mark): Use it.
3312 (bfd_xcoff_link_count_reloc): Only count loader relocs if there's
3313 a loader section.
3314 (xcoff_build_ldsym): New function, split out from...
3315 (xcoff_build_ldsyms): ...here. Rename to...
3316 (xcoff_post_gc_symbol): ...this. Only export symbols, and only
3317 call xcoff_build_ldsym, if there's a loader section.
3318 (xcoff_build_loader_section): New function, extracted verbatim from...
3319 (bfd_xcoff_size_dynamic_sections): ...here. Only call it if
3320 there's a loader section. Only add an __rtinit loader symbol
3321 if there's a loader section. Update after above name change.
3322 (xcoff_symbol_section, xcoff_create_ldrel): New functions.
3323 (bfd_link_input_bfd): Use xcoff_need_ldrel_p, xcoff_symbol_section
3324 and xcoff_create_ldrel.
3325 (xcoff_write_global_symbol): Use xcoff_create_ldrel.
3326 (xcoff_reloc_link_order): Likewise, but only call it if there's
3327 a loader section. Use xcoff_symbol_section.
3328 (_bfd_xcoff_bfd_final_link): Only use fdinfo.ldrel and fdinfo.ldsym
3329 if there's a loader section.
3330
8707bb87
RS
33312009-04-01 Richard Sandiford <rdsandiford@googlemail.com>
3332
3333 * xcofflink.c (bfd_link_input_bfd): Fix buffer overrun.
3334
e780aef2
CL
33352009-04-01 Christophe Lyon <christophe.lyon@st.com>
3336
3337 * elf32-arm.c (group_sections): Rewrite loops for better
3338 readability.
3339
c301e700
DD
33402009-03-30 DJ Delorie <dj@redhat.com>
3341
3342 * elflink.c (elf_link_input_bfd): Don't try to resolve complex
3343 relocs when doing a relocatable link.
3344
3895f852
MM
33452009-03-28 Mark Mitchell <mark@codesourcery.com>
3346
3347 * coff-arm.c (coff_arm_merge_private_bfd_data): Use "error:", not
3348 "ERROR:", in error messages.
3349 * cpu-arm.c (bfd_arm_merge_machines): Likewise.
3350 * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
3351 * elf32-arm.c (tag_cpu_arch_combine): Likewise.
3352 (elf32_arm_merge_eabi_attributes): Likewise.
3353 (elf32_arm_merge_private_bfd_data): Likewise.
3354
ea882e87
NC
33552009-03-27 Nick Clifton <nickc@redhat.com>
3356
3357 * section.c (bfd_get_section_contents): Detect and handle the case
3358 where a section has the SEC_IN_MEMORY flag set but no actual
3359 contents allocated.
3360
9433b9b1
AM
33612009-03-26 Alan Modra <amodra@bigpond.net.au>
3362
3363 PR 6494
3364 * elf.c (copy_elf_program_header): Do not check that PT_GNU_RELRO
3365 p_filesz and p_memsz are equal. Use p_memsz as the segment size.
3366 (assign_file_positions_for_non_load_sections): Zap PT_GNU_RELRO
3367 if we don't find matching PT_LOAD when copying.
3368
dc1aa734
SR
33692009-03-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
3370
3371 * elf32-crx.c (crx_elf_howto_table): Zero the src_mask field of
3372 the reloc descriptions.
3373
34d3d6b9
HPN
33742009-03-25 Hans-Peter Nilsson <hp@axis.com>
3375
3376 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
3377 <R_CRIS_16_GOT_GD, case R_CRIS_32_GOT_GD>: Handle COMMON symbols.
3378 <case R_CRIS_16_TPREL, R_CRIS_32_TPREL>: Ditto.
3379
34274ccc
L
33802009-03-24 H.J. Lu <hongjiu.lu@intel.com>
3381
3382 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Make it static.
3383 (bfd_i386_arch_intel_syntax): Likewise.
3384 (i8086_arch): Likewise.
3385 (bfd_x86_64_arch): Likewise.
3386
019c5a2e
HPN
33872009-03-24 Hans-Peter Nilsson <hp@axis.com>
3388
6718f446
HPN
3389 * elf32-cris.c (cris_elf_relocate_section): <case
3390 R_CRIS_16_DTPREL, R_CRIS_32_DTPREL>: Allow use of non-local
3391 symbols for non-allocated sections. Don't check whether to
3392 generate R_CRIS_DTPMOD for non-allocated sections.
3393 (cris_elf_gc_sweep_hook) <case R_CRIS_32_DTPREL>: Don't
3394 handle relocation GC:ing if applied to non-allocated section.
3395 (cris_elf_check_relocs): Similar.
3396
019c5a2e
HPN
3397 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
3398 <R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: Don't include the TLS size
3399 when emitting a known TP offset in the GOT.
3400
ffcfec52
AM
34012009-03-23 Alan Modra <amodra@bigpond.net.au>
3402
3403 * elf64-ppc.c (synthetic_opd): Delete.
3404 (compare_symbols): Look for .opd name rather than section match.
3405 (ppc64_elf_get_synthetic_symtab): Likewise.
3406
c6dd29ce
AM
34072009-03-21 Alan Modra <amodra@bigpond.net.au>
3408
3409 * elf32-ppc.c (is_pic_glink_stub): Delete.
3410 (is_nonpic_glink_stub): New function.
3411 (ppc_elf_get_synthetic_symtab): Check for last non-pic stub rather
3412 than first pic one.
3413 (struct ppc_elf_link_hash_table <glink_pltresolve>): Comment fix.
3414
8c21ca21
AK
34152009-03-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
3416 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3417
3418 * elf32-s390.c (elf_s390_check_relocs): Use the SYMBOL_*
4f360784 3419 macros for visibilty and locality checks.
8c21ca21
AK
3420 (elf_s390_adjust_dynamic_symbol): Likewise.
3421 (allocate_dynrelocs): Likewise.
3422 (elf_s390_relocate_section): Likewise.
3423 (elf_s390_finish_dynamic_symbol): Likewise.
3424 * elf64-s390.c (elf_s390_check_relocs): Likewise.
3425 (elf_s390_adjust_dynamic_symbol): Likewise.
3426 (allocate_dynrelocs): Likewise.
3427 (elf_s390_relocate_section): Likewise.
3428 (elf_s390_finish_dynamic_symbol): Likewise.
3429
156621f3
KT
34302009-03-19 Kai Tietz <kai.tietz@onevision.com>
3431
3432 * bfd-in2.h: Regenerated.
3433 * coffcode.h (sec_to_styp_flags): For pe-coff add SEC_READONLY
3434 for debugging sections and map memory read/write dependent on
3435 SEC_COFF_NOREAD.
3436 (styp_to_sec_flags): Set SEC_COFF_NOREAD for sections
3437 without memory read flags set.
3438 * section.c: Add SEC_COFF_NOREAD to section flags.
3439
d1fa68d3
AS
34402009-03-19 Andreas Schwab <schwab@linux-m68k.org>
3441
3442 * elf32-hppa.c (final_link_relocate): Cast bfd_vma values to long
3443 for format string.
3444
ad2adbc8
AM
34452009-03-19 Alan Modra <amodra@bigpond.net.au>
3446
3447 * elf32-spu.c (spu_elf_find_overlays): Separate error return from
3448 "no overlays" return. If there are overlays, create overlay
3449 manager entry symbols here, so that..
3450 (spu_elf_build_stubs): ..we don't need to set them up here.
3451 Simplify entry symbol tests.
3452 * elf32-spu.h (spu_elf_find_overlays): Update prototype.
3453
67cc5033
MK
34542009-03-18 Mark Kettenis <kettenis@gnu.org>
3455
d1fa68d3 3456 * elf.c (elfcore_grok_openbsd_procinfo)
67cc5033
MK
3457 (elfcore_grok_openbsd_note): New functions.
3458 (elf_parse_notes): Handle notes from OpenBSD ELF core files.
3459
8d25cc3d
AM
34602009-03-18 Alan Modra <amodra@bigpond.net.au>
3461
3889c459 3462 * vms-hdr.c: Don't include alloca.h.
8d25cc3d
AM
3463 * elf32-m68hc1x.c: Include alloca-conf.h.
3464 * xsym.c: Likewise.
3465 * elf64-hppa.c: Likewise. Remove existing #if's handling alloca.
3466 * som.c: Likewise.
3467 * Makefile.am: Run "make dep-am".
3468 * Makefile.in: Regenerate.
3469
a89e6478
DJ
34702009-03-17 Daniel Jacobowitz <dan@codesourcery.com>
3471
3472 * elf32-arm.c (elf32_arm_check_relocs): Correct symbian_p test.
3473
a7e11ee1
AM
34742009-03-17 Alan Modra <amodra@bigpond.net.au>
3475
3476 * elf32-spu.h (struct spu_elf_params): ovly_flavour now only 1 bit.
3477 Add compact_stub.
3478 (emum _ovly_flavour): Delete ovly_compact, ovly_none.
3479 * elf32-spu.c (struct spu_link_hash_table): Replace ovly_load and
3480 ovly_return fields with ovly_entry[2]. Adjust all users.
3481 (spu_elf_find_overlays): Set ovly_entry[1] from __icache_call_handler
3482 when soft-icache.
3483 (spu_elf_build_stubs): Likewise.
3484 (ovl_stub_size): Change arg to spu_elf_params pointer. Adjust for
3485 ovly_flavour changes. Update all callers.
3486 (ovl_stub_size_log2): New function.
3487 (build_stub): Handle compact icache stubs. Use different manager
3488 entry point for stubs in non-icache area.
3489 (spu_elf_size_stubs): Don't allocate space for indirect branch
3490 descriptors.
3491 (spu_elf_build_stubs): And don't built them.
3492
607a83c9
AS
34932009-03-16 Andrew Stubbs <ams@codesourcery.com>
3494
3495 * dwarf2.c (read_section): Always use rawsize, if available.
3496
588f62fc
AM
34972009-03-16 Alan Modra <amodra@bigpond.net.au>
3498
3499 * simple.c (bfd_simple_get_relocated_section_contents): Use larger
3500 of rawsize and size for buffer.
3501
a14c90c1
UW
35022009-03-15 Ulrich Weigand <uweigand@de.ibm.com>
3503
3504 * elf32-spu.c (spu_elf_check_vma): Do not reset auto_overlay
3505 parameter just because fixed sections fit into local store.
3506 (spu_elf_auto_overlay): Do not declare as "noreturn". Skip
3507 generating overlays if fixed sections plus reserved stack
3508 and heap space fit into local store.
3509
30c665df
AM
35102009-03-15 Alan Modra <amodra@bigpond.net.au>
3511
3512 * elf32-spu.c (build_stub): Correct icache set_id.
3513 (spu_elf_relocate_section): Likewise.
3514
f95942a3
RS
35152009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3516
3517 * xcofflink.c (xcoff_link_check_archive_element): Only free the
3518 symbol table if it was created by the current call.
3519
670562e9
RS
35202009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3521
3522 * xcofflink.c (xcoff_build_ldsyms): Give imported descriptors
3523 class XMC_DS rather than XMC_UA.
3524
b64232cc
RS
35252009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3526
3527 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Replace the
3528 bfd_boolean export_defineds parameter with an unsigned int
3529 auto_export_flags parameter.
3530 * bfd-in2.h: Regenerate.
3531 * xcofflink.c (xcoff_archive_contains_shared_object_p): New function,
3532 split out from xcoff_build_ldsyms.
3533 (xcoff_covered_by_expall_p): New function.
3534 (xcoff_auto_export_p): New function, split out from xcoff_build_ldsyms
3535 but with extra code to handle -bexpfull and -bexpall.
3536 (xcoff_mark_auto_exports): New function.
3537 (xcoff_build_ldsyms): Use xcoff_auto_export_p to decide whether
3538 a function should be automatically exported.
3539 (bfd_xcoff_size_dynamic_sections): Replace the export_defineds
3540 parameter with an auto_export_flags parameter. Update ldinfo
3541 accordingly. Use xcoff_mark_auto_exports to mark all automatically-
3542 exported symbols.
3543
7d504122
RS
35442009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3545
3546 * xcofflink.c (xcoff_mark_symbol_by_name): New function.
3547 (bfd_xcoff_size_dynamic_sections): Use it to mark the entry,
3548 init and fini functions. Do garbage collection for objects
3549 without an entry point too.
3550
8602d4fe
RS
35512009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3552
3553 * coffcode.h (coff_pointerize_aux_hook): Update CSECT_SYM_P to
3554 check whether a symbol has csect information.
3555 (coff_print_aux): Likewise.
3556 * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Handle auxillary csect
3557 information for C_AIX_WEAKEXT too.
3558 (_bfd_xcoff_swap_aux_out): Likewise.
3559 (xcoff_reloc_type_br): Handle defweak symbols too.
3560 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Handle auxillary csect
3561 information for C_AIX_WEAKEXT too.
3562 (_bfd_xcoff64_swap_aux_out): Likewise.
3563 (xcoff64_reloc_type_br): Handle defweak symbols too.
3564 * coffgen.c (coff_print_symbol): Handle auxillary function
3565 information for C_AIX_WEAKEXT too.
3566 * xcofflink.c (_bfd_xcoff_canonicalize_dynamic_symtab): Set BSF_WEAK
3567 instead of BSF_GLOBAL if the L_WEAK flag is set.
3568 (xcoff_dynamic_definition_p): New function.
3569 (xcoff_link_add_dynamic_symbols): Use it to decide whether ldsym
3570 defines h. Don't change h if ldsym isn't the definition. Otherwise,
3571 always take the symbol class from the ldsym. Use weak bfd symbol
3572 types for weak ldsyms.
3573 (xcoff_link_add_symbols): Use CSECT_SYM_P and EXTERN_SYM_P.
3574 Fix the check for whether a definition is from a shared object.
3575 Allow redefinitions of weak symbols.
3576 (xcoff_link_check_ar_symbols): Use EXTERN_SYM_P.
3577 (xcoff_keep_symbol_p): Likewise.
3578 (bfd_xcoff_size_dynamic_sections): Use CSECT_SYM_P.
3579 (xcoff_link_input_bfd): Use CSECT_SYM_P and EXTERN_SYM_P.
3580 Add .loader entries for C_AIX_WEAKEXT as well as C_EXT symbols,
3581 but mark them as L_WEAK.
3582 (xcoff_write_global_symbol): Treat weak symbols as C_AIX_WEAKEXT
3583 instead of C_EXT if C_AIX_WEAKEXT == C_WEAKEXT.
3584
5b49f6dc
RS
35852009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3586
3587 * xcofflink.c (xcoff_mark): When walking the relocations,
3588 only mark the target symbol or the target section, not both.
3589 (xcoff_final_definition_p): New function.
3590 (xcoff_keep_symbol_p): Use it to check whether an external XCOFF
3591 symbol is a valid definition of the associated output symbol.
3592 Use XCOFF_ALLOCATED to stop the same hash table entry having
3593 two output symbols.
3594 (bfd_xcoff_size_dynamic_sections): Set XCOFF_ALLOCATED when
3595 keeping a symbol.
3596 (xcoff_link_input_bfd): Use xcoff_final_definition_p.
3597
c4037431
RS
35982009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3599
3600 * xcofflink.c (bfd_xcoff_import_symbol): Treat imported absolute
3601 symbols as XMC_XO.
3602
3df13c4a
RS
36032009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3604
3605 * libcoff-in.h (xcoff_tdata): Add a lineno_counts field.
3606 * libcoff.h: Regenerate.
3607 * xcofflink.c (xcoff_link_add_symbols): Record per-symbol
3608 line-number counts in the bfd's lineno_counts field.
3609 Don't keep per-csect line-number counts.
3610 (xcoff_sweep): Don't update per-csect line-number counts.
3611 (bfd_xcoff_size_dynamic_sections): Count the number of line-number
3612 entries in each output section.
3613 (xcoff_link_input_bfd): Get the number of line numbers from
3614 the bfd's lineno_counts field, rather than recalculating it
3615 from scratch. Fix the range check when updating C_BINCL and
3616 C_EINCL symbols.
3617 (_bfd_xcoff_bfd_final_link): Don't count the output line numbers
3618 here. Don't expect csects to have line-number counts.
3619
e450936a
RS
36202009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3621
3622 * libcoff-in.h (xcoff_tdata): Change debug_indices to a signed long.
3623 * libcoff.h: Regenerate.
3624 * xcofflink.c (xcoff_keep_symbol_p): New function, using the
3625 "skip" logic from xcoff_link_input_bfd.
3626 (bfd_xcoff_size_dynamic_sections): Explicitly skip dynamic
3627 objects in a dynamic link, rather than checking whether csectpp
3628 is null. Always allocate debug_index for other objects,
3629 and always go through the loop. Update the type of debug_index
3630 after the change above. Read the auxillary csect information
3631 and use xcoff_keep_symbol_p to decide whether a symbol should
3632 be kept. Set its debug_index to -2 if not.
3633 (xcoff_link_input_bfd): Update the type of debug_index after
3634 the change above and always expect it to be nonnull. Use it to
3635 test whether a symbol should be stripped, rather than making the
3636 decision here. Postpone all symbol creation to the second pass.
3637
47dfb2ca
RS
36382009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3639
3640 * xcofflink.c: (xcoff_mark_symbol): Mark the TOC section when
3641 creating a descriptor.
3642 (xcoff_sweep): Don't mark toc_section unless it's needed.
3643 (bfd_xcoff_size_dynamic_sections): Skip the toc_section
3644 when marking every bfd.
3645 (xcoff_link_input_bfd): Skip all TOC anchors.
3646 (xcoff_toc_section_p, xcoff_find_tc0): New functions.
3647 (_bfd_xcoff_bfd_final_link): Don't set the output bfd's TOC anchor
3648 to -1; call xcoff_find_tc0 instead.
3649
4cc02a02
RS
36502009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3651
3652 * libcoff-in.h (xcoff_section_tdata): Update commentary.
3653 * libcoff.h: Regenerate.
3654 * xcofflink.c (xcoff_link_add_symbols): Set the csect of XTY_ER
3655 symbols to bfd_und_section_ptr or bfd_abs_section_ptr, rather than
3656 the previous symbol's csect. Treat last_symndx as an inclusive value
3657 and simplify its handling.
3658 (xcoff_mark): Treat last_symndx as an inclusive value. Only mark
3659 symbols with the right csect. Don't mark rsec when processing
d1fa68d3 3660 relocations against undefined or absolute sections.
4cc02a02
RS
3661 (bfd_xcoff_size_dynamic_sections): Don't check the SEC_MARK flag
3662 of bfd_und_section_ptr.
3663 (xcoff_link_input_bfd): Likewise.
3664
858ef0ce
RS
36652009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3666
3667 * coff-rs6000.c (xcoff_ppc_relocate_section): Report relocations
3668 against undefined symbols if the symbol's XCOFF_WAS_UNDEFINED
3669 flag is set. Assert that all undefined symbols are either
3670 imported or defined by a dynamic object.
3671 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
3672 * xcofflink.c (xcoff_link_add_symbols): Extend function-symbol
3673 handling to all relocations. Only set XCOFF_CALLED for function
3674 symbols.
3675 (xcoff_find_function): New function, split out from...
3676 (bfd_xcoff_export_symbol) ...here.
3677 (xcoff_set_import_path): New function, split out from...
3678 (bfd_xcoff_import_symbol): ...here. Remove assertion for old
3679 meaning of XCOFF_CALLED.
3680 (xcoff_mark_symbol): If we mark an undefined and unimported
3681 symbol, find some way of defining it. If the symbol is a function
3682 descriptor, fill in its definition automatically. If the symbol
3683 is a function, mark its descriptor and allocate room for global
3684 linkage code. Otherwise mark the symbol as implicitly imported.
3685 Move the code for creating function descriptors from...
d1fa68d3 3686 (xcoff_build_ldsyms): ...here. Use XCOFF_WAS_UNDEFINED to
858ef0ce
RS
3687 check for symbols that were implicitly defined.
3688 (xcoff_mark): Don't count any dynamic relocations against
3689 function symbols.
3690 (bfd_xcoff_size_dynamic_sections): Save the rtld parameter
3691 in the xcoff link info.
3692 (xcoff_link_input_bfd): Remove handling of undefined and
3693 unexported symbols.
3694
12b2cce9
RS
36952009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3696
3697 * coff-rs6000.c (xcoff_reloc_type_br): Make the branch absolute
3698 if the target is absolute. Fix comment typo.
3699 (xcoff_ppc_relocate_section): Remove FIXME.
3700 * coff64-rs6000.c (xcoff64_reloc_type_br): Make the branch absolute
3701 if the target is absolute.
3702
0e3212ad
RS
37032009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3704
3705 * xcofflink.c (xcoff_mark, xcoff_link_input_bfd): Don't copy
3706 R_POS and R_NEG relocations against absolute symbols to the
3707 .loader section.
3708
d19d97e9
RS
37092009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3710
3711 * coff64-rs6000.c (xcoff64_write_object_contents): Set the cputype
3712 to 2 for bfd_mach_ppc_620.
3713
e5231592
RS
37142009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3715
3716 * config.bfd: Treat AIX 6+ in the same way as AIX 5.
3717 * configure.in: Likewise.
3718 * configure: Regenerate.
3719
3516e984
L
37202009-03-13 H.J. Lu <hongjiu.lu@intel.com>
3721
3722 PR binutils/9945
3723 * elf.c (assign_section_numbers): Generate symbol table if there
3724 is any relocation in output.
3725 (_bfd_elf_compute_section_file_positions): Likewise.
3726
ce98a316
NC
37272009-03-13 Nick Clifton <nickc@redhat.com>
3728
3729 PR 9934
3730 * elf-bfd.h (NUM_SHDR_ENTRIES): Cope with an empty section.
3731 * elflink.c (elf_link_read_relocs_from_section): Use
3732 NUM_SHDR_ENTRIES. Gracefully handle the case where there are
3733 relocs but no symbol table.
3734 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
3735
c4fb387b
L
37362009-03-12 H.J. Lu <hongjiu.lu@intel.com>
3737
3738 PR ld/9938
3739 * elf32-i386.c (elf_i386_check_tls_transition): Use strncmp
3740 to check ___tls_get_addr.
3741
3742 * elf64-x86-64.c (elf64_x86_64_check_tls_transition): Use
3743 strncmp to check __tls_get_addr.
3744
53638231
AS
37452009-03-12 Andrew Stubbs <ams@codesourcery.com>
3746
3747 * dwarf2.c (read_section): Always check the offset, even when the
3748 section has been read before.
3749
09e8c3bf
L
37502009-03-11 H.J. Lu <hongjiu.lu@intel.com>
3751
3752 * elf32-i386.c (elf_i386_check_tls_transition): Fix a typo in
3753 comments.
3754
36e4dce6
CD
37552009-03-11 Chris Demetriou <cgd@google.com>
3756
3757 * bfd.c (BFD_DETERMINISTIC_OUTPUT): New flag.
3758 * bfd-in2.h: Regenerate.
3759 * archive.c (bfd_ar_hdr_from_filesystem): If BFD_DETERMINISTIC_OUTPUT
3760 flag is set, use 0 for uid, gid, and timestamp, and use 0644 for file
3761 mode.
3762 (bsd_write_armap): Likewise.
3763 (_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUT
3764 flag is set, do nothing.
3765 (coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0
3766 for timestamp.
3767
9b175a76
UW
37682009-03-11 Ulrich Weigand <uweigand@de.ibm.com>
3769
3770 * elf32-spu.c (find_function_stack_adjust): Handle sf instruction
3771 used to update stack pointer.
3772
f501de17
DA
37732009-03-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3774
3775 PR binutils/9921
3776 * som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE
3777 for unknown symbols in absolute section.
3778
d11fd249
NC
37792009-03-06 Nick Clifton <nickc@redhat.com>
3780
3781 * po/es.po: Updated Spanish translation.
3782
8cd931b7
CL
37832009-03-05 Christophe Lyon <christophe.lyon@st.com>
3784
3785 * elf32-arm.c (group_sections): Take next section size into
3786 account before accepting to group it.
3787
5fa9e92f
CL
37882009-03-05 Christophe Lyon <christophe.lyon@st.com>
3789
3790 * elf32-arm.c (arm_type_of_stub): Handle long branches targetting
3791 PLT entries.
3792 (elf32_arm_final_link_relocate): Likewise.
3793
b92997d6
AM
37942009-03-05 Moritz Kroll <Moritz.Kroll@gmx.de>
3795
3796 PR 9923
3797 * peXXigen.c (_bfd_XXi_final_link_postscript): Check h->root.type.
3798
727fc41e
AM
37992009-03-04 Alan Modra <amodra@bigpond.net.au>
3800
3801 * reloc.c (BFD_RELOC_PPC_TLSGD, BFD_RELOC_PPC_TLSLD): New.
3802 * section.c (struct bfd_section): Add has_tls_get_addr_call.
3803 (BFD_FAKE_SECTION): Init new flag.
3804 * ecoff.c (bfd_debug_section): Likewise.
3805 * bfd-in2.h: Regenerate.
3806 * libbfd.h: Regenerate.
3807 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_TLSGD and R_PPC_TLSLD.
3808 (ppc_elf_reloc_type_lookup): Handle new relocs.
3809 (ppc_elf_check_relocs): Set has_tls_get_addr_call on finding such
3810 without marker relocs.
3811 (ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
3812 if section has no old-style calls.
3813 (ppc_elf_relocate_section): Set tls_mask for non-tls relocs too.
3814 Don't try to optimize new-style __tls_get_addr call when handling
3815 arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
3816 relocs.
3817 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_TLSGD, R_PPC64_TLSLD.
3818 (ppc64_elf_reloc_type_lookup): Handle new relocs.
3819 (ppc64_elf_check_relocs): Set has_tls_get_addr_call on finding such
3820 without marker relocs.
3821 (ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
3822 if section has no old-style calls. Set toc_ref for new relocs as
3823 appropriate.
3824 (ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too.
3825 Don't try to optimize new-style __tls_get_addr call when handling
3826 arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
3827 relocs.
3828
51dec227
AM
38292009-03-04 Alan Modra <amodra@bigpond.net.au>
3830
3831 PR 6768
3832 * configure.in: Test for ld --as-needed support. Link shared
3833 libbfd against libm.
3834 * configure: Regenerate.
3835
a1f7ca36
AM
38362009-03-03 Alan Modra <amodra@bigpond.net.au>
3837
3838 * Makefile.am: Run "make dep-am".
3839 * Makefile.in: Regenerate.
3840
c3b7224a
NC
38412009-03-02 Qinwei <qinwei@sunnorth.com.cn>
3842
3843 * elf32-score7.c: New file.
3844 * elf32-score.h: New file.
3845 * elf32-score.c: Add code to support score 7. Set score7 as the
3846 default.
3847 * cpu-score.c: Add score7 architecure.
3848 (compatibile): New function.
3849 * Makefile.am: Add rules for building elf32-score7 object.
3850 * Makefile.in: Regenerate.
3851 * configure.in: Add elf32-score7 object to score vectors.
3852 * configure: Regenerate.
3853 * reloc.c: Add score7 relocs.
3854 * archures.c: Add score3 and score7 machine numbers.
3855 * bfd-in2.h: Regenerate.
3856 * libbfd.h: Regenerate.
3857
58e24671
RW
38582009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3859
3860 * configure: Regenerate.
3861
5887528b
DA
38622009-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3863
d45b7d74
DA
3864 * elf32-hppa.c (hppa32_elf_local_refcounts): New function.
3865 (elf32_hppa_check_relocs): Use it.
3866
5887528b
DA
3867 * elf_hppa_add_symbol_hook (elf_hppa_add_symbol_hook): Move to
3868 elf64-hppa.c.
3869 (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
3870 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
3871 (elf_hppa_is_dynamic_loader_symbol): Likewise.
3872 (elf_hppa_record_segment_addrs): Likewise.
3873 (elf_hppa_final_link): Likewise.
3874 (elf_hppa_relocate_insn): Likewise.
3875 (elf_hppa_final_link_relocate): Likewise.
3876 (elf64_hppa_relocate_section): Likewise.
3877 * elf64-hppa.c: Insert above.
3878
a03bd320
DA
38792009-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3880
3881 * elf-hppa.h (elf_hppa_final_link): Use elf_hppa_final_link.
3882 (elf_hppa_final_link_relocate ): Rewrite eliminating dynamic hash table.
3883 (elf_hppa_relocate_section): Likewise.
3884 * elf64-hppa.c (struct elf64_hppa_link_hash_entry): Change to derive
3885 from struct elf_link_hash_entry. Add count field.
3886 (struct elf64_hppa_dyn_hash_table): Delete.
3887 (struct elf64_hppa_link_hash_table): Delete dyn_hash_table field.
3888 (elf64_hppa_hash_table): Rename to hppa_link_hash_table.
3889 (hppa_elf_hash_entry, eh_name): Define.
3890 (elf64_hppa_new_dyn_hash_entry): Delete.
3891 (elf64_hppa_dyn_hash_lookup): Delete.
3892 (elf64_hppa_dyn_hash_traverse): Delete.
3893 (get_dyn_name): Delete.
3894 (elf64_hppa_finalize_opd): Use struct elf_link_hash_entry * instead
3895 of struct elf64_hppa_dyn_hash_entry *.
3896 (elf64_hppa_finalize_dlt, llocate_global_data_dlt,
3897 allocate_global_data_plt, allocate_global_data_stub,
3898 allocate_global_data_opd, count_dyn_reloc, allocate_dynrel_entries):
3899 Likewise.
3900 (hppa64_link_hash_newfunc): New.
3901 (elf64_hppa_hash_table_create): Rework.
3902 (count_dyn_reloc): Likewise.
3903 (hppa64_elf_local_refcounts): New.
3904 (elf64_hppa_check_relocs): Rework using standard technique for recording
3905 local DLT, PLT and OPD reference counts.
3906 (elf64_hppa_dynamic_symbol_p): Revise using "eh" for struct
3907 elf_link_hash_entry *.
3908 (elf64_hppa_mark_exported_functions, allocate_global_data_dlt,
3909 allocate_global_data_plt, allocate_global_data_stub,
3910 allocate_global_data_opd, allocate_dynrel_entries,
3911 elf64_hppa_adjust_dynamic_symbol,
3912 elf64_hppa_mark_milli_and_exported_functions): Likewise.
3913 (elf64_hppa_create_dynamic_sections, elf64_hppa_size_dynamic_sections):
3914 Use hppa_link_hash_table. Rework.
3915 (elf64_hppa_link_output_symbol_hook): Rework.
3916 (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd,
3917 elf64_hppa_finalize_dlt, elf64_hppa_finalize_dynreloc,
3918 elf64_hppa_finish_dynamic_sections): Likewise.
3919
ebe24dd4
CL
39202009-02-26 Christophe Lyon <christophe.lyon@st.com>
3921
3922 * elf32-arm.c (stub_reloc_type): Removed.
3923 (insn_sequence): Renamed reloc_type field to r_type.
3924 (elf32_arm_stub_long_branch_v4t_arm_thumb_pic): New stub.
3925 (elf32_arm_stub_long_branch_v4t_thumb_arm_pic): Likewise.
3926 (elf32_arm_stub_long_branch_thumb_only_pic): Likewise.
3927 (elf32_arm_stub_type): Add new enum entries for the new stubs.
3928 (arm_stub_is_thumb): Catch new stubs.
3929 (arm_type_of_stub): Handle new stubs.
3930 (arm_size_one_stub): Use ARRAY_SIZE. Handle new stubs.
3931 (bfd_elf32_arm_process_before_allocation): Remove useless
3932 condition.
3933
b9d678e0
L
39342009-02-25 H.J. Lu <hongjiu.lu@intel.com>
3935
3936 * elf.c (elf_find_function): Use is_function_type to check
3937 function symbol.
3938
56fb3749
SA
39392009-02-24 Sterling Augustine <sterling@jaw.hq.tensilica.com>
3940
3941 * xtensa-modules.c: Revert to previous version 1.11 due
3942 to inadvertant commit.
3943
658ff993
SA
39442009-02-24 Sterling Augustine <sterling@tensilica.com>
3945
3946 * elf32-xtensa.c (text_action_add): Separate test for action
3947 type. Break if saved action is ta_widen_insn at same offset.
3948
cf3eccff
DJ
39492009-02-24 Daniel Jacobowitz <dan@codesourcery.com>
3950
3951 * elf32-arm.c (elf32_arm_stub_long_branch_any_any_pic): Rename
3952 to elf32_arm_stub_long_branch_any_arm_pic.
3953 (elf32_arm_stub_long_branch_any_thumb_pic): New.
3954 (enum elf32_arm_stub_type, arm_type_of_stub)
3955 (arm_size_one_stub): Handle any to ARM PIC and any to Thumb PIC
3956 separately.
3957
07d72278
DJ
39582009-02-24 Joseph Myers <joseph@codesourcery.com>
3959
3960 * elf32-arm.c (PREV_SEC): Update comment.
3961 (group_sections): Rename argument to stubs_always_after_branch.
3962 Reverse the list and place stubs at the end of input sections.
3963 Undefine NEXT_SEC.
3964 (elf32_arm_size_stubs): Update to use stubs_always_after_branch.
3965
4e31c731
DJ
39662009-02-23 Daniel Jacobowitz <dan@codesourcery.com>
3967
3968 * elf32-arm.c (arm_build_one_stub): Initialize stub_reloc_offset.
3969 Fix formatting.
3970 (arm_size_one_stub): Remove unnecessary break.
3971 (arm_map_one_stub): Fix formatting. Return after BFD_FAIL.
3972
39732009-02-23 Christophe Lyon <christophe.lyon@st.com>
461a49ca
DJ
3974
3975 * elf32-arm.c (stub_insn_type): New type.
3976 (stub_reloc_type): Likewise.
3977 (insn_sequence): Likewise.
3978 (elf32_arm_stub_long_branch_any_any): Encode using insn_sequence.
3979 (elf32_arm_stub_long_branch_v4t_arm_thumb): Likewise.
3980 (elf32_arm_stub_long_branch_thumb_only): Likewise.
3981 (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
3982 (elf32_arm_stub_short_branch_v4t_thumb_arm): Likewise.
3983 (elf32_arm_stub_long_branch_any_any_pic): Likewise.
3984 (elf32_arm_stub_hash_entry): Add new helper fields.
3985 (stub_hash_newfunc): Initialize these new fields.
3986 (arm_build_one_stub): Encode Arm and Thumb instructions separately
3987 to take endianness into account.
3988 (arm_size_one_stub): Compute size of stubs using insn_sequence.
3989 (arm_map_one_stub): Code is now more generic, thanks to
3990 insn_sequence.
3991
c2b4a39d
CL
39922009-02-23 Christophe Lyon <christophe.lyon@st.com>
3993
3994 * elf32-arm.c (elf32_arm_stub_long_branch_thumb_only): Fix stub
3995 code.
3996 (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
3997 (arm_type_of_stub): Use Thumb-only long branch stub (non-PIC) when
3998 BLX is not available. Fix typo in warning message. Add comments
3999 and improve formatting.
4000 (arm_build_one_stub): Adjust to new
4001 elf32_arm_stub_long_branch_v4t_thumb_arm stub.
4002 (arm_map_one_stub): Likewise.
4003
0c376465 40042009-02-23 Tristan Gingold <gingold@adacore.com>
a60a89d6
TG
4005 Eric Botcazou <ebotcazou@adacore.com>
4006 Douglas B Rupp <rupp@gnat.com>
0c376465
TG
4007
4008 * vms.h: Update copyright year, fix comments, reorder declarations.
4009 (_bfd_save_vms_section): Remove the prototype.
4010 (EGPS_S_V_NO_SHIFT): New constant.
4011 (bfd_vms_set_section_flags): New prototype.
4012 (EGPS_S_B_ALIGN, EGPS_S_W_FLAGS, EGPS_S_L_ALLOC, EGPS_S_B_NAMLNG): New
4013 constants.
4014 (EGSY_S_W_FLAGS): Ditto.
4015 (EGSY_S_V_QUAD_VAL): Ditto.
4016 (ESDF_S_L_VALUE, ESDF_S_L_PSINDX, ESDF_S_B_NAMLNG): Ditto.
4017 (EGST_S_W_FLAGS, EGST_S_Q_LP_1, EGST_S_Q_LP_2, EGST_S_L_PSINDX,
4018 EGST_S_B_NAMLNG): Ditto.
4019 (ESRF_S_B_NAMLNG): Ditto.
4020 (ETIR_S_C_HEADER_SIZE): Ditto.
4021 (EGPS_S_V_ALLOC_64BIT): Ditto.
4022 (DST_S_C_EPILOG): Ditto.
4023 (DST_S_C_SRC_SETLNUM_L, DST_S_C_SRC_SETLNUM_W) : Ditto.
4024 (DST_S_C_SRC_INCRLNUM_B): Ditto.
4025 (DST_S_B_PCLINE_UNSBYTE, DST_S_W_PCLINE_UNSWORD): Ditto.
4026 (DST_S_L_PCLINE_UNSLONG): Ditto.
4027 (DST_S_B_MODBEG_NAME, DST_S_L_RTNBEG_ADDRESS) : Ditto
4028 (DST_S_B_RTNBEG_NAME, DST_S_L_RTNEND_SIZE): Ditto
4029 (DST_S_C_SOURCE_HEADER_SIZE): Ditto.
4030 (DST_S_B_SRC_DF_LENGTH, DST_S_W_SRC_DF_FILEID): Ditto.
4031 (DST_S_B_SRC_DF_FILENAME, DST_S_B_SRC_UNSBYTE): Ditto.
4032 (DST_S_B_SRC_UNSBYTE): Ditto.
4033 (DST_S_W_SRC_UNSWORD, DST_S_L_SRC_UNSLONG): Ditto.
4034 Add prototypes.
4035 (vms_section, vms_reloc): Remove types.
4036 (hdr_struc): Replaced by ...
4037 (hdr_struct): ... new type.
4038 (EMH_S_W_HDRTYP, EMH_S_B_STRLVL, EMH_S_L_ARCH1): New constants.
4039 (EMH_S_L_ARCH2, EMH_S_L_RECSIZ, EMH_S_B_NAMLNG): Ditto.
4040 (EMH_DATE_LENGTH): Ditto.
4041 (eom_struc): Replaced by ...
4042 (eom_struct): ... new type.
4043 (EEOM_S_L_TOTAL_LPS, EEOM_S_W_COMCOD, EEOM_S_B_TFRFLG): New constants.
4044 (EEOM_S_L_PSINDX, EEOM_S_L_TFRADR): Ditto.
4045 (EIHD_S_K_MAJORID, EIHD_S_K_MINORID, EIHD_S_K_EXE): Ditto.
4046 (EIHD_S_L_SIZE, EIHD_S_L_ISDOFF, EIHD_S_L_SYMDBGOFF): Ditto.
4047 (EIHD_S_Q_SYMVVA, EIHD_S_L_IMGTYPE): Ditto.
4048 (EISD_S_L_EISDSIZE, EISD_S_L_SECSIZE, EISD_S_Q_VIR_ADDR): Ditto.
4049 (EISD_S_L_FLAGS, EISD_S_L_VBN, EISD_S_R_CONTROL): Ditto.
4050 (EISD_S_L_IDENT, EISD_S_T_GBLNAM): Ditto.
4051 (EISD_S_M_GBL, EISD_S_M_CRF, EISD_S_M_DZRO, EISD_S_M_WRT): Ditto.
4052 (EISD_S_M_INITALCODE, EISD_S_M_BASED, EISD_S_M_FIXUPVEC): Ditto.
4053 (EISD_S_M_RESIDENT, EISD_S_M_VECTOR, EISD_S_M_PROTECT): Ditto.
4054 (EISD_S_M_LASTCLU, EISD_S_M_EXE, EISD_S_M_NONSHRADR): Ditto.
4055 (EISD_S_M_QUAD_LENGTH, EISD_S_M_ALLOC_64BIT): Ditto.
4056 (EIHS_S_L_DSTVBN, EIHS_S_L_DSTSIZE, EIHS_S_L_GSTVBN): Ditto.
4057 (EIHS_S_L_GSTSIZE, EIHS_S_L_DMTVBN, EIHS_S_L_DMTBYTES): Ditto.
4058 (DBG_S_L_DMT_MODBEG, DBG_S_L_DST_SIZE): Ditto.
4059 (DBG_S_W_DMT_PSECT_COUNT, DBG_S_C_DMT_HEADER_SIZE): Ditto.
4060 (DBG_S_L_DMT_PSECT_START, DBG_S_L_DMT_PSECT_LENGTH)
4061 (DBG_S_C_DMT_PSECT_SIZE): Ditto.
4062 (enum file_type_enum): New type.
4063 (struct location_struct): Removed.
4064 (struct fileinfo, struct srecinfo, struct lineinfo): New types.
4065 (struct funcinfo, struct module): Ditto.
4066 (struct vms_private_data_struct): Update fields.
4067 (struct vms_section_data_struct): New type.
4068
4069 * vms.c: Update copyright year, fix comments,
4070 Fix includes for DECC, add prototypes.
4071 (vms_initialize): Use bfd_alloc instead of bfd_zalloc and remove
4072 some initializers.
4073 Use flavour to set is_vax, location_stack is removed.
4074 (struct pair): Declare.
4075 (fill_section_ptr): Initialize variables at declaration.
4076 Add guard to set SECTION_SYM flag, handlde und section.
4077 (vms_fixup_sections): Use struct pair for fill_section_ptr argument.
4078 (_bfd_vms_slurp_object_records): New function, replaces previous
4079 vms_object_p.
4080 (vms_slurp_module): New function.
4081 (vms_slurp_image): Ditto.
4082 (vms_object_p): Complete rewrite.
4083 (vms_mkobject): Use is_vax field to slect architecture.
4084 (free_reloc_stream): New function.
4085 (vms_convert_to_var): Ditto.
4086 (vms_convert_to_var_1): Ditto.
4087 (vms_convert_to_var_unix_filename): Ditto.
4088 (vms_close_and_cleanup): Call free_reloc_stream, convert file to
4089 VAR format on VMS.
4090 (vms_new_section_hook): Set alignment to 0, allocate private data.
4091 (vms_get_section_contents): Load content.
4092 (vms_get_symbol_info): Handle undefined section.
4093 (vms_find_nearest_line): Handle.
4094 (alloc_reloc_stream): New function.
4095 (vms_slurp_reloc_table): Ditto.
4096 (vms_get_reloc_upper_bound): Make it real.
4097 (vms_canonicalize_reloc): Do the real work.
4098 (alpha_howto_table): Add ALPHA_R_NOP, ALPHA_R_BSR, ALPHA_R_LDA,
4099 ALPHA_R_BOH.
4100 (vms_bfd_reloc_type_lookup): Handle NOP, BSR, LDA and BOH.
4101 (vms_set_arch_mach): Check arch.
4102 (vms_set_section_contents): Copy the content after allocation.
4103 (vms_alpha_vec): Update object flags.
4104
4105 * vms-tir.c: Update copyright year, fix comments,
4106 add prototypes for new functions.
4107 (dst_define_location): New function.
4108 (dst_restore_location): New function.
4109 (dst_retrieve_location): New function.
4110 (dst_check_allocation): New function.
4111 (image_dump): Call dst_check_allocation.
4112 (image_write_b): Ditto.
4113 (image_write_w): Ditto.
4114 (image_write_l): Ditto.
4115 (image_write_q): Ditto.
4116 (cmd_name): Handle STA_LW, STA_QW, STO_OFF, STO_IMM, STO_IMMR, STO_LW,
4117 STO_QW, OPR_ADD, CTL_SETRB, STC_LP_PSB, CTL_DFLOC, CTL_STLOC,
4118 CTL_STKDL.
4119 Call error handler instead of abort if name is not known.
4120 (etir_sta): Add quarter_relocs argument and set it.
4121 Fix cast.
4122 (etir_sto): Ditto.
4123 (etir_opr): Ditto, return FALSE in case of error.
4124 (etir_ctl): Add quarter_relocs argument and set it, fix cast.
4125 Fix CTL_DFLOC, CTL_STLOC, CTL_STKDL.
4126 (etir_stc): Add quarter_relocs argument and set it, fix cast.
4127 Fix STC_LP, STC_LP_PSB, STC_GBL and STC_CGA.
4128 Handle STC_LP_PSB, STC_BSR_GBL, STC_LDA_GBL, STC_BOH_GBL.
4129 Move STC_NOP_PS, STC_BSR_PS, STC_LDA_PS, STC_BOH_PS, STC_NBH_PS.
4130 Return FALSE in case of error.
4131 (tir_sta): Change sign of psect.
4132 (tir_ctl): Ditto.
4133 (tir_cmd): Fix cast. Makes tir_table static const.
4134 (etir_cmd): Add quarter_relocs argument, makes etir_table const,
4135 add argument to explain.
4136 (analyze_etir): Initialize maxptr, add quarter_relocs
4137 declaration, move some declarations into inner scopes.
4138 Handle quarter_relocs and STO_IMM.
4139 (_bfd_vms_slurp_tir): Use constant instead of hard-coded values.
4140 (_bfd_vms_slurp_relocs): New function.
4141 (_bfd_vms_decode_relocs): New function.
4142 (sto_imm): Rewritten.
4143 (start_first_etbt_record): New function.
4144 (start_another_etbt_record): Ditto.
4145 (etir_output_check): Ditto.
4146 (defer_reloc_p): Ditto.
4147 (_bfd_vms_write_tir): Remove nextoffset, convert a while-loop to
4148 a for-loop. Correctly deals with contents, deals with .vmsdebug,
4149 rewritte relocations handling.
4150 (_bfd_vms_write_tbt): Removed.
4151 (_bfd_vms_write_dbg): Ditto.
4152
4153 * vms-misc.c: Update copyright year, Fix comments.
4154 (_bfd_vms_get_header_values): Use 'size' instead of 'length'.
4155 (maybe_adjust_record_pointer_for_object): New function.
4156 (_bfd_vms_get_first_record): New function, replaces ...
4157 (_bfd_vms_get_record): .. removed.
4158 (_bfd_vms_get_object_record): New function.
4159 (_bfd_vms_get_object_record): New function.
4160 (vms_get_remaining_object_record): New function, replaces ...
4161 (_bfd_vms_get_next_record): ... removed.
4162 (add_new_contents): Removed.
4163 (_bfd_save_vms_section): Removed.
4164 (_bfd_get_vms_section): Removed.
4165 (_bfd_vms_output_flush): Write in VAR format.
4166 (new_symbol): Don't make UND section.
4167
4168 * vms-hdr.c: Update copyright year, update list of record handled.
4169 (_bfd_vms_slurp_hdr): rec_length renamed to rec_size.
4170 (_bfd_vms_write_hdr): Strip vms and unix patches,
4171 add comments, truncate module name at 31 characters,
4172 use constants instead of hard-coded value,
4173 write BFD version instead of a fixed string.
4174 (_bfd_vms_slurp_ihd): New function.
4175 (_bfd_vms_slurp_isd): Ditto.
4176 (_bfd_vms_slurp_ihs): Ditto.
4177 (new_module): Ditto.
4178 (parse_module): Ditto
4179 (build_module_list): Ditto.
4180 (module_find_nearest_line): Ditto.
4181 (_bfd_vms_find_nearest_dst_line): Ditto.
4182 (vms_slurp_debug): Ditto.
4183 (_bfd_vms_slurp_dbg): Ditto.
4184 (_bfd_vms_slurp_tbt): Ditto.
4185 (_bfd_vms_write_dbg): Ditto.
4186 (_bfd_vms_write_tbt): Ditto.
4187
4188 * vms-gsd.c: Update copyright year, update list of records handled.
4189 (EVAX_LITERALS_NAME): New macro.
4190 (evax_section_flags): Add an entry for EVAX_LITERALS_NAME.
4191 (gpsflagdesc, gsyflagdesc): Moved out of _bfd_vms_slurp_gsd.
4192 (register_universal_symbol): New function and prototype.
4193 (_bfd_vms_slurp_gsd): Fix indentations and casts,
4194 improve debug messages,
4195 use constants instead of hard-coded value,
4196 fix missing endianness conversion,
4197 handle global symbol (SYMG).
4198 (bfd_vms_set_section_flags): New function.
4199 (_bfd_vms_write_gsd): Don't write .vmsdebug section,
4200 handle section literals,
4201 fix indentation,
4202 handle section bfd and vms flags,
4203 don't output LIB$INITIALIZE symbol,
4204 fix handling of weak symbols,
4205 fix evax vs vax procedure descriptor,
4206 handle absolute symbols.
4207
4208 * reloc.c (BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_BSR,
4209 BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BOH): New relocations.
4210
4211 * makefile.vms (DEFS): Fix flags for VMS.
4212
4213 * bfdio.c (real_fopen): Handle multiple VMS fopen attributes.
4214
4215 * bfd-in2.h: Regenerated.
4216 * libbfd.h: Regenerated.
4217
47149254
CC
42182009-02-20 Cary Coutant <ccoutant@google.com>
4219
4220 * vmsutil.c (vms_file_stats_name): Fix incorrect use of st_mtime
4221 in struct stat.
4222
6b1cecf3
DK
42232009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>
4224
4225 PR gas/7059
4226 * coffcode.h (coff_write_object_contents): Don't let the string
4227 table offset overflow the s_name field when using long section names.
4228
88183869
DK
42292009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>
4230
4231 * coff-alpha.c (alpha_ecoff_backend_data): Initialise fields which
4232 control long section name handling with ECOFF_NO_LONG_SECTION_NAMES.
4233 * coff-mips.c (mips_ecoff_backend_data): Likewise.
4234 * coff-rs6000.c (bfd_xcoff_backend_data): Initialise fields which
4235 control long section name handling with XCOFF_NO_LONG_SECTION_NAMES.
4236 (bfd_pmac_xcoff_backend_data): Likewise.
4237 * coff64-rs6000.c (bfd_xcoff_backend_data): Likewise.
4238 (bfd_xcoff_aix5_backend_data): Likewise.
4239 (xcoff64_write_object_contents): Delete unused long_section_names
4240 local variable.
4241 * coff-sh.c (bfd_coff_small_swap_table): Initialise long section
4242 name members using COFF_DEFAULT_LONG_SECTION_NAMES and make entire
4243 struct non-const.
4244 * coffcode.h (documentation): Update to describe long section names.
4245 (COFFLONGSECTIONCATHELPER): New helper macro.
4246 (BLANKOR1TOODD): Likewise.
4247 (COFF_ENABLE_LONG_SECTION_NAMES): Likewise.
4248 (COFF_LONG_SECTION_NAMES_SETTER): Likewise.
4249 (COFF_DEFAULT_LONG_SECTION_NAMES): Likewise.
4250 (bfd_coff_set_long_section_names_allowed): New function.
4251 (bfd_coff_set_long_section_names_disallowed): Likewise.
4252 (struct bfd_coff_backend_data): Add new backend hook function
4253 pointer _bfd_coff_set_long_section_names.
4254 (bfd_coff_set_long_section_names): New backend hook.
4255 (coff_write_object_contents): Only generate long section names if
4256 bfd_coff_long_section_names() indicates they are currently enabled.
4257 (bfd_coff_std_swap_table): Make non-const, and initialise long
4258 section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
4259 (ticoff0_swap_table): Likewise to both.
4260 (ticoff1_swap_table): Again, likewise to both.
4261 * coffgen.c (make_a_section_from_file): Allow long section names
4262 as inputs even if not currently allowed for outputs.
4263 * ecoff.c (_bfd_ecoff_no_long_sections): New function.
4264 * efi-app-ia32.c (COFF_LONG_SECTION_NAMES): Define to 0, not blank.
4265 * efi-app-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
4266 * efi-app-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
4267 * efi-bsdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
4268 * efi-bsdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
4269 * efi-bsdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
4270 * efi-rtdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
4271 * efi-rtdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
4272 * efi-rtdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
4273 * pei-arm.c (COFF_LONG_SECTION_NAMES): Likewise.
4274 * pei-i386.c (COFF_LONG_SECTION_NAMES): Likewise.
4275 * pei-mcore.c (COFF_LONG_SECTION_NAMES): Likewise.
4276 * pei-mips.c (COFF_LONG_SECTION_NAMES): Likewise.
4277 * pei-ppc.c (COFF_LONG_SECTION_NAMES): Likewise.
4278 * pei-sh.c (COFF_LONG_SECTION_NAMES): Likewise.
4279 * pei-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
4280 * libcoff-in.h: Update copyright year to cause updated copyright
4281 year in generated libcoff.h, and fix typo.
4282 * libcoff.h: Regenerated.
4283 * libecoff.h (ECOFF_NO_LONG_SECTION_NAMES): New macro.
4284 (_bfd_ecoff_no_long_sections): Add prototype.
4285 * libxcoff.h (XCOFF_NO_LONG_SECTION_NAMES): New macro.
4286 * pe-mips.c (COFF_LONG_SECTION_NAMES): Define empty if not already
4287 defined by an including .c file.
4288 * ticoff.h (ticoff0_swap_table): Make non-const, and initialise
4289 long section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
4290 (ticoff1_swap_table): Likewise to both.
4291
90d8a22c
CL
42922009-02-18 Christophe Lyon <christophe.lyon@st.com>
4293
4294 * elf32-arm.c (arm_build_one_stub): Fix relocation target for pic
4295 stub. Catch default case error.
4296 (arm_map_one_stub): Add missing Thumb mapping symbol.
4297
12123067
NC
42982009-02-18 Bjoern Haase <bjoern.m.haase@web.de>
4299
4300 PR 9841
4301 * elf32-avr.c: Handle case where no local symbos exist correctly.
4302
fea2b4d6
CL
43032009-02-16 Christophe Lyon <christophe.lyon@st.com>
4304
4305 bfd/
4306 * elf32-arm.c (arm_long_branch_stub,
4307 arm_thumb_v4t_long_branch_stub,
4308 arm_thumb_thumb_long_branch_stub,
4309 arm_thumb_arm_v4t_long_branch_stub,
4310 arm_thumb_arm_v4t_short_branch_stub,
4311 arm_pic_long_branch_stub):
4312 Renamed to elf32_arm_stub_long_branch_any_any,
4313 elf32_arm_stub_long_branch_v4t_arm_thumb,
4314 elf32_arm_stub_long_branch_thumb_only,
4315 elf32_arm_stub_long_branch_v4t_thumb_arm,
4316 elf32_arm_stub_short_branch_v4t_thumb_arm,
4317 elf32_arm_stub_long_branch_any_any_pic.
4318 (arm_stub_long_branch, arm_thumb_v4t_stub_long_branch,
4319 arm_thumb_thumb_stub_long_branch,
4320 arm_thumb_arm_v4t_stub_long_branch,
4321 arm_thumb_arm_v4t_stub_short_branch, arm_stub_pic_long_branch):
4322 Renamed to arm_stub_long_branch_any_any,
4323 arm_stub_long_branch_v4t_arm_thumb,
4324 arm_stub_long_branch_thumb_only,
4325 arm_stub_long_branch_v4t_thumb_arm,
4326 arm_stub_short_branch_v4t_thumb_arm,
4327 arm_stub_long_branch_any_any_pic.
4328
13e0a874
DA
43292009-02-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4330
4331 * elf-hppa.h (elf_hppa_final_link_relocate): Correct addend value used
4332 in branch offset check.
4333
3a71aa26
AM
43342009-02-15 Alan Modra <amodra@bigpond.net.au>
4335
4336 * elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,
4337 add toc.symndx and toc.add.
4338 (ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.
4339 Set up toc.add.
4340 (get_tls_mask): Add toc_addend param, set from toc.add. Adjust all
4341 callers.
4342 (ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.
4343 (branch_reloc_hash_match): New function, extracted from..
4344 (ppc64_elf_tls_optimize): ..here.
4345 (ppc64_elf_relocate_section): Properly set addends when optimizing
4346 tls sequences. Avoid unnecessary reading and writing of insns.
4347 Only redo reloc when symbol changed. Bypass symbol checks when
4348 using tlsld_got.
4349 * elf32-ppc.c (ppc_elf_tls_setup): Correct comment.
4350 (branch_reloc_hash_match): New function, extracted from..
4351 (ppc_elf_tls_optimize): ..here.
4352 (ppc_elf_relocate_section): Avoid unnecessary reading of insns.
4353 Don't clear addend on zapped __tls_get_addr reloc.
4354
2c2b4ed4
NC
43552009-02-12 Nick Clifton <nickc@redhat.com>
4356
4357 PR 9827
4358 * elflink.c (bfd_elf_final_link): When counting the relocations,
4359 if the header size has not been set yet then assume that it will
4360 match the output section's reloc type.
4361
453f5985
NS
43622009-02-12 Nathan Sidwell <nathan@codesourcery.com>
4363
4364 * elf32-mips.c (mips_elf_final_gp): Don't add 0x4000 offset for
4365 relocatable link.
4366
3209bffa
AM
43672009-02-09 Alan Modra <amodra@bigpond.net.au>
4368
4369 * elf32-spu.c (spu_elf_find_overlays): Call bfd_set_error on errors.
4370 (find_function): Likewise.
4371 (pasted_function): Don't error if no prior function found.
4372 (discover_functions): Revert 2008-12-10 change. Extend first
4373 function range to start of section.
4374
813c8a3c
DA
43752009-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4376
4377 * elf64-hppa.c: Remove PARAMS macro. Replace PTR with void *. Convert
4378 functions to C90.
4379 * elf64-hppa.h: Likewise.
4380
2d0f9ad9
JM
43812009-02-06 Joseph Myers <joseph@codesourcery.com>
4382
4383 * elfxx-mips.c (_bfd_mips_elf_section_processing): Remove special
4384 .sbss handling.
4385
50e00962
AM
43862009-02-04 Alan Modra <amodra@bigpond.net.au>
4387
4388 * elf32-spu.c (spu_elf_build_stubs): Define __icache_neg_log2_linesize.
4389 Define __icache_ptr_handler*, not __icache_ptr___icache_bi_handler*.
4390
52b6b6b9
JM
43912009-02-03 Sandip Matte <sandip@rmicorp.com>
4392
4393 * aoutx.h (NAME (aout, machine_type)): Handle bfd_mach_mips_xlr.
4394 * archures.c (bfd_mach_mips_xlr): Define.
4395 * bfd-in2.h: Regenerate.
4396 * cpu-mips.c (I_xlr): Define.
4397 (arch_info_struct): Add XLR entry.
4398 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_XLR.
4399 (mips_set_isa_flags): Handle bfd_mach_mips_xlr
4400 (mips_mach_extensions): Add XLR entry.
4401
654c3c9f
EW
44022009-02-03 Eric B. Weddington <eric.weddington@atmel.com>
4403
4404 * elf32-avr.c (avr_final_link_relocate): Allow avr25 to wraparound.
4405
31dd3154
JM
44062009-02-03 Carlos O'Donell <carlos@codesourcery.com>
4407
4408 * configure.in: AC_SUBST pdfdir.
d1fa68d3 4409 * Makefile.am: Add install-pdf, install-pdf-am
31dd3154
JM
4410 and install-pdf-recursive targets. Define pdfdir.
4411 * doc/Makefile.am: Define pdf__strip_dir. Add
4412 install-pdf and install-pdf-am targets.
d1fa68d3 4413 * po/Make-in: Add install-pdf target.
31dd3154
JM
4414 * configure: Regenerate.
4415 * Makefile.in: Regenerate
4416 * doc/Makefile.in: Regenerate.
4417
cf869cce
NC
44182009-02-03 Maxim Kuvyrkov <maxim@codesourcery.com>
4419
4420 * bfd-in2.h: Regenerate.
4421 * elf32-m68k.c: Handle 2-slot GOT entries. Rename variables and
4422 fields from n_entries to n_slots where appropriate, update comments.
4423 (HOWTO): Add TLS relocations.
4424 (reloc_map): Map BFD_RELOC_68K_TLS_* to R_68K_TLS_*.
4425 (enum elf_m68k_got_offset_size): New enum.
4426 (struct elf_m68k_got_entry.type): Move field to ...
4427 (struct elf_m68k_got_entry_key): ... here. Update all uses.
4428 (elf_m68k_reloc_got_type, elf_m68k_reloc_got_offset_size): New static
4429 functions.
4430 (elf_m68k_reloc_got_n_entries, elf_m68k_reloc_tls_p): New static
4431 functions.
4432 (struct elf_m68k_got): merge rel_8o_n_entries and rel_8o_16o_n_entries
4433 fields into n_entries array. Update comments.
4434 (elf_m68k_init_got): Simplify, update all uses.
4435 (elf_m68k_init_got_entry_key): Handle R_68K_TLS_LDM32 reloc, update.
4436 (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT): Adjust to handle 2-slot
4437 GOT entries; update name, update all uses.
4438 (ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): Ditto.
4439 (elf_m68k_get_got_entry): Update.
4440 (elf_m68k_update_got_entry_type): Rewrite to handle TLS GOT entries,
4441 simplify.
4442 (elf_m68k_remove_got_entry_type): Simplify.
4443 (elf_m68k_add_entry_to_got, elf_m68k_can_merge_gots_1): Update.
4444 (elf_m68k_can_merge_gots): Update.
4445 (elf_m68k_merge_gots_1, elf_m68k_merge_gots): Update.
4446 (struct elf_m68k_finalize_got_offsets_arg): Rewrite to handle 2-slot
4447 GOT entries, simplify.
4448 (elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Same.
4449 (struct elf_m68k_partition_multi_got_arg): Add slots_relas_diff
4450 field, remove obsoleted local_n_entries field.
4451 (elf_m68k_partition_multi_got_2): New static function.
4452 (elf_m68k_partition_multi_got_1, elf_m68k_partition_multi_got): Use it;
4453 update.
4454 (elf_m68k_remove_got_entry_type): Update.
4455 (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
d1fa68d3 4456 (elf_m68k_check_relocs): Handle TLS relocations. Remove unnecessary
cf869cce
NC
4457 update of sgot->size and srelgot->size.
4458 (elf_m68k_gc_sweep_hook): Update.
4459 (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
4460 (elf_m68k_relocate_section, elf_m68k_finish_dynamic_symbol): Handle
4461 TLS relocations.
4462 * reloc.c (BFD_RELOC_68K_TLS_*): Declare TLS relocations.
4463 * libbfd.h (bfd_reloc_code_real_names): Add BFD_RELOC_68K_TLS_*.
4464
c1a0a41f
DD
44652009-02-02 DJ Delorie <dj@redhat.com>
4466
4467 * elf32-mep.c (config_names): Regenerate configuration.
4468
72a80a16
AM
44692009-02-02 Alan Modra <amodra@bigpond.net.au>
4470
4471 * elf-bfd.h (bfd_elf_get_str_section): Don't declare.
4472 (bfd_elf_find_section, _sh_elf_set_mach_from_flags): Likewise.
4473 * elf.c (bfd_elf_get_str_section): Make static.
4474 (bfd_elf_find_section): Delete.
4475 * libbfd.h: Regenerate.
4476
273f4430
JK
44772009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
4478
4479 * elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
4480 (_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
4481
010e5ae2
AM
44822009-01-31 Alan Modra <amodra@bigpond.net.au>
4483
4484 * elflink.c (on_needed_list): New function.
4485 (elf_link_add_object_symbols): Link in --as-needed libs if they
4486 satisfy undefined symbols in other libs.
4487
33a7ffc2
JM
44882009-01-30 Julian Brown <julian@codesourcery.com>
4489
4490 * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Skip BFDs with
4491 EXEC_P or DYNAMIC flags, and skip sections which are being linked
4492 with --just-symbols (-R).
4493
13d72a14
AN
44942009-01-29 Adam Nemet <anemet@caviumnetworks.com>
4495
4496 * dwarf2.c (read_rangelist): Use read_address to read low_pc and
4497 high_pc in order to properly sign-extend VMAs.
4498
d334575b 44992009-01-29 Daniel Jacobowitz <dan@codesourcery.com>
d1fa68d3
AS
4500 Mark Shinwell <shinwell@codesourcery.com>
4501 Catherine Moore <clm@codesourcery.com>
d334575b
JM
4502
4503 * elf-attrs.c, elflink.c, elfxx-mips.c: Correct typos in comments.
4504
528aeb62
CM
45052009-01-28 Catherine Moore <clm@codesourcery.com>
4506
4507 * elf32-arm.c (elf32_arm_check_relocs): Set SEC_ALLOC and
4508 SEC_LOAD for dynamic relocation sections.
4509
f6f05983
HPN
45102009-01-27 Hans-Peter Nilsson <hp@axis.com>
4511
4512 * elf32-cris.c (cris_elf_relocate_section): Use elf_hash_table
4513 (info)->tls_size, not elf_hash_table (info)->tls_sec->size for
4514 the size of local TLS data.
4515
27cc28f9
AS
45162009-01-27 Andreas Schwab <schwab@suse.de>
4517
4518 * mach-o.c (bfd_mach_o_archive_p): Restrict the number of
4519 architectures in the archive.
4520
b3bf42d8
HPN
45212009-01-27 Hans-Peter Nilsson <hp@axis.com>
4522
f551b6f0
HPN
4523 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_DTPREL>
4524 <R_CRIS_32_DTPREL>: Correct relocation value.
4525
b3bf42d8
HPN
4526 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_8>
4527 <R_CRIS_16, R_CRIS_32>: Don't call BFD_ASSERT for weak undefined
4528 symbols with non-default visibility.
4529
9bc4e62b
NS
45302009-01-26 Nathan Sidwell <nathan@codesourcery.com>
4531
4532 * elf32-ppc.c (ppc_elf_relax_section): Add space for relocs
4533 describing the trampolines.
4534 (ppc_elf_relocate_section): Update relocs to describe the
4535 trampolines.
4536
aeaf6540
DA
45372009-01-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4538
4539 * elf-hppa.h (elf_hppa_final_link_relocate): Add check to ensure that
4540 branch targets can be reached for R_PARISC_PCREL22F, R_PARISC_PCREL17F
4541 and R_PARISC_PCREL12F relocations.
4542
1e8fa21e
AM
45432009-01-24 Alan Modra <amodra@bigpond.net.au>
4544
4545 PR 6022
4546 * elflink.c (find_version_for_sym): New function split out from,
4547 but without export_dynamic test, ..
4548 (_bfd_elf_link_assign_sym_version): ..here.
4549 (_bfd_elf_export_symbol): Use it.
4550
28caa186
AM
45512009-01-23 Alan Modra <amodra@bigpond.net.au>
4552
4553 * elf-bfd.h (struct elf_assign_sym_version_info): Delete.
4554 (struct elf_info_failed, struct elf_find_verdep_info): Move to..
4555 * elflink.c: ..here, somewhat modified.
4556 * elf-bfd.h (_bfd_elf_add_default_symbol, _bfd_elf_export_symbol,
4557 _bfd_elf_link_find_version_dependencies,
4558 _bfd_elf_link_assign_sym_version, _bfd_elf_link_size_reloc_section,
4559 _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
4560 _bfd_elf_link_sec_merge_syms, bfd_elf_link_mark_dynamic_symbol): Don't
4561 declare..
4562 * elflink.c: ..and make static here.
4563 (_bfd_elf_link_find_version_dependencies): Adjust for removal
4564 of output_bfd from struct elf_find_verdep_info.
4565 (_bfd_elf_link_assign_sym_version): Similarly adjust to use
4566 struct elf_info_failed.
4567 (bfd_elf_size_dynamic_sections): Adjust.
4568
be04437d
AM
45692009-01-22 Alan Modra <amodra@bigpond.net.au>
4570
4571 PR 6832
4572 * dwarf2.c (find_line): Don't update stash->sec_info_ptr until
4573 after comp_unit_find_line call.
4574
58f9615c
NC
45752009-01-21 Nick Clifton <nickc@redhat.com>
4576
4577 PR 9769
4578 * vmsutil.c (vms_file_stats_name): Remove use of unsupported
4579 tm_gmtoff field in struct tm.
4580
fb266b8b
AM
45812009-01-21 Alan Modra <amodra@bigpond.net.au>
4582
4583 * elf32-spu.h (struct spu_elf_params): Add non_ia_text.
4584 * elf32-spu.c (mark_overlay_section): Only include .text.ia.*
4585 sections in soft-icache lines unless non_ia_text. Don't add
4586 rodata if doing so would exceed line size.
4587
451ffe63
HPN
45882009-01-19 Hans-Peter Nilsson <hp@axis.com>
4589
4590 * elf32-cris.c (elf_cris_copy_indirect_symbol): For other symbol
4591 types than bfd_link_hash_indirect, before early return, call
4592 _bfd_elf_link_hash_copy_indirect.
4593
5aa6ff7c
AS
45942009-01-19 Andrew Stubbs <ams@codesourcery.com>
4595
4596 * elf-attrs.c (vendor_set_obj_attr_contents): Support tag ordering.
4597 * elf-bfd.h (elf_backend_data): Add obj_attrs_order.
4598 * elf32-arm.c (elf32_arm_obj_attrs_order): New function.
4599 (elf_backend_obj_attrs_order): New define.
4600 * elfxx-target.h (elf_backend_obj_attrs_order): New define.
4601 (elfNN_bed): Add elf_backend_obj_attrs_order.
4602
3483fe2e
AS
46032009-01-19 Andrew Stubbs <ams@codesourcery.com>
4604
4605 * elf-attrs.c (is_default_attr): Substitute magic numbers with macros.
4606 (obj_attr_size): Likewise.
4607 (write_obj_attribute): Likewise.
4608 (_bfd_elf_copy_obj_attributes): Likewise.
4609 (_bfd_elf_parse_attributes): Likewise.
4610 * elf-bfd.h (ATTR_TYPE_FLAG_INT_VAL): New define.
4611 (ATTR_TYPE_FLAG_STR_VAL, ATTR_TYPE_FLAG_NO_DEFAULT): New defines.
4612 (ATTR_TYPE_HAS_INT_VAL, ATTR_TYPE_HAS_STR_VAL): New defines.
4613 (ATTR_TYPE_HAS_NO_DEFAULT): New define.
4614 * elf32-arm.c (elf32_arm_obj_attrs_arg_type): Replace magic numbers
4615 with macros.
4616
2d0bb761
AS
46172009-01-19 Andrew Stubbs <ams@codesourcery.com>
4618
4619 * elf-attrs.c (is_default_attr): Support defaultless attributes.
4620 (bfd_elf_add_obj_attr_int): Get type from _bfd_elf_obj_attrs_arg_type.
4621 (bfd_elf_add_obj_attr_string): Likewise.
4622 (bfd_elf_add_obj_attr_int_string): Likewise.
4623 (_bfd_elf_parse_attributes): Allow for unknown flag bits in type.
4624 * elf-bfd.h (struct obj_attribute): Document new flag bit.
4625 * elf32-arm.c (elf32_arm_obj_attrs_arg_type): Specify that
4626 Tag_nodefaults has no default value.
4627 (elf32_arm_merge_eabi_attributes): Modify the Tag_nodefaults
4628 comment to reflect the new state.
4629
a77e83b7
AM
46302009-01-19 Alan Modra <amodra@bigpond.net.au>
4631
4632 PR 9695
4633 * pdp11.c (N_BADMAG): True for anything but OMAGIC, NMAGIC, ZMAGIC.
4634 (some_aout_object_p): Delete dead code handling QMAGIC and BMAGIC.
4635 (adjust_z_magix): Delete dead code handling QMAGIC.
4636
f6d29e26
KT
46372009-01-16 Kai Tietz <kai.tietz@onevision.com>
4638
4639 * coffcode.h (styp_to_sec_flags): Correct interpretation of
4640 IMAGE_SCN_MEM_DISCARDABLE.
4641
29670fb9
AM
46422009-01-16 Alan Modra <amodra@bigpond.net.au>
4643
4644 * Makefile.am (libbfd_la_LIBADD, libbfd_la_LDFLAGS): Substitute
4645 SHARED_LIBADD and SHARED_LDFLAGS rather than WIN32LIBADD, WIN32LDFLAGS.
4646 * configure.in (commonbfdlib): Delete.
4647 (SHARED_LDFLAGS): Rename from WIN32LDFLAGS/
4648 (SHARED_LIBADD): Rename from WIN32LIBADD. Add pic libiberty if such
4649 is available, not just for linux.
4650 * po/SRC-POTFILES.in: Regenerate.
4651 * Makefile.in: Regenerate.
4652 * configure: Regenerate.
4653
91e22acd
AS
46542009-01-15 Andrew Stubbs <ams@codesourcery.com>
4655 Julian Brown <julian@codesourcery.com>
4656
4657 * elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 71 to include all known
4658 ARM attributes in ABI 2.07.
4659 * elf32-arm.c (get_secondary_compatible_arch): New function.
4660 (set_secondary_compatible_arch): New function.
4661 (tag_cpu_arch_combine): New function.
4662 (elf32_arm_copy_one_eabi_other_attribute): Delete function.
4663 (elf32_arm_copy_eabi_other_attribute_list): Delete function.
4664 (elf32_arm_merge_eabi_attributes): Rename order_312 to order_021 to
4665 make it fit with order_01243.
4666 Add support for Tag_also_compatible_with,
4667 Tag_CPU_unaligned_access, Tag_T2EE_use, Tag_Virtualization_use,
4668 Tag_MPextension_use, Tag_nodefaults and Tag_conformance.
4669 Improve/tidy up support for Tag_CPU_raw_name, Tag_CPU_name,
4670 Tag_CPU_arch, Tag_ABI_HardFP_use, Tag_VFP_HP_extension,
4671 Tag_ABI_FP_denormal, Tag_ABI_PCS_GOT_use, Tag_ABI_align8_needed,
4672 Tag_VFP_arch and Tag_ABI_FP_16bit_format.
4673 Rework the way unknown attributes are handled.
4674 Defer errors until all attributes have been processed.
4675
7b86a9fa
AS
46762009-01-15 Andrew Stubbs <ams@codesourcery.com>
4677
4678 * elf-attrs.c (bfd_elf_add_obj_attr_compat): Rename to
4679 bfd_elf_add_obj_attr_int_string.
4680 Read Tag_compatibility from its new location in the attribute array,
4681 rather than the attribute list.
4682 (_bfd_elf_copy_obj_attributes): bfd_elf_add_obj_attr_compat ->
4683 bfd_elf_add_obj_attr_int_string.
4684 (_bfd_elf_parse_attributes): Likewise.
4685 (_bfd_elf_merge_object_attributes): There's now only one
4686 Tag_compatibility, and it's in the array, not the list.
4687 * elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 33 to include
4688 Tag_compatibility.
4689 (bfd_elf_add_obj_attr_compat): Rename to
4690 bfd_elf_add_obj_attr_int_string.
4691 (bfd_elf_add_proc_attr_compat): Rename to
4692 bfd_elf_add_proc_attr_int_string.
4693 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Explicitly don't handle
4694 Tag_compatibility.
4695
01e1a5bc
NC
46962009-01-15 Douglas B Rupp <rupp@gnat.com>
4697
4698 * Makefile.am (BFD32_BACKENDS): Add new object vmsutil.lo
4699 (BFD32_BACKENDS_CFILES): Add new file vmsutil.c
4700 (vmsutil.lo): Add dependency rule.
4701 * Makefile.in: Regenerate.
4702 * config.bfd (ia64*-*-*vms*): Add case.
4703 * configure.in (bfd_elf64_ia64_vms_vec): Add case.
4704 * configure: Regenerate.
4705 * vmsutil.c: New file.
4706 * vmsutil.h: New file.
4707 * elf-bfd.h (struct bfd_elf_special_section): Change type of
4708 attr to bfd_vma.
4709 * elfxx-ia64.c (elfNN_vms_post_process_headers,
4710 elfNN_vms_section_processing, elfNN_vms_final_write_processing,
4711 elfNN_vms_close_and_cleanup, elfNN_vms_section_from_shdr,
4712 elfNN_vms_object_p): New functions
4713 * targets.c (bfd_elf64_ia64_vms_vec): New target.
4714
a33dafc3
L
47152009-01-14 H.J. Lu <hongjiu.lu@intel.com>
4716
4717 PR ld/9727
4718 * elflink.c (elf_gc_sweep): Exclude the group section if the
4719 first member of the section group is excluded.
4720
13c0e967
AM
47212009-01-14 Alan Modra <amodra@bigpond.net.au>
4722
4723 PR 9735
4724 * syms.c (_bfd_stab_section_find_nearest_line): Don't free
4725 saved filename, use bfd_alloc rather than bfd_malloc for it.
4726
460e679b
AM
47272009-01-13 Alan Modra <amodra@bigpond.net.au>
4728
4729 * elf32-spu.c (spu_elf_build_stubs): Make __icache_base absolute.
4730
25076afa
AM
47312009-01-13 Alan Modra <amodra@bigpond.net.au>
4732
4733 * elf32-spu.c (remove_cycles): Always set call->max_depth.
4734
37107878
AM
47352009-01-12 Alan Modra <amodra@bigpond.net.au>
4736
4737 * elf32-spu.c (spu_elf_auto_overlay): Correct vma mask.
4738
cd4a7468
AM
47392009-01-12 Alan Modra <amodra@bigpond.net.au>
4740
4741 * elf32-spu.c (struct spu_link_hash_table): Add init, line_size_log2,
4742 num_lines_log2.
4743 (struct got_entry): Add br_addr.
4744 (struct call_info): Add priority.
4745 (struct function_info): Add lr_store and sp_adjust.
4746 (spu_elf_setup): Init line_size_log2 and num_lines_log2.
4747 (spu_elf_find_overlays): For soft-icache, mark any section within cache
4748 area as an overlay, and check that no other overlays exist. Look up
4749 icache overlay manager entry sym.
4750 (BRA_STUBS, BRA, BRASL): Define.
4751 (enum _stub_type): Replace ovl_stub with call_ovl_stub and br*_ovl_stub.
4752 (needs_ovl_stub): Adjust for soft-icache. Return priority encoded
4753 in branch insn.
4754 (count_stub, build_stub): Support soft-icache.
4755 (build_spuear_stubs, process_stubs): Adjust build_stub call.
4756 (spu_elf_size_stubs): Size soft-icache stubs.
4757 (overlay_index): New function.
4758 (spu_elf_build_stubs): Make static. Support soft-icache.
4759 (spu_elf_check_vma): Don't turn off auto_overlay if soft-icache.
4760 (find_function_stack_adjust): Save lr store and stack adjust insn
4761 offsets.
4762 (maybe_insert_function): Adjust find_function_stack_adjust call.
4763 (mark_functions_via_relocs): Retrieve priority.
4764 (remove_cycles): Only warn about pruned arcs when stack_analysis.
4765 (sort_calls): Sort by priority first.
4766 (mark_overlay_section): Ignore .ovl.init.
4767 (sum_stack): Only print when stack_analysis.
4768 (print_one_overlay_section): New function, extracted from..
4769 (spu_elf_auto_overlay): ..here. Support soft-icache overlays.
4770 (spu_elf_stack_analysis): Only print when htab->stack_analysis.
4771 (spu_elf_final_link): Call spu_elf_stack_analysis for lrlive
4772 analysis. Call spu_elf_build_stubs.
4773 (spu_elf_relocate_section): For soft-icache encode overlay index
4774 into addresses.
4775 (spu_elf_output_symbol_hook): Support soft-icache.
4776 (spu_elf_modify_program_headers: Likewise.
37107878 4777
cd4a7468
AM
4778 * elf32-spu.h (struct spu_elf_params): Add lrlive_analysis. Rename
4779 num_regions to num_lines. Add line_size and max_branch.
4780 (enum _ovly_flavour): Add ovly_soft_icache.
4781 (spu_elf_build_stubs): Delete.
4782
80c29487
JK
47832009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
4784
4785 * elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4
4786 relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
4787
1bc86aea
HPN
47882009-01-07 Hans-Peter Nilsson <hp@axis.com>
4789
4790 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
4791 <case R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: For a symbol defined in
4792 the program, the known offset starts at the negative size of the
4793 TLS section.
4794 <case R_CRIS_32_IE, R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>:
4795 Similar.
4796
3baa454d 47972009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
75606e85 4798
3baa454d 4799 * config.bfd: Add lm32-*-rtems*.
75606e85 4800
9dbe8890
L
48012009-01-03 H.J. Lu <hongjiu.lu@intel.com>
4802
4803 * coff-ppc.c: Add 2009 to Copyright.
4804 * elf32-cris.c: Likewise.
4805 * elflink.c: Likewise.
4806
0bdf8d40
HPN
48072009-01-03 Hans-Peter Nilsson <hp@axis.com>
4808
4809 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Rename
4810 gotplt_index to rela_plt_index. Adjust for R_CRIS_DTPMOD entry.
4811
54ac0771
L
48122009-01-02 H.J. Lu <hongjiu.lu@intel.com>
4813
4814 PR ld/9679
4815 * elflink.c (elf_merge_st_other): New.
4816 (_bfd_elf_merge_symbol): Use it on skipped weak definitions and
4817 hide them if needed.
4818 (elf_link_add_object_symbols): Updated.
4819
d8880531
L
48202009-01-02 H.J. Lu <hongjiu.lu@intel.com>
4821
4822 PR ld/9676
4823 * elflink.c (elf_link_add_object_symbols): Update def_dynamic,
4824 ref_dynamic and dynamic_def fields when setting def_regular
4825 to 1.
4826
b70b5c14
NC
48272009-01-02 Curtis Mackie <curtmackevo@gmail.com>
4828
4829 PR 9682
4830 * coff-ppc.c (dump_toc): Fix up calls to fprintf without a string
4831 literal.
4832
d8880531 4833For older changes see ChangeLog-2008
56882138
AM
4834\f
4835Local Variables:
4836mode: change-log
4837left-margin: 8
4838fill-column: 74
4839version-control: never
4840End:
This page took 0.728397 seconds and 4 git commands to generate.