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