Switch the license of all files explicitly copyright the FSF
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
f1187097
DJ
12007-08-24 Daniel Jacobowitz <dan@codesourcery.com>
2
3 * elf64-mips.c (elf_backend_sign_extend_vma): Define.
4
a30e5f5f
AM
52007-08-24 Alan Modra <amodra@bigpond.net.au>
6
7 * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix.
8
a351bca6
L
92007-08-23 H.J. Lu <hongjiu.lu@intel.com>
10
11 * Makefile.am: Run "make dep-am".
12 * Makefile.in: Regenerated.
13
142411ca
L
142007-08-23 H.J. Lu <hongjiu.lu@intel.com>
15
16 * elf32-i386.c: Include "bfd_stdint.h".
17 (elf_i386_rtype_to_howto): New function.
18 (elf_i386_info_to_howto_rel): Use it.
19 (x86_64_opcode16): New union type.
20 (elf_i386_check_tls_transition): New function.
21 (elf_i386_tls_transition): Updated to check transition and
22 issue an error if a transition isn't supported.
23 (elf_i386_check_relocs): Return FALSE if
24 elf_i386_tls_transition returns FALSE.
25 (elf_i386_gc_sweep_hook): Likewise.
26 (elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
27 on TLS transitions.
28
29 * elf64-x86-64.c: Include "bfd_stdint.h".
30 (x86_64_opcode16): New union type.
31 (x86_64_opcode32): Likewise.
32 (elf64_x86_64_check_tls_transition): New function.
33 (elf64_x86_64_tls_transition): Updated to check transition and
34 issue an error if a transition isn't supported.
35 (elf64_x86_64_check_relocs): Return FALSE if
36 elf64_x86_64_tls_transition returns FALSE.
37 (elf64_x86_64_gc_sweep_hook): Likewise.
38 (elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
39 on TLS transitions.
40
eae50df2
L
412007-08-22 H.J. Lu <hongjiu.lu@intel.com>
42
43 * elfxx-ia64.c: Convert to ISO C90 prototypes.
44 (elfNN_hpux_backend_section_from_bfd_section): Make it static.
45
9a2e389a
L
462007-08-22 H.J. Lu <hongjiu.lu@intel.com>
47
48 * elf64-x86-64.c: Remove trailing whitespace.
49 * elfxx-ia64.c: Likewise.
50
2f3bf80a
L
512007-08-21 H.J. Lu <hongjiu.lu@intel.com>
52
53 * elf32-i386.c (elf_i386_tls_transition): Accept a pointer
54 to ELF hash entry instead of an integer for local test.
55 (elf_i386_check_relocs): Updated.
56 (elf_i386_gc_sweep_hook): Likewise.
57 (elf_i386_relocate_section): Likewise.
58
59 * elf64-x86-64.c (elf64_x86_64_tls_transition): Accept a
60 pointer to ELF hash entry instead of an integer for local
61 test.
62 (elf64_x86_64_check_relocs): Updated.
63 (elf64_x86_64_gc_sweep_hook): Likewise.
64 (elf64_x86_64_relocate_section): Likewise.
65
3bfa9139
L
662007-08-20 H.J. Lu <hongjiu.lu@intel.com>
67
68 * elf32-i386.c (elf_i386_tls_transition): Break long line.
69 * elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.
70
19ec0de7
JK
712007-08-20 Jan Kratochvil <jan.kratochvil@redhat.com>
72
73 * elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
74 (ELF_MINPAGESIZE): Fixed its size guess. Sanity checked its size.
75 (ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.
76
75ea2736
NC
772007-08-20 Nick Clifton <nickc@redhat.com>
78
79 * elflink.c (elf_fixup_link_order): Rewrite conversion of
80 s->alignment_power into an offset mask in order to avoid a gcc
81 error message.
82
7e976ae4
JJ
832007-08-17 Jakub Jelinek <jakub@redhat.com>
84
85 * config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
86 Change sparc64-*-linux-* to sparc64*-*-linux-*.
87
e9f27433
AM
882007-08-17 Alan Modra <amodra@bigpond.net.au>
89
90 * po/Make-in: Add --msgid-bugs-address to xgettext invocation.
91
2b05f1b7
L
922007-08-16 H.J. Lu <hongjiu.lu@intel.com>
93
94 * elf.c: Revert last change.
95
94b11780
L
962007-08-16 H.J. Lu <hongjiu.lu@intel.com>
97
98 * elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
99 (bfd_section_from_phdr): Likewise.
100 (get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
101 if there is an attribute section.
102 (_bfd_elf_map_sections_to_segments): Likewise.
103 (IS_SECTION_IN_INPUT_SEGMENT): Likewise.
104
a3fadc9a
L
1052007-08-14 H.J. Lu <hongjiu.lu@intel.com>
106
107 PR ld/4918
108 * elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
109 on ___tls_get_addr for GD->LE/LD->LE transitions when not
110 building shared library.
111
112 * elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
113 R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
114 when not building shared library.
115
3fec76aa
JK
1162007-08-14 Jan Kratochvil <jan.kratochvil@redhat.com>
117
118 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
119 initialized only on the first PT_LOAD. New variable LOADBASE_SET.
120 Removed PF_R checking for IA-64 vDSOs as redundant now.
121 Code advisory: Roland McGrath
122
8275b357
RS
1232007-08-13 Richard Sandiford <richard@codesourcery.com>
124
125 * elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
126 (mips_elf_record_global_got_symbol): Increment local_gotno for
127 each forced-local symbol.
128 (_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
129 mips_elf_record_global_got_symbol for VxWorks too.
130 (_bfd_mips_elf_always_size_sections): Set computed_got_sizes
131 to true after computing the GOT size.
132 (_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
133 got.offset == 1. Only adjust global_gotno if computed_got_sizes.
134 For VxWorks, add a local entry when hiding a symbol that needs a
135 plt but has not been marked as needing a global got entry.
136 (_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
137 false.
138
649aeae3
DJ
1392007-08-12 Daniel Jacobowitz <dan@codesourcery.com>
140
141 * coffgen.c (coff_get_normalized_symtab): Correct cast.
142
3dea8fca
AM
1432007-08-13 Alan Modra <amodra@bigpond.net.au>
144
145 * elf.c (elf_modify_segment_map): Add remove_empty_load param.
146 Don't remove empty PT_LOAD header if false.
147 (_bfd_elf_map_sections_to_segments): If user phdrs, pass false
148 to elf_modify_segment_map.
149 (assign_file_positions_for_load_sections): Pass false to
150 elf_modify_segment_map.
151
ac2df442
AM
1522007-08-13 Alan Modra <amodra@bigpond.net.au>
153
154 * elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
155 Update stub comments.
156 (build_plt_stub): Build two variants, one without "addis".
157 (ppc_build_one_stub): Build stubs without "addis" if possible.
158 (ppc_size_one_stub): Size new stubs.
159
2f964f43
RS
1602007-08-11 Richard Sandiford <richard@codesourcery.com>
161
162 * config.bfd (sh-*-vxworks): Define targ_underscore to "yes".
163
6b8f0fd5
MS
1642007-08-09 Michael Snyder <msnyder@access-company.com>
165
166 * aoutx.h (aout_get_external_symbols): Return if count is zero.
167
6d33f217
L
1682007-08-09 H.J. Lu <hongjiu.lu@intel.com>
169
170 PR ld/4909
171 * elf.c (print_segment_map): New function.
172 (assign_file_positions_for_load_sections): Call print_segment_map
173 when a section can't be allocated in segment.
174
c309eac2
JK
1752007-08-09 Jan Kratochvil <jan.kratochvil@redhat.com>
176
177 * opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion.
178
e6902efc
NC
1792007-08-07 Nick Clifton <nickc@redhat.com>
180
181 * po/bfd.pot: Updated template.
182 * po/BLD-POTFILES.in: Regenerate.
183
d5191d0c
AM
1842007-08-07 Alan Modra <amodra@bigpond.net.au>
185
186 * elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
187 bss segments.
188
5eda1c47
DJ
1892007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
190
191 * Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
192 * Makefile.in: Regenerated.
193
be118e79
DJ
1942007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
195
196 * configure.in: Update version to 2.18.50.
197 * configure: Regenerated.
198
bd97cb95
DJ
1992007-08-06 Paul Brook <paul@codesourcery.com>
200
201 * elf32-arm.c (elf32_arm_link_hash_entry): Add
202 plt_maybe_thumb_refcount.
203 (elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
204 (elf32_arm_copy_indirect_symbol): Ditto.
205 (elf32_arm_adjust_dynamic_symbol): Ditto.
206 (bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
207 (arm_add_to_rel): Ditto.
208 (elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
209 R_ARM_THM_CALL. Handle R_ARM_THM_JUMP19 against a PLT stub.
210 (elf32_arm_gc_sweep_hook): Call check_use_blx. Update plt counts
211 for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
212 (elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
213 and R_ARM_THM_JUMP19.
214 (allocate_dynrelocs): Use plt_maybe_thumb_refcount.
215 (elf32_arm_finish_dynamic_symbol): Ditto.
216 (elf32_arm_output_plt_map): Ditto.
217
c981028a
DJ
2182007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
219
220 * elf.c (rewrite_elf_program_header): Handle sections not sorted
221 by address.
222 (copy_elf_program_header): Likewise.
223
f7231afc
L
2242007-08-04 H.J. Lu <hongjiu.lu@intel.com>
225
226 * elf-bfd.h (xvec_get_elf_backend_data): Add const.
227
228 * elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
229 * elfcore.h (elf_core_file_p): Likewise.
230
bd33be6e
L
2312007-08-02 H.J. Lu <hongjiu.lu@intel.com>
232
233 * coffcode.h (ALIGN_SET): Removed.
234 (ELIFALIGN_SET): Likewise.
235 (coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
236 IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
237 IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
238 IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
239
dcf6c779
MS
2402007-08-01 Michael Snyder <msnyder@access-company.com>
241
9b0ec667
MS
242 * vms-tir.c (new_section): Fix cut and paste error.
243
20c6e70e
MS
244 * aoutx.h (aout_link_add_symbols): Return if count is zero.
245
dcf6c779
MS
246 * elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
247 pointer must be non-null.
248
e708816d
NC
2492007-08-01 Tristan Gingold <gingold@adacore.com>
250
251 * coffcode.h (coff_sort_func_alent): New function.
252 (coff_slurp_line_table): Sort line table if not already sorted.
253
55b581a6
JJ
2542007-08-01 Jakub Jelinek <jakub@redhat.com>
255
256 * elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
257 GCC 3.4.x warning.
258
ad756e3f
AM
2592007-08-01 Alan Modra <amodra@bigpond.net.au>
260
261 * aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
262 r_type.
263 (swap_std_reloc_in): Likewise.
264 (aout_link_input_section_std): Likewise. Return with an error
265 on unexpected relocation type.
266 (aout_link_input_section_ext): Likewise.
267
f6e688f7
AM
2682007-08-01 Alan Modra <amodra@bigpond.net.au>
269
270 PR4694
271 * aoutx.h (final_link): Write a zero in first word of
272 stringtab if no symbols rather than corrupting last byte
273 of text/data.
274
1c5265b5
JJ
2752007-07-31 Jakub Jelinek <jakub@redhat.com>
276
277 * elf.c (get_program_header_size): Adjacent loadable .note*
278 sections need just one PT_NOTE segment.
279 (_bfd_elf_map_sections_to_segments): Likewise.
280
9ee2139f
MS
2812007-07-30 Michael Snyder <msnyder@access-company.com>
282
283 * coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
284 2007-07-26. Buffer still in use, can't be freed.
285
c6aa130f
MS
2862007-07-27 Michael Snyder <msnyder@access-company.com>
287
d63388ff
MS
288 * cofflink.c (coff_link_add_symbols): Return if count is zero.
289
50a39e97
MS
290 * coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
291
87b32780
MS
292 * aoutx.h (slurp_symbol_table): Return if count == 0.
293
9d7038d3
MS
294 * coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
295
c6aa130f
MS
296 * elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
297
170bfeb9
L
2982007-07-27 H.J. Lu <hongjiu.lu@intel.com>
299
300 * config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
301
507f5898
MS
3022007-07-26 Michael Snyder <msnyder@access-company.com>
303
304 * coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
a6626e8c
MS
305
306 * linker.c (bfd_section_already_linked_table_insert): Change
307 return type from void to boolean. Return FALSE on failure.
308 (_bfd_generic_section_already_linked): Test return value of
309 bfd_section_already_linked_table_insert, call fatal on error.
310
311 * elflink.c (_bfd_elf_section_already_linked): Test return value
312 of bfd_section_already_linked_table_insert, call fatal on error.
313
314 * libbfd-in.h (bfd_section_already_linked_table_insert): Update
315 return type to bfd_boolean.
316
317 * libbfd.h: Regenerate.
318
36e44abd
AN
3192007-07-26 Adam Nemet <anemet@caviumnetworks.com>
320
321 * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
322 bfd_slurp_armap): Improve function comment.
323
b7fd5ce1
MS
3242007-07-26 Michael Snyder <msnyder@access-company.com>
325
2d4f3e92
MS
326 * linker.c (already_linked_newfunc): Check for NULL return from
327 bfd_hash_allocate.
328
ac38308c
MS
329 * coffgen.c (fixup_symbol_value): Guard against null;
330 bfd_is_com_section will dereference the section pointer.
331
c82a7c57
MS
332 * syms.c (bfd_decode_symclass): Guard against NULL, since
333 bfd_is_com_section dereferences the pointer.
334
3d7b34d8
MS
335 * srec.c (srec_scan): Check for EOF (critical because return value
336 will be used as array index).
337
44c62d9e
MS
338 * coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
339 are not to be cached, free the temporary buffer.
340
078c4bfc
MS
341 * aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
342 or count == zero.
343
814b5378
MS
344 * tekhex.c (first_phase): Check return value for null.
345
b7fd5ce1
MS
346 * elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless
347 pointer increment.
348
b9da616a
AM
3492007-07-26 Alan Modra <amodra@bigpond.net.au>
350
33774f08
AM
351 * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
352 check on dynobj. Remove bed shadow.
353
e62071b6
AM
354 * srec.c (srec_get_section_contents): Return immediately on
355 count zero. Check that offset and count are within section.
356 * libbfd.c (_bfd_generic_get_section_contents): Check that
357 offset + count does not overflow.
358
b9da616a
AM
359 * srec.c (srec_canonicalize_symtab): Don't alloc when symcount
360 is zero. Correct return value on error.
361 * mmo.c (mmo_canonicalize_symtab): Likewise.
362 * binary.c (binary_canonicalize_symtab) Correct return on error.
363
c2c96631
TS
3642007-07-26 Thiemo Seufer <ths@mips.com>
365
366 * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
367
d4947150
AM
3682007-07-26 Alan Modra <amodra@bigpond.net.au>
369
370 * reloc.c (bfd_generic_get_relocated_section_contents): Avoid
371 bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
372 says there are no relocs.
373
bd210d54 3742007-07-26 Doug Kwan <dougkwan@google.com>
d4947150 375
bd210d54
NC
376 Speed up bfd_dwarf2_find_line.
377 * dwarf2.c (struct dwarf2_debug): Add new fields to support function
378 and variable info hash tables. Add last_comp_unit, info_hash_count,
379 funcinfo_hash_table, varinfo_hash_table, hash_units_head.
380 (struct comp_unit): Add prev_unit, cached.
381 (struct info_list_node, struct info_hash_entry,
382 struct info_hash_table): New.
383 (info_hash_table_newfunc, create_info_hash_table,
384 insert_info_hash_table, lookup_info_hash_table): New functions
385 implementing function and variable info hash tables.
386 (scan_unit_for_symbols): Add checks to make sure hash tables are
387 consistent with compilation units.
388 (comp_unit_maybe_decode_line_info): New function.
389 (comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
390 (reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
391 info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
392 stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
393 stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
394 functions. Make use of info hash tables to speed up
395 bfd_dwarf2_find_line.
396 (find_line): Use hash table for faster lookup if it is turned on.
397 Also add code to maintain bi-directional link in comp units.
398
353c5574
MS
3992007-07-25 Michael Snyder <msnyder@access-company.com>
400
401 * coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
402 if size == 0; return and avoid possible null pointer issues.
403
f08c429c
AM
4042007-07-25 Alan Modra <amodra@bigpond.net.au>
405
406 * linker.c (generic_link_add_symbol_list): Warning fix.
407
d0f16d5e
MS
4082007-07-24 Michael Snyder <msnyder@access-company.com>
409
f6eea5ae
MS
410 * opncls.c (bfd_make_writable): Check return from bfd_malloc.
411
d0f16d5e
MS
412 * elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
413 on bfd_malloc error rather than goto error_return.
414
4d269e42
AM
4152007-07-24 Alan Modra <amodra@bigpond.net.au>
416
417 * elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
418 _bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
419 _bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
420 _bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
421 bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
422 bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
423 bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
424 bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
425 struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
426 elf_sym_name_compare, elf_create_symbuf,
427 bfd_elf_match_symbols_in_sections,
428 _bfd_elf_match_sections_by_type): Move to here..
429 * elf.c: ..from here.
430
a26587ba
RS
4312007-07-23 Richard Sandiford <richard@codesourcery.com>
432
433 * elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
434 of weakdef->root.type if weakdef has no regular definition.
435
0e53d9da
AN
4362007-07-22 Adam Nemet <anemet@caviumnetworks.com>
437
438 * elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
439 small_data_overflow_reported.
440 (_bfd_mips_elf_link_hash_table_create): Initialize it.
441 (_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
442 small-data section overflow.
443
6b33789f
NC
4442007-07-19 Doug Kwan <dougkwan@google.com>
445
4d269e42
AM
446 PR binutils/4797
447 * dwarf2.c: (find_line) Do not dereference functionname_ptr if
448 do_line is true.
6b33789f 449
13161072 4502007-07-18 Bob Wilson <bob.wilson@acm.org>
4d269e42 451
13161072
BW
452 * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
453 non-ELF sections.
4d269e42 454
e29297b7 4552007-07-18 Bob Wilson <bob.wilson@acm.org>
4d269e42 456
e29297b7
BW
457 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
458 vma and size for dynamic tags from the output sections.
4d269e42 459
a5d1b3b5
AM
4602007-07-18 Alan Modra <amodra@bigpond.net.au>
461
462 * elf-bfd.h (struct sym_sec_cache): Delete "sec". Add "shndx".
463 * elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
464 symbol. Instead cache ELF section index. Remove redundant
465 checks of st_shndx.
466
d955dada
MF
4672007-07-15 Mike Frysinger <vapier@gentoo.org>
468
469 * trad-core.c (NBPG): If not defined, set to getpagesize().
470
979dc3bc
RM
4712007-07-13 Roland McGrath <roland@redhat.com>
472
473 * elf-bfd.h (struct elf_obj_tdata): Revert last change.
474 Add after_write_object_contents, after_write_object_contents_info.
475 * elf.c (_bfd_elf_write_object_contents): Revert last change.
476 Instead, call after_write_object_contents if set.
477
d2df793a
NC
4782007-07-12 Kai Tietz <kai.tietz@onevision.com>
479
480 * bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
481 (BFD_HOSTPTR_T): Host pointer type for casting a
482 pointer to an integer type.
483 (bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
484 (sprintf_vma, fprintf_vma): Add support for long long prints.
485 * bfd-in2.h: Regenerate.
486 * configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
487 (BFD_HOSTPTR_T): Host pointer type for casting a
488 pointer to an integer type. Default is "unsigned long".
489 (AC_CHECK_SIZEOF(void *)): New.
490 (host64): Set it if the pointer size is 8.
491 * configure: Regenerate.
492 * config.in: Add macro SIZEOF_VOID_P.
493 * coffcode.h: Replace host ptr type assuming "long" with
494 bfd_hostptr_t type.
495 * coffgen.c: Likewise.
496 * elf-eh-frame.c: Likewise.
497 * peicode.h: Likewise.
498
a3a4ddad
L
4992007-07-10 H.J. Lu <hongjiu.lu@intel.com>
500
501 * Makefile.in: Regenerated.
502
329b43c4
L
5032007-07-10 H.J. Lu <hongjiu.lu@intel.com>
504
505 PR binutils/4756
506 * simple.c (bfd_simple_get_relocated_section_content): Don't
507 apply relocation on executable and shared library.
508
cfd2c773
NS
5092007-07-10 Nathan Sidwell <nathan@codesourcery.com>
510
511 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
512 copy relocs on vxworks.
513
1489a3a0
AM
5142007-07-10 Alan Modra <amodra@bigpond.net.au>
515
516 * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
517 * elf64-alpha.c (alpha_elf_size_info): Likewise.
518 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
519 * elf64-mips.c (mips_elf64_size_info): Likewise.
520 * elf64-s390.c (s390_elf64_size_info): Likewise.
521 * elf64-sparc.c (elf64_sparc_size_info): Likewise.
522
00cbee0a
L
5232007-07-09 H.J. Lu <hongjiu.lu@intel.com>
524
525 * elflink.c (bfd_elf_record_link_assignment): Handle indirect
526 symbol.
527 (_bfd_elf_merge_symbol): Properly update normal symbol when
528 overriding the versioned symbol from a dynamic library.
529
fd2f25da
RM
5302007-07-09 Roland McGrath <roland@redhat.com>
531
532 * elf-bfd.h (struct elf_obj_tdata): Add members
533 emit_note_gnu_build_id and note_gnu_build_id_sec.
534 * elf.c (_bfd_id_note_section_size): New global function.
535 (read_hex, _bfd_elf_write_build_id_section): New static functions.
536 (_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
537 if emit_note_gnu_build_id is set.
538 * Makefile.am (elf.lo): Update dependencies.
539
540 * elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
541 (bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
542 * elfcode.h (elf_checksum_contents): New macro and function.
543 (NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
544
9af2a943
AM
5452007-07-06 Michael Snyder <msnyder@access-company.com>
546
547 * elflink.c (elf_link_add_object_symbols): Return via
548 error_free_vers on "notice" failure.
549
a93221e5
L
5502007-07-04 H.J. Lu <hongjiu.lu@intel.com>
551
552 * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
553 if arch is unknown.
554
b4928193
NC
5552007-07-04 Nick Clifton <nickc@redhat.com>
556
557 Import this patch from an internal tree:
9af2a943 558
b4928193
NC
559 2001-07-17 Richard Henderson <rth@redhat.com>
560
561 * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
562 compensate for high bit set in R_MEP_LOW16.
563
3cfad14c
JM
5642007-07-03 Joseph Myers <joseph@codesourcery.com>
565
566 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
567 input attributes if value has been copied.
568
cd123cb7
NC
5692007-07-03 Nick Clifton <nickc@redhat.com>
570
571 * COPYING: Replace with GPLv3 text.
572 * aix386-core.c: Update copyright notice to refer to GPLv3.
573 * aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c,
574 aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c,
575 aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c,
576 archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c,
577 binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c,
578 cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c,
579 coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c,
580 coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c,
581 coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
582 coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
583 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
584 coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c,
585 coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c,
586 coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c,
587 cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c,
588 cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
589 cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
590 cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
591 cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c,
592 cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c,
593 cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
594 cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c,
595 cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c,
596 cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c,
597 cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c,
598 cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c,
599 cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c,
600 demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c,
601 ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c,
602 elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
603 elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c,
604 elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c,
605 elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
606 elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
607 elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
608 elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c,
609 elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c,
610 elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c,
611 elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c,
612 elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c,
613 elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c,
614 elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h,
615 elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c,
616 elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c,
617 elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c,
618 elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
619 elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h,
620 elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c,
621 elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c,
622 elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
623 elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c,
624 epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h,
625 hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c,
626 hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
627 i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
628 i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
629 libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h,
630 libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h,
631 linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c,
632 m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c,
633 mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h,
634 newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c,
635 nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h,
636 ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c,
637 pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h,
638 pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h,
639 pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c,
640 pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c,
641 pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c,
642 reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c,
643 simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c,
644 srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c,
645 sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h,
646 trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c,
647 vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c,
648 xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c,
649 xtensa-modules.c: Likewise.
650 * elf32-sh-relocs.h: Add copyright notice.
651 * hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h,
652 hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h,
653 hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h,
654 hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h,
655 hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h,
656 hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h,
657 hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h,
658 hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise.
659 * bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
660
741d6ea8
JM
6612007-07-02 Joseph Myers <joseph@codesourcery.com>
662
663 * elfxx-mips.c (mips_elf_calculate_relocation): Handle
664 R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
665 * elf64-mips.c (mips_elf64_howto_table_rela): Support
666 R_MIPS_TLS_DTPREL64.
667
ae351704
AM
6682007-07-02 Alan Modra <amodra@bigpond.net.au>
669
670 * Makefile.am: Run "make dep-am".
671 * Makefile.in: Regenerate.
672 * aclocal.m4: Regenerate.
673 * config.in: Regenerate.
674 * po/SRC-POTFILES.in: Regenerate.
675 * po/bfd.pot: Regenerate.
676
3e5484db
AM
6772007-07-02 Alan Modra <amodra@bigpond.net.au>
678
679 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
680 symsec != NULL tests.
681
08a40648
AM
6822007-07-02 Alan Modra <amodra@bigpond.net.au>
683
684 PR 4712
685 * elf.c (assign_file_positions_for_load_sections): Adjust lma
686 by p_vaddr_offset.
687
86b57e31
L
6882007-06-30 H.J. Lu <hongjiu.lu@intel.com>
689
690 * aclocal.m4: Regenerated.
691 * Makefile.in: Likewise.
692
34c8bcba
JM
6932007-06-29 Joseph Myers <joseph@codesourcery.com>
694
695 * elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
696 (ppc_elf_merge_private_bfd_data): Call it.
697
2cf19d5c
JM
6982007-06-29 Joseph Myers <joseph@codesourcery.com>
699
700 * elfxx-mips.c (mips_elf_merge_obj_attributes): New.
701 (_bfd_mips_elf_merge_private_bfd_data): Call it.
702
104d59d1
JM
7032007-06-29 Joseph Myers <joseph@codesourcery.com>
704
705 * elf-attrs.c: New.
706 * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
707 (BFD32_BACKENDS_CFILES): Add elf-attrs.c.
708 (elf-attrs.lo): Generate dependencies.
709 * Makefile.in: Regenerate.
710 * configure.in (elf): Add elf-attrs.lo.
711 * configure: Regenerate.
712 * elf-bfd.h (struct elf_backend_data): Add entries for object
713 attributes.
714 (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
715 OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
716 Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
717 New.
718 (struct elf_obj_tdata): Add entries for object attributes.
719 (elf_known_obj_attributes, elf_other_obj_attributes,
720 elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
721 New.
722 (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
723 bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
724 bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
725 bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
726 bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
727 _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
728 _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
729 * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
730 (bfd_section_from_shdr): Handle attributes sections.
731 * elflink.c (bfd_elf_final_link): Handle attributes sections.
732 * elfxx-target.h (elf_backend_obj_attrs_vendor,
733 elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
734 elf_backend_obj_attrs_section_type): New.
735 (elfNN_bed): Update.
736 * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
737 aeabi_attribute_list): Remove.
738 (struct elf32_arm_obj_tdata): Remove object attributes fields.
739 (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
740 elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
741 Update for new object attributes interfaces.
742 (uleb128_size, is_default_attr, eabi_attr_size,
743 elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
744 elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
745 elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
746 elf32_arm_add_eabi_attr_int, attr_strdup,
747 elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
748 copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved
749 to generic code in elf-attrs.c.
750 (elf32_arm_obj_attrs_arg_type): New.
751 (elf32_arm_fake_sections): Do not handle .ARM.attributes.
752 (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
753 (bfd_elf32_bfd_final_link): Remove.
754 (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
755 elf_backend_obj_attrs_arg_type,
756 elf_backend_obj_attrs_section_type): New.
757 * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
758 attributes.
759 * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
760 * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
761 * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
762 * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
763 * elf32-sh.c (sh_elf_copy_private_data): Likewise.
764 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
765
5ab79981
PB
7662007-06-29 Paul Brook <paul@codesourcery.com>
767
768 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
769 call veneers for call relocations against undefined symbols.
770 (elf32_arm_final_link_relocate): Turn call to undefined symbol
771 into a jump to the next instruction.
772
c6aa130f 7732007-06-29 Michael Snyder <msnyder@access-company.com>
32e8a950
NC
774
775 * bfd.c (bfd_demangle): Plug memory leak (Coverity).
776
3d3d428f
NC
7772007-06-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
778
779 * Makefile.am: Add cr16 related entry
780 * Makefile.in: Regenerate
781 * archures.c: Add bfd_cr16_arch
782 * bfd-in2.h: Regenerate
783 * config.bfd: Add cr16-elf
784 * configure.in: Add bfd_elf32_cr16_vec
785 * configure: Regenerate.
786 * targets.c: Added cr16 related information
787 * cpu-cr16.c: New file.
788 * elf32-cr16.c: New file.
789 * reloc.c: Added cr16 relocs.
790
c55fe096
AM
7912007-06-29 Alan Modra <amodra@bigpond.net.au>
792
793 * elflink.c (_bfd_elf_link_assign_sym_version): Improve error
794 message for undefined version nodes.
795 (elf_gc_sweep): Don't warn when zero size sections are
796 removed.
797
375de94a
AM
7982007-06-29 Nathan Froyd <froydnj@codesourcery.com>
799
800 * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
801 types.
802
7d3287cb
AM
8032007-06-29 Alan Modra <amodra@bigpond.net.au>
804
805 * elf32-spu.c (spu_elf_fake_sections): New function.
806 (elf_backend_fake_sections): Define.
807
6a3cd2b4
AM
8082007-06-29 Alan Modra <amodra@bigpond.net.au>
809
810 * elf.c (assign_file_positions_for_load_sections): Use elf
811 section header sh_size rather than bfd section size, simplifying
812 .tbss handling.
813
bf988460
AM
8142007-06-29 Alan Modra <amodra@bigpond.net.au>
815
36fc76ae 816 PR ld/4701
bf988460
AM
817 * elf.c (assign_file_positions_for_load_sections): Ensure bss
818 segments meet gABI alignment requirements. Don't allocate
819 file space for bss sections in a segment also containing file
820 or program headers.
821
60b31e8d
AM
8222007-06-27 Alan Modra <amodra@bigpond.net.au>
823
cc481421
AM
824 * bfd.c (struct bfd): Rename "next" to "archive_next".
825 * archive.c: Rename uses throughout file.
826 * archive64.c: Likewise.
827 * coff-rs6000.c: Likewise.
828 * ecoff.c: Likewise.
829 * som.c: Likewise.
830 * bfd-in2.h: Regenerate.
831
60b31e8d
AM
832 * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
833 input bfds.
58eb693e 834 * elf32-spu.c (spu_elf_create_sections): Likewise.
60b31e8d 835
bec42b15
NC
8362007-06-26 H.J. Lu <hongjiu.lu@intel.com>
837
838 * dwarf2.c (find_line): New. Contains the duplicated code from:
839 (_bfd_dwarf2_find_nearest_line): Use it.
840 (_bfd_dwarf2_find_line): Use it.
841
3d3e6f9a
JM
8422007-06-26 Joseph Myers <joseph@codesourcery.com>
843
844 * elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
845
b314ec0e
RS
8462007-06-25 Richard Sandiford <richard@codesourcery.com>
847
848 * elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
849 to be used for calls from MIPS16 code.
850
0d4a1476
AS
8512007-06-23 Andreas Schwab <schwab@suse.de>
852
853 * configure.in (--with-separate-debug-dir): New option.
854 * configure: Regenerate.
855 * Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR.
856 * Makefile.in: Regenerate.
857 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to
858 bfd_follow_gnu_debuglink.
859 (_bfd_dwarf2_find_line): Likewise.
860
0d161102
NC
8612007-06-22 Nick Clifton <nickc@redhat.com>
862
863 * dwarf2.c: Add support for reading in debug information via a
864 .gnu_debuglink section:
865 (struct dwarf2_debug): Add bfd field to record the bfd containing
866 the debug info.
867 (parse_comp_unit): Remove ABFD parameter. Instead use the bfd
868 field in the dwarf2_debug structure.
869 (_bfd_dwarf2_find_nearest_line): If a debug info section could not
870 be found in the current bfd call bfd_follow_gnu_debuglink to see
871 if another file contains the debug information. If it does, open
872 it and continue.
873 (_bfd_dwarf2_find_line): Likewise.
874
293a0124
L
8752007-06-19 H.J. Lu <hongjiu.lu@intel.com>
876
877 PR ld/4590
878 * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
879 when removing duplicated entries.
880 (get_dyn_sym_info): Initialize the got_offset field to -1.
881 Update call to sort_dyn_sym_info.
882 (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
883 array of addend and remove duplicates.
884
dc1f3d8a
L
8852007-06-18 H.J. Lu <hongjiu.lu@intel.com>
886
887 * libpei.h (_bfd_XXi_final_link_postscript): Remove
888 duplication.
889 (bfd_target_pei_p): New.
890 (bfd_target_pei_arch): New
891 (bfd_target_efi_p): Likewise.
892 (bfd_target_efi_arch): New
893 (bfd_pe_executable_p): Use bfd_target_pei_p and
894 bfd_target_efi_p.
895
896 * peicode.h (arch_type): New enum.
897 (pe_arch): New function.
898 (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
899 if there is an EFI/PE target.
900
79887925
L
9012007-06-14 H.J. Lu <hongjiu.lu@intel.com>
902
903 * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
904
905 * acinclude.m4: Don't include m4 files. Remove libtool
906 kludge.
907
908 * Makefile.in: Regenerated.
79887925
L
909 * aclocal.m4: Likewise.
910 * configure: Likewise.
911
99ded152
BW
9122007-06-11 Sterling Augustine <sterling@tensilica.com>
913 Bob Wilson <bob.wilson@acm.org>
bf988460 914
99ded152
BW
915 * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
916 XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
917 (extend_ebb_bounds_backward, compute_text_actions): Likewise.
918 (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
919 (xtensa_get_property_predef_flags): Likewise.
920 (compute_removed_literals): Pass new arguments to is_removable_literal.
921 (is_removable_literal): Add sec, prop_table and ptblsize arguments.
922 Do not remove literal if the NO_TRANSFORM property flag is set.
bf988460 923
cbf2cba4
RS
9242007-05-31 Richard Sandiford <rsandifo@nildram.co.uk>
925
926 * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
927 type (3) single-GOT entry, read tls_type from the hash table entry
928 rather than the GOT entry.
929
a9a4c53e
AM
9302007-06-01 Alan Modra <amodra@bigpond.net.au>
931
932 * simple.c (bfd_simple_get_relocated_section_contents): Init
933 input_bfds_tail.
934
02bf8d82
AM
9352007-05-30 Alan Modra <amodra@bigpond.net.au>
936
42bb2e33
AM
937 * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
938 created by objcopy --only-keep-debug.
939 (_bfd_elf_init_private_section_data): Only change elf_section_type
940 if it is SHT_NULL.
941
02bf8d82
AM
942 * elf.c (assign_file_positions_for_load_sections): Correct sh_type
943 to SHT_NOBITS earlier. Base actions in rest of function on sh_type
944 and sh_flags instead of bfd section flags. Delete voff and code
945 keeping nobits segments aligned.
946
4e591bc1
EC
9472007-05-25 Eric Christopher <echristo@apple.com>
948
949 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
950 Check that sym_sec isn't NULL before accessing.
951
37ad9514
SE
9522007-05-24 Steve Ellcey <sje@cup.hp.com>
953
954 * Makefile.in: Regnerate.
955 * configure: Regenerate.
956 * aclocal.m4: Regenerate.
957 * doc/Makefile.in: Regenerate.
958
91a5743d
PB
9592007-05-22 Paul Brook <paul@codesourcery.com>
960
961 * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
962 with sec and sec_shndx.
963 (elf32_arm_ouput_plt_map_sym): Use them.
964 (elf32_arm_output_arch_local_syms): Output mapping symbols for
965 interworking glue.
966
26079076
PB
9672007-05-18 Paul Brook <paul@codesourcery.com>
968
969 * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
970 (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
971 (record_arm_to_thumb_glue): Add v5t non-pic glue.
972 (elf32_arm_create_thumb_stub): Ditto.
973
91ac5911
L
9742007-05-16 H.J. Lu <hongjiu.lu@intel.com>
975 Alan Modra <amodra@bigpond.net.au>
976
977 * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
978 section to the minimum alignment.
979
027297b7
L
9802007-05-15 H.J. Lu <hongjiu.lu@intel.com>
981 Alan Modra <amodra@bigpond.net.au>
982
983 PR ld/4504
984 * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
985 * elflink.c (_bfd_elf_adjust_dynamic_copy): New.
986
987 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
988 _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
989 bss section.
990 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
991 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
992 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
993 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
994 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
995 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
996 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
997 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
998 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
999 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
1000 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
1001 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1002 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1003 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
1004 * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1005 * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
1006 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
1007
5c18022e
RS
10082007-05-15 Richard Sandiford <richard@codesourcery.com>
1009
1010 * elfxx-mips.c (mips_elf_create_local_got_entry): Remove
1011 input_section argument. Create .rela.dyn relocations against
1012 symbol 0 rather than the section symbol.
1013 (mips_elf_local_got_index): Remove input_section argument.
1014 Update call to mips_elf_create_local_got_entry.
1015 (mips_elf_got_page, mips_elf_got16_entry): Likewise.
1016 (mips_elf_calculate_relocation): Update calls to
1017 mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
1018
a00a1f35
MS
10192007-05-15 Mark Shinwell <shinwell@codesourcery.com>
1020
1021 * elf32-arm.c (elf32_arm_final_link_relocate): Correctly
1022 handle the Thumb-2 JUMP19 relocation.
1023
0414f35b
AM
10242007-05-15 Alan Modra <amodra@bigpond.net.au>
1025
1026 PR 4479
1027 * elf.c (elf_fake_sections): Don't allow backend to change
1028 SHT_NOBITS if called for strip/objcopy --only-keep-debug.
1029 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
1030 fix from here.
1031
74f2e02b
AM
10322007-05-14 Alan Modra <amodra@bigpond.net.au>
1033
1034 * elf.c (bfd_elf_string_from_elf_section): Return NULL on
1035 invalid shstrndx.
1036 (bfd_elf_get_str_section): Likewise.
1037
f137a54e
AM
10382007-05-12 Alan Modra <amodra@bigpond.net.au>
1039
1040 PR 4497
1041 * elf-eh-frame.c (struct cie): Add "local_personality". Make
1042 "personality" a union.
1043 (cie_eq): Compare local_personality too. Adjust personality
1044 comparison.
1045 (_bfd_elf_discard_section_eh_frame): Check binding on personality
1046 reloc sym to allow for bad symtab. Use stashed local syms rather
1047 than reading personality local sym. Handle discarded sections.
1048
4f4416b5
AM
10492007-05-12 Alan Modra <amodra@bigpond.net.au>
1050
1051 * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
1052
016687f8
AM
10532007-05-11 Alan Modra <amodra@bigpond.net.au>
1054
1055 * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
1056 (enum ppc_elf_plt_type): Move from..
1057 * elf32-ppc.c: ..here.
1058 (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
1059 (struct ppc_elf_link_hash_table): Reorder. Add old_bfd. Delete
1060 can_use_new_plt. Make is_vxworks a bitfield.
1061 (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
1062 (ppc_elf_check_relocs): Update setting of reloc flags. Set old_bfd.
1063 (ppc_elf_select_plt_layout): Modify parameters. Use bfd reloc
1064 flags to better detect object files needing old bss-style plt.
1065 Allow secure plt to be used without rel16 relocs being detected.
1066 Warn if secure plt request cannot be allowed.
1067
ece5ef60
AM
10682007-05-11 Alan Modra <amodra@bigpond.net.au>
1069
1070 * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
1071 * elf-bfd.h (struct elf_backend_data): Change return type of
1072 elf_backend_relocate_section to int.
1073 * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
1074 R_SPU_PPU64.
1075 (spu_elf_bfd_to_reloc_type): Convert new relocs.
1076 (spu_elf_count_relocs): New function.
1077 (elf_backend_count_relocs): Define.
1078 (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
1079 R_SPU_PPU64 relocs.
1080 * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
1081 returns 2.
1082 * bfd-in2.h: Regenerate.
1083 * libbfd.h: Regenerate.
1084
d3753b85
RS
10852007-05-10 Richard Sandiford <richard@codesourcery.com>
1086
1087 * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
1088 for R_ARM_ABS12 relocs.
1089 (elf32_arm_finish_dynamic_symbol): Fix the loop that creates
1090 non-shared VxWorks PLT entries.
1091
ef8c95ad
AM
10922007-05-11 Alan Modra <amodra@bigpond.net.au>
1093
1094 PR 4454
1095 * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
1096 (_bfd_elf_discard_section_eh_frame): Handle local syms on
1097 personality relocation.
1098
8c252fd9
RS
10992007-05-10 Richard Sandiford <richard@codesourcery.com>
1100
1101 * elf.c (assign_file_positions_for_load_sections): Use p_memsz
1102 rather than p_filesz to calculate the LMA of the end of a segment.
1103
b186458a
JJ
11042007-05-10 Jakub Jelinek <jakub@redhat.com>
1105
1106 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
1107 processing if symbol is defined in the executable.
1108
88571279
AO
11092007-05-10 Alexandre Oliva <aoliva@redhat.com>
1110
1111 * elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
1112 (frvfdpic_elf_discard_info): New.
1113 (elf_backend_discard_info): Define for FDPIC.
1114
2e6030b9
MS
11152007-05-09 Mark Shinwell <shinwell@codesourcery.com>
1116
1117 * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
1118 attempt to scan if the bfd doesn't correspond to an ELF image.
1119 (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
1120
0d4cc892
AO
11212007-05-08 Alexandre Oliva <aoliva@redhat.com>
1122
1123 * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
1124 for which _bfd_elf_section_offset returns -1.
1125
d0249648
AM
11262007-05-08 Alan Modra <amodra@bigpond.net.au>
1127
1128 * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
1129 (mark_functions_via_relocs): Likewise.
1130
1182cb93
AM
11312007-05-07 Alan Modra <amodra@bigpond.net.au>
1132
1133 * elflink.c (bfd_elf_final_link): Correct reloc handling for
1134 elf_backend_count_relocs.
1135 (bfd_elf_discard_info): Print an error if we can't read syms.
1136
b16f296e
AM
11372007-05-07 Alan Modra <amodra@bigpond.net.au>
1138
1139 * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
1140 invalid reloc code.
1141 (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
1142 (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
1143 define.
1144
7c928300
AM
11452007-05-07 Alan Modra <amodra@bigpond.net.au>
1146
1147 * elf.c (assign_file_positions_for_load_sections): Don't check
1148 core segment.
1149
fc66a176
L
11502007-05-04 H.J. Lu <hongjiu.lu@intel.com>
1151
1152 * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
1153 and .rel.dyn aren't present.
1154
3410fea8
NC
11552007-05-04 Nick Clifton <nickc@redhat.com>
1156
1157 * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
1158 sections are present examine the indirect sections in an attempt
1159 to compute the correct relocation size. If there is any
1160 ambiguity, produce an error and refuse to sort.
1161
7bdca076
SL
11622007-05-03 Sandra Loosemore <sandra@codesourcery.com>
1163
1164 * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
1165
22184a77
NC
11662007-05-03 Vincent Riviere <vincent.riviere@freesbee.fr>
1167 Nick Clifton <nickc@redhat.com>
1168
1169 PR gas/3041
1170 * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
1171 in the same way as relocs against external symbols.
1172
627b32bc
AM
11732007-05-02 Alan Modra <amodra@bigpond.net.au>
1174
1175 * elf.c (assign_file_positions_for_load_sections): Set sh_offset
1176 here. Set sh_type to SHT_NOBITS if we won't be allocating
1177 file space. Don't bump p_memsz for non-alloc sections. Adjust
1178 section-in-segment check.
1179 (assign_file_positions_for_non_load_sections): Don't set sh_offset
1180 here for sections that have already been handled above.
1181
49fa1e15
AM
11822007-04-30 Alan Modra <amodra@bigpond.net.au>
1183
1184 * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
1185 and emit_stack_syms bitfields.
1186 (get_sym_h): Read all symbols if stack analysis will be done.
1187 (spu_elf_create_sections): Add stack_analysis and emit_stack_syms
1188 params, and stash in hash table.
1189 (is_hint): Split off from..
1190 (is_branch): ..here. Adjust callers.
1191 (spu_elf_size_stubs): Add stack_analysis param. Arrange to read
1192 and keep all syms.
1193 (write_one_stub): Fix mem leak.
1194 (find_function_stack_adjust): New function.
1195 (sort_syms_syms, sort_syms_psecs): New vars.
1196 (sort_syms): New function.
1197 (struct call_info, struct function_info): New.
1198 (struct spu_elf_stack_info): New.
1199 (alloc_stack_info, maybe_insert_function, func_name): New functions.
1200 (is_nop, insns_at_end, check_function_ranges): Likewise.
1201 (find_function, insert_callee, mark_functions_via_relocs): Likewise.
1202 (pasted_function, interesting_section, discover_functions): Likewise.
1203 (mark_non_root, call_graph_traverse, build_call_tree): Likewise.
1204 (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
1205 (bfd_elf32_bfd_final_link): Define.
1206 * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
1207 (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
1208
9ddf8309
TS
12092007-04-28 Sergey Rogozhkin <rogozhkin@niisi.msk.ru>
1210
1211 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
1212 memory which we might not own.
1213
95147441
BW
12142007-04-27 Bob Wilson <bob.wilson@acm.org>
1215
1216 * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
1217 (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
1218 (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
1219
bcc2cc8e
BW
12202007-04-27 Bob Wilson <bob.wilson@acm.org>
1221
1222 * elf32-xtensa.c (xtensa_read_table_entries): Step through table
1223 contents and relocs in parallel.
4e591bc1 1224
f29f96b6
BW
12252007-04-27 Bob Wilson <bob.wilson@acm.org>
1226
1227 * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
1228
2ce18a16
AM
12292007-04-27 Alan Modra <amodra@bigpond.net.au>
1230
1231 * cpu-rs6000.c: Write Mimi's name in ASCII.
1232 * coff-rs6000.c: Likewise.
1233 * rs6000-core.c: Likewise.
1234
eddc20ad
AM
12352007-04-27 Alan Modra <amodra@bigpond.net.au>
1236
1237 * sysdep.h: Include config.h first.
1238 Many files: Include sysdep.h before bfd.h.
1239 * Makefile.am: Run "make dep-am".
1240 * Makefile.in: Regenerate.
1241
495443d4
AM
12422007-04-25 Alan Modra <amodra@bigpond.net.au>
1243
1244 * sysdep.h: Revert last change.
1245
40b1c6c5
NC
12462007-04-24 Nick Clifton <nickc@redhat.com>
1247
1248 * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
1249 * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
1250
64be1553
AM
12512007-04-24 Alan Modra <amodra@bigpond.net.au>
1252
1253 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
1254 eh_frame_hdr table won't be created.
1255
d5efd9fc
AM
12562007-04-24 Alan Modra <amodra@bigpond.net.au>
1257
1258 * acinclude.m4: Include config/stdint.m4.
1259 * configure.in: Invoke GCC_HEADER_STDINT.
1260 * sysdep.h: Don't include ansidecl.h here.
1261 * configure: Regenerate.
1262 * config.in: Regenerate.
1263 * Makefile.in: Regenerate.
1264
9a2e615a
NS
12652007-04-23 Nathan Sidwell <nathan@codesourcery.com>
1266
1267 * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
1268 bfd_mach_mcf_isa_c_emac): New.
1269 * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
1270 elf_isac_plt_entry, elf_isac_plt_info): New.
1271 (elf32_m68k_object_p): Add ISA_C.
1272 (elf32_m68k_print_private_bfd_data): Print ISA_C.
1273 (elf32_m68k_get_plt_info): Detect ISA_C.
1274 * cpu-m68k.c (arch_info): Add ISAC.
1275 (m68k_arch_features): Likewise,
1276 (bfd_m68k_compatible): ISAs B & C are not compatible.
1277
1b0b5b1b
NC
12782007-04-21 Nick Clifton <nickc@redhat.com>
1279
1280 * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
1281 (ecoff_link_add_archive_symbols): Likewise.
1282 * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
1283 relent.howto.
1284 * ieee.c (parse_int): Initialise x.
1285 (must_parse_int): Initialise result.
1286 (ieee_slurp_external_symbols): Initialise value.
1287
bd7803a9
AM
12882007-04-21 Alan Modra <amodra@bigpond.net.au>
1289
1290 * config.bfd (spu-*-elf): Delete targ_selvecs.
1291
964597d0
NC
12922007-04-19 Nick Clifton <nickc@redhat.com>
1293
1294 * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
1295
01e76792
AM
12962007-04-19 Alan Modra <amodra@bigpond.net.au>
1297
1298 * bfd.c (bfd_demangle): New function.
1299 * Makefile.am: Run "make dep-am".
1300 * Makefile.in: Regenerate.
1301 * bfd-in2.h: Regenerate.
1302
ee5c21a0
DJ
13032007-04-18 Matthias Klose <doko@ubuntu.com>
1304
1305 * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
1306 (bfdver.h): Use the date in non-release builds for the soversion.
1307 * Makefile.in: Regenerate.
1308
fcb93ecf
PB
13092007-04-17 Paul Brook <paul@codesourcery.com>
1310
1311 * elf.c (_bfd_elf_is_function_type): New function.
1312 * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
1313 (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
1314 is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
1315 * elf-bfd.h (elf_backend_data): Add is_function_type.
1316 (_bfd_elf_is_function_type): Add prototype.
1317 * elfxx-target.h (elf_backend_is_function_type): Add default
1318 definition.
1319 (elfNN_bed): Add elf_backend_is_function_type.
1320 * elf32-arm.c (elf32_arm_is_function_type): New function.
1321 (elf_backend_is_function_type): Define.
1322
5750dcec
DJ
13232007-04-17 Daniel Jacobowitz <dan@codesourcery.com>
1324
1325 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
1326 DT_MIPS_RLD_MAP before DT_DEBUG again.
1327
cfbc9945
SE
13282007-04-14 Steve Ellcey <sje@cup.hp.com>
1329
1330 * Makefile.am: Add ACLOCAL_AMFLAGS.
1331 * configure.in: Change macro call order.
1332 * Makefile.in: Regnerate.
1333 * doc/Makefile.in: Regenerate.
1334 * configure: Regenerate.
1335
3fcd97f1
JJ
13362007-04-14 Jakub Jelinek <jakub@redhat.com>
1337
1338 * elflink.c (bfd_elf_final_link): Don't free symbuf for
1339 non-elf input bfds.
1340 (bfd_elf_size_dynamic_sections): Don't access elf_section_data
1341 for non-elf input bfds.
1342
af5978fb
RS
13432007-04-12 Richard Sandiford <richard@codesourcery.com>
1344
1345 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
1346 DT_MIPS_RTLD_MAP for PIEs.
1347
9e3313ae
RS
13482007-04-12 Richard Sandiford <richard@codesourcery.com>
1349
1350 * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
1351 when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
1352 in a read-only section.
1353 (_bfd_mips_elf_check_relocs): Likewise.
1354
1d25768e
BW
13552007-04-12 Bob Wilson <bob.wilson@acm.org>
1356
1357 * elf32-xtensa.c (xtensa_is_insntable_section): New.
1358 (xtensa_is_proptable_section): New.
1359 (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
1360 tables with 12-byte entries, as well as tables with 8-byte entries.
1361 Sort the relocations before examining them.
1362 (relax_property_section): Use xtensa_is_proptable_section and
1363 xtensa_is_littable_section. Rewrite code for combining table entries
1364 to be more robust in case of unexpected relocations. Do not set offset
1365 of unused relocations to less than zero.
1366 (xtensa_is_property_section): Use other functions instead of
1367 duplicating section name comparisons.
1368 (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
1369 (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
4e591bc1 1370
e1e5c0b5 13712007-04-12 Bob Wilson <bob.wilson@acm.org>
4e591bc1 1372
e1e5c0b5
BW
1373 * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
1374 from Xtensa property sections.
4e591bc1 1375
2c67c5f3
AM
13762007-04-12 Alan Modra <amodra@bigpond.net.au>
1377
1378 * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
1379 is non-NULL before dereferencing.
1380
8776bb8a
NS
13812007-04-11 Nathan Sidwell <nathan@codesourcery.com>
1382
1383 * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
1384 relocs too.
1385
4a828aab
RH
13862007-04-10 Richard Henderson <rth@redhat.com>
1387
1388 * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
1389 (elf64_alpha_size_got_sections): Remove unused something_changed local.
1390 (elf64_alpha_size_plt_section): Return void.
1391 (elf64_alpha_size_rela_got_section): Likewise.
4e591bc1 1392 (elf64_alpha_relax_section): Only regenerate got+plt if the
4a828aab
RH
1393 relax_trip counter has changed.
1394
91506736
DJ
13952007-04-09 Daniel Jacobowitz <dan@codesourcery.com>
1396
1397 * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
1398 * doc/Makefile.am (DOCFILES): Add bfdver.texi.
1399 (bfdver.texi): New rule.
1400 * Makefile.in, doc/Makefile.in: Regenerated.
1401
da6bcfca
MT
14022007-04-03 Matt Thomas <matt@netbsd.org>
1403
4e591bc1 1404 * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
da6bcfca
MT
1405 in a shared object if it is not in a CODE section or if it is against
1406 a section symbol. This allows DWARF2 to use pcrel format.
1407
9267588c
L
14082007-04-05 H.J. Lu <hongjiu.lu@intel.com>
1409
1410 PR ld/4304
1411 * elflink.c (bfd_elf_final_link): Call einfo callback in
1412 bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
1413 warning.
1414
c1b2796f
AM
14152007-04-05 Alan Modra <amodra@bigpond.net.au>
1416
1417 * elf32-spu.c (spu_elf_output_symbol_hook): New function.
1418 (elf_backend_link_output_symbol_hook): Define.
1419
970ccc77
NC
14202007-04-02 Nick Clifton <nickc@redhat.com>
1421
1422 PR binutils/4292
1423 * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
1424 targets as 64-bit values, even if running on a 64-bit host.
1425 * coffgen.c (coff_print_symbol): Likewise.
1426
1783205a
NC
14272007-03-29 Nick Clifton <nickc@redhat.com>
1428
1429 PR binutils/4110
1430 * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
1431 (setup_group): Use it. Report corrupt group section headers.
1432 (bfd_section_from_shdr): Use new macro. Replace constant 4 with
1433 GRP_ENTRY_SIZE. Cope with NULLs in the group section table.
1434 (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
1435
2ce859a1
AM
14362007-03-29 Alan Modra <amodra@bigpond.net.au>
1437
1438 PR ld/4267
947844a3
AM
1439 * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
1440 for rel->r_info values.
1441 (bfd_elf_perform_complex_relocation): Likewise.
2ce859a1
AM
1442 * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
1443 unused entries. Don't clear plt.plist in loop.
1444
39817122
RS
14452007-03-28 Richard Sandiford <richard@codesourcery.com>
1446
1447 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
1448 * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
1449 Merge into...
1450 (sparc_elf_append_rela): ...this new function.
1451 (SPARC_ELF_APPEND_RELA): Delete.
1452 (_bfd_sparc_elf_link_hash_table_create): Don't initialize
1453 the deleted append_rela field.
1454 (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
1455 instead of SPARC_ELF_APPEND_RELA.
1456 (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. Use the
1457 elf_size_info structure to find the size of a RELA entry and
1458 the associated swap-out function.
1459 (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
1460 (sparc_finish_dyn): ...this new function.
1461 (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
1462
4ecceb71
RS
14632007-03-28 Richard Sandiford <richard@codesourcery.com>
1464 Phil Edwards <phil@codesourcery.com>
1465
1466 * doc/bfd.texinfo: Put the contents after the title page rather
1467 than at the end of the document.
1468
d4d2b80b
AS
14692007-03-27 Andreas Schwab <schwab@suse.de>
1470
1471 * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
1472
831480e9 14732007-03-26 H.J. Lu <hongjiu.lu@intel.com>
5bd8253d
L
1474
1475 * configure: Regenerated.
1476
f4b39977
AM
14772007-03-26 Alan Modra <amodra@bigpond.net.au>
1478
1479 * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
1480 (allocate_spuear_stubs): New function.
1481 (spu_elf_size_stubs): Call allocate_spuear_stubs.
1482
157090f7
AM
14832007-03-26 Alan Modra <amodra@bigpond.net.au>
1484
1485 * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
1486 * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
1487 (MY (bfd_reloc_name_lookup)): New function.
1488 * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
1489 * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
1490 (MY_bfd_reloc_name_lookup): Define.
1491 * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
1492 (MY_bfd_reloc_name_lookup): Define.
1493 * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
1494 (NAME (aout, reloc_name_lookup)): New function.
1495 * bout.c (b_out_bfd_reloc_name_lookup): New function.
1496 * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
1497 (_bfd_ecoff_bfd_reloc_name_lookup): Define.
1498 * coff-arm.c (coff_arm_reloc_name_lookup): New function.
1499 (coff_bfd_reloc_name_lookup): Define.
1500 * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
1501 (coff_i386_reloc_name_lookup): New function.
1502 * coff-i860.c (coff_i860_reloc_name_lookup): New function.
1503 (coff_bfd_reloc_name_lookup): Define.
1504 * coff-i960.c (coff_i960_reloc_name_lookup): New function.
1505 (coff_bfd_reloc_name_lookup): Define.
1506 * coff-m68k.c (m68k_reloc_name_lookup): New function.
1507 (coff_bfd_reloc_name_lookup): Define.
1508 * coff-maxq.c (maxq_reloc_name_lookup): New function.
1509 (coff_bfd_reloc_name_lookup): Define.
1510 * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
1511 (coff_bfd_reloc_name_lookup): Define.
1512 * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
1513 (_bfd_ecoff_bfd_reloc_name_lookup): Define.
1514 * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
1515 (coff_bfd_reloc_name_lookup): Define.
1516 * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1517 (_bfd_xcoff_reloc_name_lookup): New function.
1518 (rs6000coff_vec, pmac_xcoff_vec): Init new field.
1519 * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
1520 (sh_coff_reloc_name_lookup): New function.
1521 * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
1522 (coff_bfd_reloc_name_lookup): Define.
1523 * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
1524 (tic30_coff_reloc_name_lookup): New function.
1525 * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
1526 (tic4x_coff_reloc_name_lookup): New function.
1527 * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
1528 (tic54x_coff_reloc_name_lookup): New function.
1529 * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
1530 (coff_amd64_reloc_name_lookup): New function.
1531 * coff-z80.c (coff_z80_reloc_name_lookup): New function.
1532 (coff_bfd_reloc_name_lookup): Define.
1533 * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
1534 (coff_bfd_reloc_name_lookup): Define.
1535 * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1536 (xcoff64_reloc_name_lookup): New function.
1537 (rs6000coff64_vec, aix5coff64_vec): Init new field.
1538 * coffcode.h (coff_bfd_reloc_name_lookup): Define.
1539 * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
1540 * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1541 * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1542 * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1543 * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
1544 (bfd_elf32_bfd_reloc_name_lookup): Define.
1545 * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1546 * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
1547 (bfd_elf32_bfd_reloc_name_lookup): Define.
1548 * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
1549 (bfd_elf32_bfd_reloc_name_lookup): Define.
1550 * elf32-cris.c (cris_reloc_name_lookup): New function.
1551 (bfd_elf32_bfd_reloc_name_lookup): Define.
1552 * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
1553 (bfd_elf32_bfd_reloc_name_lookup): Define.
1554 * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1555 * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1556 * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
1557 (bfd_elf32_bfd_reloc_name_lookup): Define.
1558 * elf32-fr30.c (fr30_reloc_name_lookup): New function.
1559 (bfd_elf32_bfd_reloc_name_lookup): Define.
1560 * elf32-frv.c (frv_reloc_name_lookup): New function.
1561 (bfd_elf32_bfd_reloc_name_lookup): Define.
1562 * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1563 * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
1564 (bfd_elf32_bfd_reloc_name_lookup): Define.
1565 * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1566 * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
1567 (bfd_elf32_bfd_reloc_name_lookup): Define.
1568 * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
1569 (bfd_elf32_bfd_reloc_name_lookup): Define.
1570 * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
1571 (bfd_elf32_bfd_reloc_name_lookup): Define.
1572 * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
1573 (bfd_elf32_bfd_reloc_name_lookup): Define.
1574 * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
1575 (bfd_elf32_bfd_reloc_name_lookup): Define.
1576 * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
1577 (bfd_elf32_bfd_reloc_name_lookup): Define.
1578 * elf32-m32c.c (m32c_reloc_name_lookup): New function.
1579 (bfd_elf32_bfd_reloc_name_lookup): Define.
1580 * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1581 * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1582 * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1583 * elf32-m68k.c (reloc_name_lookup): New function.
1584 (bfd_elf32_bfd_reloc_name_lookup): Define.
1585 * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1586 * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
1587 (bfd_elf32_bfd_reloc_name_lookup): Define.
1588 * elf32-mep.c (mep_reloc_name_lookup): New function.
1589 (bfd_elf32_bfd_reloc_name_lookup): Define.
1590 * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1591 (mips_vxworks_bfd_reloc_name_lookup): Likewise.
1592 (bfd_elf32_bfd_reloc_name_lookup): Define.
1593 * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1594 * elf32-mt.c (mt_reloc_name_lookup): New function.
1595 (bfd_elf32_bfd_reloc_name_lookup): Define.
1596 * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
1597 (bfd_elf32_bfd_reloc_name_lookup): Define.
1598 * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1599 * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
1600 (bfd_elf32_bfd_reloc_name_lookup): Define.
1601 * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
1602 (bfd_elf32_bfd_reloc_name_lookup): Define.
1603 * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
1604 (bfd_elf32_bfd_reloc_name_lookup): Define.
1605 * elf32-score.c (elf32_score_reloc_name_lookup): New function.
1606 (bfd_elf32_bfd_reloc_name_lookup): Define.
1607 * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
1608 (bfd_elf32_bfd_reloc_name_lookup): Define.
1609 * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1610 * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
1611 (bfd_elf32_bfd_reloc_name_lookup): Define.
1612 * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
1613 (bfd_elf32_bfd_reloc_name_lookup): Define.
1614 * elf32-vax.c (reloc_name_lookup): New function.
1615 (bfd_elf32_bfd_reloc_name_lookup): Define.
1616 * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
1617 (bfd_elf32_bfd_reloc_name_lookup): Define.
1618 * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
1619 (bfd_elf32_bfd_reloc_name_lookup): Define.
1620 * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
1621 (bfd_elf32_bfd_reloc_name_lookup): Define.
1622 * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
1623 (bfd_elf64_bfd_reloc_name_lookup): Define.
1624 * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1625 * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1626 * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1627 * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1628 * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
1629 (bfd_elf64_bfd_reloc_name_lookup): Define.
1630 * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
1631 (bfd_elf64_bfd_reloc_name_lookup): Define.
1632 * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
1633 (bfd_elf64_bfd_reloc_name_lookup): Define.
1634 * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1635 * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
1636 (bfd_elf64_bfd_reloc_name_lookup): Define.
1637 * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1638 * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
1639 (bfd_elfNN_bfd_reloc_name_lookup): Define.
1640 * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
1641 * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
1642 * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
1643 * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
1644 * ieee.c (ieee_bfd_reloc_name_lookup): Define.
1645 * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
1646 * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
1647 * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
1648 (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
1649 (MY(reloc_name_lookup)): New function.
1650 * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
1651 * oasys.c (oasys_bfd_reloc_name_lookup): Define.
1652 * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
1653 * pe-mips.c (coff_mips_reloc_name_lookup): New function.
1654 (coff_bfd_reloc_name_lookup): Define.
1655 * reloc.c (bfd_reloc_name_lookup): New function.
1656 * riscix.c (riscix_reloc_name_lookup): New function.
1657 (MY_bfd_reloc_name_lookup): Define.
1658 * som.c (som_bfd_reloc_name_lookup): New function.
1659 * targets.c (struct bfd_target): Add reloc_name_lookup.
1660 (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
1661 * versados.c (versados_bfd_reloc_name_lookup): Define.
1662 * vms.c (vms_bfd_reloc_name_lookup): New function.
1663 * bfd-in2.h: Regenerate.
1664 * libbfd.h: Regenerate.
1665
2d82d84d
TS
16662007-03-26 Thiemo Seufer <ths@mips.com>
1667
a5cb1fd7 1668 PR ld/4208
2d82d84d
TS
1669 * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
1670 matching relocation is found.
1671 (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
1672
831480e9 16732007-03-23 H.J. Lu <hongjiu.lu@intel.com>
1a27db7d
L
1674
1675 * configure: Regenerated.
1676
a1ac8190
JM
16772007-03-23 Joseph Myers <joseph@codesourcery.com>
1678
1679 * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
1680 * configure: Regenerate.
1681
aa7a0635
AM
16822007-03-23 Alan Modra <amodra@bigpond.net.au>
1683
1684 * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
1685 Remove input_sec param. Adjust all calls.
1686 (write_one_stub): Adjust stub symbol.
1687 (needs_ovl_stub): New function, extracted from..
1688 (spu_elf_size_stubs): ..here.
1689 (spu_elf_relocate_section): Use needs_ovl_stub.
1690
e49e529d
JM
16912007-03-22 Joseph Myers <joseph@codesourcery.com>
1692
1693 * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
1694 if nonempty.
1695 * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
1696 * Makefile.in, configure, doc/Makefile.in: Regenerate.
1697
831480e9 16982007-03-22 H.J. Lu <hongjiu.lu@intel.com>
50572669
L
1699
1700 PR ld/4210
1701 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
1702 address and virtual size of the last section for the image
1703 size.
1704
0920dee7
L
17052007-03-22 H.J. Lu <hongjiu.lu@intel.com>
1706
1707 PR ld/4007
1708 * elf.c (assign_file_positions_for_load_sections): Check if
1709 all sections are in the segment.
1710
831480e9 17112007-03-20 H.J. Lu <hongjiu.lu@intel.com>
749b8d9d
L
1712
1713 PR ld/4208
1714 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
1715 matching LO16 relocation for HI16 relocation.
1716
27e55c4d
PB
17172007-03-20 Paul Brook <paul@codesourcery.com>
1718
1719 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
1720 * bfd-in2.h: Regenerate.
1721 * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
1722 (record_arm_to_thumb_glue): Use globals->pic_veneer.
1723 (elf32_arm_create_thumb_stub): Ditto.
1724 (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
1725
bf21ed78
MS
17262007-03-18 Mark Shinwell <shinwell@codesourcery.com>
1727
1728 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
1729 argument and extra last argument.
1730 * bfd-in2.h: Regenerate.
1731 * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
1732 member.
1733 (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
1734 extra last argument. Set no_enum_size_warning appropriately.
1735 (elf32_arm_merge_eabi_attributes): Improve enum sizes
1736 diagnostic, suppressing it when no_enum_size_warning dictates.
1737
5f6999aa
NC
17382007-03-20 Nick Clifton <nickc@redhat.com>
1739
1740 PR binutils/3535
1741 * elf.c (copy_private_bfd_data): Widen the scope of Solaris
1742 specific conditions that need the program headers to be
1743 rewritten.
1744
831480e9 17452007-03-19 H.J. Lu <hongjiu.lu@intel.com>
d13c9dc6
L
1746
1747 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
1748 MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
1749 SizeOfInitializedData, SizeOfUninitializedData,
1750 AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
1751 extra PE a.out header.
1752 (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
1753 (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
1754 defined.
1755 (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
1756 defined.
1757 (_bfd_XX_print_private_bfd_data_common): Also print Magic,
1758 MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
1759 SizeOfInitializedData, SizeOfUninitializedData,
1760 AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
1761 extra PE a.out header.
1762
831480e9 17632007-03-18 H.J. Lu <hongjiu.lu@intel.com>
739bb57e
L
1764
1765 * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
1766 only if BFD64 is defined.
1767
5384511f
AM
17682007-03-17 Alan Modra <amodra@bigpond.net.au>
1769
1770 * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
1771 on setjmp calls.
1772
187b3d5d
L
17732007-03-15 H.J. Lu <hongjiu.lu@intel.com>
1774
1775 * doc/Makefile.in: Regenerated.
1776
c428fa83
L
17772007-03-15 H.J. Lu <hongjiu.lu@intel.com>
1778
1779 * Makefile.am (bfdver.h): Substitute report_bugs_to. Also
1780 create doc/bfdver.texi.
1781 * Makefile.in: Regenerated.
1782
1783 * configure.in (--with-bugurl): New option.
1784 * configure: Regenerated.
1785
1786 * version.h (REPORT_BUGS_TO): New.
1787
d1036acb
L
17882007-03-13 H.J. Lu <hongjiu.lu@intel.com>
1789
1790 PR binutils/3826
1791 * elf-bfd.h (elf_backend_data): Add elf_osabi.
1792 (_bfd_elf_set_osabi): New.
1793
1794 * elf.c (_bfd_elf_set_osabi): New.
1795
1796 * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
1797 (elf_backend_post_process_headers): Defined with
1798 _bfd_elf_set_osabi.
1799 (ELF_OSABI): Properly defined for each target.
1800
1801 * elf32-i370.c (i370_elf_post_process_headers): Removed.
1802 (ELF_OSABI): Defined.
1803 (elf_backend_post_process_headers): Defined with
1804 _bfd_elf_set_osabi.
1805
1806 * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
1807 freebsd.
1808 (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
1809
1810 * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
1811 (ELF_OSABI): Defined.
1812 (elf_backend_post_process_headers): Defined with
1813 _bfd_elf_set_osabi.
1814
1815 * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
1816 freebsd.
1817 (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
1818 elf_osabi.
1819
1820 * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
1821 with elf_osabi.
1822 (ELF_OSABI): Properly defined for each target.
1823 (elf_backend_post_process_headers): Defined with
1824 _bfd_elf_set_osabi for Linux.
1825
1826 * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
1827 (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
1828 (elf_backend_post_process_headers): Defined with
1829 _bfd_elf_set_osabi.
1830
1831 * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
1832 (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
1833 (elf_backend_post_process_headers): Defined with
1834 _bfd_elf_set_osabi.
1835
1836 * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
1837 with any ELF target of the compatible machine for which we do not
1838 have a specific backend.
1839
1840 * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
1841 with elf_osabi.
1842
1843 * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
1844 (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
1845
d4c87fc1
AM
18462007-03-08 Alan Modra <amodra@bigpond.net.au>
1847
1848 * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
1849 V850_OTHER_* bits.
1850
9c6fc49d
AM
18512007-03-08 Alan Modra <amodra@bigpond.net.au>
1852
1853 * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
1854 (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
1855 Run "make dep-am".
1856 * Makefile.in: Regenerate.
1857 * po/SRC-POTFILES.in: Regenerate.
1858
faed74d6
L
18592007-03-07 H.J. Lu <hongjiu.lu@intel.com>
1860
1861 * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
1862 (x86_64-*-kfreebsd*-gnu): Likewise.
1863 (x86_64-*-netbsd*): Likewise.
1864 (x86_64-*-openbsd*): Likewise.
1865 (x86_64-*-linux-*): Likewise.
1866
1867 * configure.in: Support bfd_efi_app_x86_64_vec.
1868 * configure: Regenerated.
1869
1870 * efi-app-x86_64.c: New file.
1871
1872 * targets.c (bfd_efi_app_x86_64_vec): New.
1873 (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
1874
15344ad7
L
18752007-03-07 Kai Tietz <kai.tietz@onevision.com>
1876
1877 * reloc.c (bfd_generic_get_relocated_section_contents): Remove
1878 const for type reloc_howto_type.
1879
ab96bf03
AM
18802007-03-07 Alan Modra <amodra@bigpond.net.au>
1881
1882 PR 3958
1883 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
1884 (elf_discarded_section): Move..
1885 * bfd-in.h: ..to here.
1886 * bfd-in2.h: Regenerate.
1887 * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
1888 from discarded sections before relocate_section has done its job.
1889 * reloc.c (bfd_generic_get_relocated_section_contents): Handle
1890 relocs against symbols from discarded sections.
1891 * elf-hppa.h (elf_hppa_howto_table): Set size. Set dst_mask on
1892 SECREL32.
1893 (elf_hppa_relocate_section): Handle relocatable link after setting
1894 sec, sym, h etc. for final link. Squash error messages for
1895 relocatable link. Clear section contents for relocs against
1896 symbols in discarded sections, and zero reloc. Remove existing
1897 zero r_symndx code.
1898 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
1899 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1900 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
1901 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1902 * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
1903 (bfin_relocate_section): Likewise.
1904 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
1905 * elf32-cris.c (cris_elf_relocate_section): Likewise.
1906 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
1907 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1908 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1909 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1910 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
1911 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1912 * elf32-i370.c (i370_elf_relocate_section): Likewise.
1913 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1914 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
1915 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1916 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1917 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
1918 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1919 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1920 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1921 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1922 * elf32-mep.c (mep_elf_relocate_section): Likewise.
1923 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1924 * elf32-mt.c (mt_elf_relocate_section): Likewise.
1925 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
1926 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1927 * elf32-s390.c (elf_s390_relocate_section): Likewise.
1928 * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
1929 * elf32-sh.c (sh_elf_relocate_section): Likewise.
1930 * elf32-spu.c (spu_elf_relocate_section): Likewise.
1931 * elf32-v850.c (v850_elf_relocate_section): Likewise.
1932 * elf32-vax.c (elf_vax_relocate_section): Likewise.
1933 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1934 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1935 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1936 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
1937 (elf64_alpha_relocate_section): Likewise.
1938 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1939 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1940 * elf64-s390.c (elf_s390_relocate_section): Likewise.
1941 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1942 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1943 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1944 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1945 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1946
1947 * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
1948 symbols for relocatable link. Don't use always-zero st_value.
1949 (elf_backend_rela_normal): Don't define.
1950 * elf32-bfin.c (bfinfdpic_relocate_section): Use
1951 RELOC_FOR_GLOBAL_SYMBOL.
1952 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1953 * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
1954 section symbol adjustments with same for relocatable link.
1955 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1956 * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
1957 (elf32_m68hc11_check_relocs): ..to here.
1958 * elf32-score.c (score_elf_final_link_relocate): Remove zero
1959 r_symndx code.
1960 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1961
0e922b77
AM
19622007-03-07 Alan Modra <amodra@bigpond.net.au>
1963
1964 PR 4144
1965 * elf.c (assign_file_positions_for_load_sections): Don't
1966 adjust p_memsz for !SEC_LOAD section vma modulo page size.
1967 Instead, use the same lma based adjustment for SEC_LOAD
1968 sections.
1969
25c6282a
BW
19702007-03-01 Bob Wilson <bob.wilson@acm.org>
1971
1972 * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
1973 (find_relaxable_sections): Do not increment src_count for unknown
1974 opcodes. Decode only once instead of calling is_l32r_relocation.
1975 (compute_text_actions): Remove unused no_insn_move flag. Assert that
1976 src_next matches src_count in relax_info.
1977
066c2a57
JM
19782007-03-01 Joseph Myers <joseph@codesourcery.com>
1979
1980 * Makefile.am (bfdver.h): Use "." not " " between version number
1981 and date.
1982 * Makefile.in: Regenerate.
1983 * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
1984 * configure: Regenerate.
1985
ed6ba298
NS
19862007-02-28 Nathan Sidwell <nathan@codesourcery.com>
1987
1988 * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
1989
7a8757b3
AM
19902007-02-27 Alan Modra <amodra@bigpond.net.au>
1991
1992 * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
1993 * elf32-spu.c (ovl_mgr_pread): Add const to casts.
1994
024b2372
CD
19952007-02-23 Carlos O'Donell <carlos@codesourcery.com>
1996
1997 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
1998 DWARF even with 64-bit addresses.
1999 (_bfd_dwarf2_find_nearest_line): Likewise.
2000
cb3ff1e5
NC
20012007-02-23 Nick Clifton <nickc@redhat.com>
2002
2003 PR binutils/3535
2004 * elf.c (copy_private_bfd_data): Always rewrite the program
2005 headers when a Solaris interpreter segment is involved.
2006
6a5bb875
PB
20072007-02-22 Paul Brook <paul@codesourcery.com>
2008
2009 * elflink.c (gc_mark_hook_fn): Remove.
2010 (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
2011 (bfd_elf_gc_sections): Ditto. Call gc_mark_extra_sections.
2012 * elf-bfd.h (elf_gc_mark_hook_fn): Define.
2013 (elf_backend_data): Add gc_mark_extra_sections.
2014 * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
2015 definition.
2016 (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
2017 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
2018 (elf_backend_gc_mark_extra_sections): Define.
2019
2889e75b
NC
20202007-02-21 Nick Clifton <nickc@redhat.com>
2021
2022 * elf.c (_bfd_elf_map_sections_to_segments): If the
2023 override_segment_assignment callback is defined then call it.
2024
78859468
AM
20252007-02-21 Alan Modra <amodra@bigpond.net.au>
2026
2027 * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
2028
ae0d2616
TS
20292007-02-19 Thiemo Seufer <ths@mips.com>
2030
2031 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
2032 translation marker from untranslatable strings.
2033
6bfdb61b
AM
20342007-02-19 Alan Modra <amodra@bigpond.net.au>
2035
2036 * elf-bfd.h (struct elf_backend_data): Add default_execstack.
2037 * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
2038 * elfxx-target.h (elf_backend_default_execstack): Define to 1.
2039 (elfNN_bed): Init new field.
2040 * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
2041
92f01d61
JM
20422007-02-17 Mark Mitchell <mark@codesourcery.com>
2043 Nathan Sidwell <nathan@codesourcery.com>
2044 Vladimir Prus <vladimir@codesourcery.com
2045 Joseph Myers <joseph@codesourcery.com>
2046
2047 * configure.in (--with-pkgversion): New option.
2048 * configure: Regenerate.
2049 * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
2050 * Makefile.in: Regenerate.
2051 * version.h (BFD_VERSION_STRING): Define using
2052 @bfd_version_package@.
2053
c0e3f241
CD
20542007-02-16 Carlos O'Donell <carlos@codesourcery.com>
2055
2056 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
2057 Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
2058 and EF_MIPS_UCODE.
2059
72f6ea61
AM
20602007-02-15 Alan Modra <amodra@bigpond.net.au>
2061
2062 * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
2063 declare.
2064 (_bfd_norelocs_canonicalize_reloc): Likewise.
2065 * libbfd.h: Regenerate.
2066 * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
2067 (_bfd_norelocs_canonicalize_reloc): Likewise.
2068 * binary.c (binary_bfd_reloc_type_lookup): Don't define.
2069 (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
2070 (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
2071 * ihex.c: Similarly.
2072 * mach-o-target.c: Similarly.
2073 * mach-o.c: Similarly.
2074 * mmo.c: Similarly.
2075 * pef.c: Similarly.
2076 * ppcboot.c: Similarly.
2077 * srec.c: Similarly.
2078 * xsym.c: Similarly.
2079
fab4a87f
L
20802007-02-14 H.J. Lu <hongjiu.lu@intel.com>
2081
2082 PR ld/3953
2083 * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
2084 when adding default symbol.
2085
e4e0193e
AM
20862007-02-13 Alan Modra <amodra@bigpond.net.au>
2087
2088 * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
2089 for branch lookup table.
2090
84f5d08e
AM
20912007-02-12 Alan Modra <amodra@bigpond.net.au>
2092
2093 * elf64-ppc.c (create_linkage_sections): Don't create
2094 .rela.rodata.brlt for --emit-relocs.
2095 (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
2096 (ppc_size_one_stub): Count them. Simplify test of stub type
2097 when counting stub relocs. Set SEC_RELOC too.
2098 (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
2099 (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
2100
4aac632e
AM
21012007-02-12 Alan Modra <amodra@bigpond.net.au>
2102
2103 * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
2104 with a zero symbol index.
2105
8da3dbc5
AM
21062007-02-12 Alan Modra <amodra@bigpond.net.au>
2107
2108 * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
2109
b31847af
DB
21102007-02-05 Dave Brolley <brolley@redhat.com>
2111 Stan Cox <scox@redhat.com>
2112
2113 PR ld/3972
2114 * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
2115
722b0ff7 21162007-02-05 Dave Brolley <brolley@redhat.com>
e382d174
DB
2117 Richard Sandiford <rsandifo@redhat.com>
2118 Stan Cox <scox@redhat.com>
2119 Nick Clifton <nickc@redhat.com>
2120 DJ Delorie <dj@redhat.com>
2121 Frank Ch. Eigler <fche@redhat.com>
2122 Ben Elliston <bje@redhat.com>
2123 Richard Henderson <rth@redhat.com>
2124
2125 * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
2126 (ALL_MACHINES_CFILES): Add CPU_MEP.c.
2127 (BFD32_BACKENDS): Add elf32-mep.lo.
2128 (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
2129 (cpu-mep.lo,elf32-mep.lo): New targets.
2130 * archures.c (bfd_arch_mep): New enumerator.
2131 (bfd_mach_mep, bfd_mach_mep_h1): New macros.
2132 (bfd_mep_arch): New external variable.
2133 (bfd_archures_list): Add bfd_mep_arch.
2134 * config.bfd: Support mep-*-elf.
2135 * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
2136 * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
2137 * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
2138 declarations.
2139 (_bfd_target_vector): Add bfd_elf32_mep_vec and
2140 bfd_elf32_mep_little_vec.
722b0ff7
DB
2141 * mep-relocs.pl: New file.
2142 * cpu-mep.c: New file.
2143 * elf32-mep.c: New file.
2144 * bfd-in2.h: Regenerate.
e382d174 2145 * po/POTFILES.in: Regenerate.
722b0ff7
DB
2146 * libbfd.h: Regenerate.
2147 * Makefile.in: Regenerate.
2148 * configure: Regenerate.
2149
d9352518
DB
21502007-02-05 Dave Brolley <brolley@redhat.com>
2151
2152 * elflink.c (evaluate_complex_relocation_symbols): Check for
2153 STT_SRELC for global symbols.
2154 (perform_complex_relocations): Renamed to
2155 perform_complex_relocation and now examines only one relocation.
2156 (elf_link_input_bfd): Don't call perform_complex_relocations.
74e880a7 2157 * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
d9352518
DB
2158 * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
2159 (OD,OS,OU): #undefs corrected to N, S and U repectively.
2160 (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
2161 (complex_reloc_installation_howto): Removed.
2162 (mep_info_to_howto_rela): Remove special case for r_type==0xff.
2163 (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
2164
d9352518 21652007-02-05 Dave Brolley <brolley@redhat.com>
e382d174
DB
2166 Richard Sandiford <rsandifo@redhat.com>
2167 DJ Delorie <dj@redhat.com>
2168 Graydon Hoare <graydon@redhat.com>
2169 Nick Clifton <nickc@cambridge.redhat.com>
2170 Jeff Holcomb <jeffh@redhat.com>
2171 Frank Ch. Eigler <fche@redhat.com>
2172
2173 * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
2174 * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
2175 * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
2176 * elflink.c (set_symbolValue): New static function.
d9352518
DB
2177 (resolve_symbol): Likewise.
2178 (resolve_section): Likewise.
2179 (undefined_reference): Likewise.
2180 (eval_symbol): Likewise.
2181 (evaluate_complex_relocation_symbols): Likewise.
2182 (put_value): Likewise.
2183 (get_value): Likewise.
e382d174
DB
2184 (decode_complex_addend):
2185 (bfd_elf_perform_complex_relocation): New function.
2186 (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
2187 * reloc.c (BFD_RELOC_RELC): New relocation number.
2188 * syms.c (BSF_RELC,BSF_SRELC): New macros.
d9352518 2189
f1ab2340 21902007-02-05 Bob Wilson <bob.wilson@acm.org>
74e880a7 2191
f1ab2340
BW
2192 * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
2193 (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
2194 (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
2195 (elf_xtensa_allocate_got_size): Replace these with...
2196 (elf_xtensa_allocate_dynrelocs): ...this new function.
2197 (elf_xtensa_size_dynamic_sections): Use it.
74e880a7 2198
e5f131d1 21992007-02-05 Bob Wilson <bob.wilson@acm.org>
74e880a7 2200
e5f131d1
BW
2201 * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
2202 <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
2203 Set src_mask to zero.
2204 <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise. Also fix dst_mask.
2205 <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
74e880a7 2206
4608f3d9
BW
22072007-02-02 Bob Wilson <bob.wilson@acm.org>
2208
2209 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
2210 (elf_xtensa_dynamic_symbol_p): ...this.
2211
f0e6fdb2
BW
22122007-02-02 Bob Wilson <bob.wilson@acm.org>
2213
2214 * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
2215 (struct elf_xtensa_link_hash_table): New.
2216 (elf_xtensa_hash_table): New.
2217 (elf_xtensa_link_hash_table_create): New.
2218 (elf_xtensa_check_relocs): Update plt_reloc_count references.
2219 Update arguments to add_extra_plt_sections.
2220 (elf_xtensa_create_dynamic_sections): Record new sections in the hash
2221 table. Update for plt_reloc_count and add_extra_plt_sections.
2222 (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
2223 argument with link info. Update calls to elf_xtensa_get_plt_section
2224 and elf_xtensa_get_gotplt_section.
2225 (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
2226 (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
2227 (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
2228 (relax_property_section): Get sections from the hash table and update
2229 function calls.
2230 (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
2231 dynobj argument with link info. Get sections for first plt chunk from
2232 the hash table.
2233 (bfd_elf32_bfd_link_hash_table_create): Define.
2234
c15f73f9
JJ
22352007-02-02 Jakub Jelinek <jakub@redhat.com>
2236
2237 * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
2238 * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
2239 (struct elf_symbol): Change first member into union.
2240 (elf_sort_elf_symbol): Compare pointers to internal syms rather than
2241 internal syms. Only compare st_shndx fields.
2242 (elf_create_symbuf): New function.
2243 (bfd_elf_match_symbols_in_sections): Use it. If symbufs are available
2244 for bfds, use a binary search, otherwise don't qsort symbols
2245 unnecessarily only to select which symbols are for the particular
2246 shndx.
2247
effdf42a
NC
22482007-02-01 Nick Clifton <nickc@redhat.com>
2249
2250 PR ld/3852
2251 * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
2252 in the elf_link_hash_table structure.
2253
183e98be
AM
22542007-02-01 Alan Modra <amodra@bigpond.net.au>
2255
2256 * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
2257 * elfxx-target.h (elf_backend_write_core_note): Define and use.
2258 * elf.c (elfcore_write_prpsinfo): Call the above. Add support for
2259 32-bit core note on 64-bit target.
2260 (elfcore_write_prstatus): Likewise.
2261 (elfcore_write_lwpstatus): Make note_name const.
2262 (elfcore_write_prfpreg): Likewise.
2263 (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
2264 target.
2265 * elf32-ppc.c (ppc_elf_write_core_note): New function.
2266 (elf_backend_write_core_note): Define.
2267 * elf64-ppc.c (ppc64_elf_write_core_note): New function.
2268 (elf_backend_write_core_note): Define.
2269
fc523535 22702007-01-31 H.J. Lu <hongjiu.lu@intel.com>
16cecee5
L
2271
2272 * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
2273 (elf32_bed): Defined for elf32-us-cris.
2274
2275 * elf64-sh64.c (elf64_bed): Defined for Linux.
2276 (INCLUDED_TARGET_FILE): Removed.
2277
2278 * elfxx-target.h (elfNN_bed): Always define. Don't check
2279 INCLUDED_TARGET_FILE.
2280
c9b57b7e
DD
22812007-01-31 DJ Delorie <dj@redhat.com>
2282
2283 * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
2284 message for dangerous relocs, special case the common user error.
2285
53020534
L
22862007-01-30 H.J. Lu <hongjiu.lu@intel.com>
2287
2288 * elf.c (copy_elf_program_header): Start from the first section
2289 in a segment and stop when all sections in a segment are
2290 accounted for.
2291
c7b8f16e
JB
22922007-01-29 Julian Brown <julian@codesourcery.com>
2293
2294 * bfd-in2.h: Regenerate.
2295 * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
2296 instruction scanning should be done.
2297 (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
2298 (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
2299 (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
2300 prototype.
2301 * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
2302 argument.
2303 * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
2304 (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
2305 (elf32_vfp11_erratum_type): New enum.
2306 (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
2307 veneers.
2308 (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
2309 (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
2310 vfp11_fix and num_vfp11_fixes fields.
2311 (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
2312 vfp11_erratum_glue_size, num_vfp11_fixes fields.
2313 (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
2314 (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
2315 glue section.
2316 (elf32_arm_section_map_add): Add an code/data mapping symbol entry
2317 to a section's map.
2318 (record_vfp11_erratum_veneer): Create a single veneer, and its
2319 associated symbols.
2320 (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
2321 (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
2322 BFDs.
2323 (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
2324 required.
2325 (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
2326 (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
2327 (bfd_arm_vfp11_write_mask): Update write mask according to coded
2328 register number.
2329 (bfd_arm_vfp11_antidependency): New function.
2330 (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
2331 (elf32_arm_compare_mapping): Declare.
2332 (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
2333 BFD for potential erratum-triggering insns. Record results.
2334 (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
2335 and branches to veneers have been placed in virtual memory after
2336 layout.
2337 (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
2338 hash table.
2339 (elf32_arm_output_symbol_hook): Remove.
2340 (elf32_arm_write_section): Output veneers, and branches to veneers.
2341 Use maps from input sections, not output sections, for code
2342 byte-swapping.
2343 * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
2344 * elf32-score.c (_bfd_score_elf_write_section): Likewise.
2345 * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
2346 * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
2347
23482007-01-27 H.J. Lu <hongjiu.lu@intel.com>
83d1651b
L
2349
2350 * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
b8210914 2351 (INCLUDED_TARGET_FILE): Removed.
83d1651b 2352
914dfb0f
DA
23532007-01-27 Mike Frysinger <vapier@gentoo.org>
2354
2355 * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
2356 (INCLUDED_TARGET_FILE): Remove.
2357
78eba9b6
DD
23582007-01-25 DJ Delorie <dj@redhat.com>
2359
2360 * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
2361 R_M32C_16 or R_M32C_24 relocs.
2362
64ee10b6
NC
23632007-01-25 Nick Clifton <nickc@redhat.com>
2364
2365 PR binutils/3874
2366 * elf32-avr.c (avr_link_hash_table): Check to make sure that the
2367 hash table was created by elf32_avr_link_hash_table_create before
2368 using it.
2369 (elf32_avr_link_hash_newfunc): New function. Just pass the call
2370 through to _bfd_elf_link_hash_newfunc.
2371 (elf32_avr_link_hash_table_create): Use
2372 elf32_avr_link_hash_newfunc instead of
2373 _bfd_elf_link_hash_newfunc.
2374 (elf32_avr_relocate_section): Check for the hash table pointer
2375 being NULL.
2376 (elf32_avr_relax_section, avr_build_one_stub,
2377 elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
2378 elf32_avr_build_stubs): Likewise.
2379
40b36307
L
23802007-01-16 H.J. Lu <hongjiu.lu@intel.com>
2381
2382 PR ld/3831
2383 * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
2384 argument, Elf_Internal_Sym *.
2385
2386 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
2387 symbol dynamic if info->dynamic_data is TRUE.
2388 (bfd_elf_record_link_assignment): Updated call to
2389 bfd_elf_record_link_assignment.
2390 (_bfd_elf_merge_symbol): Likewise. Always call
2391 bfd_elf_link_mark_dynamic_symbol.
2392
fc523535 23932007-01-12 H.J. Lu <hongjiu.lu@intel.com>
a454209d
L
2394
2395 * Makefile.am (BFD_LIBS): Removed.
2396 * Makefile.in: Regenerated.
2397
fc523535 23982007-01-11 H.J. Lu <hongjiu.lu@intel.com>
21e40a48
L
2399
2400 PR binutils/3631
2401 * Makefile.am (OFILES): Add @bfd64_libs@.
2402 (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
2403 * Makefile.in: Regenerated.
2404
2405 * configure.in (bfd_libs): Replaced by ...
2406 (bfd64_libs): This.
2407 * configure: Regenerated.
2408
59e0647f
NS
24092007-01-11 Nathan Sidwell <nathan@codesourcery.com>
2410
2411 * elf.c (assign_file_positions_for_load_sections): We can
2412 require fewer phdrs than expected.
2413
3bdcfdf4
KH
24142007-01-08 Kazu Hirata <kazu@codesourcery.com>
2415
2416 * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
2417 * bfd-in2.h: Regenerate.
2418 * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
2419 bfd_mach_cpu32_fido.
2420 (m68k_arch_features): Use fido_a instead of cpu32.
2421 (bfd_m68k_compatible): Reject the combination of Fido and
2422 ColdFire. Accept the combination of CPU32 and Fido with a
2423 warning.
2424 * elf32-m68k.c (elf32_m68k_object_p,
2425 elf32_m68k_merge_private_bfd_data,
2426 elf32_m68k_print_private_bfd_data): Treat Fido as an
2427 architecture by itself.
2428
42037fe5
NC
24292007-01-08 Kai Tietz <kai.tietz@onevision.com>
2430
2431 * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
2432
ebe8b991
JJ
24332007-01-05 Jakub Jelinek <jakub@redhat.com>
2434
2435 * texhex.c (first_phase): Don't fall through into the default
2436 case.
2437 (pass_over): Replace abort () calls with return FALSE. Fix
2438 buffer overflow.
2439
b327f31f
AM
24402007-01-04 Jie Zhang <jie.zhang@analog.com>
2441
2442 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
2443 SEC_EXCLUDE on zero size .eh_frame.
2444
10a2343e 2445For older changes see ChangeLog-2006
56882138
AM
2446\f
2447Local Variables:
2448mode: change-log
2449left-margin: 8
2450fill-column: 74
2451version-control: never
2452End:
This page took 0.51405 seconds and 4 git commands to generate.