* m68k-dis.c (print_insn_arg): Add movecr register names for
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
0666b2c3
AM
12009-08-26 Alan Modra <amodra@bigpond.net.au>
2
3 PR ld/10515
4 * linker.c (bfd_find_version_for_sym): Revert warning.
5
78a03297
AM
62009-08-26 Alan Modra <amodra@bigpond.net.au>
7
8 PR ld/10515
9 * linker.c (bfd_find_version_for_sym): Override a "*" match by any
10 other wildcard match. Warn on multiple wildcard matches.
11
81ecdfbb
RW
122009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13
14ec8efd
RW
14 * Makefile.am (libbfd_la_LDFLAGS): Initialize early, to allow
15 appending.
16 [INSTALL_LIBBFD] (bfdlib_LTLIBRARIES, bfdinclude_HEADERS): Set
17 only in this condition.
18 [!INSTALL_LIBBFD] (noinst_LTLIBRARIES, libbfd_la_LDFLAGS): New,
19 to build but not install libbfd.la in this condition.
20 (install-bfdlibLTLIBRARIES, uninstall-bfdlibLTLIBRARIES)
21 (install_libbfd, install_libbfd): Remove.
22 * Makefile.in: Regenerate.
23 * doc/Makefile.am (AM_CPPFLAGS): Renamed from ...
24 (INCLUDES): ... this.
25 ($(MKDOC)): Adjust.
26 * doc/Makefile.in: Regenerate.
27
95b40122
RW
28 * Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus, instead use
29 no-dist and foreign.
30 (EXTRA_libbfd_la_SOURCES): New, list $(CFILES) to allow
31 dependency tracking to work for them.
32 (targets.lo, archures.lo, dwarf.lo): Rewrite to
33 use automake dependency tracking mechanism.
34 (MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Remove.
35 (mkdep section): Remove.
36 (BUILT_SOURCES): New, list $(BUILD_HFILES).
37 * Makefile.in: Regenerate.
38 * po/SRC-POTFILES.in, po/bfd.pot: Regenerate.
39
af542c2e
RW
40 * Makefile.am (datarootdir, docdir, htmldor, pdfdir)
41 (install-pdf, install-pdf-recursive, install-html)
42 (install-html-recursive): Remove.
43 * Makefile.in: Regenerate.
44
81ecdfbb
RW
45 * Makefile.in: Regenerate.
46 * aclocal.m4: Likewise.
47 * config.in: Likewise.
48 * configure: Likewise.
49
cd1dac3d
DG
502009-08-21 Daniel Gutson <dgutson@codesourcery.com>
51
52 * elf32-arm.c (arch_has_thumb2_nop): New function.
53 (arch_has_arm_nop): New function.
54 (elf32_arm_final_link_relocate): NOP opcodes changed.
55
440ae135
DE
562009-08-16 Doug Evans <dje@google.com>
57
58 * opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec,
59 at least don't leak memory.
60
a109e2f5
DD
612009-08-13 DJ Delorie <dj@redhat.com>
62
63 * elf32-m32c.c (m32c_elf_relax_delete_bytes): Adjust symbol sizes
64 if needed.
65
c1742541
NC
662009-08-12 Nick Clifton <nickc@redhat.com>
67
68 * po/fi.po: Updated Finnish translation.
69
6a9adeca
BS
702009-08-11 Bernd Schmidt <bernd.schmidt@analog.com>
71
72 Merge some FRV FDPIC changes into the Blackfin code.
73 * elf32-bfin.c (struct bfinfdpic_elf_link_hash_table): Add pointer to
74 summary reloc information.
75 (bfinfdpic_dynamic_got_plt_info): New.
76 (_bfin_create_got_section): Create the PLT section here.
77 (elf32_bfinfdpic_create_dynamic_sections): Not here.
78 (_bfinfdpic_count_nontls_entries): Move out of...
79 (_bfinfdpic_count_got_plt_entries): ... here.
80 (_bfinfdpic_count_relocs_fixups): Likewise.
81 (_bfinfdpic_reset_got_plt_entries): New.
82 (_bfinfdpic_size_got_plt): Move out of...
83 (elf32_bfinfdpic_size_dynamic_sections): ... here.
84 (bfinfdpic_relocate_section): Be careful not to call
85 _bfinfdpic_add_rofixup or _bfinfdpic_add_dyn_reloc for deleted relocs.
86 (bfinfdpic_check_discarded_relocs, bfinfdpic_elf_discard_info):
87 New functions.
88 (elf_backend_discard_info): Define for FD-PIC.
89
5dabe785
AM
902009-08-11 Alan Modra <amodra@bigpond.net.au>
91
92 * elflink.c: Add FIXMEs for some places that require octets_per_byte
93 adjustments.
94 * elf-eh-frame.c: Likewise.
95 * merge.c: Likewise.
96
ea7a63de
AM
972009-08-11 Alan Modra <amodra@bigpond.net.au>
98
99 * configure.in: Remove elf-ifunc.lo from common ELF files. Add
100 to x86 and x86_64 configurations.
101 * configure: Regenerate.
102
9bf609ec
JK
1032009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>
104
105 Stop using bfd_usrdata in libbfd.
106 * coff-stgo32.c (bfd_coff_go32stub): Remove.
107 (stub_bytes, comment): Replace STUBSIZE by GO32_STUBSIZE.
108 (adjust_filehdr_in_post): Declare the abfd parameter as unused.
109 Replace STUBSIZE by GO32_STUBSIZE. Save now the stub in
110 filehdr_dst->u.go32.stub. New comment with the reason.
111 (adjust_filehdr_out_pre): Replace STUBSIZE by GO32_STUBSIZE.
112 Substitute the removed macro bfd_coff_go32stub.
113 (adjust_filehdr_out_post, adjust_scnhdr_in_post, adjust_scnhdr_out_pre)
114 (adjust_scnhdr_out_post, adjust_aux_in_post, adjust_aux_out_pre)
115 (adjust_aux_out_post): Replace STUBSIZE by GO32_STUBSIZE.
116 (create_go32_stub, go32_stubbed_coff_bfd_copy_private_bfd_data):
117 Replace STUBSIZE by GO32_STUBSIZE. Substitute the removed macro
118 bfd_coff_go32stub.
119 * coffcode.h (coff_mkobject_hook): Initialize coff->go32stub.
120 * libcoff-in.h (coff_data_type): New field go32stub.
121 * libcoff.h: Regenerated.
122
e39e47bd
JK
1232009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>
124
125 Fix go32 stub preservation by objcopy.
126 * coff-stgo32.c (adjust_filehdr_in_post): Use bfd_malloc.
127 (go32_stubbed_coff_bfd_copy_private_bfd_data): Optionally allocate OBFD
128 go32stub.
129
ffcb4889
NS
1302009-08-10 Nathan Sidwell <nathan@codesourcery.com>
131
132 * elf32-arm.c (elf32_arm_size_stubs): Don't die on undefined local
133 symbols.
134 (elf32_arm_final_link_relocate): Treat local undefined symbols the
135 same as global undefined symbols.
136 (elf32_arm_relocate_section): Give an error for local undefined
137 non-weak symbols, unless the reloc will not use the symbol.
138
01017ef8
NS
1392009-08-10 Nathan Sidwell <nathan@codesourcery.com>
140
141 * elf32-ppc.c (shared_stub_entry, stub_entry): Use r12, not r11.
142 (ppc_elf_relax_section): Use symbol index to distinguish
143 relocatable stubs.
144
a8ad78a7
AM
1452009-08-10 Alan Modra <amodra@bigpond.net.au>
146
147 * elf32-ppc.c (ppc_elf_relax_section): Ignore non-code sections.
148
91e21fb7
AM
1492009-08-10 Alan Modra <amodra@bigpond.net.au>
150
151 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Don't clear plt
152 info for STT_GNU_IFUNC.
153 * elf32-ppc.c (ppc_elf_check_relocs): Count a needed plt entry
154 on got refs in case the symbol turns out to be ifunc.
155 (ppc_elf_gc_sweep_hook): Similarly.
156 (ppc_elf_adjust_dynamic_symbol): Adjust assertion.
157 (allocate_dynrelocs): Don't specially allocate got relocs for ifunc.
158 (ppc_elf_size_dynamic_sections): Likewise.
159 (ppc_elf_relocate_section): Likewise.
160
6a9adeca 1612009-08-09 Bernd Schmidt <bernd.schmidt@analog.com>
cb88ce9f
BS
162
163 From Mike Frysinger <michael.frysinger@analog.com>
164 * elf32-bfin.c (bfin_howto_table, bfin_reloc_map, bfin_check_relocs,
165 bfin_final_link_relocate, bfin_relocate_section, bfin_gc_sweep_hook,
166 _bfinfdpic_emit_got_relocs_plt_entries, bfinfdpic_relocate_section,
167 bfinfdpic_gc_sweep_hook, bfinfdpic_check_relocs,
168 bfin_finish_dynamic_symbol, bfd_bfin_elf32_create_embedded_relocs):
169 Adjust to match the renamed reloc definitions.
170
e7e75368
AM
1712009-08-08 Alan Modra <amodra@bigpond.net.au>
172
173 PR 10494
174 * elf.c (_bfd_elf_make_section_from_shdr): When setting up section
175 LMAs, use ELF_IS_SECTION_IN_SEGMENT to match sections with headers.
176
918d9742
TT
1772009-08-07 Tom Tromey <tromey@redhat.com>
178
179 * elf32-microblaze.c (microblaze_elf_check_relocs): Avoid strict
180 aliasing error.
181
7ba29e2a
NC
1822009-08-06 Michael Eager <eager@eagercon.com>
183
184 * Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}.
185 * Makefile.in: Regenerate.
186 * archures.c: Add bfd_arch_microblaze.
187 * bfd-in2.h: Regenerate.
188 * config.bfd: Add microblaze target.
189 * configure.in: Add bfd_elf32_microblaze_vec target.
190 * configure: Regenerate.
191 * cpu-microblaze.c: New.
192 * elf32-microblaze.c: New.
193 * libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc().
194 * libbfd.h: Regenerate.
195 * reloc.c: Add MICROBLAZE relocations.
196 * section.c: Add struct relax_table and relax_count to section.
197 * targets.c: Add bfd_elf32_microblaze_vec.
198
e47bf690
JJ
1992009-08-06 Jakub Jelinek <jakub@redhat.com>
200 Alan Modra <amodra@bigpond.net.au>
201
202 PR binutils/10492
203 * elf.c (sym_is_global): Return true even for BSF_GNU_UNIQUE
204 symbols.
205 * elf32-mips.c (mips_elf_sym_is_global): Likewise.
206 * elfn32-mips.c (mips_elf_sym_is_global): Likewise.
207
3ae046cc
NS
2082009-08-06 Nathan Sidwell <nathan@codesourcery.com>
209
210 * elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again
211 at least once when fixing cortex-a8.
212
cd8d5a82
CF
2132009-08-05 Chao-ying Fu <fu@mips.com>
214
215 * elf32-mips.c (mips_reloc_map): Add BFD_RELOC_MIPS_JALR.
216 * elfxx-mips.c (JAL_TO_BAL_P): New define to transform JAL to BAL
217 for CPUs. It is true for RM9000.
218 (JALR_TO_BAL_P): New define to transform JALR to BAL. It is true
219 for all CPUs.
220 (mips_elf_perform_relocation): Use JAL_TO_BAL_P and JALR_TO_BAL_P
221 to guard the transformation.
222
9cc305ec
TS
2232009-08-05 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
224
225 * elf32-spu.h (spu_elf_params): Add member emit_fixups.
226 (spu_elf_size_sections): Declare prototype.
227 * elf32-spu.c (spu_link_hash_table): Add member sfixup.
228 (FIXUP_RECORD_SIZE, FIXUP_GET, FIXUP_PUT): New macros.
229 (spu_elf_emit_fixup): New function.
230 (spu_elf_relocate_section): Emit fixup for each SPU_ADDR32.
231 (spu_elf_size_sections): New function.
232
eb7c4339
NS
2332009-08-05 Nathan Sidwell <nathan@codesourcery.com>
234
235 * elf32-arm.c (elf32_arm_stub_type): Add arm_stub_a8_veneer_lwm.
236 (arm_build_one_stub): Build a8 veneers as a separate pass.
237 (cortex_a8_erratum_scan): Add prev_num_a8_fixes and stub_changed_p
238 parameters. Use them to check if we create a different a8 fixup
239 than the previous pass.
240 (elf32_arm_size_stubs): Move scope of stub_changed and
241 prev_num_a8_fixes into main loop.
242 (elf32_arm_build_stubs): Build a8 veneers in a second pass.
243
a9585d22
AM
2442009-08-04 Alan Modra <amodra@bigpond.net.au>
245
246 * elf32-ppc.c (ppc_elf_relax_section): Correct conditions under
247 which find_plt_ent is called. Delete redundant code.
248
45b222d6
L
2492009-08-03 H.J. Lu <hongjiu.lu@intel.com>
250
251 PR binutils/10363
252 * elf.c (bfd_elf_string_from_elf_section): Return NULL on
253 invalid string offset.
254
004fb780
L
2552009-08-03 H.J. Lu <hongjiu.lu@intel.com>
256
257 PR ld/10433
258 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Set got
259 to htab->init_got_offset and plt to htab->init_plt_offset
260 when discarding space for dynamic relocations.
261
a877a2b6
AM
2622009-08-03 Alan Modra <amodra@bigpond.net.au>
263
264 * elf32-ppc.c (struct plt_entry): Revise comments.
265 (ppc_elf_check_relocs): Don't create needless plt_entry info
266 for non-pie executables. Don't test info->pie when info->shared
267 already covers that case.
268 (ppc_elf_gc_sweep_hook): Adjust for above change.
269 (add_stub_sym): Don't test info->pie when info->shared tested.
270 (allocate_dynrelocs, ppc_elf_size_dynamic_sections): Likewise.
271 (write_glink_stub, ppc_elf_finish_dynamic_symbol): Likewise.
272 (ppc_elf_relax_section): Adjust find_plt_ent arguments.
273 (ppc_elf_relocate_section): Likewise.
274
de972ffa
AM
2752009-08-03 Alan Modra <amodra@bigpond.net.au>
276
277 * elf32-ppc.c (ppc_elf_check_relocs): Always add a plt ref count
278 for local ifunc symbols in non-pie executables, regardless of
279 reloc type. Don't specially create ifunc dyn relocs. Tidy ifunc
280 code so that it's obvious that we only do anything special for
281 local ifunc syms.
282 (ppc_elf_gc_sweep_hook): Adjust to suit check_relocs changes.
283 (allocate_dynrelocs): Correct comment for syms defined in plt.
284 Don't specially allocate ifunc dyn relocs.
285 (ppc_elf_relax_section): Relax branches to ifunc plt entries too.
286 (ppc_elf_relocate_section): Set "relocation" value for ifunc
287 syms in non-pie executables. No specially allocated dyn relocs
288 for ifunc to write. Allow for local sym on R_PPC_RELAX32_PLT.
289 (ppc_elf_finish_dynamic_symbol): Set value of ifunc symbols in
290 a non-pie executable.
291
1d85728f
L
2922009-08-02 H.J. Lu <hongjiu.lu@intel.com>
293 Jakub Jelinek <jakub@redhat.com>
294
295 PR ld/6443
296 * elf32-i386.c (elf_i386_tls_transition): Check executable
297 instead of shared for TLS when building PIE.
298 (elf_i386_check_relocs): Likewise.
299 (elf_i386_allocate_dynrelocs): Likewise.
300 (elf_i386_relocate_section): Likewise.
301
302 * elf64-x86-64.c (elf64_x86_64_tls_transition): Check executable
303 instead of shared for TLS when building PIE.
304 (elf64_x86_64_check_relocs): Likewise.
305 (elf64_x86_64_allocate_dynrelocs): Likewise.
306 (elf64_x86_64_relocate_section): Likewise.
307
5d8d4872
AG
3082009-07-31 Anthony Green <green@moxielogic.com>
309
310 * config.bfd (targ_cpu): Add moxie-uclinux support.
311
080a1b9f
HPN
3122009-07-31 Hans-Peter Nilsson <hp@bitrange.com>
313
314 * linker.c (fix_syms): Consider SEC_LOAD when choosing section.
315
25f23106
AM
3162009-07-30 Alan Modra <amodra@bigpond.net.au>
317
318 * elf32-ppc.c (ppc_elf_check_relocs): Always set up sections
319 used by indirect function support. Count dynamic relocs for
320 ifunc syms.
321 (ppc_elf_adjust_dynamic_symbol): Tweak for ifunc.
322 (allocate_dynrelocs): Allocate all non-dynamic ifunc plt entries
323 in iplt and their relocs in reliplt. Don't make ifunc syms
324 dynamic. Allocate got entry relocs for non-dynamic ifunc in
325 reliplt. Handle other dynamic relocs for ifunc.
326 (ppc_elf_size_dynamic_sections): Alloc dyn relocs for static
327 ifunc in reliplt, likewise relocs for got against local ifunc.
328 Typo fix on reliplt size adjust.
329 (ppc_elf_relocate_section): Don't use plt scheme of allocating
330 relocs 1-1 with entries for iplt, instead just add using
331 reloc_count. Write got relocs and dyn relocs for ifunc to reliplt.
332 Error on invalid ifunc dyn relocs.
333 (ppc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc plt
334 in iplt/reliplt.
335 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_JMP_IREL,
336 R_PPC64_REL16, R_PPC64_REL16_LO, R_PPC64_REL16_HI, R_PPC64_REL16_HA.
337 (ppc64_elf_reloc_type_lookup): Handle new relocs.
338 (ppc64_elf_check_relocs): Likewise. Count dyn relocs for ifunc.
339 (allocate_dynrelocs): As for elf32-ppc.c above.
340 (ppc64_elf_size_dynamic_sections): Likewise.
341 (ppc_build_one_stub): Put non-dynamic ifunc plt call stubs in iplt,
342 and their relocs in reliplt. Use R_PPC64_JMP_IREL.
343 (ppc_size_one_stub): Similarly.
344 (ppc64_elf_relocate_section): As for elf32-ppc.c above. Handle new
345 relocs too.
346 (ppc64_elf_finish_dynamic_symbol): As for elf32-ppc.c above.
347
80f540b7
HPN
3482009-07-29 Hans-Peter Nilsson <hp@bitrange.com>
349
350 * elf64-mmix.c (mmix_elf_relax_section): Revert 2009-05-27
351 change. Add note to head comment.
352
4ad4f3cb
JB
3532009-07-28 Jan Beulich <jbeulich@novell.com>
354
355 * archive.c (get_extended_arelt_filename): Remove redundant
356 range check on index.
357
d8d2f433
DK
3582009-07-27 Doug Kwan <dougkwan@google.com>
359
360 * elf32-arm.c (stub_hash_newfunc): Initialize field output_name.
361
9e675548
L
3622009-07-27 H.J. Lu <hongjiu.lu@intel.com>
363
364 * archures.c bfd_*_arch): Sorted.
365 (bfd_archures_list): Likewise.
366
86514226
SR
3672009-07-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
368
9e675548 369 * elf32-cr16.c (elf_cr16_final_link_relocate): Add code to handle
86514226
SR
370 to R_cr16_NUM32 relocation.
371
305f7588
MS
3722009-07-26 Michael Eager <eager@eagercon.com>
373
374 * archures.c: Add bfd_mach_ppc_405
375 * bfd-in2.h: Same.
376
b1995b01
L
3772009-07-25 H.J. Lu <hongjiu.lu@intel.com>
378
379 * cpu-i386.c (bfd_x86_64_arch): Fix comment typos.
380 * cpu-l1om.c (bfd_l1om_arch): Likewise.
381
8a9036a4
L
3822009-07-25 H.J. Lu <hongjiu.lu@intel.com>
383
384 * archures.c (bfd_architecture): Add bfd_arch_l1om.
385 (bfd_l1om_arch): New.
386 (bfd_archures_list): Add &bfd_l1om_arch.
387 * bfd-in2.h: Regenerated.
388
389 * config.bfd (targ64_selvecs): Add bfd_elf64_l1om_vec if
390 bfd_elf64_x86_64_vec is supported. Add bfd_elf64_l1om_freebsd_vec
391 if bfd_elf64_x86_64_freebsd_vec is supported.
392 (targ_selvecs): Likewise.
393
394 * configure.in: Support bfd_elf64_l1om_vec and
395 bfd_elf64_l1om_freebsd_vec.
396 * configure: Regenerated.
397
398 * cpu-l1om.c: New.
399
400 * elf64-x86-64.c (elf64_l1om_elf_object_p): New.
401 (bfd_elf64_l1om_vec): Likewise.
402 (bfd_elf64_l1om_freebsd_vec): Likewise.
403
404 * Makefile.am (ALL_MACHINES): Add cpu-l1om.lo.
405 (ALL_MACHINES_CFILES): Add cpu-l1om.c.
406 * Makefile.in: Regenerated.
407
408 * targets.c (bfd_elf64_l1om_vec): New.
409 (bfd_elf64_l1om_freebsd_vec): Likewise.
410 (_bfd_target_vector): Add bfd_elf64_l1om_vec and
411 bfd_elf64_l1om_freebsd_vec.
412
8fdcc58d
TS
4132009-07-24 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
414 Alan Modra <amodra@bigpond.net.au>
415
416 * reloc.c (BFD_RELOC_SPU_ADD_PIC): Define.
417 * bfd-in2.h: Regenerate.
418 * libbfd.h: Regenerate.
419 * elf32-spu.c (elf_howto_table): Add entries SPU_ADD_PIC.
420 (spu_elf_bfd_to_reloc_type): Handle SPU_ADD_PIC.
421 (spu_elf_relocate_section): Patch instructions marked by SPU_ADD_PIC.
422
9b769489
L
4232009-07-23 H.J. Lu <hongjiu.lu@intel.com>
424
425 PR ld/10434
426 * elf64-x86-64.c (elf64_x86_64_check_relocs): Check executable
427 instead of shared for R_X86_64_TPOFF32.
428 (elf64_x86_64_relocate_section): Likewise.
429
3e7a7d11
NC
4302009-07-23 Ulrich Drepper <drepper@redhat.com>
431
432 * elf-bfd.h (struct elf_link_hash_entry): Add unique_global field.
433 * elf.c (swap_out_syms): Set binding to STB_GNU_UNIQUE for symbols
434 with the BSF_GNU_UNIQUE flag bit set.
435 * elfcode.h (elf_slurp_symbol_table): Set the BSF_GNU_UNIQUE flag
436 for symbols with STB_GNU_UNIQUE binding.
437 * elflink.c (_bfd_elf_merge_symbol): Set unique_global for symbols
438 with the STB_GNU_UNIQUE binding.
439 (elf_link_add_object_symbols): Set the BSF_GNU_UNIQUE flag for
440 symbols with STB_GNU_UNIQUE binding. Set STB_GNU_UNIQUE for
441 symbols with the unique_global field set.
442 (elf_link_output_extsym): Set unique_global field for symbols with
443 the STB_GNU_UNIQUE binding.
444 * syms.c (struct bfd_symbol): Define BSF_GNU_UNIQUE flag bit.
445 (bfd_print_symbol_vandf): Print a 'u' character for BSF_GNU_UNIQUE
446 symbols.
447 (bfd_decode_symclass): Return a 'u' character for BSF_GNU_UNIQUE
448 symbols.
449 * bfd-in2.h: Regenerate.
450
5f35ea9c
L
4512009-07-22 H.J. Lu <hongjiu.lu@intel.com>
452
453 * elflink.c (elf_link_output_extsym): Revert the last change.
454
b63cc625
L
4552009-07-22 H.J. Lu <hongjiu.lu@intel.com>
456
457 PR ld/10433
458 * elflink.c (elf_link_output_extsym): Special case ifunc syms
459 when ref_regular, not def_regular.
460
2955ec4c
L
4612009-07-21 H.J. Lu <hongjiu.lu@intel.com>
462
463 PR ld/10426
464 * elflink.c (elf_link_add_object_symbols): Turn an IFUNC symbol
465 from a DSO into a normal FUNC symbol.
466 (elf_link_output_extsym): Turn an undefined IFUNC symbol into
467 a normal FUNC symbol.
468
6d30f5b2
NC
4692009-07-17 Chao-ying Fu <fu@mips.com>
470
471 * elfxx-mips.c (LOAD_INTERLOCKS_P): New define.
472 (_bfd_mips_elf_size_dynamic_sections): For CPUs without load
473 interlocking, the last PLT entry needs a nop in the branch delay slot.
474 (_bfd_mips_elf_finish_dynamic_symbol): For CPUs with load itnerlocking,
475 output the last two PLT entries in reverse order.
476
1f85278f
L
4772009-07-16 H.J. Lu <hongjiu.lu@intel.com>
478
479 * elf32-i386.c (elf_i386_relocate_section): Don't get local
480 STT_GNU_IFUNC symbol for relocatable link.
481 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
482
f07749bb
L
4832009-07-10 H.J. Lu <hongjiu.lu@intel.com>
484
485 * bfdio.c (bfd_iovec): Add comments for bmmap.
486 * bfd-in2.h: Regenerated.
487
8455dd2c
L
4882009-07-10 H.J. Lu <hongjiu.lu@intel.com>
489
490 * Makefile.am: Run "make dep-am".
491 * Makefile.in: Regenerated.
492
cedfb179
DK
4932009-07-10 Doug Kwan <dougkwan@google.com>
494
495 * elf32-arm.c (stub_hash_newfunc): Initialize fields
496 target_addend and orig_insn.
497
fa8f86ff
TT
4982009-07-10 Tom Tromey <tromey@redhat.com>
499
500 * Makefile.am (dwarf2.lo): Use dwarf2.h, not elf/dwarf2.h.
501 (elf-eh-frame.lo): Likewise.
502 (elf32-bfin.lo): Likewise.
503 (elf32-frv.lo): Likewise.
504 (elf32-xc16x.lo): Likewise.
505 * Makefile.in: Rebuild.
506 * dwarf2.c: Included dwarf.h, not elf/dwarf2.h.
507 * elf-eh-frame.c: Likewise.
508 * elf32-bfin.c: Likewise.
509 * elf32-frv.c: Likewise.
510 * elf32-xc16x.c: Likewise.
511
33c6a8fc
JB
5122009-07-10 Julian Brown <julian@codesourcery.com>
513
514 * elf32-arm.c (arm_build_one_stub): Use the hash entry of the
515 symbol a stub entry is derived from, not the entry for the stub
516 itself, in call to elf32_arm_final_link_relocate.
517
1d770845
L
5182009-07-10 H.J. Lu <hongjiu.lu@intel.com>
519
520 * elf.c (_bfd_elf_get_synthetic_symtab): Remove leading zeros
521 when reporting addends.
522
52cfded7
AM
5232009-07-10 Alan Modra <amodra@bigpond.net.au>
524
525 * elf32-spu.c (spu_elf_size_stubs): Do set up soft-icache manager
526 data even when no stubs.
527 (spu_elf_place_overlay_data, spu_elf_build_stubs): Adjust.
528
e054468f
AM
5292009-07-10 Alan Modra <amodra@bigpond.net.au>
530
531 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_IRELATIVE.
532 (ppc_elf_get_synthetic_symtab): Report addend.
533 (PLT_IFUNC): Define.
534 (struct ppc_elf_link_hash_table): Add iplt and reliplt.
535 (ppc_elf_create_glink): New function.
536 (ppc_elf_create_dynamic_sections): Use it.
537 (ppc_elf_add_symbol_hook): Set has_ifunc_symbols.
538 (update_local_sym_info): Allocate space for local_plt array.
539 Don't bump local_got_refcounts for PLT_IFUNC. Return local_plt
540 entry pointer.
541 (is_branch_reloc): New function.
542 (ppc_elf_check_relocs): Handle STT_GNU_IFUNC symbols.
543 (ppc_elf_gc_sweep_hook): Likewise.
544 (ppc_elf_adjust_dynamic_symbol): Likewise.
545 (allocate_dynrelocs): Likewise.
546 (ppc_elf_size_dynamic_sections): Likewise.
547 (ppc_elf_relocate_section): Likewise.
548 (branch_reloc_hash_match): Use is_branch_reloc.
549 (ppc_elf_tls_optimize): Adjust for local_plt.
550 (write_glink_stub): New function, extracted from..
551 (ppc_elf_finish_dynamic_symbol): ..here. Handle STT_GNU_IFUNC.
552 (ppc_elf_finish_dynamic_sections): Only write plt resolver and
553 branch table when dynamic.
554 (elf_backend_post_process_headers): Define.
555 * elf64-ppc.c (elf_backend_post_process_headers): Define.
556 (ppc64_elf_howto_raw): Add R_PPC64_IRELATIVE.
557 (ppc64_elf_get_synthetic_symtab): Report addend.
558 (struct ppc_stub_hash_entry): Add plt_ent.
559 (PLT_IFUNC): Define.
560 (struct ppc_link_hash_table): Add iplt and reliplt.
561 (create_linkage_sections): Make .iplt and .rela.iplt sections.
562 (ppc64_elf_add_symbol_hook): Set has_ifunc_symbols.
563 (update_local_sym_info): Allocate space for local_plt array.
564 Don't bump local_got_ents for PLT_IFUNC. Return local_plt
565 entry pointer.
566 (update_plt_info): Pass pointer to plt_entry rather than sym hash,
567 and don't change hash flags here.
568 (is_branch_reloc): New function.
569 (ppc64_elf_check_relocs): Handle STT_GNU_IFUNC.
570 (ppc64_elf_gc_sweep_hook): Likewise.
571 (ppc64_elf_adjust_dynamic_symbol): Likewise.
572 (allocate_dynrelocs): Likewise.
573 (ppc64_elf_size_dynamic_sections): Likewise.
574 (ppc_build_one_stub, ppc_size_one_stub): Likewise.
575 (ppc64_elf_size_stubs): Likewise.
576 (ppc64_elf_relocate_section): Likewise.
577 (get_sym_h): Adjust for local_plt.
578 (branch_reloc_hash_match): Use is_branch_reloc.
579 (ppc_type_of_stub): Pass plt_entry pointer and handle ifunc.
580 (ppc64_elf_toc): Ignore SEC_EXCLUDE sections.
581
041de40d
AM
5822009-07-10 Alan Modra <amodra@bigpond.net.au>
583
584 * elf.c (_bfd_elf_get_synthetic_symtab): Report addends.
585
7ae26bc1
AM
5862009-07-10 Alan Modra <amodra@bigpond.net.au>
587
588 * elf-bfd.h (struct elf_link_hash_entry): Clarify ref_regular
589 and ref_regular_nonweak comment.
590 * elflink.c (elf_link_output_extsym): Special case ifunc syms
591 when def_regular, not ref_regular.
592 (elf_link_add_object_symbols): Don't set needs_plt on ifunc syms,..
593 * elf32-i386.c (elf_i386_check_relocs): ..set it here instead..
594 * elf64-x86-64.c (elf64_x86_64_check_relocs): ..and here.
595
9c4d0c1f
AM
5962009-07-09 Alan Modra <amodra@bigpond.net.au>
597
598 * elf32-spu.c (mark_functions_via_relocs): Init broken_cycle field
599 of malloc'd struct call_info.
600 (pasted_function): Likewise, priority too.
601
2fc6d3b0
AM
6022009-07-07 Alan Modra <amodra@bigpond.net.au>
603
604 * elf32-spu.c (spu_elf_auto_overlay): Take into account section
605 alignment when packing sections into overlays.
606
9e1f7c0e
DK
6072009-07-03 Cary Coutant <ccoutant@google.com>
608
609 * dwarf2.c (decode_line_info): Ignore DW_LNE_set_discriminator.
610
4a768870
DK
6112009-07-03 Dave Korn <dave.korn.cygwin@gmail.com>
612
613 * coffcode.h (sec_to_styp_flags): Partially revert (functional
614 changes only) earlier patch:-
615
616 2009-06-25 Kai Tietz <kai.tietz@onevision.com>
617
618 * coffcode.h (sec_to_styp_flags): Set discardable for .reloc and
619 give .debug and .reloc data characteristics.
620 (DOT_RELOC): New define for .reloc section string.
621 (coff_write_object_contents): Use DOT_RELOC instead of string.
622
848f5748
TT
6232009-07-02 Tom Tromey <tromey@redhat.com>
624
625 * aoutx.h (aout_get_external_symbols): Declare 'amt' locally.
626 * bfdwin.c (bfd_free_window): Cast to unsigned long.
627
dda46a27
L
6282009-07-01 Nick Clifton <nickc@redhat.com>
629
630 * elf-m10300.c: Remove trailing white space.
631 * reloc.c: Likewise.
632
efde2f2c
NC
6332009-07-01 Douglas B Rupp <rupp@gnat.com>
634
dda46a27 635 * bfd.m4 (BFD_HAVE_TIME_TYPE_MEMBER,
efde2f2c 636 BFD_HAVE_SYS_STAT_TYPE_MEMBER): New config functions.
dda46a27
L
637 * configure.in: Use them.
638 * configure: Regenerate.
639 * config.in: Regnerate.
640 * vmsutil.c: Include sysdep.h, remove ansidecl.h.
efde2f2c
NC
641 #define _BSD_SOURCE. Add comments.
642 (vms_file_stats_name): Calculate creation date based on available
643 runtime data. Return 1 for version instead of 0.
644
e1ec24c6
NC
6452009-07-01 Nick Clifton <nickc@redhat.com>
646
647 PR 10072
648 * elf32-arm.c (elf32_arm_final_link_relocate): Add code to handle
649 to R_ARM_THM_PC8 relocation.
650
2709f570
NC
6512009-06-29 Nick Clifton <nickc@redhat.com>
652
653 * elf-m10300.c (mn10300_elf_relax_section): Allow for the
654 different uses of the relocations addend when a symbol is in a
655 merged section.
656
83b89087
L
6572009-06-27 H.J. Lu <hongjiu.lu@intel.com>
658
659 PR ld/10337
660 * elf.c (bfd_section_from_shdr): Don't change sh_link for
661 SHT_REL/SHT_RELA sections on executable nor shared library.
662 Treat SHT_REL/SHT_RELA sections with sh_link set to SHN_UNDEF
663 as a normal section.
664
be7035c6
NC
6652009-06-25 Nick Clifton <nickc@redhat.com>
666
667 * elf-m10300.c (mn10300_elf_relax_section): Handle non-section
668 symbols with SEC_MERGE flag.
669
bdeb4032
KT
6702009-06-25 Kai Tietz <kai.tietz@onevision.com>
671
672 * coffcode.h (sec_to_styp_flags): Set discardable for .reloc and
673 give .debug and .reloc data characteristics.
674 (DOT_RELOC): New define for .reloc section string.
675 (coff_write_object_contents): Use DOT_RELOC instead of string.
676
b32e07d7
TG
6772009-06-25 Tristan Gingold <gingold@adacore.com>
678
679 * mach-o-target.c (bfd_mach_o_get_dynamic_symtab_upper_bound)
680 (bfd_mach_o_canonicalize_dynamic_symtab)
681 (bfd_mach_o_get_synthetic_symtab): Defines.
682 (TARGET_NAME_BACKEND): Add bfd_mach_o_print_thread entry.
683 (TARGET_NAME): Use Mach-O specific functions for dynamic.
684
685 * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_in): Fix howto indexes
686 for scattered relocations.
687 (bfd_mach_o_i386_print_thread): New function.
688 (bfd_mach_o_print_thread): Define.
689
690 * mach-o.c (text_section_names_xlat): Add an entry for __const.
691 (bfd_mach_o_canonicalize_one_reloc, bfd_mach_o_canonicalize_relocs):
692 New functions extracted from ...
693 (bfd_mach_o_canonicalize_reloc): ... This. Simplified.
694 (bfd_mach_o_get_dynamic_reloc_upper_bound): New function.
695 (bfd_mach_o_canonicalize_dynamic_reloc): New function.
696 (bfd_mach_o_i386_flavour_string): Adjusted after enum renaming.
697 (bfd_mach_o_ppc_flavour_string): Reindentation. Add 64 bits cases.
698 (bfd_mach_o_scan_read_dylinker): Do not create a section anymore.
699 Set name_str field.
700 (bfd_mach_o_scan_read_dylib): Ditto.
701 (bfd_mach_o_scan_read_thread): Set mdata at declaration. Add comments,
702 reindent.
703 (bfd_mach_o_scan_read_dysymtab): Set mdata at declaration. Correctly
704 decode isym and flags on little endian targets. Set dysymtab field.
705 (bfd_mach_o_scan_start_address): Adjust for enum names.
706 (bfd_mach_o_lookup_section): Do not look for segments anymore.
707 (bfd_mach_o_print_section): Display bfd section name.
708 (bfd_mach_o_print_segment): Display none if no name.
709 (bfd_mach_o_print_dysymtab): Display next index for local, external
710 and undefined symbols.
711 (bfd_mach_o_bfd_print_private_bfd_data): Adjust code by using name_str.
712 Display dylinker name. Display thread and unixthread commands content.
713 (bfd_mach_o_print_thread): New macro.
714
715 * mach-o.h (bfd_mach_o_mach_header_magic): Align numbers.
716 (bfd_mach_o_ppc_thread_flavour): Ditto.
717 (bfd_mach_o_i386_thread_flavour): Ditto.
718 (BFD_MACH_O_PPC_THREAD_STATE_NONE): New enum.
719 (BFD_MACH_O_x86_THREAD_STATE_NONE): Replaces
720 BFD_MACH_O_THREAD_STATE_NONE.
721 (bfd_mach_o_segment_command): Remove segment field.
722 (bfd_mach_o_thread_flavour): Field offset is now unsigned long.
723 (bfd_mach_o_dylinker_command): Remove section field, add name_str.
724 (bfd_mach_o_prebound_dylib_command): Ditto.
725 (bfd_mach_o_dylib_command): Ditto.
726 (bfd_mach_o_prebound_dylib_command): Remove section field.
727 (mach_o_data_struct): Add dysymtab field.
728 (bfd_mach_o_backend_data): Add _bfd_mach_o_print_thread field.
729 (bfd_mach_o_get_reloc_upper_bound, bfd_mach_o_canonicalize_reloc)
730 (bfd_mach_o_build_commands): Remove parameter names and attributes.
731 (bfd_mach_o_get_dynamic_reloc_upper_bound)
732 (bfd_mach_o_canonicalize_dynamic_reloc): New prototypes.
733
c41ba836
DK
7342009-06-25 Rafael Avila de Espindola <espindola@google.com>
735
736 * plugin.c (load_plugin): Use stat and S_ISREG instead of the d_type
737 field of struct dirent.
738
3188b070
TG
7392009-06-23 Tristan Gingold <gingold@adacore.com>
740
741 * vms.c (vms_get_synthetic_symtab): Remove duplicate definition
742 of this macro. Fix indentation.
743
022f8312
CL
7442009-06-22 Christophe Lyon <christophe.lyon@st.com>
745
746 * elf32-arm.c (elf32_arm_size_stubs): Use PLT address as
747 destination for defined dynamic symbols when deciding whether to
748 insert a stub or not.
749 (allocate_dynrelocs): Make sure functions are not marked as Thumb
750 when actually accessed through a PLT, even when generating a
751 shared lib.
752
d297e807
TG
7532009-06-22 Tristan Gingold <gingold@adacore.com>
754
755 * mach-o.c (bfd_mach_o_canonicalize_reloc): Append a sentinel to
756 the relocs array.
757
ceaf50a2
AM
7582009-06-22 Alan Modra <amodra@bigpond.net.au>
759
760 * elf32-ppc.c (ppc_elf_check_relocs): Handle R_PPC_RELAX* in switch.
761 * elf32-v850.c (v850_elf_relocate_section): Warning fix.
762
983bddc8
AM
7632009-06-22 Alan Modra <amodra@bigpond.net.au>
764
765 * elf64-ppc.c (ppc64_elf_edit_opd): Avoid gcc warning.
766
f8703194
L
7672009-06-19 H.J. Lu <hongjiu.lu@intel.com>
768
769 * elflink.c (elf_link_add_object_symbols): Avoid warning
770 from -Wjump-misses-init in gcc 4.5.0.
771
09a24cbf
L
7722009-06-19 H.J. Lu <hongjiu.lu@intel.com>
773
774 * elf32-i386.c (elf_i386_check_relocs): Properly check local
775 symbol on error.
776 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
777
4c544807
L
7782009-06-19 H.J. Lu <hongjiu.lu@intel.com>
779
780 * elf32-i386.c (elf_i386_tls_transition): Add a parameter,
781 r_symndx. Report local symbol name on error.
782 (elf_i386_check_relocs): Updated. Report local symbol name on
783 error.
784 (elf_i386_gc_sweep_hook): Updated.
785 (elf_i386_relocate_section): Likewise.
786
787 * elf64-x86-64.c (elf64_x86_64_tls_transition): Add a parameter,
788 r_symndx. Report local symbol name on error.
789 (elf64_x86_64_check_relocs): Updated. Report local symbol name
790 on error.
791 (elf64_x86_64_gc_sweep_hook): Updated.
792 (elf64_x86_64_relocate_section): Likewise.
793
b8674692
TG
7942009-06-19 Tristan Gingold <gingold@adacore.com>
795
796 * mach-o.c (bfd_mach_o_print_private_header): Fix format character.
797
046b007d
TG
7982009-06-19 Tristan Gingold <gingold@adacore.com>
799
800 * mach-o.c (bfd_mach_o_scan_read_symtab_symbols): Add prototype.
801 (bfd_mach_o_version): Use bfd_mach_o_get_data instead of direct access.
802 (bfd_mach_o_valid): Ditto.
803 (bfd_mach_o_wide_p): Ditto.
804 (bfd_mach_o_canonicalize_reloc): Ditto.
805 (bfd_mach_o_build_commands): Ditto.
806 (bfd_mach_o_scan_read_thread): Ditto.
807 (bfd_mach_o_flatten_sections): Ditto.
808 (bfd_mach_o_scan_start_address): Ditto.
809 (bfd_mach_o_lookup_section): Ditto.
810 (bfd_mach_o_core_fetch_environment): Ditto.
811 (bfd_mach_o_write_contents): Ditto. Handle reexport_dylib.
812 (bfd_mach_o_scan_write_relocs): Adjust for bfd_mach_o_get_data.
813 (bfd_mach_o_scan_write_symtab): Ditto.
814 Use macros instead of hard-coded values.
815 (bfd_mach_o_scan_read_symtab_symbol): Make the function static.
816 Use bfd_mach_o_get_data instead of direct access. Use macros
817 instead of hard-coded values.
818 (bfd_mach_o_scan_read_symtab_strtab): Make the function static.
819 Remove sym argument and get section from mdata.
820 Move code into the else branch.
821 (bfd_mach_o_scan_read_symtab_symbols): Make the function static.
822 Remove sym argument and get section from mdata. Adjust code.
823 (bfd_mach_o_scan_read_dylib): Move assertion into the created
824 switch (which replaces consecutive if statements).
825 (bfd_mach_o_scan_read_dysymtab): Rename seg to cmd. Load
826 module table, table of content, indirect symbols and external
827 referenced symbols.
828 (bfd_mach_o_scan_read_symtab): Renames seg to symtab. Set symtab
829 field.
830 (bfd_mach_o_scan_read_linkedit): New function.
831 (bfd_mach_o_scan_read_str): Ditto.
832 (bfd_mach_o_count_symbols): Simplify the code by using the symtab
833 field of mdata.
834 (bfd_mach_o_get_symtab_upper_bound): Remove check as
835 bfd_mach_o_count_symbols never returns an error.
836 (bfd_mach_o_canonicalize_symtab): Simplify the code by using the
837 symtab field (there might be only one symtab).
838 (bfd_mach_o_scan_read_command): Handle reexported dylib.
839 Handle sub frameworks, sub umbrella, sub library and sub client.
840 Read code signature and segment split info commands.
841 (bfd_mach_o_scan): Reindent.
842 (bfd_mach_o_xlat_name): New type.
843 (bfd_mach_o_print_flags): New function.
844 (bfd_mach_o_get_name): Ditto.
845 (bfd_mach_o_cpu_name): New variable.
846 (bfd_mach_o_filetype_name, bfd_mach_o_header_flags_name)
847 (bfd_mach_o_section_type_name)
848 (bfd_mach_o_section_attribute_name)
849 (bfd_mach_o_load_command_name): New variables.
850 (bfd_mach_o_print_private_header): New function.
851 (bfd_mach_o_print_section_map): New function extracted from
852 bfd_mach_o_print_private_bfd_data.
853 (bfd_mach_o_print_section): Ditto. Print more infos.
854 (bfd_mach_o_print_segment): Ditto.
855 (bfd_mach_o_print_dysymtab): Ditto.
856 (bfd_mach_o_bfd_print_private_bfd_data): Reworked. Handle
857 load weak dylib, reexport dylib and id dylib.
858 Handle code signature and segment_split info.
859 Handle sub frameworks, sub umbrella, sub library and sub client.
860 (bfd_mach_o_section_get_nbr_indirect): New function.
861
862 * mach-o.h (BFD_MACH_O_REFERENCE_MASK): New macro. Add comment.
863 (bfd_mach_o_header_flags): New enum to define header flags.
864 (bfd_mach_o_section_attribute): New enum to replace ...
865 (BFD_MACH_O_S_ATTR_LOC_RELOC, BFD_MACH_O_S_ATTR_EXT_RELOC,
866 BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS, BFD_MACH_O_S_ATTR_DEBUG,
867 BFD_MACH_O_S_SELF_MODIFYING_CODE, BFD_MACH_O_S_ATTR_LIVE_SUPPORT,
868 BFD_MACH_O_S_ATTR_NO_DEAD_STRIP, BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS,
869 BFD_MACH_O_S_ATTR_NO_TOC, BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS): ...
870 these removed macros.
871 (BFD_MACH_O_NLIST_SIZE, BFD_MACH_O_NLIST_64_SIZE): New macros.
872 (bfd_mach_o_dylib_module): New type.
873 (BFD_MACH_O_DYLIB_MODULE_SIZE, BFD_MACH_O_DYLIB_MODULE_64_SIZE): New
874 macros.
875 (bfd_mach_o_dylib_table_of_content): New type.
876 (BFD_MACH_O_TABLE_OF_CONTENT_SIZE): New macro.
877 (bfd_mach_o_dylib_reference): New type.
878 (BFD_MACH_O_REFERENCE_SIZE): New macro.
879 (bfd_mach_o_dysymtab_command): Add fields for loaded and decoded
880 modules, toc, references and indirect syms.
881 (BFD_MACH_O_INDIRECT_SYMBOL_SIZE): New macro.
882 (bfd_mach_o_dylinker_command): Remove cmd and cmdsize fields (were
883 unused). Add comment.
884 (bfd_mach_o_dylib_command): Ditto.
885 (bfd_mach_o_prebound_dylib_command): Ditto.
886 (bfd_mach_o_linkedit_command): New type.
887 (bfd_mach_o_str_command): New type.
888 (bfd_mach_o_load_command): Add linkedit and str fields.
889 (mach_o_data_struct): Add symtab field.
890 (bfd_get_mach_o_data): Renamed to ...
891 (bfd_mach_o_get_data): ... this new macro.
892 (bfd_mach_o_scan_read_symtab_symbol,
893 bfd_mach_o_scan_read_symtab_strtab,
894 bfd_mach_o_scan_read_symtab_symbols): Prototypes removed.
895
896 * mach-o-i386.c (bfd_mach_o_i386_mkobject): Use bfd_mach_o_get_data
897 instead of direct access.
898
6d78d0b9
AM
8992009-06-19 Alan Modra <amodra@bigpond.net.au>
900
901 * elf32-ppc.c (ppc_elf_check_relocs): Allow local symbols for
902 R_PPC_PLTREL24 relocs.
903 (ppc_elf_relocate_section): Likewise.
904
3ec01793
AM
9052009-06-19 Alan Modra <amodra@bigpond.net.au>
906
907 * elf32-ppc.c (find_plt_ent): Pass pointer to plist rather than
908 pointer to sym hash. Update all uses.
909 (update_plt_info): Likewise. Don't check addend here.
910
c2e61a4e
L
9112009-06-18 H.J. Lu <hongjiu.lu@intel.com>
912
913 * elf32-i386.c (elf_i386_check_relocs): Remove isymbuf and use
914 bfd_sym_from_r_symndx.
915 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
916
87d72d41
AM
9172009-06-18 Alan Modra <amodra@bigpond.net.au>
918
919 * elf-bfd.h (struct sym_sec_cache): Delete.
920 (struct sym_cache): New.
921 (bfd_section_from_r_symndx): Delete prototype.
922 (bfd_sym_from_r_symndx): Define prototype.
923 * elf.c (bfd_section_from_r_symndx): Delete, replace with..
924 (bfd_sym_from_r_symndx): ..new function.
925 * elf32-arm.c: Update all uses of struct sym_sec_cache and
926 bfd_section_from_r_symndx to new struct and function.
927 * elf32-bfin.c: Likewise.
928 * elf32-hppa.c: Likewise.
929 * elf32-i386.c: Likewise.
930 * elf32-m32r.c: Likewise.
931 * elf32-m68hc1x.c: Likewise.
932 * elf32-m68hc1x.h: Likewise.
933 * elf32-m68k.c: Likewise.
934 * elf32-ppc.c: Likewise.
935 * elf32-s390.c: Likewise.
936 * elf32-sh.c: Likewise.
937 * elf64-ppc.c: Likewise.
938 * elf64-s390.c: Likewise.
939 * elf64-x86-64.c: Likewise.
940 * elfxx-sparc.c: Likewise.
941 * elfxx-sparc.h: Likewise.
942
14aae723
L
9432009-06-18 H.J. Lu <hongjiu.lu@intel.com>
944
945 * elf32-i386.c (elf_i386_check_relocs): Cache or free isymbuf.
946 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
947
5e486aa1
NC
9482009-06-18 Nick Clifton <nickc@redhat.com>
949
950 * elflink.c (elf_link_sort_relocs): Return early if there are no
951 relocs to sort.
952
361dff73
DK
9532009-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
954
32425da9
NC
955 Merge cegcc and mingw32ce target name changes from
956 CeGCC project:
361dff73 957
32425da9 958 2007-12-25 Pedro Alves <pedro_alves@portugalmail.pt>
361dff73
DK
959
960 * config.bfd: Add arm*-*-cegcc* target.
961
32425da9 962 2007-12-17 Pedro Alves <pedro_alves@portugalmail.pt>
361dff73
DK
963
964 * config.bfd: Add arm-*-mingw32ce* target.
965
e03a8ed8
L
9662009-06-17 H.J. Lu <hongjiu.lu@intel.com>
967
968 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): New.
969 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Likewise.
970 * elf32-i386.c (elf_i386_allocate_dynrelocs): Use it.
971 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
972
9732009-06-17 H.J. Lu <hongjiu.lu@intel.com>
974
975 * elf-bfd.h (_bfd_elf_create_ifunc_dyn_reloc): New.
976 * elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Likewise.
977 * elf32-i386.c (elf_i386_check_relocs): Use it.
978 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
979
9802009-06-17 H.J. Lu <hongjiu.lu@intel.com>
981
982 * elf-bfd.h (elf_dyn_relocs): New.
983
984 * elf32-i386.c (elf_i386_dyn_relocs): Removed.
985 (elf_i386_link_hash_entry): Replace elf_i386_dyn_relocs with
986 elf_dyn_relocs.
987 (elf_i386_copy_indirect_symbol): Likewise.
988 (elf_i386_check_relocs): Likewise.
989 (elf_i386_gc_sweep_hook): Likewise.
990 (elf_i386_allocate_dynrelocs): Likewise.
991 (elf_i386_readonly_dynrelocs): Likewise.
992 (elf_i386_size_dynamic_sections): Likewise.
993
994 * elf64-x86-64.c (elf64_x86_64_dyn_relocs): Removed.
995 (elf64_x86_64_link_hash_entry): Replace elf64_x86_64_dyn_relocs
996 with elf_dyn_relocs.
997 (elf64_x86_64_copy_indirect_symbol): Updated.
998 (elf64_x86_64_check_relocs): Likewise.
999 (elf64_x86_64_gc_sweep_hook): Likewise.
1000 (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1001 (elf64_x86_64_allocate_dynrelocs): Likewise.
1002 (elf64_x86_64_readonly_dynrelocs): Likewise.
1003 (elf64_x86_64_size_dynamic_sections): Likewise.
1004
64e77c6d
L
10052009-06-17 H.J. Lu <hongjiu.lu@intel.com>
1006
1007 * elf32-arm.c (create_got_section): Get existing .rela.got
1008 section.
1009 * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise.
1010 * elf32-lm32.c (create_got_section): Likewise.
1011 * elf32-m32r.c (create_got_section): Likewise.
1012 * elf32-ppc.c (ppc_elf_create_got): Likewise.
1013 * elf32-s390.c (create_got_section): Likewise.
1014 * elf32-sh.c (create_got_section): Likewise.
1015 * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise.
1016 * elf64-s390.c (create_got_section): Likewise.
1017 * elfxx-sparc.c (create_got_section): Likewise.
1018
1019 * elflink.c (_bfd_elf_create_got_section): Properly initialize
1020 the GOT size.
1021
d2149d72
L
10222009-06-16 H.J. Lu <hongjiu.lu@intel.com>
1023
1024 * elf-bfd.h (ELF_LOCAL_SYMBOL_HASH): New.
1025
1026 * elf32-i386.c (elf_i386_local_hash): Removed.
1027 (elf_i386_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH.
1028 (elf_i386_get_local_sym_hash): Likewise.
1029
1030 * elf64-x86-64.c (elf64_x86_64_local_hash): Removed.
1031 (elf64_x86_64_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH.
1032 (elf64_x86_64_get_local_sym_hash): Likewise.
1033 * elfxx-ia64.c (elfNN_ia64_local_htab_hash): Likewise.
1034 (get_local_sym_hash): Likewise.
1035
cc3bd654
L
10362009-06-16 H.J. Lu <hongjiu.lu@intel.com>
1037
1038 * elfxx-ia64.c (elfNN_ia64_link_hash_table): Remove got_sec,
1039 rel_got_sec and plt_sec.
1040 (elfNN_ia64_relax_section): Updated.
1041 (elfNN_ia64_create_dynamic_sections): Likewise.
1042 (get_got): Likewise.
1043 (allocate_dynrel_entries): Likewise.
1044 (elfNN_ia64_size_dynamic_sections): Likewise.
1045 (set_got_entry): Likewise.
1046 (elfNN_ia64_choose_gp): Likewise.
1047 (elfNN_ia64_relocate_section): Likewise.
1048 (elfNN_ia64_finish_dynamic_symbol): Likewise.
1049 (elfNN_ia64_finish_dynamic_sections): Likewise.
1050
be3e406d
UW
10512009-06-16 Ulrich Weigand <uweigand@de.ibm.com>
1052
1053 * elf32-spu.c (needs_ovl_stub): Respect .brinfo lrlive bits
1054 also for calls.
1055
6de2ae4a
L
10562009-06-16 H.J. Lu <hongjiu.lu@intel.com>
1057
1058 * configure.in (elf): Add elf-ifunc.lo.
1059
1060 * configure: Regenerated.
1061 * Makefile.in: Likewise.
1062
1063 * elf-bfd.h (elf_link_hash_table): Add sgot, sgotplt,
1064 srelgot, splt, srelplt, igotplt, iplt, irelplt and irelifunc.
1065
1066 * elf32-i386.c (elf_i386_link_hash_table): Remove sgot,
1067 sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and
1068 irelifunc.
1069 (elf_i386_link_hash_table_create): Likewise.
1070 (elf_i386_create_dynamic_sections): Likewise.
1071 (elf_i386_check_relocs): Likewise.
1072 (elf_i386_allocate_dynrelocs): Likewise.
1073 (elf_i386_size_dynamic_sections): Likewise.
1074 (elf_i386_relocate_section): Likewise.
1075 (elf_i386_finish_dynamic_symbol): Likewise.
1076 (elf_i386_finish_dynamic_sections): Likewise.
1077 (elf_i386_create_got_section): Removed.
1078
1079 * elf64-x86-64.c (elf64_x86_64_link_hash_table): Remove sgot,
1080 sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and
1081 irelifunc.
1082 (elf64_x86_64_compute_jump_table_size): Updated.
1083 (elf64_x86_64_link_hash_table_create): Likewise.
1084 (elf64_x86_64_create_dynamic_sections): Likewise.
1085 (elf64_x86_64_check_relocs): Likewise.
1086 (elf64_x86_64_allocate_dynrelocs): Likewise.
1087 (elf64_x86_64_size_dynamic_sections): Likewise.
1088 (elf64_x86_64_relocate_section): Likewise.
1089 (elf64_x86_64_finish_dynamic_symbol): Likewise.
1090 (elf64_x86_64_finish_dynamic_sections): Likewise.
1091 (elf64_x86_64_create_got_section): Removed.
1092
1093 * elflink.c (_bfd_elf_create_got_section): Use log_file_align
1094 for pointer alignment. Set up section pointers.
1095 (_bfd_elf_create_dynamic_sections): Likewise.
1096 (_bfd_elf_create_ifunc_sections): Moved to ...
1097 * elf-ifunc.c: Here. New.
1098
1099 * Makefile.am (BFD32_BACKENDS): Add elf-ifunc.lo.
1100 (BFD32_BACKENDS_CFILES): Add elf-ifunc.c.
1101 Run "make dep-am".
1102
81694485
NC
11032009-06-16 Doug Kwan <dougkwan@google.com>
1104
6de2ae4a
L
1105 * elf32-arm.c (cortex_a8_erratum_scan): Change type of offset
1106 to bfd_signed_vma. Cast constant operands which are used in
1107 offset related expressions to bfd_signed_vma type as appropriate.
81694485 1108
6db7e006
MR
11092009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1110
1111 * elf32-vax.c (elf_vax_plt_sym_val): New function.
1112 (elf_backend_plt_sym_val): Define.
1113
9b90d8fd
MR
11142009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1115
1116 * elf32-vax.c (elf_vax_reloc_type_class): New function.
1117 (elf_backend_reloc_type_class): Define.
1118
04981bc1
MR
11192009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1120
1121 * elf32-vax.c (elf_vax_relocate_section): For symbol references
1122 from an executable to a shared library treat R_VAX_PC32
1123 relocations as R_VAX_PLT32 ones.
1124
886815b2
MR
11252009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1126
1127 * elf32-vax.c (elf_vax_instantiate_got_entries): Skip local
1128 symbols in GOT space calculation.
1129 (elf_vax_relocate_section): Adjust accordingly.
1130
6c4fb25a
MR
11312009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1132
1133 * elf32-vax.c (elf_vax_plt_entry): Set the entry mask to
1134 include <R11:R2>.
1135
7b6021f1
MR
11362009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1137
1138 * elf32-vax.c (elf_vax_check_relocs): Handle the visibility
1139 attribute.
1140 (elf_vax_relocate_section): Likewise.
1141
188dbb07
L
11422009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1143
1144 * elf32-i386.c (elf_i386_allocate_dynrelocs): Update comments.
1145 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
1146
048cbda4
L
11472009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1148
1149 * elf32-i386.c (elf_i386_check_relocs): Reformat.
1150 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1151
482c6ce9
L
11522009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1153
1154 * Makefile.am: Run "make dep-am".
1155 * Makefile.in: Regenerated.
1156
eba077f2
L
11572009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1158
1159 * elf32-i386.c (elf_i386_allocate_dynrelocs): Fix a typo.
1160 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
1161
ec68b083
NC
11622009-06-15 Nick Clifton <nickc@redhat.com>
1163
1164 * po/ru.po: New Russian translation.
1165 * configure.in (ALL_LINGUAS): Add ru.
1166 * configure: Regenerate.
1167
b80ee1aa
L
11682009-06-14 H.J. Lu <hongjiu.lu@intel.com>
1169
1170 * elf32-i386.c: Remove duplicated comments.
1171
44c4ea11
L
11722009-06-14 H.J. Lu <hongjiu.lu@intel.com>
1173
1174 PR ld/10270
1175 * elf32-i386.c (elf_i386_allocate_dynrelocs): Disallow
1176 dynamic IFUNC pointer in non-shared object. Use .got.plt
1177 for IFUNC definition in PIE.
1178 (elf_i386_allocate_dynrelocs): Resolve IFUNC definition in
1179 PIE locally.
1180
1181 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Disallow
1182 dynamic IFUNC pointer in non-shared object. Use .got.plt
1183 for IFUNC definition in PIE.
1184 (elf64_x86_64_relocate_section): Resolve IFUNC definition in
1185 PIE locally.
1186
8b7e2992
L
11872009-06-13 H.J. Lu <hongjiu.lu@intel.com>
1188
1189 * elf32-i386.c (elf_i386_check_relocs): Properly report
1190 local symbol for unhandled relocation against STT_GNU_IFUNC
1191 symbol.
637fa7af 1192 (elf_i386_relocate_section): Likewise.
8b7e2992 1193 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
637fa7af 1194 (elf64_x86_64_relocate_section): Likewise.
8b7e2992 1195
c25bc9fc
L
11962009-06-13 H.J. Lu <hongjiu.lu@intel.com>
1197
1198 PR ld/10269
1199 * elf32-i386.c: Include "objalloc.h" and "hashtab.h".
1200 (elf_i386_link_hash_table): Add loc_hash_table and
1201 loc_hash_memory.
1202 (elf_i386_local_hash): New.
1203 (elf_i386_local_htab_hash): Likewise.
1204 (elf_i386_local_htab_eq): Likewise.
1205 (elf_i386_get_local_sym_hash): Likewise.
1206 (elf_i386_link_hash_table_free): Likewise.
1207 (elf_i386_allocate_local_dynrelocs): Likewise.
1208 (elf_i386_finish_local_dynamic_symbol): Likewise.
1209 (bfd_elf64_bfd_link_hash_table_free): Likewise.
1210 (elf_i386_link_hash_table_create): Create loc_hash_table and
1211 loc_hash_memory.
1212 (elf_i386_check_relocs): Handle local STT_GNU_IFUNC symbols.
1213 (elf_i386_size_dynamic_sections): Likewise.
1214 (elf_i386_relocate_section): Likewise.
1215 (elf_i386_finish_dynamic_sections): Likewise.
1216 (elf_i386_finish_dynamic_symbol): Check _DYNAMIC only if sym
1217 isn't NULL.
1218
1219 * elf64-x86-64.c: Include "objalloc.h" and "hashtab.h".
1220 (elf64_x86_64_link_hash_table): Add loc_hash_table and
1221 loc_hash_memory.
1222 (elf64_x86_64_local_hash): New.
1223 (elf64_x86_64_local_htab_hash): Likewise.
1224 (elf64_x86_64_local_htab_eq): Likewise.
1225 (elf64_x86_64_get_local_sym_hash): Likewise.
1226 (elf64_x86_64_link_hash_table_free): Likewise.
1227 (elf64_x86_64_allocate_local_dynrelocs): Likewise.
1228 (elf64_x86_64_finish_local_dynamic_symbol): Likewise.
1229 (bfd_elf64_bfd_link_hash_table_free): Likewise.
1230 (elf64_x86_64_link_hash_table_create): Create loc_hash_table
1231 and loc_hash_memory.
1232 (elf64_x86_64_check_relocs): Handle local STT_GNU_IFUNC
1233 symbols.
1234 (elf64_x86_64_size_dynamic_sections): Likewise.
1235 (elf64_x86_64_relocate_section): Likewise.
1236 (elf64_x86_64_finish_dynamic_sections): Likewise.
1237 (elf64_x86_64_finish_dynamic_symbol): Check _DYNAMIC only if
1238 sym isn't NULL.
1239
dec9d5df
PB
12402009-06-10 Philip Blundell <philb@gnu.org>
1241
1242 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Avoid crash if
1243 elf_sec->this_hdr == NULL.
1244
92bc0e80
TG
12452009-06-12 Tristan Gingold <gingold@adacore.com>
1246
1247 * reloc.c: Add BFD_RELOC_MACH_O_SECTDIFF and BFD_RELOC_MACH_O_PAIR.
1248 * bfd-in2.h: Regenerated.
1249 * libbfd.h: Regenerated.
1250
1251 * mach-o.c (FILE_ALIGN): New macro.
1252 (bfd_mach_o_canonicalize_symtab): Adjust for bfd_mach_o_asymbol.
1253 (bfd_mach_o_print_symbol): Ditto.
1254 (bfd_mach_o_scan_write_thread): Adjust type of variable offset.
1255 (bfd_mach_o_get_reloc_upper_bound): New function.
1256 (bfd_mach_o_canonicalize_reloc): Ditto.
1257 (bfd_mach_o_scan_write_relocs): Ditto.
1258 (bfd_mach_o_scan_write_section_32): Remove offset argument.
1259 (bfd_mach_o_scan_write_section_64): Ditto.
1260 (bfd_mach_o_scan_write_segment_32): Write relocs. Fix size of data
1261 written for load command. Do not compute section file offset.
1262 (bfd_mach_o_scan_write_segment_64): Ditto.
1263 (bfd_mach_o_scan_write_symtab): Compute file offset first.
1264 Adjust for bfd_mach_o_asymbol. Move code to convert from BFD to
1265 Mach-O to ...
1266 (bfd_mach_o_mangle_symbols): ... this new function.
046b007d 1267 (bfd_mach_o_write_contents): Be sure to have load commands built.
92bc0e80
TG
1268 Call bfd_mach_o_mangle_symbols.
1269 (bfd_mach_o_build_commands): Adjust for filelen field.
1270 Use FILE_ALIGN macro. Clear section file offset if section is empty.
1271 Do not set symtab file offset anymore here.
1272 (bfd_mach_o_make_empty_symbol): Allocate a bfd_mach_o_asymbol.
1273 (bfd_mach_o_make_bfd_section): Set SEC_RELOC if has reloc.
1274 Set reloc_count and rel_filepos section fields.
1275 (bfd_mach_o_scan_read_section_32): Type of argument offset is now
1276 unsigned int.
1277 (bfd_mach_o_scan_read_section_64): Ditto.
1278 (bfd_mach_o_scan_read_section): Ditto.
1279 (bfd_mach_o_scan_read_symtab_symbol): Typr of argument s is now
1280 bfd_mach_o_asymbol. Use unsigned int for file offset type.
1281 (bfd_mach_o_scan_read_symtab_symbol): Adjust for bfd_mach_o_asymbol.
1282 Handle weak-ref symbols.
1283 (bfd_mach_o_scan_read_symtab_symbols): Adjust for bfd_mach_o_asymbol.
1284 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
1285 (bfd_mach_o_scan): Remove assignment to removed field.
1286 (bfd_mach_o_mkobject_init): Ditto.
1287 (bfd_mach_o_bfd_print_private_bfd_data): Adjust printf formatter.
1288 (bfd_mach_o_bfd_reloc_type_lookup): New macro.
1289 (bfd_mach_o_bfd_reloc_name_lookup): Ditto.
1290 (bfd_mach_o_swap_reloc_in): Ditto.
1291 (bfd_mach_o_swap_reloc_out): Ditto.
1292
1293 * mach-o.h (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_NON_LAZY)
1294 (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_LAZY)
1295 (BFD_MACH_O_REFERENCE_FLAG_DEFINED)
1296 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_DEFINED)
1297 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY)
1298 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY)
1299 (BFD_MACH_O_REFERENCED_DYNAMICALLY, BFD_MACH_O_N_DESC_DISCARDED)
1300 (BFD_MACH_O_N_NO_DEAD_STRIP, BFD_MACH_O_N_WEAK_REF)
1301 (BFD_MACH_O_N_WEAK_DEF): New macros.
1302 Add comments.
1303 (bfd_mach_o_section_type): Add new enumeration values.
1304 (BFD_MACH_O_S_SELF_MODIFYING_CODE)
1305 (BFD_MACH_O_S_ATTR_LIVE_SUPPORT)
1306 (BFD_MACH_O_S_ATTR_NO_DEAD_STRIP)
1307 (BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS, BFD_MACH_O_S_ATTR_NO_TOC): New
1308 macros.
1309 (BFD_MACH_O_GENERIC_RELOC_VANILLA)
1310 (BFD_MACH_O_GENERIC_RELOC_PAIR)
1311 (BFD_MACH_O_GENERIC_RELOC_SECTDIFF)
1312 (BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR)
1313 (BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF): Ditto.
1314 (BFD_MACH_O_RELENT_SIZE): Ditto.
1315 (BFD_MACH_O_R_PCREL, BFD_MACH_O_GET_R_LENGTH)
1316 (BFD_MACH_O_R_EXTERN, BFD_MACH_O_GET_R_TYPE)
1317 (BFD_MACH_O_GET_R_SYMBOLNUM, BFD_MACH_O_SET_R_LENGTH)
1318 (BFD_MACH_O_SET_R_TYPE, BFD_MACH_O_SET_R_SYMBOLNUM): Ditto.
1319 (BFD_MACH_O_SR_SCATTERED, BFD_MACH_O_SR_PCREL)
1320 (BFD_MACH_O_GET_SR_LENGTH, BFD_MACH_O_GET_SR_TYPE)
1321 (BFD_MACH_O_GET_SR_ADDRESS, BFD_MACH_O_SET_SR_LENGTH)
1322 (BFD_MACH_O_SET_SR_TYPE, BFD_MACH_O_SET_SR_ADDRESS): Ditto.
1323 (bfd_mach_o_reloc_info): New struct.
1324 (bfd_mach_o_asymbol): New struct.
1325 (bfd_mach_o_symtab_command): The symbols field is now of type
1326 bfd_mach_o_asymbol.
1327 (bfd_mach_o_load_command): The offset and len fields are now of type
1328 unsigned int.
1329 (mach_o_data_struct): Remove symbols, nsymbols and ibfd fields.
1330 Add a filelen field. Add comments.
1331 (bfd_mach_o_backend_data): New struct.
1332 (bfd_mach_o_get_backend_data): New macro.
1333 (bfd_mach_o_scan_read_symtab_symbol): Parameter symbol now of type
1334 bfd_mach_o_asymbol.
1335 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
1336 (bfd_mach_o_get_reloc_upper_bound): New prototype.
1337 (bfd_mach_o_canonicalize_reloc): Ditto.
1338
1339 * mach-o-target.c (bfd_mach_o_bfd_is_local_label_name): Remove
1340 duplicated macro. Now defined to _bfd_generic_is_local_label.
1341 (TARGET_NAME_BACKEND): New macro...
1342 (TARGET_NAME_BACKEND): ... used to name a new variable.
1343 (TARGET_NAME): Define relocs table using bfd_mach_o, reference
1344 Mach-O backend data.
1345
1346 * mach-o-i386.c (i386_howto_table): New variable.
1347 (bfd_mach_o_i386_swap_reloc_in): New function.
1348 (bfd_mach_o_i386_swap_reloc_out): Ditto.
1349 (bfd_mach_o_i386_bfd_reloc_type_lookup): Ditto.
1350 (bfd_mach_o_i386_bfd_reloc_name_lookup): Ditto.
1351 (bfd_mach_o_swap_reloc_in, bfd_mach_o_swap_reloc_out): New macros.
1352 (bfd_mach_o_bfd_reloc_type_lookup)
1353 (bfd_mach_o_bfd_reloc_name_lookup): Ditto.
1354
8c7d38e8
NC
13552009-06-11 Eric Paris <eparis@redhat.com>
1356 Nick Clifton <nickc@redhat.com>
1357
1358 * opncls.c (_maybe_make_executable): New function. Gives execute
1359 permission to an executable bfd that was opened for writing
1360 provided that it is a regular file. Replaces common code found in...
1361 (bfd_close): here and ...
1362 (bfd_close_all_done): here.
1363
f865a31d
AG
13642009-06-11 Anthony Green <green@moxielogic.com>
1365
1366 * reloc.c: Add BFD_RELOC_MOXIE_10_PCREL.
1367 * bfd-in2.h: Rebuilt.
1368 * libbfd.h: Rebuilt.
1369 * elf32-moxie.c (moxie_elf_howto_table): Add R_MOXIE_PCREL10
1370 relocation support.
1371 (moxie_reloc_map): Ditto.
1372 Clean up copyright notice.
1373
25b88f33
PP
13742009-06-10 Paul Pluzhnikov <ppluzhnikov@google.com>
1375
1372b818 1376 * bfd-in2.h: bfd_mmap prototype.
25b88f33
PP
1377 * bfdio.c (bfd_mmap): New function.
1378 * libbfd.h (bfd_iovec): Add bmmap.
1372b818 1379 * cache.c (cache_bmmap): New function.
25b88f33
PP
1380 (cache_iovec): Initialize bmmap member.
1381 * opencls.c (opncls_bmmap): New function.
1382 (opncls_iovec): Initialize bmmap member.
1383
c2f09c75
TG
13842009-06-09 Tristan Gingold <gingold@adacore.com>
1385
1386 * mach-o.h (bfd_mach_o_symtab_command): Remove stabs_segment
1387 and stabstr_segment fields.
1388 (mach_o_be_vec, mach_o_le_vec): Removed
1389 (bfd_mach_o_version): New prototype.
1390
1391 * mach-o.c (bfd_mach_o_version): Make this function public.
1392 (mach_o_wide_p): New function.
1393 (bfd_mach_o_wide_p): Ditto.
1394 (bfd_mach_o_convert_section_name_to_bfd): Add prefix only for
1395 weird names.
1396 (bfd_mach_o_convert_section_name_to_mach_o): Fix typo in comment.
1397 Search in the list only if the name starts with a dot.
1398 (bfd_mach_o_write_header): Use mach_o_wide_p instead of hard-coded
1399 test. Check bfd_seek status.
1400 (bfd_mach_o_scan_write_thread): Check bfd_seek status.
1401 (bfd_mach_o_scan_write_section_32): Ditto.
1402 (bfd_mach_o_scan_write_section_64): Ditto.
1403 (bfd_mach_o_scan_write_section): Removed.
1404 (bfd_mach_o_scan_write_segment): Split into ...
1405 (bfd_mach_o_scan_write_segment_32): ... this and ...
1406 (bfd_mach_o_scan_write_segment_64): ... this. Check bfd_seek status.
1407 (bfd_mach_o_scan_write_symtab_symbols): Moved into ...
1408 (bfd_mach_o_scan_write_symtab): ... this. Write symtab from BFD
1409 symbol table. Now returns a boolean.
1410 (bfd_mach_o_write_contents): Set filetype. Check bfd_seek status.
1411 Adjust for status type.
1412 (bfd_mach_o_build_commands): Use mach_o_wide_p instead of hard-coded
1413 test. Write symbol table. Numbers the sections.
1414 (bfd_mach_o_read_header): Check bfd_seek status.
1415 Use mach_o_wide_p instead of hard-coded test.
1416 (bfd_mach_o_scan_read_section_32): Check bfd_seek status.
1417 (bfd_mach_o_scan_read_section_64): Ditto.
1418 (bfd_mach_o_scan_read_symtab_symbol): Ditto. Check bfd_seek status.
1419 Use BFD_MACH_O_N_TYPE instead of hard-coded value. Correctly
1420 handled common symbols.
1421 (bfd_mach_o_scan_read_symtab_strtab): Check bfd_seek status.
1422 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
1423 (bfd_mach_o_scan_read_dylinker): Ditto.
1424 (bfd_mach_o_scan_read_dylib): Ditto.
1425 (bfd_mach_o_scan_read_thread): Ditto.
1426 (bfd_mach_o_scan_read_symtab): Ditto.
1427 Do not create a section for the stabs.
1428 (bfd_mach_o_scan_read_uuid): Check bfd_seek status.
1429 (bfd_mach_o_scan_read_segment): Ditto.
1430 (bfd_mach_o_scan_read_command): Ditto.
1431 (bfd_mach_o_scan_start_address): Ditto.
1432 (bfd_mach_o_scan): Use mach_o_wide_p instead of hard-coded test.
1433 (bfd_mach_o_archive_p): Check bfd_seek status.
1434 (bfd_mach_o_core_fetch_environment): Ditto.
1435
1436 * mach-o-i386.c (bfd_mach_o_i386_mkobject): Don't set filetype.
1437
2a81c24a
L
14382009-06-06 H.J. Lu <hongjiu.lu@intel.com>
1439
1440 * elf32-i386.c (elf_i386_link_hash_table): Add irelifunc.
1441 (elf_i386_link_hash_table_create): Initialize irelifunc.
1442 (elf_i386_check_relocs): Updated. Set up irelifunc for
1443 shared objects.
1444 (elf_i386_allocate_dynrelocs): Use irelifunc for dynamic
1445 relocation for non-GOT reference of STT_GNU_IFUNC symbol in
1446 shared objects.
1447 (elf_i386_relocate_section): Likewise.
1448
1449 * elf64-x86-64.c (elf64_x86_64_link_hash_table): Add irelifunc.
1450 (elf64_x86_64_link_hash_table_create): Initialize irelifunc.
1451 (elf64_x86_64_check_relocs): Updated. Set up irelifunc for
1452 shared objects.
1453 (elf64_x86_64_allocate_dynrelocs): Use irelifunc for dynamic
1454 relocation for non-GOT reference of STT_GNU_IFUNC symbol in
1455 shared objects.
1456 (elf64_x86_64_relocate_section): Likewise.
1457
1458 * elf-bfd.h (_bfd_elf_create_static_ifunc_sections): Renamed to
1459 ...
1460 (_bfd_elf_create_ifunc_sections): This.
1461
c2f09c75 1462 * elflink.c (_bfd_elf_create_static_ifunc_sections): Renamed to
2a81c24a
L
1463 ...
1464 (_bfd_elf_create_ifunc_sections): This. Create .rel[a].ifunc
1465 for shared objects.
1466
710ab287
L
14672009-06-06 H.J. Lu <hongjiu.lu@intel.com>
1468
1469 * elf32-i386.c (elf_i386_check_relocs): Make room for dynamic
1470 relocation for R_386_32 against STT_GNU_IFUNC symbol when
1471 building shared object. Check info->executable instead of
1472 !info->shared when setting non_got_ref.
1473 (elf_i386_allocate_dynrelocs): Allocate dynamic relocation
1474 for non-GOT reference of STT_GNU_IFUNC symbol in shared
1475 object. Allocate GOT relocation agsinst STT_GNU_IFUNC
1476 symbol if needed.
1477 (elf_i386_relocate_section): Output dynamic relocation for
1478 R_386_32 against STT_GNU_IFUNC symbol to get the real
1479 function address when building shared object.
1480 (elf_i386_finish_dynamic_symbol): Output R_386_GLOB_DAT
1481 relocation for STT_GNU_IFUNC symbol in shared object.
1482
1483 * elf64-x86-64.c (elf64_x86_64_check_relocs): Make room for
1484 dynamic relocation for R_X86_64_64 against STT_GNU_IFUNC
1485 symbol when building shared object. Check info->executable
1486 instead of !info->shared when setting non_got_ref.
1487 (elf64_x86_64_allocate_dynrelocs): Allocate dynamic relocation
1488 for non-GOT reference of STT_GNU_IFUNC symbol in shared
1489 library. Allocate GOT relocation agsinst STT_GNU_IFUNC symbol
1490 if needed.
1491 (elf64_x86_64_relocate_section): Output dynamic relocation
1492 for R_X86_64_64 against STT_GNU_IFUNC symbol to get the real
1493 function address when building shared object.
1494 (elf64_x86_64_finish_dynamic_symbol): Output R_X86_64_GLOB_DAT
1495 relocation for STT_GNU_IFUNC symbol in shared object.
1496
9e93c730
JK
14972009-06-06 Jan Kratochvil <jan.kratochvil@redhat.com>
1498
1499 * Makefile.am: Run "make dep-am".
1500 (BFD32_BACKENDS): Add mach-o-i386.lo.
1501 (BFD32_BACKENDS_CFILES): Add mach-o-i386.c.
1502 * Makefile.in: Regenerate.
1503
74681fc4
AM
15042009-06-06 Alan Modra <amodra@bigpond.net.au>
1505
1506 * elf32-spu.c (spu_elf_relocate_section): Match overlay number
1507 when looking for soft-icache stubs.
1508
154a1ee5
TG
15092009-06-05 Tristan Gingold <gingold@adacore.com>
1510
1511 * mach-o.h: Update copyright year.
1512 (bfd_mach_o_mach_header_magic): New enum.
1513 (bfd_mach_o_cpu_subtype): Now an enum.
1514 (BFD_MACH_O_HEADER_SIZE, BFD_MACH_O_HEADER_64_SIZE): New macros.
1515 (BFD_MACH_O_SECTION_SIZE, BFD_MACH_O_SECTION_64_SIZE): Ditto.
1516 (BFD_MACH_O_LC_SEGMENT_SIZE, BFD_MACH_O_LC_SEGMENT_64_SIZE): Ditto.
1517 (bfd_mach_o_load_command): Field type_required is now a boolean.
1518 Reindent prototypes.
1519 (bfd_mach_o_object_p, bfd_mach_o_core_p): Remove.
1520 (bfd_mach_o_bfd_copy_private_symbol_data): Add a prototype.
1521 (bfd_mach_o_bfd_copy_private_section_data): Ditto.
1522 (bfd_mach_o_bfd_copy_private_bfd_data): Ditto.
1523 (bfd_mach_o_get_symtab_upper_bound): Ditto.
1524 (bfd_mach_o_canonicalize_symtab): Ditto.
1525 (bfd_mach_o_get_symbol_info): Ditto.
1526 (bfd_mach_o_print_symbol): Ditto.
1527 (bfd_mach_o_bfd_print_private_bfd_data): Ditto.
1528 (bfd_mach_o_make_empty_symbol): Ditto.
1529 (bfd_mach_o_write_contents): Ditto.
1530
1531 * mach-o.c (bfd_mach_o_object_p, bfd_mach_o_core_p,
1532 bfd_mach_o_mkobject): Defines.
1533 (bfd_mach_o_valid): Returns FALSE/TRUE instead of 0/1.
1534 Do not check with target vector but with flavour.
1535 (struct mach_o_section_name_xlat): New declaration.
1536 (dwarf_section_names_xlat): Ditto.
1537 (text_section_names_xlat): Ditto.
1538 (data_section_names_xlat): Ditto.
1539 (struct mach_o_segment_name_xlat): Ditto.
1540 (segsec_names_xlat): Ditto.
1541 (bfd_mach_o_convert_section_name_to_bfd): New function.
1542 (bfd_mach_o_convert_section_name_to_mach_o): Ditto.
1543 (bfd_mach_o_bfd_copy_private_symbol_data): Make it public.
1544 (bfd_mach_o_bfd_copy_private_section_data): Ditto.
1545 (bfd_mach_o_bfd_copy_private_bfd_data): Ditto.
1546 Accept any input and output flavour. Do not share private data
1547 anymore.
1548 (bfd_mach_o_count_symbols): Add a comment.
1549 (bfd_mach_o_get_symtab_upper_bound): Make it public.
1550 (bfd_mach_o_canonicalize_symtab): Ditto.
1551 (bfd_mach_o_get_symbol_info): Ditto.
1552 (bfd_mach_o_print_symbol): Ditto.
1553 (bfd_mach_o_write_header): Now returns a boolean instead of an int.
1554 Use constants instead of hard-coded values.
1555 (bfd_mach_o_scan_write_section_32): Use constants instead of hard-coded
1556 values.
1557 (bfd_mach_o_scan_write_section_64): Ditto.
1558 (bfd_mach_o_scan_write_segment): Ditto.
1559 Do not copy sections anymore.
1560 (bfd_mach_o_write_contents): Make it public.
1561 Remove dead code. Rewrite typeflag assignment.
1562 (bfd_mach_o_build_commands): New function.
1563 (bfd_mach_o_set_section_contents): Ditto.
1564 (bfd_mach_o_make_empty_symbol): Make it public.
1565 (bfd_mach_o_read_header): Make it static.
1566 Convert to bfd_boolean.
1567 Use constants instead of hard-coded values.
1568 (bfd_mach_o_make_bfd_section): Call
1569 bfd_mach_o_convert_section_name_to_bfd to create name.
1570 (bfd_mach_o_scan_read_section_32): Use constants instead of hard-coded
1571 values.
1572 (bfd_mach_o_scan_read_section_64): Ditto.
1573 (bfd_mach_o_scan_read_segment): Do not create a bfd section for
1574 a segment anymore. Use constants instead of hard-coded values.
1575 (bfd_mach_o_scan_read_command): Fix style.
1576 (bfd_mach_o_scan): Use constants instead of hard-coded values.
1577 Get rid of BFD_IO_FUNCS.
1578 (bfd_mach_o_mkobject_init): Renamed from bfd_mach_o_mkobject.
1579 (bfd_mach_o_header_p): Created from bfd_mach_o_object_p.
1580 (bfd_mach_o_gen_object_p): New function, replaces bfd_mach_o_object_p.
1581 (bfd_mach_o_object_p): Removed.
1582 (bfd_mach_o_gen_core_p): New function, replaces ...
1583 (bfd_mach_o_core_p): ... deleted.
1584 (bfd_mach_o_bfd_print_private_bfd_data): Make it public.
1585
1586 * mach-o-i386.c: New file.
1587 * config.bfd: Use mach_o_i386_vec as targ_defvec for ix86-darwin.
1588 * configure.in (TDEFINES): Add mach_o_i386_vec.
1589 * configure: Regenerated.
1590 * targets.c: Add mach_o_i386_vec.
1591
1592 * mach-o.c: Update copyright years.
1593 (BFD_IO_FUNCS): Remove (was not used).
1594 (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr, bfd_mach_o_slurp_armap
1595 bfd_mach_o_slurp_extended_name_table,
1596 bfd_mach_o_construct_extended_name_table,
1597 bfd_mach_o_truncate_arname, bfd_mach_o_write_armap,
1598 bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt,
1599 bfd_mach_o_update_armap_timestamp, bfd_mach_o_close_and_cleanup,
1600 bfd_mach_o_bfd_free_cached_info, bfd_mach_o_new_section_hook,
1601 bfd_mach_o_get_section_contents_in_window,
1602 bfd_mach_o_bfd_is_local_label_name,
1603 bfd_mach_o_bfd_is_target_special_symbol,
1604 bfd_mach_o_bfd_is_local_label_name, bfd_mach_o_get_lineno,
1605 bfd_mach_o_find_nearest_line, bfd_mach_o_find_inliner_info,
1606 bfd_mach_o_bfd_make_debug_symbol, bfd_mach_o_read_minisymbols,
1607 bfd_mach_o_minisymbol_to_symbol,
1608 bfd_mach_o_bfd_get_relocated_section_contents,
1609 bfd_mach_o_bfd_relax_section, bfd_mach_o_bfd_link_hash_table_create,
1610 bfd_mach_o_bfd_link_hash_table_free, bfd_mach_o_bfd_link_add_symbols,
1611 bfd_mach_o_bfd_link_just_syms, bfd_mach_o_bfd_final_link,
1612 bfd_mach_o_bfd_link_split_section, bfd_mach_o_set_arch_mach,
1613 bfd_mach_o_bfd_merge_private_bfd_data,
1614 bfd_mach_o_bfd_set_private_flags, bfd_mach_o_get_section_contents,
1615 bfd_mach_o_bfd_gc_sections, bfd_mach_o_bfd_merge_sections,
1616 bfd_mach_o_bfd_is_group_section, bfd_mach_o_bfd_discard_group,
1617 bfd_mach_o_section_already_linked, bfd_mach_o_bfd_define_common_symbol,
1618 bfd_mach_o_bfd_copy_private_header_data,
1619 bfd_mach_o_core_file_matches_executable_p): Move these defines ...
1620 * mach-o-target.c: ... here.
1621 Update copyright years.
1622
a1ef399e
AM
16232009-06-04 Alan Modra <amodra@bigpond.net.au>
1624
1625 * dep-in.sed: Don't use \n in replacement part of s command.
1626 * Makefile.am (DEP1): LC_ALL for uniq.
1627 Run "make dep-am".
1628 * Makefile.in: Regenerate.
1629
2e75bb35
L
16302009-06-03 H.J. Lu <hongjiu.lu@intel.com>
1631
1632 * elf32-i386.c (elf_i386_allocate_dynrelocs): Remove check of
1633 h->plt.refcount > 0 on STT_GNU_IFUNC symbol.
1634 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
1635
0018b0a3
L
16362009-06-03 H.J. Lu <hongjiu.lu@intel.com>
1637
1638 * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate
1639 GOT entry for STT_GNU_IFUNC symbol with pointer equality.
1640 (elf_i386_relocate_section): Adjust R_386_GOT32 relocation
1641 against STT_GNU_IFUNC symbols for static executables.
1642 (elf_i386_finish_dynamic_symbol): Load GOT entry with
1643 PLT entry for STT_GNU_IFUNC symbol with pointer equality.
1644
1645 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Allocate
1646 GOT entry for STT_GNU_IFUNC symbol with pointer equality.
1647 (elf64_x86_64_finish_dynamic_symbol): Load GOT entry with
1648 PLT entry for STT_GNU_IFUNC symbol with pointer equality.
1649
94313f36
RS
16502009-06-02 Richard Sandiford <r.sandiford@uk.ibm.com>
1651
1652 * coff-rs6000.c (xcoff_ppc_relocate_section): Allow undefined
1653 symbols to be left unimported when linking statically.
1654 * xcofflink.c (xcoff_link_add_symbols): Ignore global linkage
1655 code when linking statically.
1656
7afd84dc
L
16572009-06-02 H.J. Lu <hongjiu.lu@intel.com>
1658
1659 * elf32-i386.c (elf_i386_check_relocs): Increment
1660 got.refcount for R_386_GOT32/R_386_GOTOFF relocations
1661 against STT_GNU_IFUNC symbol.
1662 (elf_i386_allocate_dynrelocs): Set got.refcount to 0 if
1663 local STT_GNU_IFUNC definition is used.
1664 (elf_i386_relocate_section): Handle got.offset != -1 for
1665 R_386_GOT32/R_386_GOTOFF relocations against STT_GNU_IFUNC
1666 symbol.
1667
1668 * elf64-x86-64.c (elf64_x86_64_check_relocs): Increment
1669 got.refcount for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64
1670 relocations against STT_GNU_IFUNC symbol.
1671 (elf64_x86_64_allocate_dynrelocs): Set got.refcount to 0 if
1672 local STT_GNU_IFUNC definition is used.
1673 (elf64_x86_64_relocate_section): Handle got.offset != -1
1674 for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64 relocations against
1675 STT_GNU_IFUNC symbol.
1676
cbe950e9
L
16772009-06-01 H.J. Lu <hongjiu.lu@intel.com>
1678
1679 PR ld/10205
1680 * elf32-i386.c (elf_howto_table): Add R_386_IRELATIVE.
1681 (elf_i386_reloc_type_lookup): Likewise.
1682 (R_386_tls): Removed.
1683 (R_386_irelative): New.
1684 (R_386_vt_offset): Updated.
1685 (elf_i386_rtype_to_howto): Likewise.
1686 (elf_i386_link_hash_table): Add igotplt, iplt and irelplt.
1687 (elf_i386_link_hash_table_create): Initialize igotplt,
1688 iplt and irelplt.
1689 (elf_i386_check_relocs): Handle STT_GNU_IFUNC symbol first.
1690 (elf_i386_adjust_dynamic_symbol): Likewise.
1691 (elf_i386_allocate_dynrelocs): Likewise.
1692 (elf_i386_relocate_section): Likewise.
1693 (elf_i386_size_dynamic_sections): Set up .iplt and .igot.plt
1694 sections.
1695 (elf_i386_finish_dynamic_symbol): When building a static
1696 executable, use .iplt, .igot.plt and .rel.iplt sections for
1697 STT_GNU_IFUNC symbols. Generate R_386_IRELATIVE relocation for
1698 locally defined STT_GNU_IFUNC symbol.
1699
1700 * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_IRELATIVE.
1701 (x86_64_reloc_map): Likewise.
1702 (R_X86_64_standard): Updated.
1703 (elf64_x86_64_link_hash_table): Add igotplt, iplt and irelplt.
1704 (elf64_x86_64_link_hash_table_create): Initialize igotplt,
1705 iplt and irelplt.
1706 (elf64_x86_64_check_relocs): Handle STT_GNU_IFUNC symbol first.
1707 (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1708 (elf64_x86_64_allocate_dynrelocs): Likewise.
1709 (elf64_x86_64_relocate_section): Likewise.
1710 (elf64_x86_64_size_dynamic_sections): Set up .iplt and .igot.plt
1711 sections.
1712 (elf64_x86_64_finish_dynamic_symbol): When building a static
1713 executable, use .iplt, .igot.plt and .rela.iplt sections for
1714 STT_GNU_IFUNC symbols. Generate R_X86_64_IRELATIVE relocation
1715 for locally defined STT_GNU_IFUNC symbol.
1716
1717 * reloc.c (BFD_RELOC_386_IRELATIVE): New.
1718 (BFD_RELOC_X86_64_IRELATIVE): Likewise.
1719
1720 * bfd-in2.h: Regenerated.
1721 * libbfd.h: Likewise.
1722
3aa14d16
L
17232009-06-01 H.J. Lu <hongjiu.lu@intel.com>
1724
1725 * elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs.
1726 (_bfd_elf_make_ifunc_reloc_section): Removed.
1727 (_bfd_elf_is_ifunc_symbol): Likewise.
1728 (_bfd_elf_create_static_ifunc_sections): New.
1729
1730 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Move STT_GNU_IFUNC
1731 symbol check to ...
1732 (elf_link_add_object_symbols): Here.
1733 (_bfd_elf_link_hash_hide_symbol): Don't clean plt on
1734 STT_GNU_IFUNC symbol.
1735 (elf_link_output_extsym): Call elf_backend_finish_dynamic_symbol
1736 if a STT_GNU_IFUNC symbol is referenced in a non-shared object.
1737 (IFUNC_INFIX): Removed.
1738 (get_ifunc_reloc_section_name): Likewise.
1739 (_bfd_elf_make_ifunc_reloc_section): Likewise.
1740 (_bfd_elf_is_ifunc_symbol): Likewise.
1741 (_bfd_elf_create_static_ifunc_sections): New.
1742
eb4ff4d6
L
17432009-05-29 H.J. Lu <hongjiu.lu@intel.com>
1744
1745 * elf32-i386.c (link_hash_newfunc): Add elf_i386_ prefix.
1746 (create_got_section): Likewise.
1747 (allocate_dynrelocs): Likewise.
1748 (readonly_dynrelocs): Likewise.
1749 (set_tls_module_base): Likewise.
1750 (dtpoff_base): Likewise.
1751 (tpoff): Likewise.
1752 (elf_i386_link_hash_table_create): Updated.
1753 (elf_i386_create_dynamic_sections): Likewise.
1754 (elf_i386_check_relocs): Likewise.
1755 (elf_i386_size_dynamic_sections): Likewise.
1756 (elf_i386_relocate_section): Likewise.
1757
1758 * elf64-x86-64.c (link_hash_newfunc): Add elf64_x86_64_ prefix.
1759 (create_got_section): Likewise.
1760 (allocate_dynrelocs): Likewise.
1761 (readonly_dynrelocs): Likewise.
1762 (set_tls_module_base): Likewise.
1763 (dtpoff_base): Likewise.
1764 (tpoff): Likewise.
1765 (elf64_x86_64_link_hash_table_create): Updated.
1766 (elf64_x86_64_create_dynamic_sections): Likewise.
1767 (elf64_x86_64_check_relocs): Likewise.
1768 (elf64_x86_64_size_dynamic_sections): Likewise.
1769 (elf64_x86_64_relocate_section): Likewise.
1770
fc579192
NC
17712009-05-28 Nick Clifton <nickc@redhat.com>
1772
1773 * targets.c (_bfd_target_vector): Only include plugin target in
1774 all-targets build if BFD_SUPPORTS_PLUGINS is non-zero.
1775
5ebe2858
UW
17762009-05-28 Ulrich Weigand <uweigand@de.ibm.com>
1777
1778 * elf32-spu.c (struct call_info): New member broken_cycle.
1779 (remove_cycle): Instead of physically removing call_info structures
1780 to break call graph cycles, mark them using the broken_cycle flag.
1781 (mark_overlay_section): Respect broken_cycle flag.
1782 (unmark_overlay_section): Likewise.
1783 (collect_lib_sections): Likewise.
1784 (collect_overlays): Likewise.
1785 (sum_stack): Likewise.
1786
34ad4cb0
UW
17872009-05-28 Ulrich Weigand <uweigand@de.ibm.com>
1788
1789 * elf32-spu.c (insert_callee): Accumulate incoming callee->count.
1790 (mark_functions_via_relocs): Initialize callee->count to 1.
1791 (pasted_function): Likewise.
1792 (spu_elf_auto_overlay): Honor call counts when determining number
1793 of stubs required in software i-cache mode.
1794
fc579192
NC
17952009-05-27 Rafael Avila de Espindola <espindola@google.com>
1796
1797 * plugin.c (program_name): Remove.
1798 (plugin_program_name): New.
1799 (bfd_plugin_set_program_name): New.
1800 (try_load_plugin): Use plugin_program_name.
1801 * plugin.h (bfd_plugin_set_program_name): New.
1802
18032009-05-27 Rafael Avila de Espindola <espindola@google.com>
5691d22d
NC
1804
1805 * aclocal.m4: Include ../config/plugins.m4.
1806 * configure.in: Use AC_PLUGINS.
1807 * configure: Regenerate.
1808 * Makefile.in: Regenerate.
1809 * doc/Makefile.in: Regenerate.
1810
c8a1f254
NS
18112009-05-27 Nathan Sidwell <nathan@codesourcery.com>
1812
1813 * elf32-ppc.c (ppc_elf_relax_section): Work with a partial
1814 link.
1815 * bout.c (b_out_bfd_relax_section): Reject relocatable links.
1816 * elf32-m10300.c (mn10300_elf_relax_section): Likewise.
1817 * elf32-avr.c (elf32_avr_relax_section): Likewise.
1818 * elf32-frv.c (elf32_avr_relax_section): Likewise.
1819 * elf32-xtensa.c (elf_xtensa_relax_section): Likewise.
1820 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
1821 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
1822 * elfxx-sparc.c (_bfd_sparc_elf_relax_section): Likewise.
1823 * reloc.c (bfd_generic_relax_section): Likewise.
1824 * reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
1825 * vms.c (vms_bfd_relax_section): Likewise.
1826
68d7e96a
L
18272009-05-26 H.J. Lu <hongjiu.lu@intel.com>
1828
1829 * elf-bfd.h (_bfd_elf_is_ifunc_symbol): New.
1830
1831 * elf32-i386.c (is_indirect_symbol): Renamed to ...
1832 * elflink.c (_bfd_elf_is_ifunc_symbol): This.
1833
1834 * elf32-i386.c (allocate_dynrelocs): Updated.
1835 (elf_i386_relocate_section): Likewise.
1836 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
1837 (elf64_x86_64_relocate_section): Likewise.
1838
1839 * elf64-x86-64.c (is_indirect_symbol): Removed.
1840
f12e7348
NC
18412009-05-26 Nick Clifton <nickc@redhat.com>
1842
1843 * po/id.po: Updated Indonesian translation.
1844
ce3c775b
NC
18452009-05-26 Rafael Avila de Espindola <espindola@google.com>
1846
1847 * Makefile.am: Run "make dep-am".
1848 (AM_CPPFLAGS): New.
1849 (LIBDL): New.
1850 (ALL_MACHINES): Add cpu-plugin.lo.
1851 (ALL_MACHINES_CFILES): Add cpu-plugin.c.
1852 (BFD32_BACKENDS): Add plugin.lo.
1853 (BFD32_BACKENDS_CFILES): Add plugin.c.
1854 (libbfd_la_LIBADD): Add LIBDL
1855 * archures.c (bfd_architecture): Add bfd_arch_plugin.
1856 (bfd_plugin_arch): Declare.
1857 * bfd-in.h (BFD_SUPPORTS_PLUGINS): New.
1858 * bfd.c (bfd): Add plugin_data.
1859 * config.bfd: Handle the plugin target.
1860 * configure.in: Check for --enable-plugins.
1861 (LT_INIT): Use the dlopen option.
1862 * cpu-plugin.c: New.
1863 * plugin.c: New.
1864 * plugin.h: New.
1865 * targets.c (plugin_vec): Declare.
1866 (_bfd_target_vector): Add plugin_vec.
1867 * Makefile.in: Regenerate.
1868 * bfd-in2.h: Regenerate.
1869 * configure: Regenerate.
1870
9e097a72
AM
18712009-05-26 Alan Modra <amodra@bigpond.net.au>
1872
1873 * dep-in.sed: Don't modify .o to .lo here. Output one filename
1874 per line with all lines having continuation backslash. Prefix
1875 first line with "A", following lines with "B".
1876 * Makefile.am (DEP): Don't use dep.sed here.
1877 (DEP1): Run $MKDEP on single files, modify .o to .lo here. Use
1878 dep.sed here on dependencies, sort and uniq.
1879 * Makefile.in: Regenerate.
1880
d5acff2f
TG
18812009-05-25 Tristan Gingold <gingold@adacore.com>
1882
1883 * makefile.vms: Add verilog.obj to object list OBJS.
1884
5c93f09b
AM
18852009-05-24 Alan Modra <amodra@bigpond.net.au>
1886
1887 * bfdio.c (bfd_seek): Formatting. Ensure newly allocated memory
1888 for BFD_IN_MEMORY is cleared.
1889 (bfd_bwrite): Zero excess memory allocated.
1890
48229727
JB
18912009-05-22 Julian Brown <julian@codesourcery.com>
1892
1893 * elf32-arm.c (THUMB16_BCOND_INSN, THUMB32_INSN, THUMB32_B_INSN): New
1894 macros.
1895 (elf32_arm_stub_a8_veneer_b_cond, elf32_arm_stub_a8_veneer_b)
1896 (elf32_arm_stub_a8_veneer_blx): New stub sequences.
1897 (elf32_arm_stub_type): Add arm_stub_a8_veneer_b_cond,
1898 arm_stub_a8_veneer_b and arm_stub_a8_veneer_blx.
1899 (elf32_arm_stub_hash_entry): Add target_addend, orig_insn fields.
1900 (a8_erratum_fix, a8_erratum_reloc): New structs.
1901 (elf32_arm_link_hash_table): Add a8_erratum_fixes,
1902 num_a8_erratum_fixes, fix_cortex_a8 fields.
1903 (elf32_arm_link_hash_table_create): Zero fix_cortex_a8.
1904 (elf32_arm_add_stub): Split into two parts, creating...
1905 (elf32_arm_create_or_find_stub_sec): New function.
1906 (elf32_arm_final_link_relocate): Add forward declaration.
1907 (arm_build_one_stub): Add support for THUMB32_TYPE, Thumb-2
1908 relocations, multiple relocations per stub.
1909 (find_stub_size_and_template): New (using parts of arm_size_one_stub).
1910 (arm_size_one_stub): Use find_stub_size_and_template.
1911 (a8_reloc_compare): New.
1912 (find_thumb_glue): Add forward declaration.
1913 (cortex_a8_erratum_scan): New.
1914 (elf32_arm_size_stubs): Add Cortex-A8 erratum workaround support.
1915 (bfd_elf32_arm_set_cortex_a8_fix): New.
1916 (bfd_elf32_arm_set_target_relocs): Add fix_cortex_a8 argument.
1917 (arm_map_one_stub): Add THUMB32_TYPE support.
1918 (a8_branch_to_stub_data): New.
1919 (make_branch_to_a8_stub): New.
1920 (elf32_arm_write_section): Add Cortex-A8 erratum workaround support.
1921 * bfd-in.h (bfd_elf32_arm_set_cortex_a8_fix): New.
1922 (bfd_elf32_arm_set_target_relocs): Add argument for controlling
1923 Cortex-A8 erratum workaround.
1924 * bfd-in2.h: Regenerate.
1925
2b3decb5
AM
19262009-05-22 Alan Modra <amodra@bigpond.net.au>
1927
1928 * Makefile.am: Run "make dep-am".
1929 * Makefile.in: Regenerate.
1930 * po/SRC-POTFILES.in: Regenerate.
1931
930e005c
AM
19322009-05-21 Alan Modra <amodra@bigpond.net.au>
1933
1934 * elflink.c (elf_link_input_bfd): Correct *pindex change in last
1935 commit.
1936
6e0b88f1
AM
19372009-05-21 Alan Modra <amodra@bigpond.net.au>
1938
1939 * elf-bfd.h (struct elf_backend_data
1940 <elf_backend_link_output_symbol_hook>): Return an int.
1941 * elf64-ppc.c (ppc64_elf_output_symbol_hook): Return 2 to drop
1942 symbols on deleted .opd entries.
1943 * elflink.c (elf_link_output_sym): Return without outputting sym
1944 if output_symbol_hook returns 2.
1945 (elf_link_output_extsym): Don't assign h->indx when symbol discarded.
1946 Abort if we must not discard sym.
1947 (elf_link_input_bfd): Similarly, don't set finfo->indices for
1948 local syms.
1949 (bfd_elf_final_link): Adjust elf_link_output_sym calls.
1950 * elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Adjust for
1951 elf_backend_link_output_symbol_hook return type change.
1952 * elf32-arm.c (output_arch_syminfo): Likewise.
1953 (elf32_arm_output_map_sym, elf32_arm_output_stub_sym): Likewise.
1954 (elf32_arm_output_arch_local_syms): Likewise.
1955 * elf32-cr16c.c (elf32_cr16c_link_output_symbol_hook): Likewise.
1956 * elf32-score.c (s3_bfd_score_elf_link_output_symbol_hook): Likewise.
1957 (bfd_score_elf_link_output_symbol_hook): Likewise.
1958 * elf32-score.h (s7_bfd_score_elf_link_output_symbol_hook): Likewise.
1959 * elf32-score7.c (s7_bfd_score_elf_link_output_symbol_hook): Likewise.
1960 * elf32-sh64.c (sh64_elf_link_output_symbol_hook): Likewise.
1961 * elf32-spu.c (spu_elf_output_symbol_hook): Likewise.
1962 * elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
1963 * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
1964 * elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
1965 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
1966 * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
1967 * elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
1968 * elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
1969
5ef11c02
AM
19702009-05-21 Alan Modra <amodra@bigpond.net.au>
1971
1972 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't segfault on
1973 out of range .opd symbols.
1974
ebf12fbe
DK
19752009-05-21 Dave Korn <dave.korn.cygwin@gmail.com>
1976
1977 * coffgen.c (coff_print_symbol): Use bfd_fprintf_vma, not
1978 fprintf_vma directly.
1979 * peXXigen.c (pe_print_edata): Likewise.
1980 (pe_print_pdata): Likewise.
1981 (_bfd_XX_print_ce_compressed_pdata): Likewise.
1982 (_bfd_XX_print_private_bfd_data_common): Likewise.
1983
c1711530
DK
19842009-05-19 Dave Korn <dave.korn.cygwin@gmail.com>
1985
1986 * cofflink.c (process_embedded_commands): Ignore "-aligncomm".
1987
22a8f80e 19882009-05-15 Andrew Stubbs <ams@codesourcery.com>
164e7efc 1989 Paul Brook <paul@codesourcery.com>
22a8f80e
PB
1990
1991 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Don't attempt to
1992 fix discarded sections.
1993
335bd8f2
UW
19942009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
1995
1996 * elf32-spu.c (mark_overlay_section): Move .init and .fini
1997 sections into the software icache.
1998
cdc83fba
UW
19992009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2000
2001 * elf32-spu.c (build_stub): Always build "compact" sofware
2002 i-cache stubs.
2003
97fc8d84
UW
20042009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2005
2006 * elf32-spu.c (struct spu_link_hash_table): Add fromelem_size_log2.
2007 (spu_elf_setup): Initialize it.
2008 (spu_elf_size_stubs): Move .ovtab into .bss for software i-cache.
2009 Update to new-sytle cache manager data structures.
2010 (spu_elf_build_stubs): Generate new-style cache manager data
2011 structures and symbols.
2012 (spu_elf_auto_overlay): Update size computation.
2013
452de53c
UW
20142009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2015
2016 * elf32-spu.c (spu_elf_modify_segment_map): Move all PF_OVERLAY
2017 segments first amongst the program headers.
2018
d342a8b1
UW
20192009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2020
2021 * elf32-spu.c (spu_elf_relocate_section): Only encode overlay index
2022 into addresses for relocation types that look at high bits. Remove
2023 special handling of relocation overflow warnings.
2024
cc210763
UW
20252009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2026
2027 * elf32-spu.c (mark_functions_via_relocs): Handle cycles in the
2028 control flow graph between fragments of a function.
2029
c1ea05bb
UW
20302009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2031
2032 * elf32-spu.c (spu_elf_size_stubs): Even in software i-cache mode,
2033 generate only a 16-byte .toe section.
2034 (spu_elf_build_stubs, spu_elf_auto_overlay): Likewise.
2035
bbb0fc04
AM
20362009-05-14 Alan Modra <amodra@bigpond.net.au>
2037
2038 * elf32-spu.c (spu_elf_size_stubs): Split out section placement to..
2039 (spu_elf_place_overlay_data): ..here. New function.
2040 * elf32-spu.h (spu_elf_place_overlay_data): Declare.
2041
6e6718a3
AJ
20422009-05-13 Andrew Jenner <andrew@codesourcery.com>
2043
2044 * elf32-arm.c: Move sysdep.h to start of file.
2045
77ae44b0
AM
20462009-05-11 Ulrich Weigand <uweigand@de.ibm.com>
2047
2048 * elf32-spu.c (spu_elf_find_overlays): Don't use .ovl.init lma as
2049 start of overlays.
2050 (spu_elf_build_stubs): Don't define __icache_tagbase. Define
2051 __icache_tag_array and __icache_tag_array_size.
2052
51408ec2
AM
20532009-05-11 Masaki Muranaka <monaka@monami-software.com>
2054
2055 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Remove unnecessary
2056 ATTRIBUTE_UNUSED.
2057 (bfinfdpic_link_omit_section_dynsym): Likewise.
2058 (elf32_bfinfdpic_finish_dynamic_sections): Likewise.
2059
2468f9c9
PB
20602009-05-05 Paul Brook <paul@codesourcery.com>
2061
2062 * bfd-in.h (elf32_arm_fix_exidx_coverage): Add prototype.
2063 * bfd-in2.h: Regenerate.
2064 * elf32-arm.c (arm_unwind_edit_type, arm_unwind_table_edit): Define.
2065 (_arm_elf_section_data): Add text and exidx fields.
2066 (add_unwind_table_edit, get_arm_elf_section_data, adjust_exidx_size,
2067 insert_cantunwind_after, elf32_arm_fix_exidx_coverage, offset_prel31,
2068 copy_exidx_entry): New functions.
2069 (elf32_arm_write_section): Fixup .ARM.exidx contents.
2070
738a79f6
CL
20712009-05-05 Christophe lyon <christophe.lyon@st.com>
2072
2073 * elf32-arm.c (DEF_STUBS): New helper define.
2074 (DEF_STUB): Likewise.
2075 (stub_def): New type.
2076 (stub_definitions): New array, containing stub template pointers
2077 and sizes.
2078 (arm_size_one_stub): Make use of stub_definitions.
2079
09e2aba4
DK
20802009-05-04 Dave Korn <dave.korn.cygwin@gmail.com>
2081
2082 * elflink.c (find_version_for_sym): Remove from here, ...
2083 * linker.c (bfd_find_version_for_sym): ... rename, replace
2084 here, make public and update all callers.
2085 * bfd-in2.h: Regenerate.
2086
d8045f23
NC
20872009-04-30 Nick Clifton <nickc@redhat.com>
2088
2089 * elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs
2090 section pointer.
2091 (struct elf_obj_data): Add has_ifunc_symbols boolean.
2092 * elf.c (swap_out_syms): Convert BSF_GNU_INDIRECT_FUNCTION flags
2093 into a STT_GNU_IFUNC symbol type.
2094 (_bfd_elf_is_function_type): Accept STT_GNU_IFUNC as a function
2095 type.
2096 (_bfd_elf_set_osabi): Set the osasbi field to ELFOSABI_LINUX if
2097 the binary contains ifunc symbols.
2098 * elfcode.h (elf_slurp_symbol_table): Translate the STT_GNU_IFUNC
2099 symbol type into a BSF_GNU_INDIRECT_FUNCTION flag.
2100 * elf32-i386.c (is_indirect_function): New function.
2101 (elf_i386_check_relocs): Create an ifunc output section.
2102 (allocate_dynrelocs): Create dynamic relocs in the ifunc output
2103 section if necessary.
2104 (elf_i386_relocate_section): Emit a reloc against an ifunc symbol
2105 if necessary.
2106 (elf_i386_add_symbol_hook): New function. Set the
2107 has_ifunc_symbols field of the elf_obj_data structure if an ifunc
2108 symbol is encountered.
2109 (elf_backend_post_process_headers): Define.
2110 (elf_backend_add_symbol_hook): Define.
2111 (elf_i386_post_process_headers): Rename to
2112 elf_i388_fbsd_post_process_headers.
2113 * elf64-x86_64.c (IS_X86_64_PCREL_TYPE): New macro.
2114 (is_indirect_function): New function.
2115 (elf64_x86_64_check_relocs): Create an ifunc output section.
2116 (allocate_dynrelocs): Create dynamic relocs in the ifunc output
2117 section if necessary.
2118 (elf64_x86_64_relocate_section): Emit a reloc against an ifunc
2119 symbol if necessary.
2120 (elf_i386_add_symbol_hook): Set the has_ifunc_symbols field of the
2121 elf_obj_data structure if an ifunc symbol is encountered.
2122 (elf_backend_post_process_headers): Define.
2123 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Always create a PLT
2124 if we have ifunc symbols to handle.
2125 (get_ifunc_reloc_section_name): New function. Computes the name
2126 for an ifunc section.
2127 (_bfd_elf_make_ifunc_reloc_section): New function. Creates a
2128 section to hold ifunc relocs.
2129 * syms.c (BSF_GNU_INDIRECT_FUNCTION): Define.
2130 (bfd_print_symbol_vandf): Handle ifunc symbols.
2131 (bfd_decode_symclass): Likewise.
2132 * bfd-in2.h: Regenerate.
2133
96c23d59
JM
21342009-04-30 Joseph Myers <joseph@codesourcery.com>
2135
2136 * elf32-arm.c (elf32_arm_check_relocs): Give errors for absolute
2137 MOVW and MOVT relocations in a shared library link.
2138
c067354b
NC
21392009-04-27 Anthony Green <green@moxielogic.com>
2140
2141 * verilog.c: New file.
2142 * Makefile.am (BFD32_LIBS): Add verilog.c.
2143 (BFD32_LIBS_CFILES): Add verilog.c.
2144 (verilog.lo): New build rule.
2145 * Makefile.in: Rebuilt.
2146 * targets.c: Add verilog support.
2147 * bfd.c (tdata union): Add Verilog private data field.
2148 * bfd-in2.h: Regenerate.
2149
325c681d
L
21502009-04-27 H.J. Lu <hongjiu.lu@intel.com>
2151
2152 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
2153 copy pe_opthdr.
2154
ba775898
DK
21552009-04-23 Matthias Klose <doko@ubuntu.com>
2156
2e28a5fc 2157 * peXXigen.c (_bfd_XXi_swap_sym_in): Initialize `name'.
ba775898 2158
155d87d7
CL
21592009-04-22 Christophe Lyon <christophe.lyon@st.com>
2160
2161 PR9743
2162 * elf32-arm.c (arm_type_of_stub): Handle R_ARM_THM_JUMP24,
2163 R_ARM_JUMP24 and R_ARM_PLT32 relocations.
2164 (elf32_arm_size_stubs): Likewise.
2165 (record_thumb_to_arm_glue): Deleted unused function.
2166 (bfd_elf32_arm_process_before_allocation): No longer handle
2167 R_ARM_THM_JUMP24, R_ARM_JUMP24 and R_ARM_PLT32 relocations here.
2168 (elf32_arm_final_link_relocate): Handle R_ARM_THM_JUMP24,
2169 R_ARM_JUMP24 and R_ARM_PLT32 relocations.
2170
3e6b1042
DJ
21712009-04-21 Daniel Jacobowitz <dan@codesourcery.com>
2172
2173 * elf32-arm.c (INTERWORK_FLAG): Check BFD_LINKER_CREATED.
2174 (elf32_arm_write_section): Declare early.
2175 (elf32_arm_size_stubs): Skip non-stub sections in the stub BFD.
2176 (arm_allocate_glue_section_space): Exclude empty sections.
2177 (ARM_GLUE_SECTION_FLAGS): Add SEC_LINKER_CREATED.
2178 (bfd_elf32_arm_add_glue_sections_to_bfd): Do not skip the stub
2179 BFD.
2180 (elf32_arm_output_glue_section, elf32_arm_final_link): New.
2181 (elf32_arm_merge_eabi_attributes): Skip the stub BFD.
2182 (elf32_arm_size_dynamic_sections): Allocate interworking
2183 sections here.
2184 (bfd_elf32_bfd_final_link): Define.
2185
4f360784
L
21862009-04-21 H.J. Lu <hongjiu.lu@intel.com>
2187
2188 * coff-ia64.c (COFF_PAGE_SIZE): Changed to 8K.
154a1ee5 2189
4f360784
L
2190 * coffcode.h (coff_compute_section_file_positions): Clear
2191 D_PAGED if PE section alignment is smaller than COFF_PAGE_SIZE.
2192
2193 * libcoff-in.h (pe_tdata): Remove force_minimum_alignment and
2194 force_minimum_alignment.
2195
2196 * libcoff.h: Regenerated.
2197
2198 * pei-ia64.c (PEI_TARGET_SUBSYSTEM): Removed.
2199 (PEI_FORCE_MINIMUM_ALIGNMENT): Likewise.
2200
2201 * peicode.h (pe_mkobject): Don't set force_minimum_alignment
2202 nor target_subsystem.
2203
2204 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't check
2205 force_minimum_alignment nor target_subsystem.
2206
e48570bb
DK
22072009-04-21 Kai Tietz <kai.tietz@onevision.com>
2208
2209 * coff-x86_64.c (PEI_HEADERS): Protect includes.
2210 (bfd_pe_print_pdata): Remove #ifdef PE variation.
2211 * pei-x86_64.c (PEI_HEADERS): Define to prevent double
2212 include in coff-x86_64.c of headers.
2213 (PDATA_ROW_SIZE): New define.
2214 (pex_regs[]): New static array.
2215 (pex64_get_runtime_function): New static function.
2216 (pex64_get_unwind_info): Likewise.
2217 (pex64_get_scope_entry): Likewise.
2218 (pex64_xdata_print_uwd_codes): Likewise.
2219 (pex64_get_section_by_rva): Likewise.
2220 (pex64_dump_xdata): Likewise.
2221 (pex64_bfd_print_pdata): Likewise.
2222 (bfd_pe_print_pdata): Define as pex64_bfd_print_pdata.
2223 * peXXigen.c (_bfd_pex64_print_pdata): Removed implementation.
2224 * libpei.h (_bfd_pex64_print_pdata): Removed declaration.
2225
383c383f 22262009-04-19 Peter O'Gorman <binutils@mlists.thewrittenword.com>
4f360784
L
2227 Alan Modra <amodra@bigpond.net.au>
2228 Dave Korn <dave.korn.cygwin@gmail.com>
383c383f
AM
2229
2230 * peXXigen.c (_bfd_XXi_swap_sym_in): Fix name handling w.r.t
2231 long names and non-NUL-terminated strings.
2232
b6b450f1
L
22332009-04-17 H.J. Lu <hongjiu.lu@intel.com>
2234
2235 * bfd-in2.h: Regenerated.
2236
d9118602
L
22372009-04-17 H.J. Lu <hongjiu.lu@intel.com>
2238
2239 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Replace
2240 IMAGE_SUBSYSTEM_EFI_ROM with IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER.
2241
92dd4511
L
22422009-04-17 H.J. Lu <hongjiu.lu@intel.com>
2243
2244 PR binutils/10074
2245 * coffcode.h (bfd_pei_p): New.
2246
2247 * config.bfd: Remove bfd_efi_bsdrv_ia32_vec,
2248 bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,
2249 bfd_efi_rtdrv_x86_64_vec, bfd_efi_bsdrv_ia64_vec and
2250 bfd_efi_rtdrv_ia64_vec. Replace bfd_efi_app_ia32_vec,
2251 bfd_efi_app_x86_64_vec and bfd_efi_app_ia64_vec with
2252 i386pei_vec, x86_64pei_vec and bfd_pei_ia64_vec, respectively.
2253
2254 * configure.in: Remove bfd_efi_bsdrv_ia32_vec,
2255 bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,
2256 bfd_efi_rtdrv_x86_64_vec,
2257 bfd_efi_bsdrv_ia64_vec and bfd_efi_rtdrv_ia64_vec. Replace
2258 bfd_efi_ia64_vec with bfd_pei_ia64_vec.
2259 * targets.c: Likewise.
2260
2261 * configure: Regenerated.
2262 * libcoff.h: Likewise.
2263 * Makefile.in: Likewise.
2264
2265 * efi-app-ia32.c: Removed.
2266 * efi-app-x86_64.c: Likewise.
2267 * efi-bsdrv-ia32.c: Likewise.
2268 * efi-bsdrv-ia64.c: Likewise.
2269 * efi-bsdrv-x86_64.c: Likewise.
2270 * efi-rtdrv-ia32.c: Likewise.
2271 * efi-rtdrv-ia64.c: Likewise.
2272 * efi-rtdrv-x86_64.c: Likewise.
2273 * efi-rtdrv-ia32.c: Likewise.
2274
2275 * efi-app-ia64.c: Moved to ...
2276 * pei-ia64.c: This.
2277 (TARGET_SYM): Set to bfd_pei_ia64_vec.
2278 (TARGET_NAME): Set to pei-ia64.
2279
2280 * libpei.h (bfd_target_pei_p): Removed.
2281 (bfd_target_pei_arch): Likewise.
2282 (bfd_target_efi_app_p): Likewise.
2283 (bfd_target_efi_app_arch): Likewise.
2284 (bfd_target_efi_bsdrv_p): Likewise.
2285 (bfd_target_efi_bsdrv_arch): Likewise.
2286 (bfd_target_efi_rtdrv_p): Likewise.
2287 (bfd_target_efi_rtdrv_arch): Likewise.
2288 (bfd_pe_executable_p): Likewise.
2289
2290 * Makefile.am (BFD32_BACKENDS): Remove efi-app-ia32.lo,
2291 efi-bsdrv-ia32.lo and efi-rtdrv-ia32.lo.
2292 (BFD32_BACKENDS_CFILES): Remove efi-app-ia32.c, efi-bsdrv-ia32.c
2293 and efi-rtdrv-ia32.c.
2294 (BFD64_BACKENDS): Remove efi-app-ia64.lo, efi-bsdrv-ia64.lo,
2295 efi-rtdrv-ia64.lo, efi-app-x86_64.lo, efi-bsdrv-x86_64.lo and
2296 efi-rtdrv-x86_64.lo. Add pei-ia64.lo.
2297 (BFD64_BACKENDS_CFILES): Remove efi-app-ia64.c, efi-bsdrv-ia64.c,
2298 efi-rtdrv-ia64.c, efi-app-x86_64.c, efi-bsdrv-x86_64.c and
2299 efi-rtdrv-x86_64.c. Add pei-ia64.c.
2300 (efi-app-ia64.lo): Removed.
2301 (efi-bsdrv-ia32.lo): Likewise.
2302 (efi-rtdrv-ia32.lo): Likewise.
2303 (efi-app-ia64.lo): Likewise.
2304 (efi-bsdrv-ia64.lo): Likewise.
2305 (efi-rtdrv-ia64.lo): Likewise.
2306 (efi-app-x86_64.lo): Likewise.
2307 (efi-bsdrv-x86_64.lo): Likewise.
2308 (efi-rtdrv-x86_64.lo): Likewise.
2309 (pei-ia64.lo): New.
2310
2311 * peicode.h (coff_swap_scnhdr_in): Replace bfd_pe_executable_p
2312 with bfd_pei_p.
2313 (arch_type): Removed.
2314 (pe_arch): Likewise.
2315 (pe_bfd_object_p): Just return coff_object_p.
2316
2317 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Replace
2318 bfd_pe_executable_p with bfd_pei_p.
2319
69c5861e
CL
23202009-04-17 Christophe Lyon <christophe.lyon@st.com>
2321
2322 * elf32-arm.c (elf32_arm_size_stubs): Handle long branches through
2323 PLT entries to an undefined symbol when generating a shared
2324 library.
2325
e9cd0660
NC
23262009-04-17 Nick Clifton <nickc@redhat.com>
2327
2328 PR 9909
2329 * coffcode.h (handle_COMDAT): Allow for external COMDAT symbols.
2330
3023e3f6
RS
23312009-04-16 Richard Sandiford <r.sandiford@uk.ibm.com>
2332
2333 * aout-adobe.c (aout_32_bfd_define_common_symbol): Define.
2334 * aout-target.h (MY_bfd_define_common_symbol): Likewise.
2335 * aout-tic30.c (MY_bfd_define_common_symbol): Likewise.
2336 * binary.c (binary_bfd_define_common_symbol): Likewise.
2337 * bout.c (b_out_bfd_define_common_symbol): Likewise.
2338 * coff-alpha.c (_bfd_ecoff_bfd_define_common_symbol): Likewise.
2339 * coff-mips.c (_bfd_ecoff_bfd_define_common_symbol): Likewise.
2340 * coffcode.h (coff_bfd_define_common_symbol): Likewise.
2341 * elfxx-target.h (bfd_elfNN_bfd_define_common_symbol): Likewise.
2342 * i386msdos.c (msdos_bfd_define_common_symbol): Likewise.
2343 * i386os9k.c (os9k_bfd_define_common_symbol): Likewise.
2344 * ieee.c (ieee_bfd_define_common_symbol): Likewise.
2345 * ihex.c (ihex_bfd_define_common_symbol): Likewise.
2346 * libbfd-in.h (_bfd_nolink_bfd_define_common_symbol): Likewise.
2347 * mach-o.c (bfd_mach_o_bfd_define_common_symbol): Likewise.
2348 * mmo.c (mmo_bfd_define_common_symbol): Likewise.
2349 * nlm-target.h (nlm_bfd_define_common_symbol): Likewise.
2350 * oasys.c (oasys_bfd_define_common_symbol): Likewise.
2351 * pef.c (bfd_pef_bfd_define_common_symbol): Likewise.
2352 * ppcboot.c (ppcboot_bfd_define_common_symbol): Likewise.
2353 * som.c (som_bfd_define_common_symbol): Likewise.
2354 * srec.c (srec_bfd_define_common_symbol): Likewise.
2355 * tekhex.c (tekhex_bfd_define_common_symbol): Likewise.
2356 * versados.c (versados_bfd_define_common_symbol): Likewise.
2357 * vms.c (vms_bfd_define_common_symbol): Likewise.
2358 * xcoff-target.h (_bfd_xcoff_bfd_define_common_symbol): Likewise.
2359 * xsym.c (bfd_sym_bfd_define_common_symbol): Likewise.
2360 * coff-rs6000.c (rs6000coff_vec): Add _bfd_xcoff_define_common_symbol.
2361 (pmac_xcoff_vec): Likewise.
2362 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
2363 (aix5coff64_vec): Likewise.
2364 * linker.c (bfd_generic_define_common_symbol): New function.
2365 * targets.c (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_define_common_symbol.
2366 (_bfd_define_common_symbol): New field.
2367 * libcoff-in.h (_bfd_xcoff_define_common_symbol): Declare.
2368 * xcofflink.c (_bfd_xcoff_define_common_symbol): New function.
2369 (xcoff_build_ldsyms): Don't set XCOFF_DEF_REGULAR for common
2370 symbols here.
2371 * bfd-in2.h: Regenerate.
2372 * libbfd.h: Likewise.
2373 * libcoff.h: Likewise.
2374
20135e4c
NC
23752009-04-15 Anthony Green <green@moxielogic.com>
2376
2377 * targets.c: Add moxie support.
2378 * Makefile.am: Ditto.
2379 * Makefile.in: Rebuilt.
2380 * cpu-moxie.c, elf32-moxie.c: New files.
2381 * archures.c: Add moxie support.
2382 * configure.in: Add moxie support.
2383 * configure: Rebuilt.
2384 * config.bfd, archures.c: Add moxie support.
2385 * bfd-in2.h: Rebuilt.
2386
82b5c97a
CL
23872009-04-15 Christophe Lyon <christophe.lyon@st.com>
2388
2389 * elf32-arm.c (elf32_arm_final_link_relocate): Don't convert ARM
2390 branch to an undef weak symbol into a jump to next instruction if
2391 a PLT entry will be created.
2392
0408dee6
DK
23932009-04-14 Dave Korn <dave.korn.cygwin@gmail.com>
2394
2395 * coffgen.c (make_a_section_from_file): Set the backend long
2396 section names enable if long section names found on input.
2397 * coffcode.h: Extend long section names documentation to match.
2398
a0c402a5
L
23992009-04-08 H.J. Lu <hongjiu.lu@intel.com>
2400
2401 * elflink.c (elf_link_add_object_symbols): Warn alternate ELF
2402 machine code.
2403
4d28413b
DD
24042009-04-07 DJ Delorie <dj@redhat.com>
2405
2406 * archures.c: Add bfd_mach_mep_c5.
2407 * bfd-in2.h: Likewise.
2408 * cpu-mep.c: Add bfd_c5_arch.
2409 * elf32-mep.c: Support it.
2410
bb6198d2
L
24112009-04-07 H.J. Lu <hongjiu.lu@intel.com>
2412
2413 * elflink.c (_bfd_elf_section_already_linked): Add `\n' for
2414 info->callbacks->einfo.
2415 * linker.c (_bfd_generic_section_already_linked): Likewise.
2416
bcb012d3
DD
24172009-04-06 DJ Delorie <dj@redhat.com>
2418
2419 * elf32-h8300.c (elf32_h8_relax_section): Relax MOVA opcodes.
2420
db1fe6e9
L
24212009-04-06 H.J. Lu <hongjiu.lu@intel.com>
2422
2423 * coff-x86_64.c (bfd_pe_print_pdata): Defined to
2424 _bfd_pex64_print_pdata only if PE is defined.
2425
2426 * libpei.h (_bfd_pep_print_x64_pdata): Renamed to ...
2427 (_bfd_pex64_print_pdata): This.
2428
2429 * peXXigen.c (_bfd_pep_print_x64_pdata): Renamed to ...
2430 (_bfd_pex64_print_pdata): This. Defined only if COFF_WITH_pex64
2431 is defined.
2432
c7c7219d
KT
24332009-04-05 Kai Tietz <kai.tietz@onevision.com>
2434
2435 * coff-x86_64.c (bfd_pe_print_pdata): Define as
2436 _bfd_pep_print_x64_pdata.
2437 * libpei.h (_bfd_pep_print_x64_pdata): Add prototype.
2438 * peXXigen.c (_bfd_pep_print_x64_pdata): New.
2439
3df502ae
SA
24402009-04-02 Sterling Augustine <sterling@jaw.hq.tensilica.com>
2441
154a1ee5 2442 * elf32-xtensa.c (relax_property_section): Always set r_offset
3df502ae
SA
2443 to zero.
2444
d3626fb0
CL
24452009-04-02 Christophe Lyon <christophe.lyon@st.com>
2446
2447 * elf32-arm.c (elf32_arm_stub_long_branch_v4t_thumb_thumb,
2448 elf32_arm_stub_long_branch_v4t_thumb_thumb_pic): Two new long
2449 branch stubs.
2450 (elf32_arm_stub_type): New enum values for the two new stubs.
2451 (arm_type_of_stub): Make use of the two new stubs.
2452 (arm_size_one_stub): Handle the two new stubs.
2453
fe723c87
MT
24542009-04-01 Matt Thomas <matt@netbsd.org>
2455
2456 * elf32-vax.c (elf_vax_check_relocs): Do not put relocations against
2457 hidden symbols into the GOT or PLT.GOT.
154a1ee5 2458 (elf_vax_relocate_section): Do not emit a PCREL reloc
fe723c87
MT
2459 into a shared object if it is against a hidden symbol.
2460
ee698300
RS
24612009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
2462
2463 * xcofflink.c (xcoff_archive_info): Add contains_shared_object_p
2464 and know_contains_shared_object_p.
2465 (xcoff_archive_contains_shared_object_p): Add an "info" parameter.
2466 Cache the result in the archive_info table.
2467 (xcoff_auto_export_p): Add an "info" parameter and update the
2468 call to xcoff_archive_contains_shared_object_p.
2469 (xcoff_mark_auto_exports): Update accordingly.
2470 (xcoff_post_gc_symbol): Likewise.
2471
54e2dbe0
RS
24722009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
2473
2474 * xcofflink.c (bfd_link_input_bfd): Treat __rtinit as C_HIDEXT
2475 rather than C_EXT.
2476
2e470849
RS
24772009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
2478
2479 * coff-rs6000.c (member_layout): New structure.
2480 (archive_iterator): Likewise.
2481 (member_layout_init): New function.
2482 (archive_iterator_begin): Likewise.
2483 (archive_iterator_next): Likewise.
2484 (xcoff_write_armap_old): Use the new iterator functions.
2485 (do_shared_object_padding): Delete.
2486 (xcoff_write_armap_big): Use the new iterator functions. Simplify
2487 handling of arch_info.
2488 (xcoff_write_archive_contents_old): Allocate arelt_data in the
2489 first loop rather than the second. Allocate a member header if
2490 there isn't one, then work out the stat information and length
2491 in the first loop too. Use the new iterators for the second loop.
2492 (xcoff_write_archive_contents_big): Likewise.
2493
24c611d1
RS
24942009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
2495
2496 * bfd-in.h (bfd_xcoff_split_import_path): Declare.
2497 (bfd_xcoff_set_archive_import_path): Likewise.
2498 * bfd-in2.h: Regenerate.
2499 * xcofflink.c: Include libiberty.h.
2500 (xcoff_archive_info): New structure.
2501 (xcoff_archive_info_hash): New function.
2502 (xcoff_archive_info_eq): Likewise.
2503 (xcoff_get_archive_info): Likewise.
2504 (_bfd_xcoff_bfd_link_hash_table_create): Initialize archive_info.
2505 (bfd_xcoff_split_import_path): New function.
2506 (bfd_xcoff_set_archive_import_path): Likewise.
2507 (xcoff_set_import_path): Move earlier in file.
2508 (xcoff_link_add_dynamic_symbols): Set the import path of a non-archive
2509 object to the the directory part of the bfd's filename. Get the
2510 import path and filename of an archive object from the archive's
2511 xcoff_tdata, initializing it if necessary. Update use of
2512 import_file_id.
2513 (bfd_link_input_bfd): Update use of import_file_id.
2514 (xcoff_write_global_symbol): Likewise.
2515
d286971a
RS
25162009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
2517
2518 * xcofflink.c (xcoff_link_hash_table): Moved from include/coff/xcoff.h.
2519
25202009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
2521
2522 * xcofflink.c (xcoff_link_create_extra_sections): Don't create
2523 a .loader section for relocatable links.
2524 (xcoff_need_ldrel_p): New function.
2525 (xcoff_mark): Use it.
2526 (bfd_xcoff_link_count_reloc): Only count loader relocs if there's
2527 a loader section.
2528 (xcoff_build_ldsym): New function, split out from...
2529 (xcoff_build_ldsyms): ...here. Rename to...
2530 (xcoff_post_gc_symbol): ...this. Only export symbols, and only
2531 call xcoff_build_ldsym, if there's a loader section.
2532 (xcoff_build_loader_section): New function, extracted verbatim from...
2533 (bfd_xcoff_size_dynamic_sections): ...here. Only call it if
2534 there's a loader section. Only add an __rtinit loader symbol
2535 if there's a loader section. Update after above name change.
2536 (xcoff_symbol_section, xcoff_create_ldrel): New functions.
2537 (bfd_link_input_bfd): Use xcoff_need_ldrel_p, xcoff_symbol_section
2538 and xcoff_create_ldrel.
2539 (xcoff_write_global_symbol): Use xcoff_create_ldrel.
2540 (xcoff_reloc_link_order): Likewise, but only call it if there's
2541 a loader section. Use xcoff_symbol_section.
2542 (_bfd_xcoff_bfd_final_link): Only use fdinfo.ldrel and fdinfo.ldsym
2543 if there's a loader section.
2544
8707bb87
RS
25452009-04-01 Richard Sandiford <rdsandiford@googlemail.com>
2546
2547 * xcofflink.c (bfd_link_input_bfd): Fix buffer overrun.
2548
e780aef2
CL
25492009-04-01 Christophe Lyon <christophe.lyon@st.com>
2550
2551 * elf32-arm.c (group_sections): Rewrite loops for better
2552 readability.
2553
c301e700
DD
25542009-03-30 DJ Delorie <dj@redhat.com>
2555
2556 * elflink.c (elf_link_input_bfd): Don't try to resolve complex
2557 relocs when doing a relocatable link.
2558
3895f852
MM
25592009-03-28 Mark Mitchell <mark@codesourcery.com>
2560
2561 * coff-arm.c (coff_arm_merge_private_bfd_data): Use "error:", not
2562 "ERROR:", in error messages.
2563 * cpu-arm.c (bfd_arm_merge_machines): Likewise.
2564 * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
2565 * elf32-arm.c (tag_cpu_arch_combine): Likewise.
2566 (elf32_arm_merge_eabi_attributes): Likewise.
2567 (elf32_arm_merge_private_bfd_data): Likewise.
2568
ea882e87
NC
25692009-03-27 Nick Clifton <nickc@redhat.com>
2570
2571 * section.c (bfd_get_section_contents): Detect and handle the case
2572 where a section has the SEC_IN_MEMORY flag set but no actual
2573 contents allocated.
2574
9433b9b1
AM
25752009-03-26 Alan Modra <amodra@bigpond.net.au>
2576
2577 PR 6494
2578 * elf.c (copy_elf_program_header): Do not check that PT_GNU_RELRO
2579 p_filesz and p_memsz are equal. Use p_memsz as the segment size.
2580 (assign_file_positions_for_non_load_sections): Zap PT_GNU_RELRO
2581 if we don't find matching PT_LOAD when copying.
2582
dc1aa734
SR
25832009-03-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
2584
2585 * elf32-crx.c (crx_elf_howto_table): Zero the src_mask field of
2586 the reloc descriptions.
2587
34d3d6b9
HPN
25882009-03-25 Hans-Peter Nilsson <hp@axis.com>
2589
2590 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
2591 <R_CRIS_16_GOT_GD, case R_CRIS_32_GOT_GD>: Handle COMMON symbols.
2592 <case R_CRIS_16_TPREL, R_CRIS_32_TPREL>: Ditto.
2593
34274ccc
L
25942009-03-24 H.J. Lu <hongjiu.lu@intel.com>
2595
2596 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Make it static.
2597 (bfd_i386_arch_intel_syntax): Likewise.
2598 (i8086_arch): Likewise.
2599 (bfd_x86_64_arch): Likewise.
2600
019c5a2e
HPN
26012009-03-24 Hans-Peter Nilsson <hp@axis.com>
2602
6718f446
HPN
2603 * elf32-cris.c (cris_elf_relocate_section): <case
2604 R_CRIS_16_DTPREL, R_CRIS_32_DTPREL>: Allow use of non-local
2605 symbols for non-allocated sections. Don't check whether to
2606 generate R_CRIS_DTPMOD for non-allocated sections.
2607 (cris_elf_gc_sweep_hook) <case R_CRIS_32_DTPREL>: Don't
2608 handle relocation GC:ing if applied to non-allocated section.
2609 (cris_elf_check_relocs): Similar.
2610
019c5a2e
HPN
2611 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
2612 <R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: Don't include the TLS size
2613 when emitting a known TP offset in the GOT.
2614
ffcfec52
AM
26152009-03-23 Alan Modra <amodra@bigpond.net.au>
2616
2617 * elf64-ppc.c (synthetic_opd): Delete.
2618 (compare_symbols): Look for .opd name rather than section match.
2619 (ppc64_elf_get_synthetic_symtab): Likewise.
2620
c6dd29ce
AM
26212009-03-21 Alan Modra <amodra@bigpond.net.au>
2622
2623 * elf32-ppc.c (is_pic_glink_stub): Delete.
2624 (is_nonpic_glink_stub): New function.
2625 (ppc_elf_get_synthetic_symtab): Check for last non-pic stub rather
2626 than first pic one.
2627 (struct ppc_elf_link_hash_table <glink_pltresolve>): Comment fix.
2628
8c21ca21
AK
26292009-03-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
2630 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2631
2632 * elf32-s390.c (elf_s390_check_relocs): Use the SYMBOL_*
4f360784 2633 macros for visibilty and locality checks.
8c21ca21
AK
2634 (elf_s390_adjust_dynamic_symbol): Likewise.
2635 (allocate_dynrelocs): Likewise.
2636 (elf_s390_relocate_section): Likewise.
2637 (elf_s390_finish_dynamic_symbol): Likewise.
2638 * elf64-s390.c (elf_s390_check_relocs): Likewise.
2639 (elf_s390_adjust_dynamic_symbol): Likewise.
2640 (allocate_dynrelocs): Likewise.
2641 (elf_s390_relocate_section): Likewise.
2642 (elf_s390_finish_dynamic_symbol): Likewise.
2643
156621f3
KT
26442009-03-19 Kai Tietz <kai.tietz@onevision.com>
2645
2646 * bfd-in2.h: Regenerated.
2647 * coffcode.h (sec_to_styp_flags): For pe-coff add SEC_READONLY
2648 for debugging sections and map memory read/write dependent on
2649 SEC_COFF_NOREAD.
2650 (styp_to_sec_flags): Set SEC_COFF_NOREAD for sections
2651 without memory read flags set.
2652 * section.c: Add SEC_COFF_NOREAD to section flags.
2653
d1fa68d3
AS
26542009-03-19 Andreas Schwab <schwab@linux-m68k.org>
2655
2656 * elf32-hppa.c (final_link_relocate): Cast bfd_vma values to long
2657 for format string.
2658
ad2adbc8
AM
26592009-03-19 Alan Modra <amodra@bigpond.net.au>
2660
2661 * elf32-spu.c (spu_elf_find_overlays): Separate error return from
2662 "no overlays" return. If there are overlays, create overlay
2663 manager entry symbols here, so that..
2664 (spu_elf_build_stubs): ..we don't need to set them up here.
2665 Simplify entry symbol tests.
2666 * elf32-spu.h (spu_elf_find_overlays): Update prototype.
2667
67cc5033
MK
26682009-03-18 Mark Kettenis <kettenis@gnu.org>
2669
d1fa68d3 2670 * elf.c (elfcore_grok_openbsd_procinfo)
67cc5033
MK
2671 (elfcore_grok_openbsd_note): New functions.
2672 (elf_parse_notes): Handle notes from OpenBSD ELF core files.
2673
8d25cc3d
AM
26742009-03-18 Alan Modra <amodra@bigpond.net.au>
2675
3889c459 2676 * vms-hdr.c: Don't include alloca.h.
8d25cc3d
AM
2677 * elf32-m68hc1x.c: Include alloca-conf.h.
2678 * xsym.c: Likewise.
2679 * elf64-hppa.c: Likewise. Remove existing #if's handling alloca.
2680 * som.c: Likewise.
2681 * Makefile.am: Run "make dep-am".
2682 * Makefile.in: Regenerate.
2683
a89e6478
DJ
26842009-03-17 Daniel Jacobowitz <dan@codesourcery.com>
2685
2686 * elf32-arm.c (elf32_arm_check_relocs): Correct symbian_p test.
2687
a7e11ee1
AM
26882009-03-17 Alan Modra <amodra@bigpond.net.au>
2689
2690 * elf32-spu.h (struct spu_elf_params): ovly_flavour now only 1 bit.
2691 Add compact_stub.
2692 (emum _ovly_flavour): Delete ovly_compact, ovly_none.
2693 * elf32-spu.c (struct spu_link_hash_table): Replace ovly_load and
2694 ovly_return fields with ovly_entry[2]. Adjust all users.
2695 (spu_elf_find_overlays): Set ovly_entry[1] from __icache_call_handler
2696 when soft-icache.
2697 (spu_elf_build_stubs): Likewise.
2698 (ovl_stub_size): Change arg to spu_elf_params pointer. Adjust for
2699 ovly_flavour changes. Update all callers.
2700 (ovl_stub_size_log2): New function.
2701 (build_stub): Handle compact icache stubs. Use different manager
2702 entry point for stubs in non-icache area.
2703 (spu_elf_size_stubs): Don't allocate space for indirect branch
2704 descriptors.
2705 (spu_elf_build_stubs): And don't built them.
2706
607a83c9
AS
27072009-03-16 Andrew Stubbs <ams@codesourcery.com>
2708
2709 * dwarf2.c (read_section): Always use rawsize, if available.
2710
588f62fc
AM
27112009-03-16 Alan Modra <amodra@bigpond.net.au>
2712
2713 * simple.c (bfd_simple_get_relocated_section_contents): Use larger
2714 of rawsize and size for buffer.
2715
a14c90c1
UW
27162009-03-15 Ulrich Weigand <uweigand@de.ibm.com>
2717
2718 * elf32-spu.c (spu_elf_check_vma): Do not reset auto_overlay
2719 parameter just because fixed sections fit into local store.
2720 (spu_elf_auto_overlay): Do not declare as "noreturn". Skip
2721 generating overlays if fixed sections plus reserved stack
2722 and heap space fit into local store.
2723
30c665df
AM
27242009-03-15 Alan Modra <amodra@bigpond.net.au>
2725
2726 * elf32-spu.c (build_stub): Correct icache set_id.
2727 (spu_elf_relocate_section): Likewise.
2728
f95942a3
RS
27292009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2730
2731 * xcofflink.c (xcoff_link_check_archive_element): Only free the
2732 symbol table if it was created by the current call.
2733
670562e9
RS
27342009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2735
2736 * xcofflink.c (xcoff_build_ldsyms): Give imported descriptors
2737 class XMC_DS rather than XMC_UA.
2738
b64232cc
RS
27392009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2740
2741 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Replace the
2742 bfd_boolean export_defineds parameter with an unsigned int
2743 auto_export_flags parameter.
2744 * bfd-in2.h: Regenerate.
2745 * xcofflink.c (xcoff_archive_contains_shared_object_p): New function,
2746 split out from xcoff_build_ldsyms.
2747 (xcoff_covered_by_expall_p): New function.
2748 (xcoff_auto_export_p): New function, split out from xcoff_build_ldsyms
2749 but with extra code to handle -bexpfull and -bexpall.
2750 (xcoff_mark_auto_exports): New function.
2751 (xcoff_build_ldsyms): Use xcoff_auto_export_p to decide whether
2752 a function should be automatically exported.
2753 (bfd_xcoff_size_dynamic_sections): Replace the export_defineds
2754 parameter with an auto_export_flags parameter. Update ldinfo
2755 accordingly. Use xcoff_mark_auto_exports to mark all automatically-
2756 exported symbols.
2757
7d504122
RS
27582009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2759
2760 * xcofflink.c (xcoff_mark_symbol_by_name): New function.
2761 (bfd_xcoff_size_dynamic_sections): Use it to mark the entry,
2762 init and fini functions. Do garbage collection for objects
2763 without an entry point too.
2764
8602d4fe
RS
27652009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2766
2767 * coffcode.h (coff_pointerize_aux_hook): Update CSECT_SYM_P to
2768 check whether a symbol has csect information.
2769 (coff_print_aux): Likewise.
2770 * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Handle auxillary csect
2771 information for C_AIX_WEAKEXT too.
2772 (_bfd_xcoff_swap_aux_out): Likewise.
2773 (xcoff_reloc_type_br): Handle defweak symbols too.
2774 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Handle auxillary csect
2775 information for C_AIX_WEAKEXT too.
2776 (_bfd_xcoff64_swap_aux_out): Likewise.
2777 (xcoff64_reloc_type_br): Handle defweak symbols too.
2778 * coffgen.c (coff_print_symbol): Handle auxillary function
2779 information for C_AIX_WEAKEXT too.
2780 * xcofflink.c (_bfd_xcoff_canonicalize_dynamic_symtab): Set BSF_WEAK
2781 instead of BSF_GLOBAL if the L_WEAK flag is set.
2782 (xcoff_dynamic_definition_p): New function.
2783 (xcoff_link_add_dynamic_symbols): Use it to decide whether ldsym
2784 defines h. Don't change h if ldsym isn't the definition. Otherwise,
2785 always take the symbol class from the ldsym. Use weak bfd symbol
2786 types for weak ldsyms.
2787 (xcoff_link_add_symbols): Use CSECT_SYM_P and EXTERN_SYM_P.
2788 Fix the check for whether a definition is from a shared object.
2789 Allow redefinitions of weak symbols.
2790 (xcoff_link_check_ar_symbols): Use EXTERN_SYM_P.
2791 (xcoff_keep_symbol_p): Likewise.
2792 (bfd_xcoff_size_dynamic_sections): Use CSECT_SYM_P.
2793 (xcoff_link_input_bfd): Use CSECT_SYM_P and EXTERN_SYM_P.
2794 Add .loader entries for C_AIX_WEAKEXT as well as C_EXT symbols,
2795 but mark them as L_WEAK.
2796 (xcoff_write_global_symbol): Treat weak symbols as C_AIX_WEAKEXT
2797 instead of C_EXT if C_AIX_WEAKEXT == C_WEAKEXT.
2798
5b49f6dc
RS
27992009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2800
2801 * xcofflink.c (xcoff_mark): When walking the relocations,
2802 only mark the target symbol or the target section, not both.
2803 (xcoff_final_definition_p): New function.
2804 (xcoff_keep_symbol_p): Use it to check whether an external XCOFF
2805 symbol is a valid definition of the associated output symbol.
2806 Use XCOFF_ALLOCATED to stop the same hash table entry having
2807 two output symbols.
2808 (bfd_xcoff_size_dynamic_sections): Set XCOFF_ALLOCATED when
2809 keeping a symbol.
2810 (xcoff_link_input_bfd): Use xcoff_final_definition_p.
2811
c4037431
RS
28122009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2813
2814 * xcofflink.c (bfd_xcoff_import_symbol): Treat imported absolute
2815 symbols as XMC_XO.
2816
3df13c4a
RS
28172009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2818
2819 * libcoff-in.h (xcoff_tdata): Add a lineno_counts field.
2820 * libcoff.h: Regenerate.
2821 * xcofflink.c (xcoff_link_add_symbols): Record per-symbol
2822 line-number counts in the bfd's lineno_counts field.
2823 Don't keep per-csect line-number counts.
2824 (xcoff_sweep): Don't update per-csect line-number counts.
2825 (bfd_xcoff_size_dynamic_sections): Count the number of line-number
2826 entries in each output section.
2827 (xcoff_link_input_bfd): Get the number of line numbers from
2828 the bfd's lineno_counts field, rather than recalculating it
2829 from scratch. Fix the range check when updating C_BINCL and
2830 C_EINCL symbols.
2831 (_bfd_xcoff_bfd_final_link): Don't count the output line numbers
2832 here. Don't expect csects to have line-number counts.
2833
e450936a
RS
28342009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2835
2836 * libcoff-in.h (xcoff_tdata): Change debug_indices to a signed long.
2837 * libcoff.h: Regenerate.
2838 * xcofflink.c (xcoff_keep_symbol_p): New function, using the
2839 "skip" logic from xcoff_link_input_bfd.
2840 (bfd_xcoff_size_dynamic_sections): Explicitly skip dynamic
2841 objects in a dynamic link, rather than checking whether csectpp
2842 is null. Always allocate debug_index for other objects,
2843 and always go through the loop. Update the type of debug_index
2844 after the change above. Read the auxillary csect information
2845 and use xcoff_keep_symbol_p to decide whether a symbol should
2846 be kept. Set its debug_index to -2 if not.
2847 (xcoff_link_input_bfd): Update the type of debug_index after
2848 the change above and always expect it to be nonnull. Use it to
2849 test whether a symbol should be stripped, rather than making the
2850 decision here. Postpone all symbol creation to the second pass.
2851
47dfb2ca
RS
28522009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2853
2854 * xcofflink.c: (xcoff_mark_symbol): Mark the TOC section when
2855 creating a descriptor.
2856 (xcoff_sweep): Don't mark toc_section unless it's needed.
2857 (bfd_xcoff_size_dynamic_sections): Skip the toc_section
2858 when marking every bfd.
2859 (xcoff_link_input_bfd): Skip all TOC anchors.
2860 (xcoff_toc_section_p, xcoff_find_tc0): New functions.
2861 (_bfd_xcoff_bfd_final_link): Don't set the output bfd's TOC anchor
2862 to -1; call xcoff_find_tc0 instead.
2863
4cc02a02
RS
28642009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2865
2866 * libcoff-in.h (xcoff_section_tdata): Update commentary.
2867 * libcoff.h: Regenerate.
2868 * xcofflink.c (xcoff_link_add_symbols): Set the csect of XTY_ER
2869 symbols to bfd_und_section_ptr or bfd_abs_section_ptr, rather than
2870 the previous symbol's csect. Treat last_symndx as an inclusive value
2871 and simplify its handling.
2872 (xcoff_mark): Treat last_symndx as an inclusive value. Only mark
2873 symbols with the right csect. Don't mark rsec when processing
d1fa68d3 2874 relocations against undefined or absolute sections.
4cc02a02
RS
2875 (bfd_xcoff_size_dynamic_sections): Don't check the SEC_MARK flag
2876 of bfd_und_section_ptr.
2877 (xcoff_link_input_bfd): Likewise.
2878
858ef0ce
RS
28792009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2880
2881 * coff-rs6000.c (xcoff_ppc_relocate_section): Report relocations
2882 against undefined symbols if the symbol's XCOFF_WAS_UNDEFINED
2883 flag is set. Assert that all undefined symbols are either
2884 imported or defined by a dynamic object.
2885 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
2886 * xcofflink.c (xcoff_link_add_symbols): Extend function-symbol
2887 handling to all relocations. Only set XCOFF_CALLED for function
2888 symbols.
2889 (xcoff_find_function): New function, split out from...
2890 (bfd_xcoff_export_symbol) ...here.
2891 (xcoff_set_import_path): New function, split out from...
2892 (bfd_xcoff_import_symbol): ...here. Remove assertion for old
2893 meaning of XCOFF_CALLED.
2894 (xcoff_mark_symbol): If we mark an undefined and unimported
2895 symbol, find some way of defining it. If the symbol is a function
2896 descriptor, fill in its definition automatically. If the symbol
2897 is a function, mark its descriptor and allocate room for global
2898 linkage code. Otherwise mark the symbol as implicitly imported.
2899 Move the code for creating function descriptors from...
d1fa68d3 2900 (xcoff_build_ldsyms): ...here. Use XCOFF_WAS_UNDEFINED to
858ef0ce
RS
2901 check for symbols that were implicitly defined.
2902 (xcoff_mark): Don't count any dynamic relocations against
2903 function symbols.
2904 (bfd_xcoff_size_dynamic_sections): Save the rtld parameter
2905 in the xcoff link info.
2906 (xcoff_link_input_bfd): Remove handling of undefined and
2907 unexported symbols.
2908
12b2cce9
RS
29092009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2910
2911 * coff-rs6000.c (xcoff_reloc_type_br): Make the branch absolute
2912 if the target is absolute. Fix comment typo.
2913 (xcoff_ppc_relocate_section): Remove FIXME.
2914 * coff64-rs6000.c (xcoff64_reloc_type_br): Make the branch absolute
2915 if the target is absolute.
2916
0e3212ad
RS
29172009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2918
2919 * xcofflink.c (xcoff_mark, xcoff_link_input_bfd): Don't copy
2920 R_POS and R_NEG relocations against absolute symbols to the
2921 .loader section.
2922
d19d97e9
RS
29232009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2924
2925 * coff64-rs6000.c (xcoff64_write_object_contents): Set the cputype
2926 to 2 for bfd_mach_ppc_620.
2927
e5231592
RS
29282009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2929
2930 * config.bfd: Treat AIX 6+ in the same way as AIX 5.
2931 * configure.in: Likewise.
2932 * configure: Regenerate.
2933
3516e984
L
29342009-03-13 H.J. Lu <hongjiu.lu@intel.com>
2935
2936 PR binutils/9945
2937 * elf.c (assign_section_numbers): Generate symbol table if there
2938 is any relocation in output.
2939 (_bfd_elf_compute_section_file_positions): Likewise.
2940
ce98a316
NC
29412009-03-13 Nick Clifton <nickc@redhat.com>
2942
2943 PR 9934
2944 * elf-bfd.h (NUM_SHDR_ENTRIES): Cope with an empty section.
2945 * elflink.c (elf_link_read_relocs_from_section): Use
2946 NUM_SHDR_ENTRIES. Gracefully handle the case where there are
2947 relocs but no symbol table.
2948 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
2949
c4fb387b
L
29502009-03-12 H.J. Lu <hongjiu.lu@intel.com>
2951
2952 PR ld/9938
2953 * elf32-i386.c (elf_i386_check_tls_transition): Use strncmp
2954 to check ___tls_get_addr.
2955
2956 * elf64-x86-64.c (elf64_x86_64_check_tls_transition): Use
2957 strncmp to check __tls_get_addr.
2958
53638231
AS
29592009-03-12 Andrew Stubbs <ams@codesourcery.com>
2960
2961 * dwarf2.c (read_section): Always check the offset, even when the
2962 section has been read before.
2963
09e8c3bf
L
29642009-03-11 H.J. Lu <hongjiu.lu@intel.com>
2965
2966 * elf32-i386.c (elf_i386_check_tls_transition): Fix a typo in
2967 comments.
2968
36e4dce6
CD
29692009-03-11 Chris Demetriou <cgd@google.com>
2970
2971 * bfd.c (BFD_DETERMINISTIC_OUTPUT): New flag.
2972 * bfd-in2.h: Regenerate.
2973 * archive.c (bfd_ar_hdr_from_filesystem): If BFD_DETERMINISTIC_OUTPUT
2974 flag is set, use 0 for uid, gid, and timestamp, and use 0644 for file
2975 mode.
2976 (bsd_write_armap): Likewise.
2977 (_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUT
2978 flag is set, do nothing.
2979 (coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0
2980 for timestamp.
2981
9b175a76
UW
29822009-03-11 Ulrich Weigand <uweigand@de.ibm.com>
2983
2984 * elf32-spu.c (find_function_stack_adjust): Handle sf instruction
2985 used to update stack pointer.
2986
f501de17
DA
29872009-03-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2988
2989 PR binutils/9921
2990 * som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE
2991 for unknown symbols in absolute section.
2992
d11fd249
NC
29932009-03-06 Nick Clifton <nickc@redhat.com>
2994
2995 * po/es.po: Updated Spanish translation.
2996
8cd931b7
CL
29972009-03-05 Christophe Lyon <christophe.lyon@st.com>
2998
2999 * elf32-arm.c (group_sections): Take next section size into
3000 account before accepting to group it.
3001
5fa9e92f
CL
30022009-03-05 Christophe Lyon <christophe.lyon@st.com>
3003
3004 * elf32-arm.c (arm_type_of_stub): Handle long branches targetting
3005 PLT entries.
3006 (elf32_arm_final_link_relocate): Likewise.
3007
b92997d6
AM
30082009-03-05 Moritz Kroll <Moritz.Kroll@gmx.de>
3009
3010 PR 9923
3011 * peXXigen.c (_bfd_XXi_final_link_postscript): Check h->root.type.
3012
727fc41e
AM
30132009-03-04 Alan Modra <amodra@bigpond.net.au>
3014
3015 * reloc.c (BFD_RELOC_PPC_TLSGD, BFD_RELOC_PPC_TLSLD): New.
3016 * section.c (struct bfd_section): Add has_tls_get_addr_call.
3017 (BFD_FAKE_SECTION): Init new flag.
3018 * ecoff.c (bfd_debug_section): Likewise.
3019 * bfd-in2.h: Regenerate.
3020 * libbfd.h: Regenerate.
3021 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_TLSGD and R_PPC_TLSLD.
3022 (ppc_elf_reloc_type_lookup): Handle new relocs.
3023 (ppc_elf_check_relocs): Set has_tls_get_addr_call on finding such
3024 without marker relocs.
3025 (ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
3026 if section has no old-style calls.
3027 (ppc_elf_relocate_section): Set tls_mask for non-tls relocs too.
3028 Don't try to optimize new-style __tls_get_addr call when handling
3029 arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
3030 relocs.
3031 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_TLSGD, R_PPC64_TLSLD.
3032 (ppc64_elf_reloc_type_lookup): Handle new relocs.
3033 (ppc64_elf_check_relocs): Set has_tls_get_addr_call on finding such
3034 without marker relocs.
3035 (ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
3036 if section has no old-style calls. Set toc_ref for new relocs as
3037 appropriate.
3038 (ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too.
3039 Don't try to optimize new-style __tls_get_addr call when handling
3040 arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
3041 relocs.
3042
51dec227
AM
30432009-03-04 Alan Modra <amodra@bigpond.net.au>
3044
3045 PR 6768
3046 * configure.in: Test for ld --as-needed support. Link shared
3047 libbfd against libm.
3048 * configure: Regenerate.
3049
a1f7ca36
AM
30502009-03-03 Alan Modra <amodra@bigpond.net.au>
3051
3052 * Makefile.am: Run "make dep-am".
3053 * Makefile.in: Regenerate.
3054
c3b7224a
NC
30552009-03-02 Qinwei <qinwei@sunnorth.com.cn>
3056
3057 * elf32-score7.c: New file.
3058 * elf32-score.h: New file.
3059 * elf32-score.c: Add code to support score 7. Set score7 as the
3060 default.
3061 * cpu-score.c: Add score7 architecure.
3062 (compatibile): New function.
3063 * Makefile.am: Add rules for building elf32-score7 object.
3064 * Makefile.in: Regenerate.
3065 * configure.in: Add elf32-score7 object to score vectors.
3066 * configure: Regenerate.
3067 * reloc.c: Add score7 relocs.
3068 * archures.c: Add score3 and score7 machine numbers.
3069 * bfd-in2.h: Regenerate.
3070 * libbfd.h: Regenerate.
3071
58e24671
RW
30722009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3073
3074 * configure: Regenerate.
3075
5887528b
DA
30762009-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3077
d45b7d74
DA
3078 * elf32-hppa.c (hppa32_elf_local_refcounts): New function.
3079 (elf32_hppa_check_relocs): Use it.
3080
5887528b
DA
3081 * elf_hppa_add_symbol_hook (elf_hppa_add_symbol_hook): Move to
3082 elf64-hppa.c.
3083 (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
3084 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
3085 (elf_hppa_is_dynamic_loader_symbol): Likewise.
3086 (elf_hppa_record_segment_addrs): Likewise.
3087 (elf_hppa_final_link): Likewise.
3088 (elf_hppa_relocate_insn): Likewise.
3089 (elf_hppa_final_link_relocate): Likewise.
3090 (elf64_hppa_relocate_section): Likewise.
3091 * elf64-hppa.c: Insert above.
3092
a03bd320
DA
30932009-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3094
3095 * elf-hppa.h (elf_hppa_final_link): Use elf_hppa_final_link.
3096 (elf_hppa_final_link_relocate ): Rewrite eliminating dynamic hash table.
3097 (elf_hppa_relocate_section): Likewise.
3098 * elf64-hppa.c (struct elf64_hppa_link_hash_entry): Change to derive
3099 from struct elf_link_hash_entry. Add count field.
3100 (struct elf64_hppa_dyn_hash_table): Delete.
3101 (struct elf64_hppa_link_hash_table): Delete dyn_hash_table field.
3102 (elf64_hppa_hash_table): Rename to hppa_link_hash_table.
3103 (hppa_elf_hash_entry, eh_name): Define.
3104 (elf64_hppa_new_dyn_hash_entry): Delete.
3105 (elf64_hppa_dyn_hash_lookup): Delete.
3106 (elf64_hppa_dyn_hash_traverse): Delete.
3107 (get_dyn_name): Delete.
3108 (elf64_hppa_finalize_opd): Use struct elf_link_hash_entry * instead
3109 of struct elf64_hppa_dyn_hash_entry *.
3110 (elf64_hppa_finalize_dlt, llocate_global_data_dlt,
3111 allocate_global_data_plt, allocate_global_data_stub,
3112 allocate_global_data_opd, count_dyn_reloc, allocate_dynrel_entries):
3113 Likewise.
3114 (hppa64_link_hash_newfunc): New.
3115 (elf64_hppa_hash_table_create): Rework.
3116 (count_dyn_reloc): Likewise.
3117 (hppa64_elf_local_refcounts): New.
3118 (elf64_hppa_check_relocs): Rework using standard technique for recording
3119 local DLT, PLT and OPD reference counts.
3120 (elf64_hppa_dynamic_symbol_p): Revise using "eh" for struct
3121 elf_link_hash_entry *.
3122 (elf64_hppa_mark_exported_functions, allocate_global_data_dlt,
3123 allocate_global_data_plt, allocate_global_data_stub,
3124 allocate_global_data_opd, allocate_dynrel_entries,
3125 elf64_hppa_adjust_dynamic_symbol,
3126 elf64_hppa_mark_milli_and_exported_functions): Likewise.
3127 (elf64_hppa_create_dynamic_sections, elf64_hppa_size_dynamic_sections):
3128 Use hppa_link_hash_table. Rework.
3129 (elf64_hppa_link_output_symbol_hook): Rework.
3130 (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd,
3131 elf64_hppa_finalize_dlt, elf64_hppa_finalize_dynreloc,
3132 elf64_hppa_finish_dynamic_sections): Likewise.
3133
ebe24dd4
CL
31342009-02-26 Christophe Lyon <christophe.lyon@st.com>
3135
3136 * elf32-arm.c (stub_reloc_type): Removed.
3137 (insn_sequence): Renamed reloc_type field to r_type.
3138 (elf32_arm_stub_long_branch_v4t_arm_thumb_pic): New stub.
3139 (elf32_arm_stub_long_branch_v4t_thumb_arm_pic): Likewise.
3140 (elf32_arm_stub_long_branch_thumb_only_pic): Likewise.
3141 (elf32_arm_stub_type): Add new enum entries for the new stubs.
3142 (arm_stub_is_thumb): Catch new stubs.
3143 (arm_type_of_stub): Handle new stubs.
3144 (arm_size_one_stub): Use ARRAY_SIZE. Handle new stubs.
3145 (bfd_elf32_arm_process_before_allocation): Remove useless
3146 condition.
3147
b9d678e0
L
31482009-02-25 H.J. Lu <hongjiu.lu@intel.com>
3149
3150 * elf.c (elf_find_function): Use is_function_type to check
3151 function symbol.
3152
56fb3749
SA
31532009-02-24 Sterling Augustine <sterling@jaw.hq.tensilica.com>
3154
3155 * xtensa-modules.c: Revert to previous version 1.11 due
3156 to inadvertant commit.
3157
658ff993
SA
31582009-02-24 Sterling Augustine <sterling@tensilica.com>
3159
3160 * elf32-xtensa.c (text_action_add): Separate test for action
3161 type. Break if saved action is ta_widen_insn at same offset.
3162
cf3eccff
DJ
31632009-02-24 Daniel Jacobowitz <dan@codesourcery.com>
3164
3165 * elf32-arm.c (elf32_arm_stub_long_branch_any_any_pic): Rename
3166 to elf32_arm_stub_long_branch_any_arm_pic.
3167 (elf32_arm_stub_long_branch_any_thumb_pic): New.
3168 (enum elf32_arm_stub_type, arm_type_of_stub)
3169 (arm_size_one_stub): Handle any to ARM PIC and any to Thumb PIC
3170 separately.
3171
07d72278
DJ
31722009-02-24 Joseph Myers <joseph@codesourcery.com>
3173
3174 * elf32-arm.c (PREV_SEC): Update comment.
3175 (group_sections): Rename argument to stubs_always_after_branch.
3176 Reverse the list and place stubs at the end of input sections.
3177 Undefine NEXT_SEC.
3178 (elf32_arm_size_stubs): Update to use stubs_always_after_branch.
3179
4e31c731
DJ
31802009-02-23 Daniel Jacobowitz <dan@codesourcery.com>
3181
3182 * elf32-arm.c (arm_build_one_stub): Initialize stub_reloc_offset.
3183 Fix formatting.
3184 (arm_size_one_stub): Remove unnecessary break.
3185 (arm_map_one_stub): Fix formatting. Return after BFD_FAIL.
3186
31872009-02-23 Christophe Lyon <christophe.lyon@st.com>
461a49ca
DJ
3188
3189 * elf32-arm.c (stub_insn_type): New type.
3190 (stub_reloc_type): Likewise.
3191 (insn_sequence): Likewise.
3192 (elf32_arm_stub_long_branch_any_any): Encode using insn_sequence.
3193 (elf32_arm_stub_long_branch_v4t_arm_thumb): Likewise.
3194 (elf32_arm_stub_long_branch_thumb_only): Likewise.
3195 (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
3196 (elf32_arm_stub_short_branch_v4t_thumb_arm): Likewise.
3197 (elf32_arm_stub_long_branch_any_any_pic): Likewise.
3198 (elf32_arm_stub_hash_entry): Add new helper fields.
3199 (stub_hash_newfunc): Initialize these new fields.
3200 (arm_build_one_stub): Encode Arm and Thumb instructions separately
3201 to take endianness into account.
3202 (arm_size_one_stub): Compute size of stubs using insn_sequence.
3203 (arm_map_one_stub): Code is now more generic, thanks to
3204 insn_sequence.
3205
c2b4a39d
CL
32062009-02-23 Christophe Lyon <christophe.lyon@st.com>
3207
3208 * elf32-arm.c (elf32_arm_stub_long_branch_thumb_only): Fix stub
3209 code.
3210 (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
3211 (arm_type_of_stub): Use Thumb-only long branch stub (non-PIC) when
3212 BLX is not available. Fix typo in warning message. Add comments
3213 and improve formatting.
3214 (arm_build_one_stub): Adjust to new
3215 elf32_arm_stub_long_branch_v4t_thumb_arm stub.
3216 (arm_map_one_stub): Likewise.
3217
0c376465 32182009-02-23 Tristan Gingold <gingold@adacore.com>
a60a89d6
TG
3219 Eric Botcazou <ebotcazou@adacore.com>
3220 Douglas B Rupp <rupp@gnat.com>
0c376465
TG
3221
3222 * vms.h: Update copyright year, fix comments, reorder declarations.
3223 (_bfd_save_vms_section): Remove the prototype.
3224 (EGPS_S_V_NO_SHIFT): New constant.
3225 (bfd_vms_set_section_flags): New prototype.
3226 (EGPS_S_B_ALIGN, EGPS_S_W_FLAGS, EGPS_S_L_ALLOC, EGPS_S_B_NAMLNG): New
3227 constants.
3228 (EGSY_S_W_FLAGS): Ditto.
3229 (EGSY_S_V_QUAD_VAL): Ditto.
3230 (ESDF_S_L_VALUE, ESDF_S_L_PSINDX, ESDF_S_B_NAMLNG): Ditto.
3231 (EGST_S_W_FLAGS, EGST_S_Q_LP_1, EGST_S_Q_LP_2, EGST_S_L_PSINDX,
3232 EGST_S_B_NAMLNG): Ditto.
3233 (ESRF_S_B_NAMLNG): Ditto.
3234 (ETIR_S_C_HEADER_SIZE): Ditto.
3235 (EGPS_S_V_ALLOC_64BIT): Ditto.
3236 (DST_S_C_EPILOG): Ditto.
3237 (DST_S_C_SRC_SETLNUM_L, DST_S_C_SRC_SETLNUM_W) : Ditto.
3238 (DST_S_C_SRC_INCRLNUM_B): Ditto.
3239 (DST_S_B_PCLINE_UNSBYTE, DST_S_W_PCLINE_UNSWORD): Ditto.
3240 (DST_S_L_PCLINE_UNSLONG): Ditto.
3241 (DST_S_B_MODBEG_NAME, DST_S_L_RTNBEG_ADDRESS) : Ditto
3242 (DST_S_B_RTNBEG_NAME, DST_S_L_RTNEND_SIZE): Ditto
3243 (DST_S_C_SOURCE_HEADER_SIZE): Ditto.
3244 (DST_S_B_SRC_DF_LENGTH, DST_S_W_SRC_DF_FILEID): Ditto.
3245 (DST_S_B_SRC_DF_FILENAME, DST_S_B_SRC_UNSBYTE): Ditto.
3246 (DST_S_B_SRC_UNSBYTE): Ditto.
3247 (DST_S_W_SRC_UNSWORD, DST_S_L_SRC_UNSLONG): Ditto.
3248 Add prototypes.
3249 (vms_section, vms_reloc): Remove types.
3250 (hdr_struc): Replaced by ...
3251 (hdr_struct): ... new type.
3252 (EMH_S_W_HDRTYP, EMH_S_B_STRLVL, EMH_S_L_ARCH1): New constants.
3253 (EMH_S_L_ARCH2, EMH_S_L_RECSIZ, EMH_S_B_NAMLNG): Ditto.
3254 (EMH_DATE_LENGTH): Ditto.
3255 (eom_struc): Replaced by ...
3256 (eom_struct): ... new type.
3257 (EEOM_S_L_TOTAL_LPS, EEOM_S_W_COMCOD, EEOM_S_B_TFRFLG): New constants.
3258 (EEOM_S_L_PSINDX, EEOM_S_L_TFRADR): Ditto.
3259 (EIHD_S_K_MAJORID, EIHD_S_K_MINORID, EIHD_S_K_EXE): Ditto.
3260 (EIHD_S_L_SIZE, EIHD_S_L_ISDOFF, EIHD_S_L_SYMDBGOFF): Ditto.
3261 (EIHD_S_Q_SYMVVA, EIHD_S_L_IMGTYPE): Ditto.
3262 (EISD_S_L_EISDSIZE, EISD_S_L_SECSIZE, EISD_S_Q_VIR_ADDR): Ditto.
3263 (EISD_S_L_FLAGS, EISD_S_L_VBN, EISD_S_R_CONTROL): Ditto.
3264 (EISD_S_L_IDENT, EISD_S_T_GBLNAM): Ditto.
3265 (EISD_S_M_GBL, EISD_S_M_CRF, EISD_S_M_DZRO, EISD_S_M_WRT): Ditto.
3266 (EISD_S_M_INITALCODE, EISD_S_M_BASED, EISD_S_M_FIXUPVEC): Ditto.
3267 (EISD_S_M_RESIDENT, EISD_S_M_VECTOR, EISD_S_M_PROTECT): Ditto.
3268 (EISD_S_M_LASTCLU, EISD_S_M_EXE, EISD_S_M_NONSHRADR): Ditto.
3269 (EISD_S_M_QUAD_LENGTH, EISD_S_M_ALLOC_64BIT): Ditto.
3270 (EIHS_S_L_DSTVBN, EIHS_S_L_DSTSIZE, EIHS_S_L_GSTVBN): Ditto.
3271 (EIHS_S_L_GSTSIZE, EIHS_S_L_DMTVBN, EIHS_S_L_DMTBYTES): Ditto.
3272 (DBG_S_L_DMT_MODBEG, DBG_S_L_DST_SIZE): Ditto.
3273 (DBG_S_W_DMT_PSECT_COUNT, DBG_S_C_DMT_HEADER_SIZE): Ditto.
3274 (DBG_S_L_DMT_PSECT_START, DBG_S_L_DMT_PSECT_LENGTH)
3275 (DBG_S_C_DMT_PSECT_SIZE): Ditto.
3276 (enum file_type_enum): New type.
3277 (struct location_struct): Removed.
3278 (struct fileinfo, struct srecinfo, struct lineinfo): New types.
3279 (struct funcinfo, struct module): Ditto.
3280 (struct vms_private_data_struct): Update fields.
3281 (struct vms_section_data_struct): New type.
3282
3283 * vms.c: Update copyright year, fix comments,
3284 Fix includes for DECC, add prototypes.
3285 (vms_initialize): Use bfd_alloc instead of bfd_zalloc and remove
3286 some initializers.
3287 Use flavour to set is_vax, location_stack is removed.
3288 (struct pair): Declare.
3289 (fill_section_ptr): Initialize variables at declaration.
3290 Add guard to set SECTION_SYM flag, handlde und section.
3291 (vms_fixup_sections): Use struct pair for fill_section_ptr argument.
3292 (_bfd_vms_slurp_object_records): New function, replaces previous
3293 vms_object_p.
3294 (vms_slurp_module): New function.
3295 (vms_slurp_image): Ditto.
3296 (vms_object_p): Complete rewrite.
3297 (vms_mkobject): Use is_vax field to slect architecture.
3298 (free_reloc_stream): New function.
3299 (vms_convert_to_var): Ditto.
3300 (vms_convert_to_var_1): Ditto.
3301 (vms_convert_to_var_unix_filename): Ditto.
3302 (vms_close_and_cleanup): Call free_reloc_stream, convert file to
3303 VAR format on VMS.
3304 (vms_new_section_hook): Set alignment to 0, allocate private data.
3305 (vms_get_section_contents): Load content.
3306 (vms_get_symbol_info): Handle undefined section.
3307 (vms_find_nearest_line): Handle.
3308 (alloc_reloc_stream): New function.
3309 (vms_slurp_reloc_table): Ditto.
3310 (vms_get_reloc_upper_bound): Make it real.
3311 (vms_canonicalize_reloc): Do the real work.
3312 (alpha_howto_table): Add ALPHA_R_NOP, ALPHA_R_BSR, ALPHA_R_LDA,
3313 ALPHA_R_BOH.
3314 (vms_bfd_reloc_type_lookup): Handle NOP, BSR, LDA and BOH.
3315 (vms_set_arch_mach): Check arch.
3316 (vms_set_section_contents): Copy the content after allocation.
3317 (vms_alpha_vec): Update object flags.
3318
3319 * vms-tir.c: Update copyright year, fix comments,
3320 add prototypes for new functions.
3321 (dst_define_location): New function.
3322 (dst_restore_location): New function.
3323 (dst_retrieve_location): New function.
3324 (dst_check_allocation): New function.
3325 (image_dump): Call dst_check_allocation.
3326 (image_write_b): Ditto.
3327 (image_write_w): Ditto.
3328 (image_write_l): Ditto.
3329 (image_write_q): Ditto.
3330 (cmd_name): Handle STA_LW, STA_QW, STO_OFF, STO_IMM, STO_IMMR, STO_LW,
3331 STO_QW, OPR_ADD, CTL_SETRB, STC_LP_PSB, CTL_DFLOC, CTL_STLOC,
3332 CTL_STKDL.
3333 Call error handler instead of abort if name is not known.
3334 (etir_sta): Add quarter_relocs argument and set it.
3335 Fix cast.
3336 (etir_sto): Ditto.
3337 (etir_opr): Ditto, return FALSE in case of error.
3338 (etir_ctl): Add quarter_relocs argument and set it, fix cast.
3339 Fix CTL_DFLOC, CTL_STLOC, CTL_STKDL.
3340 (etir_stc): Add quarter_relocs argument and set it, fix cast.
3341 Fix STC_LP, STC_LP_PSB, STC_GBL and STC_CGA.
3342 Handle STC_LP_PSB, STC_BSR_GBL, STC_LDA_GBL, STC_BOH_GBL.
3343 Move STC_NOP_PS, STC_BSR_PS, STC_LDA_PS, STC_BOH_PS, STC_NBH_PS.
3344 Return FALSE in case of error.
3345 (tir_sta): Change sign of psect.
3346 (tir_ctl): Ditto.
3347 (tir_cmd): Fix cast. Makes tir_table static const.
3348 (etir_cmd): Add quarter_relocs argument, makes etir_table const,
3349 add argument to explain.
3350 (analyze_etir): Initialize maxptr, add quarter_relocs
3351 declaration, move some declarations into inner scopes.
3352 Handle quarter_relocs and STO_IMM.
3353 (_bfd_vms_slurp_tir): Use constant instead of hard-coded values.
3354 (_bfd_vms_slurp_relocs): New function.
3355 (_bfd_vms_decode_relocs): New function.
3356 (sto_imm): Rewritten.
3357 (start_first_etbt_record): New function.
3358 (start_another_etbt_record): Ditto.
3359 (etir_output_check): Ditto.
3360 (defer_reloc_p): Ditto.
3361 (_bfd_vms_write_tir): Remove nextoffset, convert a while-loop to
3362 a for-loop. Correctly deals with contents, deals with .vmsdebug,
3363 rewritte relocations handling.
3364 (_bfd_vms_write_tbt): Removed.
3365 (_bfd_vms_write_dbg): Ditto.
3366
3367 * vms-misc.c: Update copyright year, Fix comments.
3368 (_bfd_vms_get_header_values): Use 'size' instead of 'length'.
3369 (maybe_adjust_record_pointer_for_object): New function.
3370 (_bfd_vms_get_first_record): New function, replaces ...
3371 (_bfd_vms_get_record): .. removed.
3372 (_bfd_vms_get_object_record): New function.
3373 (_bfd_vms_get_object_record): New function.
3374 (vms_get_remaining_object_record): New function, replaces ...
3375 (_bfd_vms_get_next_record): ... removed.
3376 (add_new_contents): Removed.
3377 (_bfd_save_vms_section): Removed.
3378 (_bfd_get_vms_section): Removed.
3379 (_bfd_vms_output_flush): Write in VAR format.
3380 (new_symbol): Don't make UND section.
3381
3382 * vms-hdr.c: Update copyright year, update list of record handled.
3383 (_bfd_vms_slurp_hdr): rec_length renamed to rec_size.
3384 (_bfd_vms_write_hdr): Strip vms and unix patches,
3385 add comments, truncate module name at 31 characters,
3386 use constants instead of hard-coded value,
3387 write BFD version instead of a fixed string.
3388 (_bfd_vms_slurp_ihd): New function.
3389 (_bfd_vms_slurp_isd): Ditto.
3390 (_bfd_vms_slurp_ihs): Ditto.
3391 (new_module): Ditto.
3392 (parse_module): Ditto
3393 (build_module_list): Ditto.
3394 (module_find_nearest_line): Ditto.
3395 (_bfd_vms_find_nearest_dst_line): Ditto.
3396 (vms_slurp_debug): Ditto.
3397 (_bfd_vms_slurp_dbg): Ditto.
3398 (_bfd_vms_slurp_tbt): Ditto.
3399 (_bfd_vms_write_dbg): Ditto.
3400 (_bfd_vms_write_tbt): Ditto.
3401
3402 * vms-gsd.c: Update copyright year, update list of records handled.
3403 (EVAX_LITERALS_NAME): New macro.
3404 (evax_section_flags): Add an entry for EVAX_LITERALS_NAME.
3405 (gpsflagdesc, gsyflagdesc): Moved out of _bfd_vms_slurp_gsd.
3406 (register_universal_symbol): New function and prototype.
3407 (_bfd_vms_slurp_gsd): Fix indentations and casts,
3408 improve debug messages,
3409 use constants instead of hard-coded value,
3410 fix missing endianness conversion,
3411 handle global symbol (SYMG).
3412 (bfd_vms_set_section_flags): New function.
3413 (_bfd_vms_write_gsd): Don't write .vmsdebug section,
3414 handle section literals,
3415 fix indentation,
3416 handle section bfd and vms flags,
3417 don't output LIB$INITIALIZE symbol,
3418 fix handling of weak symbols,
3419 fix evax vs vax procedure descriptor,
3420 handle absolute symbols.
3421
3422 * reloc.c (BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_BSR,
3423 BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BOH): New relocations.
3424
3425 * makefile.vms (DEFS): Fix flags for VMS.
3426
3427 * bfdio.c (real_fopen): Handle multiple VMS fopen attributes.
3428
3429 * bfd-in2.h: Regenerated.
3430 * libbfd.h: Regenerated.
3431
47149254
CC
34322009-02-20 Cary Coutant <ccoutant@google.com>
3433
3434 * vmsutil.c (vms_file_stats_name): Fix incorrect use of st_mtime
3435 in struct stat.
3436
6b1cecf3
DK
34372009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>
3438
3439 PR gas/7059
3440 * coffcode.h (coff_write_object_contents): Don't let the string
3441 table offset overflow the s_name field when using long section names.
3442
88183869
DK
34432009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>
3444
3445 * coff-alpha.c (alpha_ecoff_backend_data): Initialise fields which
3446 control long section name handling with ECOFF_NO_LONG_SECTION_NAMES.
3447 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3448 * coff-rs6000.c (bfd_xcoff_backend_data): Initialise fields which
3449 control long section name handling with XCOFF_NO_LONG_SECTION_NAMES.
3450 (bfd_pmac_xcoff_backend_data): Likewise.
3451 * coff64-rs6000.c (bfd_xcoff_backend_data): Likewise.
3452 (bfd_xcoff_aix5_backend_data): Likewise.
3453 (xcoff64_write_object_contents): Delete unused long_section_names
3454 local variable.
3455 * coff-sh.c (bfd_coff_small_swap_table): Initialise long section
3456 name members using COFF_DEFAULT_LONG_SECTION_NAMES and make entire
3457 struct non-const.
3458 * coffcode.h (documentation): Update to describe long section names.
3459 (COFFLONGSECTIONCATHELPER): New helper macro.
3460 (BLANKOR1TOODD): Likewise.
3461 (COFF_ENABLE_LONG_SECTION_NAMES): Likewise.
3462 (COFF_LONG_SECTION_NAMES_SETTER): Likewise.
3463 (COFF_DEFAULT_LONG_SECTION_NAMES): Likewise.
3464 (bfd_coff_set_long_section_names_allowed): New function.
3465 (bfd_coff_set_long_section_names_disallowed): Likewise.
3466 (struct bfd_coff_backend_data): Add new backend hook function
3467 pointer _bfd_coff_set_long_section_names.
3468 (bfd_coff_set_long_section_names): New backend hook.
3469 (coff_write_object_contents): Only generate long section names if
3470 bfd_coff_long_section_names() indicates they are currently enabled.
3471 (bfd_coff_std_swap_table): Make non-const, and initialise long
3472 section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
3473 (ticoff0_swap_table): Likewise to both.
3474 (ticoff1_swap_table): Again, likewise to both.
3475 * coffgen.c (make_a_section_from_file): Allow long section names
3476 as inputs even if not currently allowed for outputs.
3477 * ecoff.c (_bfd_ecoff_no_long_sections): New function.
3478 * efi-app-ia32.c (COFF_LONG_SECTION_NAMES): Define to 0, not blank.
3479 * efi-app-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
3480 * efi-app-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
3481 * efi-bsdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
3482 * efi-bsdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
3483 * efi-bsdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
3484 * efi-rtdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
3485 * efi-rtdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
3486 * efi-rtdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
3487 * pei-arm.c (COFF_LONG_SECTION_NAMES): Likewise.
3488 * pei-i386.c (COFF_LONG_SECTION_NAMES): Likewise.
3489 * pei-mcore.c (COFF_LONG_SECTION_NAMES): Likewise.
3490 * pei-mips.c (COFF_LONG_SECTION_NAMES): Likewise.
3491 * pei-ppc.c (COFF_LONG_SECTION_NAMES): Likewise.
3492 * pei-sh.c (COFF_LONG_SECTION_NAMES): Likewise.
3493 * pei-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
3494 * libcoff-in.h: Update copyright year to cause updated copyright
3495 year in generated libcoff.h, and fix typo.
3496 * libcoff.h: Regenerated.
3497 * libecoff.h (ECOFF_NO_LONG_SECTION_NAMES): New macro.
3498 (_bfd_ecoff_no_long_sections): Add prototype.
3499 * libxcoff.h (XCOFF_NO_LONG_SECTION_NAMES): New macro.
3500 * pe-mips.c (COFF_LONG_SECTION_NAMES): Define empty if not already
3501 defined by an including .c file.
3502 * ticoff.h (ticoff0_swap_table): Make non-const, and initialise
3503 long section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
3504 (ticoff1_swap_table): Likewise to both.
3505
90d8a22c
CL
35062009-02-18 Christophe Lyon <christophe.lyon@st.com>
3507
3508 * elf32-arm.c (arm_build_one_stub): Fix relocation target for pic
3509 stub. Catch default case error.
3510 (arm_map_one_stub): Add missing Thumb mapping symbol.
3511
12123067
NC
35122009-02-18 Bjoern Haase <bjoern.m.haase@web.de>
3513
3514 PR 9841
3515 * elf32-avr.c: Handle case where no local symbos exist correctly.
3516
fea2b4d6
CL
35172009-02-16 Christophe Lyon <christophe.lyon@st.com>
3518
3519 bfd/
3520 * elf32-arm.c (arm_long_branch_stub,
3521 arm_thumb_v4t_long_branch_stub,
3522 arm_thumb_thumb_long_branch_stub,
3523 arm_thumb_arm_v4t_long_branch_stub,
3524 arm_thumb_arm_v4t_short_branch_stub,
3525 arm_pic_long_branch_stub):
3526 Renamed to elf32_arm_stub_long_branch_any_any,
3527 elf32_arm_stub_long_branch_v4t_arm_thumb,
3528 elf32_arm_stub_long_branch_thumb_only,
3529 elf32_arm_stub_long_branch_v4t_thumb_arm,
3530 elf32_arm_stub_short_branch_v4t_thumb_arm,
3531 elf32_arm_stub_long_branch_any_any_pic.
3532 (arm_stub_long_branch, arm_thumb_v4t_stub_long_branch,
3533 arm_thumb_thumb_stub_long_branch,
3534 arm_thumb_arm_v4t_stub_long_branch,
3535 arm_thumb_arm_v4t_stub_short_branch, arm_stub_pic_long_branch):
3536 Renamed to arm_stub_long_branch_any_any,
3537 arm_stub_long_branch_v4t_arm_thumb,
3538 arm_stub_long_branch_thumb_only,
3539 arm_stub_long_branch_v4t_thumb_arm,
3540 arm_stub_short_branch_v4t_thumb_arm,
3541 arm_stub_long_branch_any_any_pic.
3542
13e0a874
DA
35432009-02-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3544
3545 * elf-hppa.h (elf_hppa_final_link_relocate): Correct addend value used
3546 in branch offset check.
3547
3a71aa26
AM
35482009-02-15 Alan Modra <amodra@bigpond.net.au>
3549
3550 * elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,
3551 add toc.symndx and toc.add.
3552 (ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.
3553 Set up toc.add.
3554 (get_tls_mask): Add toc_addend param, set from toc.add. Adjust all
3555 callers.
3556 (ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.
3557 (branch_reloc_hash_match): New function, extracted from..
3558 (ppc64_elf_tls_optimize): ..here.
3559 (ppc64_elf_relocate_section): Properly set addends when optimizing
3560 tls sequences. Avoid unnecessary reading and writing of insns.
3561 Only redo reloc when symbol changed. Bypass symbol checks when
3562 using tlsld_got.
3563 * elf32-ppc.c (ppc_elf_tls_setup): Correct comment.
3564 (branch_reloc_hash_match): New function, extracted from..
3565 (ppc_elf_tls_optimize): ..here.
3566 (ppc_elf_relocate_section): Avoid unnecessary reading of insns.
3567 Don't clear addend on zapped __tls_get_addr reloc.
3568
2c2b4ed4
NC
35692009-02-12 Nick Clifton <nickc@redhat.com>
3570
3571 PR 9827
3572 * elflink.c (bfd_elf_final_link): When counting the relocations,
3573 if the header size has not been set yet then assume that it will
3574 match the output section's reloc type.
3575
453f5985
NS
35762009-02-12 Nathan Sidwell <nathan@codesourcery.com>
3577
3578 * elf32-mips.c (mips_elf_final_gp): Don't add 0x4000 offset for
3579 relocatable link.
3580
3209bffa
AM
35812009-02-09 Alan Modra <amodra@bigpond.net.au>
3582
3583 * elf32-spu.c (spu_elf_find_overlays): Call bfd_set_error on errors.
3584 (find_function): Likewise.
3585 (pasted_function): Don't error if no prior function found.
3586 (discover_functions): Revert 2008-12-10 change. Extend first
3587 function range to start of section.
3588
813c8a3c
DA
35892009-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3590
3591 * elf64-hppa.c: Remove PARAMS macro. Replace PTR with void *. Convert
3592 functions to C90.
3593 * elf64-hppa.h: Likewise.
3594
2d0f9ad9
JM
35952009-02-06 Joseph Myers <joseph@codesourcery.com>
3596
3597 * elfxx-mips.c (_bfd_mips_elf_section_processing): Remove special
3598 .sbss handling.
3599
50e00962
AM
36002009-02-04 Alan Modra <amodra@bigpond.net.au>
3601
3602 * elf32-spu.c (spu_elf_build_stubs): Define __icache_neg_log2_linesize.
3603 Define __icache_ptr_handler*, not __icache_ptr___icache_bi_handler*.
3604
52b6b6b9
JM
36052009-02-03 Sandip Matte <sandip@rmicorp.com>
3606
3607 * aoutx.h (NAME (aout, machine_type)): Handle bfd_mach_mips_xlr.
3608 * archures.c (bfd_mach_mips_xlr): Define.
3609 * bfd-in2.h: Regenerate.
3610 * cpu-mips.c (I_xlr): Define.
3611 (arch_info_struct): Add XLR entry.
3612 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_XLR.
3613 (mips_set_isa_flags): Handle bfd_mach_mips_xlr
3614 (mips_mach_extensions): Add XLR entry.
3615
654c3c9f
EW
36162009-02-03 Eric B. Weddington <eric.weddington@atmel.com>
3617
3618 * elf32-avr.c (avr_final_link_relocate): Allow avr25 to wraparound.
3619
31dd3154
JM
36202009-02-03 Carlos O'Donell <carlos@codesourcery.com>
3621
3622 * configure.in: AC_SUBST pdfdir.
d1fa68d3 3623 * Makefile.am: Add install-pdf, install-pdf-am
31dd3154
JM
3624 and install-pdf-recursive targets. Define pdfdir.
3625 * doc/Makefile.am: Define pdf__strip_dir. Add
3626 install-pdf and install-pdf-am targets.
d1fa68d3 3627 * po/Make-in: Add install-pdf target.
31dd3154
JM
3628 * configure: Regenerate.
3629 * Makefile.in: Regenerate
3630 * doc/Makefile.in: Regenerate.
3631
cf869cce
NC
36322009-02-03 Maxim Kuvyrkov <maxim@codesourcery.com>
3633
3634 * bfd-in2.h: Regenerate.
3635 * elf32-m68k.c: Handle 2-slot GOT entries. Rename variables and
3636 fields from n_entries to n_slots where appropriate, update comments.
3637 (HOWTO): Add TLS relocations.
3638 (reloc_map): Map BFD_RELOC_68K_TLS_* to R_68K_TLS_*.
3639 (enum elf_m68k_got_offset_size): New enum.
3640 (struct elf_m68k_got_entry.type): Move field to ...
3641 (struct elf_m68k_got_entry_key): ... here. Update all uses.
3642 (elf_m68k_reloc_got_type, elf_m68k_reloc_got_offset_size): New static
3643 functions.
3644 (elf_m68k_reloc_got_n_entries, elf_m68k_reloc_tls_p): New static
3645 functions.
3646 (struct elf_m68k_got): merge rel_8o_n_entries and rel_8o_16o_n_entries
3647 fields into n_entries array. Update comments.
3648 (elf_m68k_init_got): Simplify, update all uses.
3649 (elf_m68k_init_got_entry_key): Handle R_68K_TLS_LDM32 reloc, update.
3650 (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT): Adjust to handle 2-slot
3651 GOT entries; update name, update all uses.
3652 (ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): Ditto.
3653 (elf_m68k_get_got_entry): Update.
3654 (elf_m68k_update_got_entry_type): Rewrite to handle TLS GOT entries,
3655 simplify.
3656 (elf_m68k_remove_got_entry_type): Simplify.
3657 (elf_m68k_add_entry_to_got, elf_m68k_can_merge_gots_1): Update.
3658 (elf_m68k_can_merge_gots): Update.
3659 (elf_m68k_merge_gots_1, elf_m68k_merge_gots): Update.
3660 (struct elf_m68k_finalize_got_offsets_arg): Rewrite to handle 2-slot
3661 GOT entries, simplify.
3662 (elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Same.
3663 (struct elf_m68k_partition_multi_got_arg): Add slots_relas_diff
3664 field, remove obsoleted local_n_entries field.
3665 (elf_m68k_partition_multi_got_2): New static function.
3666 (elf_m68k_partition_multi_got_1, elf_m68k_partition_multi_got): Use it;
3667 update.
3668 (elf_m68k_remove_got_entry_type): Update.
3669 (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
d1fa68d3 3670 (elf_m68k_check_relocs): Handle TLS relocations. Remove unnecessary
cf869cce
NC
3671 update of sgot->size and srelgot->size.
3672 (elf_m68k_gc_sweep_hook): Update.
3673 (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
3674 (elf_m68k_relocate_section, elf_m68k_finish_dynamic_symbol): Handle
3675 TLS relocations.
3676 * reloc.c (BFD_RELOC_68K_TLS_*): Declare TLS relocations.
3677 * libbfd.h (bfd_reloc_code_real_names): Add BFD_RELOC_68K_TLS_*.
3678
c1a0a41f
DD
36792009-02-02 DJ Delorie <dj@redhat.com>
3680
3681 * elf32-mep.c (config_names): Regenerate configuration.
3682
72a80a16
AM
36832009-02-02 Alan Modra <amodra@bigpond.net.au>
3684
3685 * elf-bfd.h (bfd_elf_get_str_section): Don't declare.
3686 (bfd_elf_find_section, _sh_elf_set_mach_from_flags): Likewise.
3687 * elf.c (bfd_elf_get_str_section): Make static.
3688 (bfd_elf_find_section): Delete.
3689 * libbfd.h: Regenerate.
3690
273f4430
JK
36912009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
3692
3693 * elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
3694 (_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
3695
010e5ae2
AM
36962009-01-31 Alan Modra <amodra@bigpond.net.au>
3697
3698 * elflink.c (on_needed_list): New function.
3699 (elf_link_add_object_symbols): Link in --as-needed libs if they
3700 satisfy undefined symbols in other libs.
3701
33a7ffc2
JM
37022009-01-30 Julian Brown <julian@codesourcery.com>
3703
3704 * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Skip BFDs with
3705 EXEC_P or DYNAMIC flags, and skip sections which are being linked
3706 with --just-symbols (-R).
3707
13d72a14
AN
37082009-01-29 Adam Nemet <anemet@caviumnetworks.com>
3709
3710 * dwarf2.c (read_rangelist): Use read_address to read low_pc and
3711 high_pc in order to properly sign-extend VMAs.
3712
d334575b 37132009-01-29 Daniel Jacobowitz <dan@codesourcery.com>
d1fa68d3
AS
3714 Mark Shinwell <shinwell@codesourcery.com>
3715 Catherine Moore <clm@codesourcery.com>
d334575b
JM
3716
3717 * elf-attrs.c, elflink.c, elfxx-mips.c: Correct typos in comments.
3718
528aeb62
CM
37192009-01-28 Catherine Moore <clm@codesourcery.com>
3720
3721 * elf32-arm.c (elf32_arm_check_relocs): Set SEC_ALLOC and
3722 SEC_LOAD for dynamic relocation sections.
3723
f6f05983
HPN
37242009-01-27 Hans-Peter Nilsson <hp@axis.com>
3725
3726 * elf32-cris.c (cris_elf_relocate_section): Use elf_hash_table
3727 (info)->tls_size, not elf_hash_table (info)->tls_sec->size for
3728 the size of local TLS data.
3729
27cc28f9
AS
37302009-01-27 Andreas Schwab <schwab@suse.de>
3731
3732 * mach-o.c (bfd_mach_o_archive_p): Restrict the number of
3733 architectures in the archive.
3734
b3bf42d8
HPN
37352009-01-27 Hans-Peter Nilsson <hp@axis.com>
3736
f551b6f0
HPN
3737 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_DTPREL>
3738 <R_CRIS_32_DTPREL>: Correct relocation value.
3739
b3bf42d8
HPN
3740 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_8>
3741 <R_CRIS_16, R_CRIS_32>: Don't call BFD_ASSERT for weak undefined
3742 symbols with non-default visibility.
3743
9bc4e62b
NS
37442009-01-26 Nathan Sidwell <nathan@codesourcery.com>
3745
3746 * elf32-ppc.c (ppc_elf_relax_section): Add space for relocs
3747 describing the trampolines.
3748 (ppc_elf_relocate_section): Update relocs to describe the
3749 trampolines.
3750
aeaf6540
DA
37512009-01-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3752
3753 * elf-hppa.h (elf_hppa_final_link_relocate): Add check to ensure that
3754 branch targets can be reached for R_PARISC_PCREL22F, R_PARISC_PCREL17F
3755 and R_PARISC_PCREL12F relocations.
3756
1e8fa21e
AM
37572009-01-24 Alan Modra <amodra@bigpond.net.au>
3758
3759 PR 6022
3760 * elflink.c (find_version_for_sym): New function split out from,
3761 but without export_dynamic test, ..
3762 (_bfd_elf_link_assign_sym_version): ..here.
3763 (_bfd_elf_export_symbol): Use it.
3764
28caa186
AM
37652009-01-23 Alan Modra <amodra@bigpond.net.au>
3766
3767 * elf-bfd.h (struct elf_assign_sym_version_info): Delete.
3768 (struct elf_info_failed, struct elf_find_verdep_info): Move to..
3769 * elflink.c: ..here, somewhat modified.
3770 * elf-bfd.h (_bfd_elf_add_default_symbol, _bfd_elf_export_symbol,
3771 _bfd_elf_link_find_version_dependencies,
3772 _bfd_elf_link_assign_sym_version, _bfd_elf_link_size_reloc_section,
3773 _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
3774 _bfd_elf_link_sec_merge_syms, bfd_elf_link_mark_dynamic_symbol): Don't
3775 declare..
3776 * elflink.c: ..and make static here.
3777 (_bfd_elf_link_find_version_dependencies): Adjust for removal
3778 of output_bfd from struct elf_find_verdep_info.
3779 (_bfd_elf_link_assign_sym_version): Similarly adjust to use
3780 struct elf_info_failed.
3781 (bfd_elf_size_dynamic_sections): Adjust.
3782
be04437d
AM
37832009-01-22 Alan Modra <amodra@bigpond.net.au>
3784
3785 PR 6832
3786 * dwarf2.c (find_line): Don't update stash->sec_info_ptr until
3787 after comp_unit_find_line call.
3788
58f9615c
NC
37892009-01-21 Nick Clifton <nickc@redhat.com>
3790
3791 PR 9769
3792 * vmsutil.c (vms_file_stats_name): Remove use of unsupported
3793 tm_gmtoff field in struct tm.
3794
fb266b8b
AM
37952009-01-21 Alan Modra <amodra@bigpond.net.au>
3796
3797 * elf32-spu.h (struct spu_elf_params): Add non_ia_text.
3798 * elf32-spu.c (mark_overlay_section): Only include .text.ia.*
3799 sections in soft-icache lines unless non_ia_text. Don't add
3800 rodata if doing so would exceed line size.
3801
451ffe63
HPN
38022009-01-19 Hans-Peter Nilsson <hp@axis.com>
3803
3804 * elf32-cris.c (elf_cris_copy_indirect_symbol): For other symbol
3805 types than bfd_link_hash_indirect, before early return, call
3806 _bfd_elf_link_hash_copy_indirect.
3807
5aa6ff7c
AS
38082009-01-19 Andrew Stubbs <ams@codesourcery.com>
3809
3810 * elf-attrs.c (vendor_set_obj_attr_contents): Support tag ordering.
3811 * elf-bfd.h (elf_backend_data): Add obj_attrs_order.
3812 * elf32-arm.c (elf32_arm_obj_attrs_order): New function.
3813 (elf_backend_obj_attrs_order): New define.
3814 * elfxx-target.h (elf_backend_obj_attrs_order): New define.
3815 (elfNN_bed): Add elf_backend_obj_attrs_order.
3816
3483fe2e
AS
38172009-01-19 Andrew Stubbs <ams@codesourcery.com>
3818
3819 * elf-attrs.c (is_default_attr): Substitute magic numbers with macros.
3820 (obj_attr_size): Likewise.
3821 (write_obj_attribute): Likewise.
3822 (_bfd_elf_copy_obj_attributes): Likewise.
3823 (_bfd_elf_parse_attributes): Likewise.
3824 * elf-bfd.h (ATTR_TYPE_FLAG_INT_VAL): New define.
3825 (ATTR_TYPE_FLAG_STR_VAL, ATTR_TYPE_FLAG_NO_DEFAULT): New defines.
3826 (ATTR_TYPE_HAS_INT_VAL, ATTR_TYPE_HAS_STR_VAL): New defines.
3827 (ATTR_TYPE_HAS_NO_DEFAULT): New define.
3828 * elf32-arm.c (elf32_arm_obj_attrs_arg_type): Replace magic numbers
3829 with macros.
3830
2d0bb761
AS
38312009-01-19 Andrew Stubbs <ams@codesourcery.com>
3832
3833 * elf-attrs.c (is_default_attr): Support defaultless attributes.
3834 (bfd_elf_add_obj_attr_int): Get type from _bfd_elf_obj_attrs_arg_type.
3835 (bfd_elf_add_obj_attr_string): Likewise.
3836 (bfd_elf_add_obj_attr_int_string): Likewise.
3837 (_bfd_elf_parse_attributes): Allow for unknown flag bits in type.
3838 * elf-bfd.h (struct obj_attribute): Document new flag bit.
3839 * elf32-arm.c (elf32_arm_obj_attrs_arg_type): Specify that
3840 Tag_nodefaults has no default value.
3841 (elf32_arm_merge_eabi_attributes): Modify the Tag_nodefaults
3842 comment to reflect the new state.
3843
a77e83b7
AM
38442009-01-19 Alan Modra <amodra@bigpond.net.au>
3845
3846 PR 9695
3847 * pdp11.c (N_BADMAG): True for anything but OMAGIC, NMAGIC, ZMAGIC.
3848 (some_aout_object_p): Delete dead code handling QMAGIC and BMAGIC.
3849 (adjust_z_magix): Delete dead code handling QMAGIC.
3850
f6d29e26
KT
38512009-01-16 Kai Tietz <kai.tietz@onevision.com>
3852
3853 * coffcode.h (styp_to_sec_flags): Correct interpretation of
3854 IMAGE_SCN_MEM_DISCARDABLE.
3855
29670fb9
AM
38562009-01-16 Alan Modra <amodra@bigpond.net.au>
3857
3858 * Makefile.am (libbfd_la_LIBADD, libbfd_la_LDFLAGS): Substitute
3859 SHARED_LIBADD and SHARED_LDFLAGS rather than WIN32LIBADD, WIN32LDFLAGS.
3860 * configure.in (commonbfdlib): Delete.
3861 (SHARED_LDFLAGS): Rename from WIN32LDFLAGS/
3862 (SHARED_LIBADD): Rename from WIN32LIBADD. Add pic libiberty if such
3863 is available, not just for linux.
3864 * po/SRC-POTFILES.in: Regenerate.
3865 * Makefile.in: Regenerate.
3866 * configure: Regenerate.
3867
91e22acd
AS
38682009-01-15 Andrew Stubbs <ams@codesourcery.com>
3869 Julian Brown <julian@codesourcery.com>
3870
3871 * elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 71 to include all known
3872 ARM attributes in ABI 2.07.
3873 * elf32-arm.c (get_secondary_compatible_arch): New function.
3874 (set_secondary_compatible_arch): New function.
3875 (tag_cpu_arch_combine): New function.
3876 (elf32_arm_copy_one_eabi_other_attribute): Delete function.
3877 (elf32_arm_copy_eabi_other_attribute_list): Delete function.
3878 (elf32_arm_merge_eabi_attributes): Rename order_312 to order_021 to
3879 make it fit with order_01243.
3880 Add support for Tag_also_compatible_with,
3881 Tag_CPU_unaligned_access, Tag_T2EE_use, Tag_Virtualization_use,
3882 Tag_MPextension_use, Tag_nodefaults and Tag_conformance.
3883 Improve/tidy up support for Tag_CPU_raw_name, Tag_CPU_name,
3884 Tag_CPU_arch, Tag_ABI_HardFP_use, Tag_VFP_HP_extension,
3885 Tag_ABI_FP_denormal, Tag_ABI_PCS_GOT_use, Tag_ABI_align8_needed,
3886 Tag_VFP_arch and Tag_ABI_FP_16bit_format.
3887 Rework the way unknown attributes are handled.
3888 Defer errors until all attributes have been processed.
3889
7b86a9fa
AS
38902009-01-15 Andrew Stubbs <ams@codesourcery.com>
3891
3892 * elf-attrs.c (bfd_elf_add_obj_attr_compat): Rename to
3893 bfd_elf_add_obj_attr_int_string.
3894 Read Tag_compatibility from its new location in the attribute array,
3895 rather than the attribute list.
3896 (_bfd_elf_copy_obj_attributes): bfd_elf_add_obj_attr_compat ->
3897 bfd_elf_add_obj_attr_int_string.
3898 (_bfd_elf_parse_attributes): Likewise.
3899 (_bfd_elf_merge_object_attributes): There's now only one
3900 Tag_compatibility, and it's in the array, not the list.
3901 * elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 33 to include
3902 Tag_compatibility.
3903 (bfd_elf_add_obj_attr_compat): Rename to
3904 bfd_elf_add_obj_attr_int_string.
3905 (bfd_elf_add_proc_attr_compat): Rename to
3906 bfd_elf_add_proc_attr_int_string.
3907 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Explicitly don't handle
3908 Tag_compatibility.
3909
01e1a5bc
NC
39102009-01-15 Douglas B Rupp <rupp@gnat.com>
3911
3912 * Makefile.am (BFD32_BACKENDS): Add new object vmsutil.lo
3913 (BFD32_BACKENDS_CFILES): Add new file vmsutil.c
3914 (vmsutil.lo): Add dependency rule.
3915 * Makefile.in: Regenerate.
3916 * config.bfd (ia64*-*-*vms*): Add case.
3917 * configure.in (bfd_elf64_ia64_vms_vec): Add case.
3918 * configure: Regenerate.
3919 * vmsutil.c: New file.
3920 * vmsutil.h: New file.
3921 * elf-bfd.h (struct bfd_elf_special_section): Change type of
3922 attr to bfd_vma.
3923 * elfxx-ia64.c (elfNN_vms_post_process_headers,
3924 elfNN_vms_section_processing, elfNN_vms_final_write_processing,
3925 elfNN_vms_close_and_cleanup, elfNN_vms_section_from_shdr,
3926 elfNN_vms_object_p): New functions
3927 * targets.c (bfd_elf64_ia64_vms_vec): New target.
3928
a33dafc3
L
39292009-01-14 H.J. Lu <hongjiu.lu@intel.com>
3930
3931 PR ld/9727
3932 * elflink.c (elf_gc_sweep): Exclude the group section if the
3933 first member of the section group is excluded.
3934
13c0e967
AM
39352009-01-14 Alan Modra <amodra@bigpond.net.au>
3936
3937 PR 9735
3938 * syms.c (_bfd_stab_section_find_nearest_line): Don't free
3939 saved filename, use bfd_alloc rather than bfd_malloc for it.
3940
460e679b
AM
39412009-01-13 Alan Modra <amodra@bigpond.net.au>
3942
3943 * elf32-spu.c (spu_elf_build_stubs): Make __icache_base absolute.
3944
25076afa
AM
39452009-01-13 Alan Modra <amodra@bigpond.net.au>
3946
3947 * elf32-spu.c (remove_cycles): Always set call->max_depth.
3948
37107878
AM
39492009-01-12 Alan Modra <amodra@bigpond.net.au>
3950
3951 * elf32-spu.c (spu_elf_auto_overlay): Correct vma mask.
3952
cd4a7468
AM
39532009-01-12 Alan Modra <amodra@bigpond.net.au>
3954
3955 * elf32-spu.c (struct spu_link_hash_table): Add init, line_size_log2,
3956 num_lines_log2.
3957 (struct got_entry): Add br_addr.
3958 (struct call_info): Add priority.
3959 (struct function_info): Add lr_store and sp_adjust.
3960 (spu_elf_setup): Init line_size_log2 and num_lines_log2.
3961 (spu_elf_find_overlays): For soft-icache, mark any section within cache
3962 area as an overlay, and check that no other overlays exist. Look up
3963 icache overlay manager entry sym.
3964 (BRA_STUBS, BRA, BRASL): Define.
3965 (enum _stub_type): Replace ovl_stub with call_ovl_stub and br*_ovl_stub.
3966 (needs_ovl_stub): Adjust for soft-icache. Return priority encoded
3967 in branch insn.
3968 (count_stub, build_stub): Support soft-icache.
3969 (build_spuear_stubs, process_stubs): Adjust build_stub call.
3970 (spu_elf_size_stubs): Size soft-icache stubs.
3971 (overlay_index): New function.
3972 (spu_elf_build_stubs): Make static. Support soft-icache.
3973 (spu_elf_check_vma): Don't turn off auto_overlay if soft-icache.
3974 (find_function_stack_adjust): Save lr store and stack adjust insn
3975 offsets.
3976 (maybe_insert_function): Adjust find_function_stack_adjust call.
3977 (mark_functions_via_relocs): Retrieve priority.
3978 (remove_cycles): Only warn about pruned arcs when stack_analysis.
3979 (sort_calls): Sort by priority first.
3980 (mark_overlay_section): Ignore .ovl.init.
3981 (sum_stack): Only print when stack_analysis.
3982 (print_one_overlay_section): New function, extracted from..
3983 (spu_elf_auto_overlay): ..here. Support soft-icache overlays.
3984 (spu_elf_stack_analysis): Only print when htab->stack_analysis.
3985 (spu_elf_final_link): Call spu_elf_stack_analysis for lrlive
3986 analysis. Call spu_elf_build_stubs.
3987 (spu_elf_relocate_section): For soft-icache encode overlay index
3988 into addresses.
3989 (spu_elf_output_symbol_hook): Support soft-icache.
3990 (spu_elf_modify_program_headers: Likewise.
37107878 3991
cd4a7468
AM
3992 * elf32-spu.h (struct spu_elf_params): Add lrlive_analysis. Rename
3993 num_regions to num_lines. Add line_size and max_branch.
3994 (enum _ovly_flavour): Add ovly_soft_icache.
3995 (spu_elf_build_stubs): Delete.
3996
80c29487
JK
39972009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
3998
3999 * elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4
4000 relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
4001
1bc86aea
HPN
40022009-01-07 Hans-Peter Nilsson <hp@axis.com>
4003
4004 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
4005 <case R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: For a symbol defined in
4006 the program, the known offset starts at the negative size of the
4007 TLS section.
4008 <case R_CRIS_32_IE, R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>:
4009 Similar.
4010
3baa454d 40112009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
75606e85 4012
3baa454d 4013 * config.bfd: Add lm32-*-rtems*.
75606e85 4014
9dbe8890
L
40152009-01-03 H.J. Lu <hongjiu.lu@intel.com>
4016
4017 * coff-ppc.c: Add 2009 to Copyright.
4018 * elf32-cris.c: Likewise.
4019 * elflink.c: Likewise.
4020
0bdf8d40
HPN
40212009-01-03 Hans-Peter Nilsson <hp@axis.com>
4022
4023 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Rename
4024 gotplt_index to rela_plt_index. Adjust for R_CRIS_DTPMOD entry.
4025
54ac0771
L
40262009-01-02 H.J. Lu <hongjiu.lu@intel.com>
4027
4028 PR ld/9679
4029 * elflink.c (elf_merge_st_other): New.
4030 (_bfd_elf_merge_symbol): Use it on skipped weak definitions and
4031 hide them if needed.
4032 (elf_link_add_object_symbols): Updated.
4033
d8880531
L
40342009-01-02 H.J. Lu <hongjiu.lu@intel.com>
4035
4036 PR ld/9676
4037 * elflink.c (elf_link_add_object_symbols): Update def_dynamic,
4038 ref_dynamic and dynamic_def fields when setting def_regular
4039 to 1.
4040
b70b5c14
NC
40412009-01-02 Curtis Mackie <curtmackevo@gmail.com>
4042
4043 PR 9682
4044 * coff-ppc.c (dump_toc): Fix up calls to fprintf without a string
4045 literal.
4046
d8880531 4047For older changes see ChangeLog-2008
56882138
AM
4048\f
4049Local Variables:
4050mode: change-log
4051left-margin: 8
4052fill-column: 74
4053version-control: never
4054End:
This page took 0.775235 seconds and 4 git commands to generate.