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