daily update
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
bb6198d2
L
12009-04-07 H.J. Lu <hongjiu.lu@intel.com>
2
3 * elflink.c (_bfd_elf_section_already_linked): Add `\n' for
4 info->callbacks->einfo.
5 * linker.c (_bfd_generic_section_already_linked): Likewise.
6
bcb012d3
DD
72009-04-06 DJ Delorie <dj@redhat.com>
8
9 * elf32-h8300.c (elf32_h8_relax_section): Relax MOVA opcodes.
10
db1fe6e9
L
112009-04-06 H.J. Lu <hongjiu.lu@intel.com>
12
13 * coff-x86_64.c (bfd_pe_print_pdata): Defined to
14 _bfd_pex64_print_pdata only if PE is defined.
15
16 * libpei.h (_bfd_pep_print_x64_pdata): Renamed to ...
17 (_bfd_pex64_print_pdata): This.
18
19 * peXXigen.c (_bfd_pep_print_x64_pdata): Renamed to ...
20 (_bfd_pex64_print_pdata): This. Defined only if COFF_WITH_pex64
21 is defined.
22
c7c7219d
KT
232009-04-05 Kai Tietz <kai.tietz@onevision.com>
24
25 * coff-x86_64.c (bfd_pe_print_pdata): Define as
26 _bfd_pep_print_x64_pdata.
27 * libpei.h (_bfd_pep_print_x64_pdata): Add prototype.
28 * peXXigen.c (_bfd_pep_print_x64_pdata): New.
29
3df502ae
SA
302009-04-02 Sterling Augustine <sterling@jaw.hq.tensilica.com>
31
32 * elf32-xtensa.c (relax_property_section): Always set r_offset
33 to zero.
34
d3626fb0
CL
352009-04-02 Christophe Lyon <christophe.lyon@st.com>
36
37 * elf32-arm.c (elf32_arm_stub_long_branch_v4t_thumb_thumb,
38 elf32_arm_stub_long_branch_v4t_thumb_thumb_pic): Two new long
39 branch stubs.
40 (elf32_arm_stub_type): New enum values for the two new stubs.
41 (arm_type_of_stub): Make use of the two new stubs.
42 (arm_size_one_stub): Handle the two new stubs.
43
fe723c87
MT
442009-04-01 Matt Thomas <matt@netbsd.org>
45
46 * elf32-vax.c (elf_vax_check_relocs): Do not put relocations against
47 hidden symbols into the GOT or PLT.GOT.
48 (elf_vax_relocate_section): Do not emit a PCREL reloc
49 into a shared object if it is against a hidden symbol.
50
ee698300
RS
512009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
52
53 * xcofflink.c (xcoff_archive_info): Add contains_shared_object_p
54 and know_contains_shared_object_p.
55 (xcoff_archive_contains_shared_object_p): Add an "info" parameter.
56 Cache the result in the archive_info table.
57 (xcoff_auto_export_p): Add an "info" parameter and update the
58 call to xcoff_archive_contains_shared_object_p.
59 (xcoff_mark_auto_exports): Update accordingly.
60 (xcoff_post_gc_symbol): Likewise.
61
54e2dbe0
RS
622009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
63
64 * xcofflink.c (bfd_link_input_bfd): Treat __rtinit as C_HIDEXT
65 rather than C_EXT.
66
2e470849
RS
672009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
68
69 * coff-rs6000.c (member_layout): New structure.
70 (archive_iterator): Likewise.
71 (member_layout_init): New function.
72 (archive_iterator_begin): Likewise.
73 (archive_iterator_next): Likewise.
74 (xcoff_write_armap_old): Use the new iterator functions.
75 (do_shared_object_padding): Delete.
76 (xcoff_write_armap_big): Use the new iterator functions. Simplify
77 handling of arch_info.
78 (xcoff_write_archive_contents_old): Allocate arelt_data in the
79 first loop rather than the second. Allocate a member header if
80 there isn't one, then work out the stat information and length
81 in the first loop too. Use the new iterators for the second loop.
82 (xcoff_write_archive_contents_big): Likewise.
83
24c611d1
RS
842009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
85
86 * bfd-in.h (bfd_xcoff_split_import_path): Declare.
87 (bfd_xcoff_set_archive_import_path): Likewise.
88 * bfd-in2.h: Regenerate.
89 * xcofflink.c: Include libiberty.h.
90 (xcoff_archive_info): New structure.
91 (xcoff_archive_info_hash): New function.
92 (xcoff_archive_info_eq): Likewise.
93 (xcoff_get_archive_info): Likewise.
94 (_bfd_xcoff_bfd_link_hash_table_create): Initialize archive_info.
95 (bfd_xcoff_split_import_path): New function.
96 (bfd_xcoff_set_archive_import_path): Likewise.
97 (xcoff_set_import_path): Move earlier in file.
98 (xcoff_link_add_dynamic_symbols): Set the import path of a non-archive
99 object to the the directory part of the bfd's filename. Get the
100 import path and filename of an archive object from the archive's
101 xcoff_tdata, initializing it if necessary. Update use of
102 import_file_id.
103 (bfd_link_input_bfd): Update use of import_file_id.
104 (xcoff_write_global_symbol): Likewise.
105
d286971a
RS
1062009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
107
108 * xcofflink.c (xcoff_link_hash_table): Moved from include/coff/xcoff.h.
109
1102009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
111
112 * xcofflink.c (xcoff_link_create_extra_sections): Don't create
113 a .loader section for relocatable links.
114 (xcoff_need_ldrel_p): New function.
115 (xcoff_mark): Use it.
116 (bfd_xcoff_link_count_reloc): Only count loader relocs if there's
117 a loader section.
118 (xcoff_build_ldsym): New function, split out from...
119 (xcoff_build_ldsyms): ...here. Rename to...
120 (xcoff_post_gc_symbol): ...this. Only export symbols, and only
121 call xcoff_build_ldsym, if there's a loader section.
122 (xcoff_build_loader_section): New function, extracted verbatim from...
123 (bfd_xcoff_size_dynamic_sections): ...here. Only call it if
124 there's a loader section. Only add an __rtinit loader symbol
125 if there's a loader section. Update after above name change.
126 (xcoff_symbol_section, xcoff_create_ldrel): New functions.
127 (bfd_link_input_bfd): Use xcoff_need_ldrel_p, xcoff_symbol_section
128 and xcoff_create_ldrel.
129 (xcoff_write_global_symbol): Use xcoff_create_ldrel.
130 (xcoff_reloc_link_order): Likewise, but only call it if there's
131 a loader section. Use xcoff_symbol_section.
132 (_bfd_xcoff_bfd_final_link): Only use fdinfo.ldrel and fdinfo.ldsym
133 if there's a loader section.
134
8707bb87
RS
1352009-04-01 Richard Sandiford <rdsandiford@googlemail.com>
136
137 * xcofflink.c (bfd_link_input_bfd): Fix buffer overrun.
138
e780aef2
CL
1392009-04-01 Christophe Lyon <christophe.lyon@st.com>
140
141 * elf32-arm.c (group_sections): Rewrite loops for better
142 readability.
143
c301e700
DD
1442009-03-30 DJ Delorie <dj@redhat.com>
145
146 * elflink.c (elf_link_input_bfd): Don't try to resolve complex
147 relocs when doing a relocatable link.
148
3895f852
MM
1492009-03-28 Mark Mitchell <mark@codesourcery.com>
150
151 * coff-arm.c (coff_arm_merge_private_bfd_data): Use "error:", not
152 "ERROR:", in error messages.
153 * cpu-arm.c (bfd_arm_merge_machines): Likewise.
154 * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
155 * elf32-arm.c (tag_cpu_arch_combine): Likewise.
156 (elf32_arm_merge_eabi_attributes): Likewise.
157 (elf32_arm_merge_private_bfd_data): Likewise.
158
ea882e87
NC
1592009-03-27 Nick Clifton <nickc@redhat.com>
160
161 * section.c (bfd_get_section_contents): Detect and handle the case
162 where a section has the SEC_IN_MEMORY flag set but no actual
163 contents allocated.
164
9433b9b1
AM
1652009-03-26 Alan Modra <amodra@bigpond.net.au>
166
167 PR 6494
168 * elf.c (copy_elf_program_header): Do not check that PT_GNU_RELRO
169 p_filesz and p_memsz are equal. Use p_memsz as the segment size.
170 (assign_file_positions_for_non_load_sections): Zap PT_GNU_RELRO
171 if we don't find matching PT_LOAD when copying.
172
dc1aa734
SR
1732009-03-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
174
175 * elf32-crx.c (crx_elf_howto_table): Zero the src_mask field of
176 the reloc descriptions.
177
34d3d6b9
HPN
1782009-03-25 Hans-Peter Nilsson <hp@axis.com>
179
180 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
181 <R_CRIS_16_GOT_GD, case R_CRIS_32_GOT_GD>: Handle COMMON symbols.
182 <case R_CRIS_16_TPREL, R_CRIS_32_TPREL>: Ditto.
183
34274ccc
L
1842009-03-24 H.J. Lu <hongjiu.lu@intel.com>
185
186 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Make it static.
187 (bfd_i386_arch_intel_syntax): Likewise.
188 (i8086_arch): Likewise.
189 (bfd_x86_64_arch): Likewise.
190
019c5a2e
HPN
1912009-03-24 Hans-Peter Nilsson <hp@axis.com>
192
6718f446
HPN
193 * elf32-cris.c (cris_elf_relocate_section): <case
194 R_CRIS_16_DTPREL, R_CRIS_32_DTPREL>: Allow use of non-local
195 symbols for non-allocated sections. Don't check whether to
196 generate R_CRIS_DTPMOD for non-allocated sections.
197 (cris_elf_gc_sweep_hook) <case R_CRIS_32_DTPREL>: Don't
198 handle relocation GC:ing if applied to non-allocated section.
199 (cris_elf_check_relocs): Similar.
200
019c5a2e
HPN
201 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
202 <R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: Don't include the TLS size
203 when emitting a known TP offset in the GOT.
204
ffcfec52
AM
2052009-03-23 Alan Modra <amodra@bigpond.net.au>
206
207 * elf64-ppc.c (synthetic_opd): Delete.
208 (compare_symbols): Look for .opd name rather than section match.
209 (ppc64_elf_get_synthetic_symtab): Likewise.
210
c6dd29ce
AM
2112009-03-21 Alan Modra <amodra@bigpond.net.au>
212
213 * elf32-ppc.c (is_pic_glink_stub): Delete.
214 (is_nonpic_glink_stub): New function.
215 (ppc_elf_get_synthetic_symtab): Check for last non-pic stub rather
216 than first pic one.
217 (struct ppc_elf_link_hash_table <glink_pltresolve>): Comment fix.
218
8c21ca21
AK
2192009-03-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
220 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
221
222 * elf32-s390.c (elf_s390_check_relocs): Use the SYMBOL_*
223 macros for visibilty and locality checks.
224 (elf_s390_adjust_dynamic_symbol): Likewise.
225 (allocate_dynrelocs): Likewise.
226 (elf_s390_relocate_section): Likewise.
227 (elf_s390_finish_dynamic_symbol): Likewise.
228 * elf64-s390.c (elf_s390_check_relocs): Likewise.
229 (elf_s390_adjust_dynamic_symbol): Likewise.
230 (allocate_dynrelocs): Likewise.
231 (elf_s390_relocate_section): Likewise.
232 (elf_s390_finish_dynamic_symbol): Likewise.
233
156621f3
KT
2342009-03-19 Kai Tietz <kai.tietz@onevision.com>
235
236 * bfd-in2.h: Regenerated.
237 * coffcode.h (sec_to_styp_flags): For pe-coff add SEC_READONLY
238 for debugging sections and map memory read/write dependent on
239 SEC_COFF_NOREAD.
240 (styp_to_sec_flags): Set SEC_COFF_NOREAD for sections
241 without memory read flags set.
242 * section.c: Add SEC_COFF_NOREAD to section flags.
243
d1fa68d3
AS
2442009-03-19 Andreas Schwab <schwab@linux-m68k.org>
245
246 * elf32-hppa.c (final_link_relocate): Cast bfd_vma values to long
247 for format string.
248
ad2adbc8
AM
2492009-03-19 Alan Modra <amodra@bigpond.net.au>
250
251 * elf32-spu.c (spu_elf_find_overlays): Separate error return from
252 "no overlays" return. If there are overlays, create overlay
253 manager entry symbols here, so that..
254 (spu_elf_build_stubs): ..we don't need to set them up here.
255 Simplify entry symbol tests.
256 * elf32-spu.h (spu_elf_find_overlays): Update prototype.
257
67cc5033
MK
2582009-03-18 Mark Kettenis <kettenis@gnu.org>
259
d1fa68d3 260 * elf.c (elfcore_grok_openbsd_procinfo)
67cc5033
MK
261 (elfcore_grok_openbsd_note): New functions.
262 (elf_parse_notes): Handle notes from OpenBSD ELF core files.
263
8d25cc3d
AM
2642009-03-18 Alan Modra <amodra@bigpond.net.au>
265
3889c459 266 * vms-hdr.c: Don't include alloca.h.
8d25cc3d
AM
267 * elf32-m68hc1x.c: Include alloca-conf.h.
268 * xsym.c: Likewise.
269 * elf64-hppa.c: Likewise. Remove existing #if's handling alloca.
270 * som.c: Likewise.
271 * Makefile.am: Run "make dep-am".
272 * Makefile.in: Regenerate.
273
a89e6478
DJ
2742009-03-17 Daniel Jacobowitz <dan@codesourcery.com>
275
276 * elf32-arm.c (elf32_arm_check_relocs): Correct symbian_p test.
277
a7e11ee1
AM
2782009-03-17 Alan Modra <amodra@bigpond.net.au>
279
280 * elf32-spu.h (struct spu_elf_params): ovly_flavour now only 1 bit.
281 Add compact_stub.
282 (emum _ovly_flavour): Delete ovly_compact, ovly_none.
283 * elf32-spu.c (struct spu_link_hash_table): Replace ovly_load and
284 ovly_return fields with ovly_entry[2]. Adjust all users.
285 (spu_elf_find_overlays): Set ovly_entry[1] from __icache_call_handler
286 when soft-icache.
287 (spu_elf_build_stubs): Likewise.
288 (ovl_stub_size): Change arg to spu_elf_params pointer. Adjust for
289 ovly_flavour changes. Update all callers.
290 (ovl_stub_size_log2): New function.
291 (build_stub): Handle compact icache stubs. Use different manager
292 entry point for stubs in non-icache area.
293 (spu_elf_size_stubs): Don't allocate space for indirect branch
294 descriptors.
295 (spu_elf_build_stubs): And don't built them.
296
607a83c9
AS
2972009-03-16 Andrew Stubbs <ams@codesourcery.com>
298
299 * dwarf2.c (read_section): Always use rawsize, if available.
300
588f62fc
AM
3012009-03-16 Alan Modra <amodra@bigpond.net.au>
302
303 * simple.c (bfd_simple_get_relocated_section_contents): Use larger
304 of rawsize and size for buffer.
305
a14c90c1
UW
3062009-03-15 Ulrich Weigand <uweigand@de.ibm.com>
307
308 * elf32-spu.c (spu_elf_check_vma): Do not reset auto_overlay
309 parameter just because fixed sections fit into local store.
310 (spu_elf_auto_overlay): Do not declare as "noreturn". Skip
311 generating overlays if fixed sections plus reserved stack
312 and heap space fit into local store.
313
30c665df
AM
3142009-03-15 Alan Modra <amodra@bigpond.net.au>
315
316 * elf32-spu.c (build_stub): Correct icache set_id.
317 (spu_elf_relocate_section): Likewise.
318
f95942a3
RS
3192009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
320
321 * xcofflink.c (xcoff_link_check_archive_element): Only free the
322 symbol table if it was created by the current call.
323
670562e9
RS
3242009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
325
326 * xcofflink.c (xcoff_build_ldsyms): Give imported descriptors
327 class XMC_DS rather than XMC_UA.
328
b64232cc
RS
3292009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
330
331 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Replace the
332 bfd_boolean export_defineds parameter with an unsigned int
333 auto_export_flags parameter.
334 * bfd-in2.h: Regenerate.
335 * xcofflink.c (xcoff_archive_contains_shared_object_p): New function,
336 split out from xcoff_build_ldsyms.
337 (xcoff_covered_by_expall_p): New function.
338 (xcoff_auto_export_p): New function, split out from xcoff_build_ldsyms
339 but with extra code to handle -bexpfull and -bexpall.
340 (xcoff_mark_auto_exports): New function.
341 (xcoff_build_ldsyms): Use xcoff_auto_export_p to decide whether
342 a function should be automatically exported.
343 (bfd_xcoff_size_dynamic_sections): Replace the export_defineds
344 parameter with an auto_export_flags parameter. Update ldinfo
345 accordingly. Use xcoff_mark_auto_exports to mark all automatically-
346 exported symbols.
347
7d504122
RS
3482009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
349
350 * xcofflink.c (xcoff_mark_symbol_by_name): New function.
351 (bfd_xcoff_size_dynamic_sections): Use it to mark the entry,
352 init and fini functions. Do garbage collection for objects
353 without an entry point too.
354
8602d4fe
RS
3552009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
356
357 * coffcode.h (coff_pointerize_aux_hook): Update CSECT_SYM_P to
358 check whether a symbol has csect information.
359 (coff_print_aux): Likewise.
360 * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Handle auxillary csect
361 information for C_AIX_WEAKEXT too.
362 (_bfd_xcoff_swap_aux_out): Likewise.
363 (xcoff_reloc_type_br): Handle defweak symbols too.
364 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Handle auxillary csect
365 information for C_AIX_WEAKEXT too.
366 (_bfd_xcoff64_swap_aux_out): Likewise.
367 (xcoff64_reloc_type_br): Handle defweak symbols too.
368 * coffgen.c (coff_print_symbol): Handle auxillary function
369 information for C_AIX_WEAKEXT too.
370 * xcofflink.c (_bfd_xcoff_canonicalize_dynamic_symtab): Set BSF_WEAK
371 instead of BSF_GLOBAL if the L_WEAK flag is set.
372 (xcoff_dynamic_definition_p): New function.
373 (xcoff_link_add_dynamic_symbols): Use it to decide whether ldsym
374 defines h. Don't change h if ldsym isn't the definition. Otherwise,
375 always take the symbol class from the ldsym. Use weak bfd symbol
376 types for weak ldsyms.
377 (xcoff_link_add_symbols): Use CSECT_SYM_P and EXTERN_SYM_P.
378 Fix the check for whether a definition is from a shared object.
379 Allow redefinitions of weak symbols.
380 (xcoff_link_check_ar_symbols): Use EXTERN_SYM_P.
381 (xcoff_keep_symbol_p): Likewise.
382 (bfd_xcoff_size_dynamic_sections): Use CSECT_SYM_P.
383 (xcoff_link_input_bfd): Use CSECT_SYM_P and EXTERN_SYM_P.
384 Add .loader entries for C_AIX_WEAKEXT as well as C_EXT symbols,
385 but mark them as L_WEAK.
386 (xcoff_write_global_symbol): Treat weak symbols as C_AIX_WEAKEXT
387 instead of C_EXT if C_AIX_WEAKEXT == C_WEAKEXT.
388
5b49f6dc
RS
3892009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
390
391 * xcofflink.c (xcoff_mark): When walking the relocations,
392 only mark the target symbol or the target section, not both.
393 (xcoff_final_definition_p): New function.
394 (xcoff_keep_symbol_p): Use it to check whether an external XCOFF
395 symbol is a valid definition of the associated output symbol.
396 Use XCOFF_ALLOCATED to stop the same hash table entry having
397 two output symbols.
398 (bfd_xcoff_size_dynamic_sections): Set XCOFF_ALLOCATED when
399 keeping a symbol.
400 (xcoff_link_input_bfd): Use xcoff_final_definition_p.
401
c4037431
RS
4022009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
403
404 * xcofflink.c (bfd_xcoff_import_symbol): Treat imported absolute
405 symbols as XMC_XO.
406
3df13c4a
RS
4072009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
408
409 * libcoff-in.h (xcoff_tdata): Add a lineno_counts field.
410 * libcoff.h: Regenerate.
411 * xcofflink.c (xcoff_link_add_symbols): Record per-symbol
412 line-number counts in the bfd's lineno_counts field.
413 Don't keep per-csect line-number counts.
414 (xcoff_sweep): Don't update per-csect line-number counts.
415 (bfd_xcoff_size_dynamic_sections): Count the number of line-number
416 entries in each output section.
417 (xcoff_link_input_bfd): Get the number of line numbers from
418 the bfd's lineno_counts field, rather than recalculating it
419 from scratch. Fix the range check when updating C_BINCL and
420 C_EINCL symbols.
421 (_bfd_xcoff_bfd_final_link): Don't count the output line numbers
422 here. Don't expect csects to have line-number counts.
423
e450936a
RS
4242009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
425
426 * libcoff-in.h (xcoff_tdata): Change debug_indices to a signed long.
427 * libcoff.h: Regenerate.
428 * xcofflink.c (xcoff_keep_symbol_p): New function, using the
429 "skip" logic from xcoff_link_input_bfd.
430 (bfd_xcoff_size_dynamic_sections): Explicitly skip dynamic
431 objects in a dynamic link, rather than checking whether csectpp
432 is null. Always allocate debug_index for other objects,
433 and always go through the loop. Update the type of debug_index
434 after the change above. Read the auxillary csect information
435 and use xcoff_keep_symbol_p to decide whether a symbol should
436 be kept. Set its debug_index to -2 if not.
437 (xcoff_link_input_bfd): Update the type of debug_index after
438 the change above and always expect it to be nonnull. Use it to
439 test whether a symbol should be stripped, rather than making the
440 decision here. Postpone all symbol creation to the second pass.
441
47dfb2ca
RS
4422009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
443
444 * xcofflink.c: (xcoff_mark_symbol): Mark the TOC section when
445 creating a descriptor.
446 (xcoff_sweep): Don't mark toc_section unless it's needed.
447 (bfd_xcoff_size_dynamic_sections): Skip the toc_section
448 when marking every bfd.
449 (xcoff_link_input_bfd): Skip all TOC anchors.
450 (xcoff_toc_section_p, xcoff_find_tc0): New functions.
451 (_bfd_xcoff_bfd_final_link): Don't set the output bfd's TOC anchor
452 to -1; call xcoff_find_tc0 instead.
453
4cc02a02
RS
4542009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
455
456 * libcoff-in.h (xcoff_section_tdata): Update commentary.
457 * libcoff.h: Regenerate.
458 * xcofflink.c (xcoff_link_add_symbols): Set the csect of XTY_ER
459 symbols to bfd_und_section_ptr or bfd_abs_section_ptr, rather than
460 the previous symbol's csect. Treat last_symndx as an inclusive value
461 and simplify its handling.
462 (xcoff_mark): Treat last_symndx as an inclusive value. Only mark
463 symbols with the right csect. Don't mark rsec when processing
d1fa68d3 464 relocations against undefined or absolute sections.
4cc02a02
RS
465 (bfd_xcoff_size_dynamic_sections): Don't check the SEC_MARK flag
466 of bfd_und_section_ptr.
467 (xcoff_link_input_bfd): Likewise.
468
858ef0ce
RS
4692009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
470
471 * coff-rs6000.c (xcoff_ppc_relocate_section): Report relocations
472 against undefined symbols if the symbol's XCOFF_WAS_UNDEFINED
473 flag is set. Assert that all undefined symbols are either
474 imported or defined by a dynamic object.
475 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
476 * xcofflink.c (xcoff_link_add_symbols): Extend function-symbol
477 handling to all relocations. Only set XCOFF_CALLED for function
478 symbols.
479 (xcoff_find_function): New function, split out from...
480 (bfd_xcoff_export_symbol) ...here.
481 (xcoff_set_import_path): New function, split out from...
482 (bfd_xcoff_import_symbol): ...here. Remove assertion for old
483 meaning of XCOFF_CALLED.
484 (xcoff_mark_symbol): If we mark an undefined and unimported
485 symbol, find some way of defining it. If the symbol is a function
486 descriptor, fill in its definition automatically. If the symbol
487 is a function, mark its descriptor and allocate room for global
488 linkage code. Otherwise mark the symbol as implicitly imported.
489 Move the code for creating function descriptors from...
d1fa68d3 490 (xcoff_build_ldsyms): ...here. Use XCOFF_WAS_UNDEFINED to
858ef0ce
RS
491 check for symbols that were implicitly defined.
492 (xcoff_mark): Don't count any dynamic relocations against
493 function symbols.
494 (bfd_xcoff_size_dynamic_sections): Save the rtld parameter
495 in the xcoff link info.
496 (xcoff_link_input_bfd): Remove handling of undefined and
497 unexported symbols.
498
12b2cce9
RS
4992009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
500
501 * coff-rs6000.c (xcoff_reloc_type_br): Make the branch absolute
502 if the target is absolute. Fix comment typo.
503 (xcoff_ppc_relocate_section): Remove FIXME.
504 * coff64-rs6000.c (xcoff64_reloc_type_br): Make the branch absolute
505 if the target is absolute.
506
0e3212ad
RS
5072009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
508
509 * xcofflink.c (xcoff_mark, xcoff_link_input_bfd): Don't copy
510 R_POS and R_NEG relocations against absolute symbols to the
511 .loader section.
512
d19d97e9
RS
5132009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
514
515 * coff64-rs6000.c (xcoff64_write_object_contents): Set the cputype
516 to 2 for bfd_mach_ppc_620.
517
e5231592
RS
5182009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
519
520 * config.bfd: Treat AIX 6+ in the same way as AIX 5.
521 * configure.in: Likewise.
522 * configure: Regenerate.
523
3516e984
L
5242009-03-13 H.J. Lu <hongjiu.lu@intel.com>
525
526 PR binutils/9945
527 * elf.c (assign_section_numbers): Generate symbol table if there
528 is any relocation in output.
529 (_bfd_elf_compute_section_file_positions): Likewise.
530
ce98a316
NC
5312009-03-13 Nick Clifton <nickc@redhat.com>
532
533 PR 9934
534 * elf-bfd.h (NUM_SHDR_ENTRIES): Cope with an empty section.
535 * elflink.c (elf_link_read_relocs_from_section): Use
536 NUM_SHDR_ENTRIES. Gracefully handle the case where there are
537 relocs but no symbol table.
538 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
539
c4fb387b
L
5402009-03-12 H.J. Lu <hongjiu.lu@intel.com>
541
542 PR ld/9938
543 * elf32-i386.c (elf_i386_check_tls_transition): Use strncmp
544 to check ___tls_get_addr.
545
546 * elf64-x86-64.c (elf64_x86_64_check_tls_transition): Use
547 strncmp to check __tls_get_addr.
548
53638231
AS
5492009-03-12 Andrew Stubbs <ams@codesourcery.com>
550
551 * dwarf2.c (read_section): Always check the offset, even when the
552 section has been read before.
553
09e8c3bf
L
5542009-03-11 H.J. Lu <hongjiu.lu@intel.com>
555
556 * elf32-i386.c (elf_i386_check_tls_transition): Fix a typo in
557 comments.
558
36e4dce6
CD
5592009-03-11 Chris Demetriou <cgd@google.com>
560
561 * bfd.c (BFD_DETERMINISTIC_OUTPUT): New flag.
562 * bfd-in2.h: Regenerate.
563 * archive.c (bfd_ar_hdr_from_filesystem): If BFD_DETERMINISTIC_OUTPUT
564 flag is set, use 0 for uid, gid, and timestamp, and use 0644 for file
565 mode.
566 (bsd_write_armap): Likewise.
567 (_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUT
568 flag is set, do nothing.
569 (coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0
570 for timestamp.
571
9b175a76
UW
5722009-03-11 Ulrich Weigand <uweigand@de.ibm.com>
573
574 * elf32-spu.c (find_function_stack_adjust): Handle sf instruction
575 used to update stack pointer.
576
f501de17
DA
5772009-03-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
578
579 PR binutils/9921
580 * som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE
581 for unknown symbols in absolute section.
582
d11fd249
NC
5832009-03-06 Nick Clifton <nickc@redhat.com>
584
585 * po/es.po: Updated Spanish translation.
586
8cd931b7
CL
5872009-03-05 Christophe Lyon <christophe.lyon@st.com>
588
589 * elf32-arm.c (group_sections): Take next section size into
590 account before accepting to group it.
591
5fa9e92f
CL
5922009-03-05 Christophe Lyon <christophe.lyon@st.com>
593
594 * elf32-arm.c (arm_type_of_stub): Handle long branches targetting
595 PLT entries.
596 (elf32_arm_final_link_relocate): Likewise.
597
b92997d6
AM
5982009-03-05 Moritz Kroll <Moritz.Kroll@gmx.de>
599
600 PR 9923
601 * peXXigen.c (_bfd_XXi_final_link_postscript): Check h->root.type.
602
727fc41e
AM
6032009-03-04 Alan Modra <amodra@bigpond.net.au>
604
605 * reloc.c (BFD_RELOC_PPC_TLSGD, BFD_RELOC_PPC_TLSLD): New.
606 * section.c (struct bfd_section): Add has_tls_get_addr_call.
607 (BFD_FAKE_SECTION): Init new flag.
608 * ecoff.c (bfd_debug_section): Likewise.
609 * bfd-in2.h: Regenerate.
610 * libbfd.h: Regenerate.
611 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_TLSGD and R_PPC_TLSLD.
612 (ppc_elf_reloc_type_lookup): Handle new relocs.
613 (ppc_elf_check_relocs): Set has_tls_get_addr_call on finding such
614 without marker relocs.
615 (ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
616 if section has no old-style calls.
617 (ppc_elf_relocate_section): Set tls_mask for non-tls relocs too.
618 Don't try to optimize new-style __tls_get_addr call when handling
619 arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
620 relocs.
621 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_TLSGD, R_PPC64_TLSLD.
622 (ppc64_elf_reloc_type_lookup): Handle new relocs.
623 (ppc64_elf_check_relocs): Set has_tls_get_addr_call on finding such
624 without marker relocs.
625 (ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
626 if section has no old-style calls. Set toc_ref for new relocs as
627 appropriate.
628 (ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too.
629 Don't try to optimize new-style __tls_get_addr call when handling
630 arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
631 relocs.
632
51dec227
AM
6332009-03-04 Alan Modra <amodra@bigpond.net.au>
634
635 PR 6768
636 * configure.in: Test for ld --as-needed support. Link shared
637 libbfd against libm.
638 * configure: Regenerate.
639
a1f7ca36
AM
6402009-03-03 Alan Modra <amodra@bigpond.net.au>
641
642 * Makefile.am: Run "make dep-am".
643 * Makefile.in: Regenerate.
644
c3b7224a
NC
6452009-03-02 Qinwei <qinwei@sunnorth.com.cn>
646
647 * elf32-score7.c: New file.
648 * elf32-score.h: New file.
649 * elf32-score.c: Add code to support score 7. Set score7 as the
650 default.
651 * cpu-score.c: Add score7 architecure.
652 (compatibile): New function.
653 * Makefile.am: Add rules for building elf32-score7 object.
654 * Makefile.in: Regenerate.
655 * configure.in: Add elf32-score7 object to score vectors.
656 * configure: Regenerate.
657 * reloc.c: Add score7 relocs.
658 * archures.c: Add score3 and score7 machine numbers.
659 * bfd-in2.h: Regenerate.
660 * libbfd.h: Regenerate.
661
58e24671
RW
6622009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
663
664 * configure: Regenerate.
665
5887528b
DA
6662009-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
667
d45b7d74
DA
668 * elf32-hppa.c (hppa32_elf_local_refcounts): New function.
669 (elf32_hppa_check_relocs): Use it.
670
5887528b
DA
671 * elf_hppa_add_symbol_hook (elf_hppa_add_symbol_hook): Move to
672 elf64-hppa.c.
673 (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
674 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
675 (elf_hppa_is_dynamic_loader_symbol): Likewise.
676 (elf_hppa_record_segment_addrs): Likewise.
677 (elf_hppa_final_link): Likewise.
678 (elf_hppa_relocate_insn): Likewise.
679 (elf_hppa_final_link_relocate): Likewise.
680 (elf64_hppa_relocate_section): Likewise.
681 * elf64-hppa.c: Insert above.
682
a03bd320
DA
6832009-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
684
685 * elf-hppa.h (elf_hppa_final_link): Use elf_hppa_final_link.
686 (elf_hppa_final_link_relocate ): Rewrite eliminating dynamic hash table.
687 (elf_hppa_relocate_section): Likewise.
688 * elf64-hppa.c (struct elf64_hppa_link_hash_entry): Change to derive
689 from struct elf_link_hash_entry. Add count field.
690 (struct elf64_hppa_dyn_hash_table): Delete.
691 (struct elf64_hppa_link_hash_table): Delete dyn_hash_table field.
692 (elf64_hppa_hash_table): Rename to hppa_link_hash_table.
693 (hppa_elf_hash_entry, eh_name): Define.
694 (elf64_hppa_new_dyn_hash_entry): Delete.
695 (elf64_hppa_dyn_hash_lookup): Delete.
696 (elf64_hppa_dyn_hash_traverse): Delete.
697 (get_dyn_name): Delete.
698 (elf64_hppa_finalize_opd): Use struct elf_link_hash_entry * instead
699 of struct elf64_hppa_dyn_hash_entry *.
700 (elf64_hppa_finalize_dlt, llocate_global_data_dlt,
701 allocate_global_data_plt, allocate_global_data_stub,
702 allocate_global_data_opd, count_dyn_reloc, allocate_dynrel_entries):
703 Likewise.
704 (hppa64_link_hash_newfunc): New.
705 (elf64_hppa_hash_table_create): Rework.
706 (count_dyn_reloc): Likewise.
707 (hppa64_elf_local_refcounts): New.
708 (elf64_hppa_check_relocs): Rework using standard technique for recording
709 local DLT, PLT and OPD reference counts.
710 (elf64_hppa_dynamic_symbol_p): Revise using "eh" for struct
711 elf_link_hash_entry *.
712 (elf64_hppa_mark_exported_functions, allocate_global_data_dlt,
713 allocate_global_data_plt, allocate_global_data_stub,
714 allocate_global_data_opd, allocate_dynrel_entries,
715 elf64_hppa_adjust_dynamic_symbol,
716 elf64_hppa_mark_milli_and_exported_functions): Likewise.
717 (elf64_hppa_create_dynamic_sections, elf64_hppa_size_dynamic_sections):
718 Use hppa_link_hash_table. Rework.
719 (elf64_hppa_link_output_symbol_hook): Rework.
720 (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd,
721 elf64_hppa_finalize_dlt, elf64_hppa_finalize_dynreloc,
722 elf64_hppa_finish_dynamic_sections): Likewise.
723
ebe24dd4
CL
7242009-02-26 Christophe Lyon <christophe.lyon@st.com>
725
726 * elf32-arm.c (stub_reloc_type): Removed.
727 (insn_sequence): Renamed reloc_type field to r_type.
728 (elf32_arm_stub_long_branch_v4t_arm_thumb_pic): New stub.
729 (elf32_arm_stub_long_branch_v4t_thumb_arm_pic): Likewise.
730 (elf32_arm_stub_long_branch_thumb_only_pic): Likewise.
731 (elf32_arm_stub_type): Add new enum entries for the new stubs.
732 (arm_stub_is_thumb): Catch new stubs.
733 (arm_type_of_stub): Handle new stubs.
734 (arm_size_one_stub): Use ARRAY_SIZE. Handle new stubs.
735 (bfd_elf32_arm_process_before_allocation): Remove useless
736 condition.
737
b9d678e0
L
7382009-02-25 H.J. Lu <hongjiu.lu@intel.com>
739
740 * elf.c (elf_find_function): Use is_function_type to check
741 function symbol.
742
56fb3749
SA
7432009-02-24 Sterling Augustine <sterling@jaw.hq.tensilica.com>
744
745 * xtensa-modules.c: Revert to previous version 1.11 due
746 to inadvertant commit.
747
658ff993
SA
7482009-02-24 Sterling Augustine <sterling@tensilica.com>
749
750 * elf32-xtensa.c (text_action_add): Separate test for action
751 type. Break if saved action is ta_widen_insn at same offset.
752
cf3eccff
DJ
7532009-02-24 Daniel Jacobowitz <dan@codesourcery.com>
754
755 * elf32-arm.c (elf32_arm_stub_long_branch_any_any_pic): Rename
756 to elf32_arm_stub_long_branch_any_arm_pic.
757 (elf32_arm_stub_long_branch_any_thumb_pic): New.
758 (enum elf32_arm_stub_type, arm_type_of_stub)
759 (arm_size_one_stub): Handle any to ARM PIC and any to Thumb PIC
760 separately.
761
07d72278
DJ
7622009-02-24 Joseph Myers <joseph@codesourcery.com>
763
764 * elf32-arm.c (PREV_SEC): Update comment.
765 (group_sections): Rename argument to stubs_always_after_branch.
766 Reverse the list and place stubs at the end of input sections.
767 Undefine NEXT_SEC.
768 (elf32_arm_size_stubs): Update to use stubs_always_after_branch.
769
4e31c731
DJ
7702009-02-23 Daniel Jacobowitz <dan@codesourcery.com>
771
772 * elf32-arm.c (arm_build_one_stub): Initialize stub_reloc_offset.
773 Fix formatting.
774 (arm_size_one_stub): Remove unnecessary break.
775 (arm_map_one_stub): Fix formatting. Return after BFD_FAIL.
776
7772009-02-23 Christophe Lyon <christophe.lyon@st.com>
461a49ca
DJ
778
779 * elf32-arm.c (stub_insn_type): New type.
780 (stub_reloc_type): Likewise.
781 (insn_sequence): Likewise.
782 (elf32_arm_stub_long_branch_any_any): Encode using insn_sequence.
783 (elf32_arm_stub_long_branch_v4t_arm_thumb): Likewise.
784 (elf32_arm_stub_long_branch_thumb_only): Likewise.
785 (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
786 (elf32_arm_stub_short_branch_v4t_thumb_arm): Likewise.
787 (elf32_arm_stub_long_branch_any_any_pic): Likewise.
788 (elf32_arm_stub_hash_entry): Add new helper fields.
789 (stub_hash_newfunc): Initialize these new fields.
790 (arm_build_one_stub): Encode Arm and Thumb instructions separately
791 to take endianness into account.
792 (arm_size_one_stub): Compute size of stubs using insn_sequence.
793 (arm_map_one_stub): Code is now more generic, thanks to
794 insn_sequence.
795
c2b4a39d
CL
7962009-02-23 Christophe Lyon <christophe.lyon@st.com>
797
798 * elf32-arm.c (elf32_arm_stub_long_branch_thumb_only): Fix stub
799 code.
800 (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
801 (arm_type_of_stub): Use Thumb-only long branch stub (non-PIC) when
802 BLX is not available. Fix typo in warning message. Add comments
803 and improve formatting.
804 (arm_build_one_stub): Adjust to new
805 elf32_arm_stub_long_branch_v4t_thumb_arm stub.
806 (arm_map_one_stub): Likewise.
807
0c376465 8082009-02-23 Tristan Gingold <gingold@adacore.com>
a60a89d6
TG
809 Eric Botcazou <ebotcazou@adacore.com>
810 Douglas B Rupp <rupp@gnat.com>
0c376465
TG
811
812 * vms.h: Update copyright year, fix comments, reorder declarations.
813 (_bfd_save_vms_section): Remove the prototype.
814 (EGPS_S_V_NO_SHIFT): New constant.
815 (bfd_vms_set_section_flags): New prototype.
816 (EGPS_S_B_ALIGN, EGPS_S_W_FLAGS, EGPS_S_L_ALLOC, EGPS_S_B_NAMLNG): New
817 constants.
818 (EGSY_S_W_FLAGS): Ditto.
819 (EGSY_S_V_QUAD_VAL): Ditto.
820 (ESDF_S_L_VALUE, ESDF_S_L_PSINDX, ESDF_S_B_NAMLNG): Ditto.
821 (EGST_S_W_FLAGS, EGST_S_Q_LP_1, EGST_S_Q_LP_2, EGST_S_L_PSINDX,
822 EGST_S_B_NAMLNG): Ditto.
823 (ESRF_S_B_NAMLNG): Ditto.
824 (ETIR_S_C_HEADER_SIZE): Ditto.
825 (EGPS_S_V_ALLOC_64BIT): Ditto.
826 (DST_S_C_EPILOG): Ditto.
827 (DST_S_C_SRC_SETLNUM_L, DST_S_C_SRC_SETLNUM_W) : Ditto.
828 (DST_S_C_SRC_INCRLNUM_B): Ditto.
829 (DST_S_B_PCLINE_UNSBYTE, DST_S_W_PCLINE_UNSWORD): Ditto.
830 (DST_S_L_PCLINE_UNSLONG): Ditto.
831 (DST_S_B_MODBEG_NAME, DST_S_L_RTNBEG_ADDRESS) : Ditto
832 (DST_S_B_RTNBEG_NAME, DST_S_L_RTNEND_SIZE): Ditto
833 (DST_S_C_SOURCE_HEADER_SIZE): Ditto.
834 (DST_S_B_SRC_DF_LENGTH, DST_S_W_SRC_DF_FILEID): Ditto.
835 (DST_S_B_SRC_DF_FILENAME, DST_S_B_SRC_UNSBYTE): Ditto.
836 (DST_S_B_SRC_UNSBYTE): Ditto.
837 (DST_S_W_SRC_UNSWORD, DST_S_L_SRC_UNSLONG): Ditto.
838 Add prototypes.
839 (vms_section, vms_reloc): Remove types.
840 (hdr_struc): Replaced by ...
841 (hdr_struct): ... new type.
842 (EMH_S_W_HDRTYP, EMH_S_B_STRLVL, EMH_S_L_ARCH1): New constants.
843 (EMH_S_L_ARCH2, EMH_S_L_RECSIZ, EMH_S_B_NAMLNG): Ditto.
844 (EMH_DATE_LENGTH): Ditto.
845 (eom_struc): Replaced by ...
846 (eom_struct): ... new type.
847 (EEOM_S_L_TOTAL_LPS, EEOM_S_W_COMCOD, EEOM_S_B_TFRFLG): New constants.
848 (EEOM_S_L_PSINDX, EEOM_S_L_TFRADR): Ditto.
849 (EIHD_S_K_MAJORID, EIHD_S_K_MINORID, EIHD_S_K_EXE): Ditto.
850 (EIHD_S_L_SIZE, EIHD_S_L_ISDOFF, EIHD_S_L_SYMDBGOFF): Ditto.
851 (EIHD_S_Q_SYMVVA, EIHD_S_L_IMGTYPE): Ditto.
852 (EISD_S_L_EISDSIZE, EISD_S_L_SECSIZE, EISD_S_Q_VIR_ADDR): Ditto.
853 (EISD_S_L_FLAGS, EISD_S_L_VBN, EISD_S_R_CONTROL): Ditto.
854 (EISD_S_L_IDENT, EISD_S_T_GBLNAM): Ditto.
855 (EISD_S_M_GBL, EISD_S_M_CRF, EISD_S_M_DZRO, EISD_S_M_WRT): Ditto.
856 (EISD_S_M_INITALCODE, EISD_S_M_BASED, EISD_S_M_FIXUPVEC): Ditto.
857 (EISD_S_M_RESIDENT, EISD_S_M_VECTOR, EISD_S_M_PROTECT): Ditto.
858 (EISD_S_M_LASTCLU, EISD_S_M_EXE, EISD_S_M_NONSHRADR): Ditto.
859 (EISD_S_M_QUAD_LENGTH, EISD_S_M_ALLOC_64BIT): Ditto.
860 (EIHS_S_L_DSTVBN, EIHS_S_L_DSTSIZE, EIHS_S_L_GSTVBN): Ditto.
861 (EIHS_S_L_GSTSIZE, EIHS_S_L_DMTVBN, EIHS_S_L_DMTBYTES): Ditto.
862 (DBG_S_L_DMT_MODBEG, DBG_S_L_DST_SIZE): Ditto.
863 (DBG_S_W_DMT_PSECT_COUNT, DBG_S_C_DMT_HEADER_SIZE): Ditto.
864 (DBG_S_L_DMT_PSECT_START, DBG_S_L_DMT_PSECT_LENGTH)
865 (DBG_S_C_DMT_PSECT_SIZE): Ditto.
866 (enum file_type_enum): New type.
867 (struct location_struct): Removed.
868 (struct fileinfo, struct srecinfo, struct lineinfo): New types.
869 (struct funcinfo, struct module): Ditto.
870 (struct vms_private_data_struct): Update fields.
871 (struct vms_section_data_struct): New type.
872
873 * vms.c: Update copyright year, fix comments,
874 Fix includes for DECC, add prototypes.
875 (vms_initialize): Use bfd_alloc instead of bfd_zalloc and remove
876 some initializers.
877 Use flavour to set is_vax, location_stack is removed.
878 (struct pair): Declare.
879 (fill_section_ptr): Initialize variables at declaration.
880 Add guard to set SECTION_SYM flag, handlde und section.
881 (vms_fixup_sections): Use struct pair for fill_section_ptr argument.
882 (_bfd_vms_slurp_object_records): New function, replaces previous
883 vms_object_p.
884 (vms_slurp_module): New function.
885 (vms_slurp_image): Ditto.
886 (vms_object_p): Complete rewrite.
887 (vms_mkobject): Use is_vax field to slect architecture.
888 (free_reloc_stream): New function.
889 (vms_convert_to_var): Ditto.
890 (vms_convert_to_var_1): Ditto.
891 (vms_convert_to_var_unix_filename): Ditto.
892 (vms_close_and_cleanup): Call free_reloc_stream, convert file to
893 VAR format on VMS.
894 (vms_new_section_hook): Set alignment to 0, allocate private data.
895 (vms_get_section_contents): Load content.
896 (vms_get_symbol_info): Handle undefined section.
897 (vms_find_nearest_line): Handle.
898 (alloc_reloc_stream): New function.
899 (vms_slurp_reloc_table): Ditto.
900 (vms_get_reloc_upper_bound): Make it real.
901 (vms_canonicalize_reloc): Do the real work.
902 (alpha_howto_table): Add ALPHA_R_NOP, ALPHA_R_BSR, ALPHA_R_LDA,
903 ALPHA_R_BOH.
904 (vms_bfd_reloc_type_lookup): Handle NOP, BSR, LDA and BOH.
905 (vms_set_arch_mach): Check arch.
906 (vms_set_section_contents): Copy the content after allocation.
907 (vms_alpha_vec): Update object flags.
908
909 * vms-tir.c: Update copyright year, fix comments,
910 add prototypes for new functions.
911 (dst_define_location): New function.
912 (dst_restore_location): New function.
913 (dst_retrieve_location): New function.
914 (dst_check_allocation): New function.
915 (image_dump): Call dst_check_allocation.
916 (image_write_b): Ditto.
917 (image_write_w): Ditto.
918 (image_write_l): Ditto.
919 (image_write_q): Ditto.
920 (cmd_name): Handle STA_LW, STA_QW, STO_OFF, STO_IMM, STO_IMMR, STO_LW,
921 STO_QW, OPR_ADD, CTL_SETRB, STC_LP_PSB, CTL_DFLOC, CTL_STLOC,
922 CTL_STKDL.
923 Call error handler instead of abort if name is not known.
924 (etir_sta): Add quarter_relocs argument and set it.
925 Fix cast.
926 (etir_sto): Ditto.
927 (etir_opr): Ditto, return FALSE in case of error.
928 (etir_ctl): Add quarter_relocs argument and set it, fix cast.
929 Fix CTL_DFLOC, CTL_STLOC, CTL_STKDL.
930 (etir_stc): Add quarter_relocs argument and set it, fix cast.
931 Fix STC_LP, STC_LP_PSB, STC_GBL and STC_CGA.
932 Handle STC_LP_PSB, STC_BSR_GBL, STC_LDA_GBL, STC_BOH_GBL.
933 Move STC_NOP_PS, STC_BSR_PS, STC_LDA_PS, STC_BOH_PS, STC_NBH_PS.
934 Return FALSE in case of error.
935 (tir_sta): Change sign of psect.
936 (tir_ctl): Ditto.
937 (tir_cmd): Fix cast. Makes tir_table static const.
938 (etir_cmd): Add quarter_relocs argument, makes etir_table const,
939 add argument to explain.
940 (analyze_etir): Initialize maxptr, add quarter_relocs
941 declaration, move some declarations into inner scopes.
942 Handle quarter_relocs and STO_IMM.
943 (_bfd_vms_slurp_tir): Use constant instead of hard-coded values.
944 (_bfd_vms_slurp_relocs): New function.
945 (_bfd_vms_decode_relocs): New function.
946 (sto_imm): Rewritten.
947 (start_first_etbt_record): New function.
948 (start_another_etbt_record): Ditto.
949 (etir_output_check): Ditto.
950 (defer_reloc_p): Ditto.
951 (_bfd_vms_write_tir): Remove nextoffset, convert a while-loop to
952 a for-loop. Correctly deals with contents, deals with .vmsdebug,
953 rewritte relocations handling.
954 (_bfd_vms_write_tbt): Removed.
955 (_bfd_vms_write_dbg): Ditto.
956
957 * vms-misc.c: Update copyright year, Fix comments.
958 (_bfd_vms_get_header_values): Use 'size' instead of 'length'.
959 (maybe_adjust_record_pointer_for_object): New function.
960 (_bfd_vms_get_first_record): New function, replaces ...
961 (_bfd_vms_get_record): .. removed.
962 (_bfd_vms_get_object_record): New function.
963 (_bfd_vms_get_object_record): New function.
964 (vms_get_remaining_object_record): New function, replaces ...
965 (_bfd_vms_get_next_record): ... removed.
966 (add_new_contents): Removed.
967 (_bfd_save_vms_section): Removed.
968 (_bfd_get_vms_section): Removed.
969 (_bfd_vms_output_flush): Write in VAR format.
970 (new_symbol): Don't make UND section.
971
972 * vms-hdr.c: Update copyright year, update list of record handled.
973 (_bfd_vms_slurp_hdr): rec_length renamed to rec_size.
974 (_bfd_vms_write_hdr): Strip vms and unix patches,
975 add comments, truncate module name at 31 characters,
976 use constants instead of hard-coded value,
977 write BFD version instead of a fixed string.
978 (_bfd_vms_slurp_ihd): New function.
979 (_bfd_vms_slurp_isd): Ditto.
980 (_bfd_vms_slurp_ihs): Ditto.
981 (new_module): Ditto.
982 (parse_module): Ditto
983 (build_module_list): Ditto.
984 (module_find_nearest_line): Ditto.
985 (_bfd_vms_find_nearest_dst_line): Ditto.
986 (vms_slurp_debug): Ditto.
987 (_bfd_vms_slurp_dbg): Ditto.
988 (_bfd_vms_slurp_tbt): Ditto.
989 (_bfd_vms_write_dbg): Ditto.
990 (_bfd_vms_write_tbt): Ditto.
991
992 * vms-gsd.c: Update copyright year, update list of records handled.
993 (EVAX_LITERALS_NAME): New macro.
994 (evax_section_flags): Add an entry for EVAX_LITERALS_NAME.
995 (gpsflagdesc, gsyflagdesc): Moved out of _bfd_vms_slurp_gsd.
996 (register_universal_symbol): New function and prototype.
997 (_bfd_vms_slurp_gsd): Fix indentations and casts,
998 improve debug messages,
999 use constants instead of hard-coded value,
1000 fix missing endianness conversion,
1001 handle global symbol (SYMG).
1002 (bfd_vms_set_section_flags): New function.
1003 (_bfd_vms_write_gsd): Don't write .vmsdebug section,
1004 handle section literals,
1005 fix indentation,
1006 handle section bfd and vms flags,
1007 don't output LIB$INITIALIZE symbol,
1008 fix handling of weak symbols,
1009 fix evax vs vax procedure descriptor,
1010 handle absolute symbols.
1011
1012 * reloc.c (BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_BSR,
1013 BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BOH): New relocations.
1014
1015 * makefile.vms (DEFS): Fix flags for VMS.
1016
1017 * bfdio.c (real_fopen): Handle multiple VMS fopen attributes.
1018
1019 * bfd-in2.h: Regenerated.
1020 * libbfd.h: Regenerated.
1021
47149254
CC
10222009-02-20 Cary Coutant <ccoutant@google.com>
1023
1024 * vmsutil.c (vms_file_stats_name): Fix incorrect use of st_mtime
1025 in struct stat.
1026
6b1cecf3
DK
10272009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>
1028
1029 PR gas/7059
1030 * coffcode.h (coff_write_object_contents): Don't let the string
1031 table offset overflow the s_name field when using long section names.
1032
88183869
DK
10332009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>
1034
1035 * coff-alpha.c (alpha_ecoff_backend_data): Initialise fields which
1036 control long section name handling with ECOFF_NO_LONG_SECTION_NAMES.
1037 * coff-mips.c (mips_ecoff_backend_data): Likewise.
1038 * coff-rs6000.c (bfd_xcoff_backend_data): Initialise fields which
1039 control long section name handling with XCOFF_NO_LONG_SECTION_NAMES.
1040 (bfd_pmac_xcoff_backend_data): Likewise.
1041 * coff64-rs6000.c (bfd_xcoff_backend_data): Likewise.
1042 (bfd_xcoff_aix5_backend_data): Likewise.
1043 (xcoff64_write_object_contents): Delete unused long_section_names
1044 local variable.
1045 * coff-sh.c (bfd_coff_small_swap_table): Initialise long section
1046 name members using COFF_DEFAULT_LONG_SECTION_NAMES and make entire
1047 struct non-const.
1048 * coffcode.h (documentation): Update to describe long section names.
1049 (COFFLONGSECTIONCATHELPER): New helper macro.
1050 (BLANKOR1TOODD): Likewise.
1051 (COFF_ENABLE_LONG_SECTION_NAMES): Likewise.
1052 (COFF_LONG_SECTION_NAMES_SETTER): Likewise.
1053 (COFF_DEFAULT_LONG_SECTION_NAMES): Likewise.
1054 (bfd_coff_set_long_section_names_allowed): New function.
1055 (bfd_coff_set_long_section_names_disallowed): Likewise.
1056 (struct bfd_coff_backend_data): Add new backend hook function
1057 pointer _bfd_coff_set_long_section_names.
1058 (bfd_coff_set_long_section_names): New backend hook.
1059 (coff_write_object_contents): Only generate long section names if
1060 bfd_coff_long_section_names() indicates they are currently enabled.
1061 (bfd_coff_std_swap_table): Make non-const, and initialise long
1062 section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
1063 (ticoff0_swap_table): Likewise to both.
1064 (ticoff1_swap_table): Again, likewise to both.
1065 * coffgen.c (make_a_section_from_file): Allow long section names
1066 as inputs even if not currently allowed for outputs.
1067 * ecoff.c (_bfd_ecoff_no_long_sections): New function.
1068 * efi-app-ia32.c (COFF_LONG_SECTION_NAMES): Define to 0, not blank.
1069 * efi-app-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
1070 * efi-app-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
1071 * efi-bsdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
1072 * efi-bsdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
1073 * efi-bsdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
1074 * efi-rtdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
1075 * efi-rtdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
1076 * efi-rtdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
1077 * pei-arm.c (COFF_LONG_SECTION_NAMES): Likewise.
1078 * pei-i386.c (COFF_LONG_SECTION_NAMES): Likewise.
1079 * pei-mcore.c (COFF_LONG_SECTION_NAMES): Likewise.
1080 * pei-mips.c (COFF_LONG_SECTION_NAMES): Likewise.
1081 * pei-ppc.c (COFF_LONG_SECTION_NAMES): Likewise.
1082 * pei-sh.c (COFF_LONG_SECTION_NAMES): Likewise.
1083 * pei-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
1084 * libcoff-in.h: Update copyright year to cause updated copyright
1085 year in generated libcoff.h, and fix typo.
1086 * libcoff.h: Regenerated.
1087 * libecoff.h (ECOFF_NO_LONG_SECTION_NAMES): New macro.
1088 (_bfd_ecoff_no_long_sections): Add prototype.
1089 * libxcoff.h (XCOFF_NO_LONG_SECTION_NAMES): New macro.
1090 * pe-mips.c (COFF_LONG_SECTION_NAMES): Define empty if not already
1091 defined by an including .c file.
1092 * ticoff.h (ticoff0_swap_table): Make non-const, and initialise
1093 long section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
1094 (ticoff1_swap_table): Likewise to both.
1095
90d8a22c
CL
10962009-02-18 Christophe Lyon <christophe.lyon@st.com>
1097
1098 * elf32-arm.c (arm_build_one_stub): Fix relocation target for pic
1099 stub. Catch default case error.
1100 (arm_map_one_stub): Add missing Thumb mapping symbol.
1101
12123067
NC
11022009-02-18 Bjoern Haase <bjoern.m.haase@web.de>
1103
1104 PR 9841
1105 * elf32-avr.c: Handle case where no local symbos exist correctly.
1106
fea2b4d6
CL
11072009-02-16 Christophe Lyon <christophe.lyon@st.com>
1108
1109 bfd/
1110 * elf32-arm.c (arm_long_branch_stub,
1111 arm_thumb_v4t_long_branch_stub,
1112 arm_thumb_thumb_long_branch_stub,
1113 arm_thumb_arm_v4t_long_branch_stub,
1114 arm_thumb_arm_v4t_short_branch_stub,
1115 arm_pic_long_branch_stub):
1116 Renamed to elf32_arm_stub_long_branch_any_any,
1117 elf32_arm_stub_long_branch_v4t_arm_thumb,
1118 elf32_arm_stub_long_branch_thumb_only,
1119 elf32_arm_stub_long_branch_v4t_thumb_arm,
1120 elf32_arm_stub_short_branch_v4t_thumb_arm,
1121 elf32_arm_stub_long_branch_any_any_pic.
1122 (arm_stub_long_branch, arm_thumb_v4t_stub_long_branch,
1123 arm_thumb_thumb_stub_long_branch,
1124 arm_thumb_arm_v4t_stub_long_branch,
1125 arm_thumb_arm_v4t_stub_short_branch, arm_stub_pic_long_branch):
1126 Renamed to arm_stub_long_branch_any_any,
1127 arm_stub_long_branch_v4t_arm_thumb,
1128 arm_stub_long_branch_thumb_only,
1129 arm_stub_long_branch_v4t_thumb_arm,
1130 arm_stub_short_branch_v4t_thumb_arm,
1131 arm_stub_long_branch_any_any_pic.
1132
13e0a874
DA
11332009-02-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1134
1135 * elf-hppa.h (elf_hppa_final_link_relocate): Correct addend value used
1136 in branch offset check.
1137
3a71aa26
AM
11382009-02-15 Alan Modra <amodra@bigpond.net.au>
1139
1140 * elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,
1141 add toc.symndx and toc.add.
1142 (ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.
1143 Set up toc.add.
1144 (get_tls_mask): Add toc_addend param, set from toc.add. Adjust all
1145 callers.
1146 (ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.
1147 (branch_reloc_hash_match): New function, extracted from..
1148 (ppc64_elf_tls_optimize): ..here.
1149 (ppc64_elf_relocate_section): Properly set addends when optimizing
1150 tls sequences. Avoid unnecessary reading and writing of insns.
1151 Only redo reloc when symbol changed. Bypass symbol checks when
1152 using tlsld_got.
1153 * elf32-ppc.c (ppc_elf_tls_setup): Correct comment.
1154 (branch_reloc_hash_match): New function, extracted from..
1155 (ppc_elf_tls_optimize): ..here.
1156 (ppc_elf_relocate_section): Avoid unnecessary reading of insns.
1157 Don't clear addend on zapped __tls_get_addr reloc.
1158
2c2b4ed4
NC
11592009-02-12 Nick Clifton <nickc@redhat.com>
1160
1161 PR 9827
1162 * elflink.c (bfd_elf_final_link): When counting the relocations,
1163 if the header size has not been set yet then assume that it will
1164 match the output section's reloc type.
1165
453f5985
NS
11662009-02-12 Nathan Sidwell <nathan@codesourcery.com>
1167
1168 * elf32-mips.c (mips_elf_final_gp): Don't add 0x4000 offset for
1169 relocatable link.
1170
3209bffa
AM
11712009-02-09 Alan Modra <amodra@bigpond.net.au>
1172
1173 * elf32-spu.c (spu_elf_find_overlays): Call bfd_set_error on errors.
1174 (find_function): Likewise.
1175 (pasted_function): Don't error if no prior function found.
1176 (discover_functions): Revert 2008-12-10 change. Extend first
1177 function range to start of section.
1178
813c8a3c
DA
11792009-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1180
1181 * elf64-hppa.c: Remove PARAMS macro. Replace PTR with void *. Convert
1182 functions to C90.
1183 * elf64-hppa.h: Likewise.
1184
2d0f9ad9
JM
11852009-02-06 Joseph Myers <joseph@codesourcery.com>
1186
1187 * elfxx-mips.c (_bfd_mips_elf_section_processing): Remove special
1188 .sbss handling.
1189
50e00962
AM
11902009-02-04 Alan Modra <amodra@bigpond.net.au>
1191
1192 * elf32-spu.c (spu_elf_build_stubs): Define __icache_neg_log2_linesize.
1193 Define __icache_ptr_handler*, not __icache_ptr___icache_bi_handler*.
1194
52b6b6b9
JM
11952009-02-03 Sandip Matte <sandip@rmicorp.com>
1196
1197 * aoutx.h (NAME (aout, machine_type)): Handle bfd_mach_mips_xlr.
1198 * archures.c (bfd_mach_mips_xlr): Define.
1199 * bfd-in2.h: Regenerate.
1200 * cpu-mips.c (I_xlr): Define.
1201 (arch_info_struct): Add XLR entry.
1202 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_XLR.
1203 (mips_set_isa_flags): Handle bfd_mach_mips_xlr
1204 (mips_mach_extensions): Add XLR entry.
1205
654c3c9f
EW
12062009-02-03 Eric B. Weddington <eric.weddington@atmel.com>
1207
1208 * elf32-avr.c (avr_final_link_relocate): Allow avr25 to wraparound.
1209
31dd3154
JM
12102009-02-03 Carlos O'Donell <carlos@codesourcery.com>
1211
1212 * configure.in: AC_SUBST pdfdir.
d1fa68d3 1213 * Makefile.am: Add install-pdf, install-pdf-am
31dd3154
JM
1214 and install-pdf-recursive targets. Define pdfdir.
1215 * doc/Makefile.am: Define pdf__strip_dir. Add
1216 install-pdf and install-pdf-am targets.
d1fa68d3 1217 * po/Make-in: Add install-pdf target.
31dd3154
JM
1218 * configure: Regenerate.
1219 * Makefile.in: Regenerate
1220 * doc/Makefile.in: Regenerate.
1221
cf869cce
NC
12222009-02-03 Maxim Kuvyrkov <maxim@codesourcery.com>
1223
1224 * bfd-in2.h: Regenerate.
1225 * elf32-m68k.c: Handle 2-slot GOT entries. Rename variables and
1226 fields from n_entries to n_slots where appropriate, update comments.
1227 (HOWTO): Add TLS relocations.
1228 (reloc_map): Map BFD_RELOC_68K_TLS_* to R_68K_TLS_*.
1229 (enum elf_m68k_got_offset_size): New enum.
1230 (struct elf_m68k_got_entry.type): Move field to ...
1231 (struct elf_m68k_got_entry_key): ... here. Update all uses.
1232 (elf_m68k_reloc_got_type, elf_m68k_reloc_got_offset_size): New static
1233 functions.
1234 (elf_m68k_reloc_got_n_entries, elf_m68k_reloc_tls_p): New static
1235 functions.
1236 (struct elf_m68k_got): merge rel_8o_n_entries and rel_8o_16o_n_entries
1237 fields into n_entries array. Update comments.
1238 (elf_m68k_init_got): Simplify, update all uses.
1239 (elf_m68k_init_got_entry_key): Handle R_68K_TLS_LDM32 reloc, update.
1240 (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT): Adjust to handle 2-slot
1241 GOT entries; update name, update all uses.
1242 (ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): Ditto.
1243 (elf_m68k_get_got_entry): Update.
1244 (elf_m68k_update_got_entry_type): Rewrite to handle TLS GOT entries,
1245 simplify.
1246 (elf_m68k_remove_got_entry_type): Simplify.
1247 (elf_m68k_add_entry_to_got, elf_m68k_can_merge_gots_1): Update.
1248 (elf_m68k_can_merge_gots): Update.
1249 (elf_m68k_merge_gots_1, elf_m68k_merge_gots): Update.
1250 (struct elf_m68k_finalize_got_offsets_arg): Rewrite to handle 2-slot
1251 GOT entries, simplify.
1252 (elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Same.
1253 (struct elf_m68k_partition_multi_got_arg): Add slots_relas_diff
1254 field, remove obsoleted local_n_entries field.
1255 (elf_m68k_partition_multi_got_2): New static function.
1256 (elf_m68k_partition_multi_got_1, elf_m68k_partition_multi_got): Use it;
1257 update.
1258 (elf_m68k_remove_got_entry_type): Update.
1259 (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
d1fa68d3 1260 (elf_m68k_check_relocs): Handle TLS relocations. Remove unnecessary
cf869cce
NC
1261 update of sgot->size and srelgot->size.
1262 (elf_m68k_gc_sweep_hook): Update.
1263 (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
1264 (elf_m68k_relocate_section, elf_m68k_finish_dynamic_symbol): Handle
1265 TLS relocations.
1266 * reloc.c (BFD_RELOC_68K_TLS_*): Declare TLS relocations.
1267 * libbfd.h (bfd_reloc_code_real_names): Add BFD_RELOC_68K_TLS_*.
1268
c1a0a41f
DD
12692009-02-02 DJ Delorie <dj@redhat.com>
1270
1271 * elf32-mep.c (config_names): Regenerate configuration.
1272
72a80a16
AM
12732009-02-02 Alan Modra <amodra@bigpond.net.au>
1274
1275 * elf-bfd.h (bfd_elf_get_str_section): Don't declare.
1276 (bfd_elf_find_section, _sh_elf_set_mach_from_flags): Likewise.
1277 * elf.c (bfd_elf_get_str_section): Make static.
1278 (bfd_elf_find_section): Delete.
1279 * libbfd.h: Regenerate.
1280
273f4430
JK
12812009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
1282
1283 * elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
1284 (_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
1285
010e5ae2
AM
12862009-01-31 Alan Modra <amodra@bigpond.net.au>
1287
1288 * elflink.c (on_needed_list): New function.
1289 (elf_link_add_object_symbols): Link in --as-needed libs if they
1290 satisfy undefined symbols in other libs.
1291
33a7ffc2
JM
12922009-01-30 Julian Brown <julian@codesourcery.com>
1293
1294 * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Skip BFDs with
1295 EXEC_P or DYNAMIC flags, and skip sections which are being linked
1296 with --just-symbols (-R).
1297
13d72a14
AN
12982009-01-29 Adam Nemet <anemet@caviumnetworks.com>
1299
1300 * dwarf2.c (read_rangelist): Use read_address to read low_pc and
1301 high_pc in order to properly sign-extend VMAs.
1302
d334575b 13032009-01-29 Daniel Jacobowitz <dan@codesourcery.com>
d1fa68d3
AS
1304 Mark Shinwell <shinwell@codesourcery.com>
1305 Catherine Moore <clm@codesourcery.com>
d334575b
JM
1306
1307 * elf-attrs.c, elflink.c, elfxx-mips.c: Correct typos in comments.
1308
528aeb62
CM
13092009-01-28 Catherine Moore <clm@codesourcery.com>
1310
1311 * elf32-arm.c (elf32_arm_check_relocs): Set SEC_ALLOC and
1312 SEC_LOAD for dynamic relocation sections.
1313
f6f05983
HPN
13142009-01-27 Hans-Peter Nilsson <hp@axis.com>
1315
1316 * elf32-cris.c (cris_elf_relocate_section): Use elf_hash_table
1317 (info)->tls_size, not elf_hash_table (info)->tls_sec->size for
1318 the size of local TLS data.
1319
27cc28f9
AS
13202009-01-27 Andreas Schwab <schwab@suse.de>
1321
1322 * mach-o.c (bfd_mach_o_archive_p): Restrict the number of
1323 architectures in the archive.
1324
b3bf42d8
HPN
13252009-01-27 Hans-Peter Nilsson <hp@axis.com>
1326
f551b6f0
HPN
1327 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_DTPREL>
1328 <R_CRIS_32_DTPREL>: Correct relocation value.
1329
b3bf42d8
HPN
1330 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_8>
1331 <R_CRIS_16, R_CRIS_32>: Don't call BFD_ASSERT for weak undefined
1332 symbols with non-default visibility.
1333
9bc4e62b
NS
13342009-01-26 Nathan Sidwell <nathan@codesourcery.com>
1335
1336 * elf32-ppc.c (ppc_elf_relax_section): Add space for relocs
1337 describing the trampolines.
1338 (ppc_elf_relocate_section): Update relocs to describe the
1339 trampolines.
1340
aeaf6540
DA
13412009-01-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1342
1343 * elf-hppa.h (elf_hppa_final_link_relocate): Add check to ensure that
1344 branch targets can be reached for R_PARISC_PCREL22F, R_PARISC_PCREL17F
1345 and R_PARISC_PCREL12F relocations.
1346
1e8fa21e
AM
13472009-01-24 Alan Modra <amodra@bigpond.net.au>
1348
1349 PR 6022
1350 * elflink.c (find_version_for_sym): New function split out from,
1351 but without export_dynamic test, ..
1352 (_bfd_elf_link_assign_sym_version): ..here.
1353 (_bfd_elf_export_symbol): Use it.
1354
28caa186
AM
13552009-01-23 Alan Modra <amodra@bigpond.net.au>
1356
1357 * elf-bfd.h (struct elf_assign_sym_version_info): Delete.
1358 (struct elf_info_failed, struct elf_find_verdep_info): Move to..
1359 * elflink.c: ..here, somewhat modified.
1360 * elf-bfd.h (_bfd_elf_add_default_symbol, _bfd_elf_export_symbol,
1361 _bfd_elf_link_find_version_dependencies,
1362 _bfd_elf_link_assign_sym_version, _bfd_elf_link_size_reloc_section,
1363 _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
1364 _bfd_elf_link_sec_merge_syms, bfd_elf_link_mark_dynamic_symbol): Don't
1365 declare..
1366 * elflink.c: ..and make static here.
1367 (_bfd_elf_link_find_version_dependencies): Adjust for removal
1368 of output_bfd from struct elf_find_verdep_info.
1369 (_bfd_elf_link_assign_sym_version): Similarly adjust to use
1370 struct elf_info_failed.
1371 (bfd_elf_size_dynamic_sections): Adjust.
1372
be04437d
AM
13732009-01-22 Alan Modra <amodra@bigpond.net.au>
1374
1375 PR 6832
1376 * dwarf2.c (find_line): Don't update stash->sec_info_ptr until
1377 after comp_unit_find_line call.
1378
58f9615c
NC
13792009-01-21 Nick Clifton <nickc@redhat.com>
1380
1381 PR 9769
1382 * vmsutil.c (vms_file_stats_name): Remove use of unsupported
1383 tm_gmtoff field in struct tm.
1384
fb266b8b
AM
13852009-01-21 Alan Modra <amodra@bigpond.net.au>
1386
1387 * elf32-spu.h (struct spu_elf_params): Add non_ia_text.
1388 * elf32-spu.c (mark_overlay_section): Only include .text.ia.*
1389 sections in soft-icache lines unless non_ia_text. Don't add
1390 rodata if doing so would exceed line size.
1391
451ffe63
HPN
13922009-01-19 Hans-Peter Nilsson <hp@axis.com>
1393
1394 * elf32-cris.c (elf_cris_copy_indirect_symbol): For other symbol
1395 types than bfd_link_hash_indirect, before early return, call
1396 _bfd_elf_link_hash_copy_indirect.
1397
5aa6ff7c
AS
13982009-01-19 Andrew Stubbs <ams@codesourcery.com>
1399
1400 * elf-attrs.c (vendor_set_obj_attr_contents): Support tag ordering.
1401 * elf-bfd.h (elf_backend_data): Add obj_attrs_order.
1402 * elf32-arm.c (elf32_arm_obj_attrs_order): New function.
1403 (elf_backend_obj_attrs_order): New define.
1404 * elfxx-target.h (elf_backend_obj_attrs_order): New define.
1405 (elfNN_bed): Add elf_backend_obj_attrs_order.
1406
3483fe2e
AS
14072009-01-19 Andrew Stubbs <ams@codesourcery.com>
1408
1409 * elf-attrs.c (is_default_attr): Substitute magic numbers with macros.
1410 (obj_attr_size): Likewise.
1411 (write_obj_attribute): Likewise.
1412 (_bfd_elf_copy_obj_attributes): Likewise.
1413 (_bfd_elf_parse_attributes): Likewise.
1414 * elf-bfd.h (ATTR_TYPE_FLAG_INT_VAL): New define.
1415 (ATTR_TYPE_FLAG_STR_VAL, ATTR_TYPE_FLAG_NO_DEFAULT): New defines.
1416 (ATTR_TYPE_HAS_INT_VAL, ATTR_TYPE_HAS_STR_VAL): New defines.
1417 (ATTR_TYPE_HAS_NO_DEFAULT): New define.
1418 * elf32-arm.c (elf32_arm_obj_attrs_arg_type): Replace magic numbers
1419 with macros.
1420
2d0bb761
AS
14212009-01-19 Andrew Stubbs <ams@codesourcery.com>
1422
1423 * elf-attrs.c (is_default_attr): Support defaultless attributes.
1424 (bfd_elf_add_obj_attr_int): Get type from _bfd_elf_obj_attrs_arg_type.
1425 (bfd_elf_add_obj_attr_string): Likewise.
1426 (bfd_elf_add_obj_attr_int_string): Likewise.
1427 (_bfd_elf_parse_attributes): Allow for unknown flag bits in type.
1428 * elf-bfd.h (struct obj_attribute): Document new flag bit.
1429 * elf32-arm.c (elf32_arm_obj_attrs_arg_type): Specify that
1430 Tag_nodefaults has no default value.
1431 (elf32_arm_merge_eabi_attributes): Modify the Tag_nodefaults
1432 comment to reflect the new state.
1433
a77e83b7
AM
14342009-01-19 Alan Modra <amodra@bigpond.net.au>
1435
1436 PR 9695
1437 * pdp11.c (N_BADMAG): True for anything but OMAGIC, NMAGIC, ZMAGIC.
1438 (some_aout_object_p): Delete dead code handling QMAGIC and BMAGIC.
1439 (adjust_z_magix): Delete dead code handling QMAGIC.
1440
f6d29e26
KT
14412009-01-16 Kai Tietz <kai.tietz@onevision.com>
1442
1443 * coffcode.h (styp_to_sec_flags): Correct interpretation of
1444 IMAGE_SCN_MEM_DISCARDABLE.
1445
29670fb9
AM
14462009-01-16 Alan Modra <amodra@bigpond.net.au>
1447
1448 * Makefile.am (libbfd_la_LIBADD, libbfd_la_LDFLAGS): Substitute
1449 SHARED_LIBADD and SHARED_LDFLAGS rather than WIN32LIBADD, WIN32LDFLAGS.
1450 * configure.in (commonbfdlib): Delete.
1451 (SHARED_LDFLAGS): Rename from WIN32LDFLAGS/
1452 (SHARED_LIBADD): Rename from WIN32LIBADD. Add pic libiberty if such
1453 is available, not just for linux.
1454 * po/SRC-POTFILES.in: Regenerate.
1455 * Makefile.in: Regenerate.
1456 * configure: Regenerate.
1457
91e22acd
AS
14582009-01-15 Andrew Stubbs <ams@codesourcery.com>
1459 Julian Brown <julian@codesourcery.com>
1460
1461 * elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 71 to include all known
1462 ARM attributes in ABI 2.07.
1463 * elf32-arm.c (get_secondary_compatible_arch): New function.
1464 (set_secondary_compatible_arch): New function.
1465 (tag_cpu_arch_combine): New function.
1466 (elf32_arm_copy_one_eabi_other_attribute): Delete function.
1467 (elf32_arm_copy_eabi_other_attribute_list): Delete function.
1468 (elf32_arm_merge_eabi_attributes): Rename order_312 to order_021 to
1469 make it fit with order_01243.
1470 Add support for Tag_also_compatible_with,
1471 Tag_CPU_unaligned_access, Tag_T2EE_use, Tag_Virtualization_use,
1472 Tag_MPextension_use, Tag_nodefaults and Tag_conformance.
1473 Improve/tidy up support for Tag_CPU_raw_name, Tag_CPU_name,
1474 Tag_CPU_arch, Tag_ABI_HardFP_use, Tag_VFP_HP_extension,
1475 Tag_ABI_FP_denormal, Tag_ABI_PCS_GOT_use, Tag_ABI_align8_needed,
1476 Tag_VFP_arch and Tag_ABI_FP_16bit_format.
1477 Rework the way unknown attributes are handled.
1478 Defer errors until all attributes have been processed.
1479
7b86a9fa
AS
14802009-01-15 Andrew Stubbs <ams@codesourcery.com>
1481
1482 * elf-attrs.c (bfd_elf_add_obj_attr_compat): Rename to
1483 bfd_elf_add_obj_attr_int_string.
1484 Read Tag_compatibility from its new location in the attribute array,
1485 rather than the attribute list.
1486 (_bfd_elf_copy_obj_attributes): bfd_elf_add_obj_attr_compat ->
1487 bfd_elf_add_obj_attr_int_string.
1488 (_bfd_elf_parse_attributes): Likewise.
1489 (_bfd_elf_merge_object_attributes): There's now only one
1490 Tag_compatibility, and it's in the array, not the list.
1491 * elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 33 to include
1492 Tag_compatibility.
1493 (bfd_elf_add_obj_attr_compat): Rename to
1494 bfd_elf_add_obj_attr_int_string.
1495 (bfd_elf_add_proc_attr_compat): Rename to
1496 bfd_elf_add_proc_attr_int_string.
1497 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Explicitly don't handle
1498 Tag_compatibility.
1499
01e1a5bc
NC
15002009-01-15 Douglas B Rupp <rupp@gnat.com>
1501
1502 * Makefile.am (BFD32_BACKENDS): Add new object vmsutil.lo
1503 (BFD32_BACKENDS_CFILES): Add new file vmsutil.c
1504 (vmsutil.lo): Add dependency rule.
1505 * Makefile.in: Regenerate.
1506 * config.bfd (ia64*-*-*vms*): Add case.
1507 * configure.in (bfd_elf64_ia64_vms_vec): Add case.
1508 * configure: Regenerate.
1509 * vmsutil.c: New file.
1510 * vmsutil.h: New file.
1511 * elf-bfd.h (struct bfd_elf_special_section): Change type of
1512 attr to bfd_vma.
1513 * elfxx-ia64.c (elfNN_vms_post_process_headers,
1514 elfNN_vms_section_processing, elfNN_vms_final_write_processing,
1515 elfNN_vms_close_and_cleanup, elfNN_vms_section_from_shdr,
1516 elfNN_vms_object_p): New functions
1517 * targets.c (bfd_elf64_ia64_vms_vec): New target.
1518
a33dafc3
L
15192009-01-14 H.J. Lu <hongjiu.lu@intel.com>
1520
1521 PR ld/9727
1522 * elflink.c (elf_gc_sweep): Exclude the group section if the
1523 first member of the section group is excluded.
1524
13c0e967
AM
15252009-01-14 Alan Modra <amodra@bigpond.net.au>
1526
1527 PR 9735
1528 * syms.c (_bfd_stab_section_find_nearest_line): Don't free
1529 saved filename, use bfd_alloc rather than bfd_malloc for it.
1530
460e679b
AM
15312009-01-13 Alan Modra <amodra@bigpond.net.au>
1532
1533 * elf32-spu.c (spu_elf_build_stubs): Make __icache_base absolute.
1534
25076afa
AM
15352009-01-13 Alan Modra <amodra@bigpond.net.au>
1536
1537 * elf32-spu.c (remove_cycles): Always set call->max_depth.
1538
37107878
AM
15392009-01-12 Alan Modra <amodra@bigpond.net.au>
1540
1541 * elf32-spu.c (spu_elf_auto_overlay): Correct vma mask.
1542
cd4a7468
AM
15432009-01-12 Alan Modra <amodra@bigpond.net.au>
1544
1545 * elf32-spu.c (struct spu_link_hash_table): Add init, line_size_log2,
1546 num_lines_log2.
1547 (struct got_entry): Add br_addr.
1548 (struct call_info): Add priority.
1549 (struct function_info): Add lr_store and sp_adjust.
1550 (spu_elf_setup): Init line_size_log2 and num_lines_log2.
1551 (spu_elf_find_overlays): For soft-icache, mark any section within cache
1552 area as an overlay, and check that no other overlays exist. Look up
1553 icache overlay manager entry sym.
1554 (BRA_STUBS, BRA, BRASL): Define.
1555 (enum _stub_type): Replace ovl_stub with call_ovl_stub and br*_ovl_stub.
1556 (needs_ovl_stub): Adjust for soft-icache. Return priority encoded
1557 in branch insn.
1558 (count_stub, build_stub): Support soft-icache.
1559 (build_spuear_stubs, process_stubs): Adjust build_stub call.
1560 (spu_elf_size_stubs): Size soft-icache stubs.
1561 (overlay_index): New function.
1562 (spu_elf_build_stubs): Make static. Support soft-icache.
1563 (spu_elf_check_vma): Don't turn off auto_overlay if soft-icache.
1564 (find_function_stack_adjust): Save lr store and stack adjust insn
1565 offsets.
1566 (maybe_insert_function): Adjust find_function_stack_adjust call.
1567 (mark_functions_via_relocs): Retrieve priority.
1568 (remove_cycles): Only warn about pruned arcs when stack_analysis.
1569 (sort_calls): Sort by priority first.
1570 (mark_overlay_section): Ignore .ovl.init.
1571 (sum_stack): Only print when stack_analysis.
1572 (print_one_overlay_section): New function, extracted from..
1573 (spu_elf_auto_overlay): ..here. Support soft-icache overlays.
1574 (spu_elf_stack_analysis): Only print when htab->stack_analysis.
1575 (spu_elf_final_link): Call spu_elf_stack_analysis for lrlive
1576 analysis. Call spu_elf_build_stubs.
1577 (spu_elf_relocate_section): For soft-icache encode overlay index
1578 into addresses.
1579 (spu_elf_output_symbol_hook): Support soft-icache.
1580 (spu_elf_modify_program_headers: Likewise.
37107878 1581
cd4a7468
AM
1582 * elf32-spu.h (struct spu_elf_params): Add lrlive_analysis. Rename
1583 num_regions to num_lines. Add line_size and max_branch.
1584 (enum _ovly_flavour): Add ovly_soft_icache.
1585 (spu_elf_build_stubs): Delete.
1586
80c29487
JK
15872009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
1588
1589 * elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4
1590 relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
1591
1bc86aea
HPN
15922009-01-07 Hans-Peter Nilsson <hp@axis.com>
1593
1594 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
1595 <case R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: For a symbol defined in
1596 the program, the known offset starts at the negative size of the
1597 TLS section.
1598 <case R_CRIS_32_IE, R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>:
1599 Similar.
1600
3baa454d 16012009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
75606e85 1602
3baa454d 1603 * config.bfd: Add lm32-*-rtems*.
75606e85 1604
9dbe8890
L
16052009-01-03 H.J. Lu <hongjiu.lu@intel.com>
1606
1607 * coff-ppc.c: Add 2009 to Copyright.
1608 * elf32-cris.c: Likewise.
1609 * elflink.c: Likewise.
1610
0bdf8d40
HPN
16112009-01-03 Hans-Peter Nilsson <hp@axis.com>
1612
1613 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Rename
1614 gotplt_index to rela_plt_index. Adjust for R_CRIS_DTPMOD entry.
1615
54ac0771
L
16162009-01-02 H.J. Lu <hongjiu.lu@intel.com>
1617
1618 PR ld/9679
1619 * elflink.c (elf_merge_st_other): New.
1620 (_bfd_elf_merge_symbol): Use it on skipped weak definitions and
1621 hide them if needed.
1622 (elf_link_add_object_symbols): Updated.
1623
d8880531
L
16242009-01-02 H.J. Lu <hongjiu.lu@intel.com>
1625
1626 PR ld/9676
1627 * elflink.c (elf_link_add_object_symbols): Update def_dynamic,
1628 ref_dynamic and dynamic_def fields when setting def_regular
1629 to 1.
1630
b70b5c14
NC
16312009-01-02 Curtis Mackie <curtmackevo@gmail.com>
1632
1633 PR 9682
1634 * coff-ppc.c (dump_toc): Fix up calls to fprintf without a string
1635 literal.
1636
d8880531 1637For older changes see ChangeLog-2008
56882138
AM
1638\f
1639Local Variables:
1640mode: change-log
1641left-margin: 8
1642fill-column: 74
1643version-control: never
1644End:
This page took 0.636053 seconds and 4 git commands to generate.