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