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