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