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