bfd/
[binutils.git] / bfd / ChangeLog
blob61ebc1874f4936bd8bb46769941119da78e03d6c
1 2007-09-25  Alan Modra  <amodra@bigpond.net.au>
3         * elf32-spu.c (struct spu_link_hash_table): Add ovly_load_r_symndx.
4         (spu_elf_size_stubs): Count stub relocs.
5         (write_one_stub): Emit relocs on overlay call stubs.
7         * elf32-spu.c (struct spu_link_hash_table): Add "stubs".
8         (spu_elf_link_hash_table_create): Init new field.
9         (spu_elf_size_stubs): Store sorted stub syms in new htab field
10         rather than local var.
11         (spu_elf_build_stubs): Iterate over htab stubs rather than
12         hash traversal.
13         (struct stubarr): Delete.
14         (allocate_spuear_stubs, populate_stubs, write_one_stub): Adjust.
16 2007-09-24  Daniel Jacobowitz  <dan@codesourcery.com>
18         * elf.c (assign_file_positions_for_load_sections): Trust
19         p_align_valid.
20         (copy_elf_program_header): Copy PT_NULL segments.
22 2007-09-24  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
24         * elf32-spu.c (is_indirect_branch): New function.
25         (find_function_stack_adjust): End scan on hitting indirect branch.
26         (sum_stack): Cast %v arg to correct type.
28 2007-09-21  H.J. Lu  <hongjiu.lu@intel.com>
30         * Makefile.am: Run "make dep-am".
31         * Makefile.in: Regenerated.
33 2007-09-21  Doug Kwan  <dougkwan@google.com>
35         * Makefile.am (BFD32_LIBS): Add arange-set.lo.
36         (BFD32_LIBS_CFILES): Add arange-set.c.
37         (SOURCE_HFILES): Add arange-set.h
38         (dwarf2.lo): Add dependency upon arange-set.h.
39         (arange-set.lo): New target.
40         * Makefile.in: Regenerate.
41         * arange-set.c: New file.
42         * arange-set.h: New file.
43         * dwarf2.c: Include arange-set.h.  
44         (struct dwarf2_debug) Add new fields comp_unit_count and
45         comp_unit_arange_set.
46         (struct comp_unit) Replace field arange with a new field arange_set.
47         (dwarf2_arange_set_allocate, dwarf2_arange_set_deallocate,
48         dwarf2_combine_arange_value, dwarf2_arange_set_new,
49         dwarf2_arange_set_with_value_new, dwarf2_comp_unit_arange_add): New
50         functions to utilize arange set in dwarf2.c.
51         (arange_add): Formatting change for a line longer than 80 characters.
52         (decode_line_info): Replace call target arange_add with
53         dwarf2_comp_unit_arange_add.
54         (read_rangelist_insert_arange_list,
55         read_rangelist_comp_unit_arange_add): New functions used as callbacks
56         for read_rangelist.
57         (read_rangelist): Change interface to accept a callback and data to
58         allow caller to select the action peformed on a new range list read.
59         (scan_unit_for_symbols): Use new interface of read_rangelist.
60         (parse_comp_unit): Create an arange set for each new comp unit.  Use new
61         interface of read_rangelist.  Replace call to arange_add with that to
62         dwarf2_comp_unit_arange_add.
63         (comp_unit_contains_address): Replace sequential search with a call to
64         arange_set_lookup_address, which can handles large set efficiently.
65         (stash_copy_local_aranges, stash_maybe_enable_arange_set,
66         stash_find_nearest_line_fast): New functions maintaining and using a
67         valued global arange set for all compilation units to speed up
68         bfd_dwarf2_find_nearest_line.
69         (find_line): Use global arange set.  Replace sequential search over all
70         compilation units with a call to stash_find_nearest_line_fast.  Add
71         book keeping to count number of compilation units.  Replace empty
72         arange list test with a call to arange_set_empty_p.
74 2007-09-21  Olivier Hainque  <hainque@adacore.com>
75             Tristan Gingold  <gingold@adacore.com>
76         
77         * syms.c (_bfd_stab_section_find_nearest_line): Look at the 
78         specific SOM sections for stabs if the regular ones are not found.
79         * som.h (struct somdata): Add a line_info field, to be used by
80         som_find_nearest_line.
81         * som.c (som_find_nearest_line): Implement using the bfd stabs
82         function above.
84 2007-09-19  Daniel Jacobowitz  <dan@codesourcery.com>
86         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make sure .got
87         will be output.
89 2007-09-19  Alan Modra  <amodra@bigpond.net.au>
90             Doug Kwan  <dougkwan@google.com>
92         * bfd-in.h (bfd_hash_insert): Declare.
93         * bfd-in2.h: Regenerate.
94         * hash.c (bfd_hash_insert): New function.  Split out from..
95         (bfd_hash_lookup): ..here.
96         * merge.c (sec_merge_hash_lookup): Use bfd_hash_insert.
98 2007-09-18  Alan Modra  <amodra@bigpond.net.au>
100         * elf.c (bfd_section_from_shdr): Check bfd_alloc return.
101         (elfcore_write_note): Check realloc return.
102         * elflink.c (_bfd_elf_link_find_version_dependencies): Check
103         bfd_zalloc return.
104         (_bfd_elf_link_assign_sym_version): Check bfd_malloc return.
105         (elf_link_add_object_symbols): Likewise.
106         (struct hash_codes_info): New.
107         (elf_collect_hash_codes): Return bfd_malloc error.
108         (struct collect_gnu_hash_codes): Add "error".
109         (elf_collect_gnu_hash_codes): Return bfd_malloc error.
110         (bfd_elf_size_dynamic_sections): Check return status of
111         _bfd_elf_link_find_version_dependencies.
112         (bfd_elf_size_dynsym_hash_dynstr): Adjust for elf_collect_hash_codes
113         and elf_collect_gnu_hash_codes changes.
114         (elf_sym_name_compare): Formatting.
115         (elf_fixup_link_order): Use bfd_malloc, not xmalloc.
117 2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>
119         PR binutils/3281
120         PR binutils/5037
121         * elf-bfd.h (elf_obj_tdata): Remove relro.
123         * elf.c (get_program_header_size): Check info->relro instead
124         of elf_tdata (abfd)->relro.
125         (_bfd_elf_map_sections_to_segments): Likewise.
126         (assign_file_positions_for_load_sections): Don't set
127         PT_GNU_RELRO segment alignment here.
128         (assign_file_positions_for_non_load_sections): Properly set up
129         PT_GNU_RELRO segment for copying executable/shared library.
130         (rewrite_elf_program_header): Remove PT_GNU_RELRO segment.
131         (copy_elf_program_header): Set p_size and p_size_valid fields for
132         PT_GNU_RELRO segment. 
134 2007-09-17  Nick Clifton  <nickc@redhat.com>
136         * po/fi.po: New Finnish translation.
137         * po/es.po: Updated Spanish translation.
138         * configure.in (ALL_LINGUAS): Add fi.
139         * configure: Regenerate.
140         * po/bfd.pot: Regenerate.
142 2007-09-15  Nick Clifton  <nickc@redhat.com>
144         * bfd.c (_bfd_default_error_handler): fflush stdout.
146 2007-09-14  Alan Modra  <amodra@bigpond.net.au>
148         * opncls.c (find_separate_debug_file): Ensure bfd_set_error has
149         been called on all error return paths.
150         (bfd_fill_in_gnu_debuglink_section): Use bfd_malloc, not malloc.
151         Clear padding after filename
153 2007-09-14  Alan Modra  <amodra@bigpond.net.au>
155         * format.c (bfd_check_format_matches): Record matching targets even
156         when "matching" is NULL to allow bfd_associated_vector matches.
157         Consolidate error return code.  Consolidate ok return code.  Always
158         restore original target and format on error.
160 2007-09-14  Alan Modra  <amodra@bigpond.net.au>
162         * configure.in: Delete BFD_HOST_LONG_LONG and bfd checks for
163         long long.  Partly revert 2007-07-12 change, so that
164         BFD_HOST_64BIT_LONG and BFD_HOST_64BIT_LONG_LONG are set
165         independent of "void *" size.
166         * configure: Regenerate.
167         * config.in: Regenerate.
168         * Makefile.in: Regenerate.
170 2007-09-12  Alan Modra  <amodra@bigpond.net.au>
172         * elf-bfd.h (struct elf_backend_data): Delete elf_backend_sprintf_vma
173         and elf_backend_fprintf_vma.
174         (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
175         * elf.c (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
176         * elfxx-target.h (elf_backend_sprintf_vma): Don't define.
177         (elf_backend_fprintf_vma): Likewise.
178         (elfNN_bed): Don't init removed fields.
179         * bfd.c (is32bit): New function.
180         (bfd_sprintf_vma, bfd_fprintf_vma): Use the above.
182 2007-09-11  Nathan Sidwell  <nathan@codesourcery.com>
184         * archures.c: Add bfd_mach_mcf_isa_c_nodiv,
185         bfd_mach_mcf_isa_c_nodiv_mac & bfd_mach_mcf_isa_c_nodiv_emac.
186         * ieee.c (ieee_write_processor): Update coldfire architecture
187         list.
188         * bfd-in2.h: Rebuilt.
189         * cpu-m68k.c (arch_info_struct): Add isa_c nodiv architectures.
190         (m68k_arch_features): Likewise.
191         * elf32-m68k.c (elf32_m68k_object_p): Add EF_M68K_CF_ISA_C_NODIV.
192         (elf32_m68k_print_private_bfd_data): Likewise.
194 2007-09-11  Jan Beulich  <jbeulich@novell.com>
196         * elf64-i386.c (elf64_i386_tls_transition): Remove redundant 'const'.
197         * elf64-x86_64.c (elf64_x86_64_tls_transition): Likewise.
199 2007-09-08  Alan Modra  <amodra@bigpond.net.au>
201         * elf64-ppc.c (func_desc_adjust): When resolving undefined
202         references to dot-symbols, transfer def_regular and
203         def_dynamic from the descriptor symbol.
205 2007-09-08  Alan Modra  <amodra@bigpond.net.au>
207         * config.bfd: Set want64 for spu-*-elf.
209 2007-09-08  Alan Modra  <amodra@bigpond.net.au>
211         PR ld/2864, ld/5006
212         * elf.c (special_sections): Comment typo.
213         (elf_fake_sections): Force SHT_PROGBITS for sections that are
214         SHT_NOBITS if BFD section flags say they have contents.
216 2007-09-04  Michael Snyder  <msnyder@access-company.com>
218         * elf32-bfin.c (howto_table): Cut and paste error?  
219         Name field of reloc is wrong.
221 2007-09-04  Alan Modra  <amodra@bigpond.net.au>
223         * elf32-spu.c (elf_howto_table): Formatting.
225 2007-09-02  H.J. Lu  <hongjiu.lu@intel.com>
227         PR ld/4986
228         * dwarf2.c (new_line_sorts_after): Undo the last change.
229         (add_line_info): Only keep the last entry with the same address
230         and end sequence.
232 2007-08-31  H.J. Lu  <hongjiu.lu@intel.com>
234         PR ld/4986
235         * dwarf2.c (new_line_sorts_after): Also compare line number.
237 2007-08-31  Jesse Michael  <jmichael@suse.de>
239         * mach-o.c (bfd_mach_o_make_bfd_section): Fix test for non
240         zerofill sections.
242 2007-08-28  David Heine  <dlheine@tensilica.com>
244         * elf32-xtensa.c (compute_ebb_actions): Update removed_bytes when
245         narrowing instructions.
247 2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
248             Joseph Myers  <joseph@codesourcery.com>
250         * elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
251         then on type.
253 2007-08-28  Robert Sebastian Gerus  <arachnist@gmail.com>
255         * config.bfd: Add support for i[3-7]86-*-dragonfly*.
256         * configure.in: Likewise.
257         * configure: Regenerate.
259 2007-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
260             Alan Modra  <amodra@bigpond.net.au>
262         * elf.c (elfcore_grok_spu_note): New function.
263         (elf_parse_notes): Call it.
265 2007-08-24  H.J. Lu  <hongjiu.lu@intel.com>
267         * elf64-x86-64.c (elf64_x86_64_relocate_section): Adjust
268         indentation.
270 2007-08-24  Pedro Alves  <pedro_alves@portugalmail.pt>
272         * elf.c (elfcore_grok_win32pstatus): Remove HAVE_WIN32_PSTATUS_T
273         guard.  Make it host independent.
274         (elfcore_grok_note): Remove HAVE_WIN32_PSTATUS_T guard around
275         NT_WIN32PSTATUS.
277 2007-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
279         * elf-bfd.h (struct elf_obj_tdata): New BUILD_ID_SIZE, BUILD_ID.
280         * elf.c (elfcore_read_notes): Split to ...
281         (elf_read_notes) ... here ...
282         (elf_parse_notes): ... and here.  Check `bfd_get_format (abfd)' with
283         the former subfunctions called only for BFD_CORE.
284         Call ELFOBJ_GROK_GNU_NOTE for BFD_OBJECT files with the owner "GNU".
285         (_bfd_elf_make_section_from_shdr): Call ELF_PARSE_NOTES for SHT_NOTEs.
286         (bfd_section_from_phdr): Update the call for renamed ELFCORE_READ_NOTES.
287         (elfobj_grok_gnu_build_id, elfobj_grok_gnu_note): New functions.
288         Code advisory: Roland McGrath
290 2007-08-24  Daniel Jacobowitz  <dan@codesourcery.com>
292         * elf64-mips.c (elf_backend_sign_extend_vma): Define.
294 2007-08-24  Alan Modra  <amodra@bigpond.net.au>
296         * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix.
298 2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
300         * Makefile.am: Run "make dep-am".
301         * Makefile.in: Regenerated.
303 2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
305         * elf32-i386.c: Include "bfd_stdint.h".
306         (elf_i386_rtype_to_howto): New function.
307         (elf_i386_info_to_howto_rel): Use it.
308         (x86_64_opcode16): New union type.
309         (elf_i386_check_tls_transition): New function.
310         (elf_i386_tls_transition): Updated to check transition and
311         issue an error if a transition isn't supported.
312         (elf_i386_check_relocs): Return FALSE if
313         elf_i386_tls_transition returns FALSE.
314         (elf_i386_gc_sweep_hook): Likewise.
315         (elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
316         on TLS transitions.
318         * elf64-x86-64.c: Include "bfd_stdint.h".
319         (x86_64_opcode16): New union type.
320         (x86_64_opcode32): Likewise.
321         (elf64_x86_64_check_tls_transition): New function.
322         (elf64_x86_64_tls_transition): Updated to check transition and
323         issue an error if a transition isn't supported.
324         (elf64_x86_64_check_relocs): Return FALSE if
325         elf64_x86_64_tls_transition returns FALSE.
326         (elf64_x86_64_gc_sweep_hook): Likewise.
327         (elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
328         on TLS transitions.
330 2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>
332         * elfxx-ia64.c: Convert to ISO C90 prototypes.
333         (elfNN_hpux_backend_section_from_bfd_section): Make it static.
335 2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>
337         * elf64-x86-64.c: Remove trailing whitespace.
338         * elfxx-ia64.c: Likewise.
340 2007-08-21  H.J. Lu  <hongjiu.lu@intel.com>
342         * elf32-i386.c (elf_i386_tls_transition): Accept a pointer
343         to ELF hash entry instead of an integer for local test.
344         (elf_i386_check_relocs): Updated.
345         (elf_i386_gc_sweep_hook): Likewise.
346         (elf_i386_relocate_section): Likewise.
348         * elf64-x86-64.c  (elf64_x86_64_tls_transition): Accept a
349         pointer to ELF hash entry instead of an integer for local
350         test.
351         (elf64_x86_64_check_relocs): Updated.
352         (elf64_x86_64_gc_sweep_hook): Likewise.
353         (elf64_x86_64_relocate_section): Likewise.
355 2007-08-20  H.J. Lu  <hongjiu.lu@intel.com>
357         * elf32-i386.c (elf_i386_tls_transition): Break long line.
358         * elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.
360 2007-08-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
362         * elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
363         (ELF_MINPAGESIZE): Fixed its size guess.  Sanity checked its size.
364         (ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.
366 2007-08-20  Nick Clifton  <nickc@redhat.com>
368         * elflink.c (elf_fixup_link_order): Rewrite conversion of
369         s->alignment_power into an offset mask in order to avoid a gcc
370         error message.
372 2007-08-17  Jakub Jelinek  <jakub@redhat.com>
374         * config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
375         Change sparc64-*-linux-* to sparc64*-*-linux-*.
377 2007-08-17  Alan Modra  <amodra@bigpond.net.au>
379         * po/Make-in: Add --msgid-bugs-address to xgettext invocation.
381 2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
383         * elf.c: Revert last change.
385 2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
387         * elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
388         (bfd_section_from_phdr): Likewise.
389         (get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
390         if there is an attribute section.
391         (_bfd_elf_map_sections_to_segments): Likewise.
392         (IS_SECTION_IN_INPUT_SEGMENT): Likewise.
394 2007-08-14  H.J. Lu  <hongjiu.lu@intel.com>
396         PR ld/4918
397         * elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
398         on ___tls_get_addr for GD->LE/LD->LE transitions when not
399         building shared library.
401         * elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
402         R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
403         when not building shared library.
405 2007-08-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
407         * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
408         initialized only on the first PT_LOAD.  New variable LOADBASE_SET.
409         Removed PF_R checking for IA-64 vDSOs as redundant now.
410         Code advisory: Roland McGrath
412 2007-08-13  Richard Sandiford  <richard@codesourcery.com>
414         * elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
415         (mips_elf_record_global_got_symbol): Increment local_gotno for
416         each forced-local symbol.
417         (_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
418         mips_elf_record_global_got_symbol for VxWorks too.
419         (_bfd_mips_elf_always_size_sections): Set computed_got_sizes
420         to true after computing the GOT size.
421         (_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
422         got.offset == 1.  Only adjust global_gotno if computed_got_sizes.
423         For VxWorks, add a local entry when hiding a symbol that needs a
424         plt but has not been marked as needing a global got entry.
425         (_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
426         false.
428 2007-08-12  Daniel Jacobowitz  <dan@codesourcery.com>
430         * coffgen.c (coff_get_normalized_symtab): Correct cast.
432 2007-08-13  Alan Modra  <amodra@bigpond.net.au>
434         * elf.c (elf_modify_segment_map): Add remove_empty_load param.
435         Don't remove empty PT_LOAD header if false.
436         (_bfd_elf_map_sections_to_segments): If user phdrs, pass false
437         to elf_modify_segment_map.
438         (assign_file_positions_for_load_sections): Pass false to
439         elf_modify_segment_map.
441 2007-08-13  Alan Modra  <amodra@bigpond.net.au>
443         * elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
444         Update stub comments.
445         (build_plt_stub): Build two variants, one without "addis".
446         (ppc_build_one_stub): Build stubs without "addis" if possible.
447         (ppc_size_one_stub): Size new stubs.
449 2007-08-11  Richard Sandiford  <richard@codesourcery.com>
451         * config.bfd (sh-*-vxworks): Define targ_underscore to "yes".
453 2007-08-09  Michael Snyder  <msnyder@access-company.com>
455         * aoutx.h (aout_get_external_symbols): Return if count is zero.
457 2007-08-09  H.J. Lu  <hongjiu.lu@intel.com>
459         PR ld/4909
460         * elf.c (print_segment_map): New function.
461         (assign_file_positions_for_load_sections): Call print_segment_map
462         when a section can't be allocated in segment.
464 2007-08-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
466         * opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion.
468 2007-08-07  Nick Clifton  <nickc@redhat.com>
470         * po/bfd.pot: Updated template.
471         * po/BLD-POTFILES.in: Regenerate.
473 2007-08-07  Alan Modra  <amodra@bigpond.net.au>
475         * elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
476         bss segments.
478 2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
480         * Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
481         * Makefile.in: Regenerated.
483 2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
485         * configure.in: Update version to 2.18.50.
486         * configure: Regenerated.
488 2007-08-06  Paul Brook  <paul@codesourcery.com>
490         * elf32-arm.c (elf32_arm_link_hash_entry): Add
491         plt_maybe_thumb_refcount.
492         (elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
493         (elf32_arm_copy_indirect_symbol): Ditto.
494         (elf32_arm_adjust_dynamic_symbol): Ditto.
495         (bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
496         (arm_add_to_rel): Ditto.
497         (elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
498         R_ARM_THM_CALL.  Handle R_ARM_THM_JUMP19 against a PLT stub.
499         (elf32_arm_gc_sweep_hook): Call check_use_blx.  Update plt counts
500         for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
501         (elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
502         and R_ARM_THM_JUMP19.  
503         (allocate_dynrelocs): Use plt_maybe_thumb_refcount.
504         (elf32_arm_finish_dynamic_symbol): Ditto.
505         (elf32_arm_output_plt_map): Ditto.
507 2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
509         * elf.c (rewrite_elf_program_header): Handle sections not sorted
510         by address.
511         (copy_elf_program_header): Likewise.
513 2007-08-04  H.J. Lu  <hongjiu.lu@intel.com>
515         * elf-bfd.h (xvec_get_elf_backend_data): Add const.
517         * elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
518         * elfcore.h (elf_core_file_p): Likewise.
520 2007-08-02  H.J. Lu  <hongjiu.lu@intel.com>
522         * coffcode.h (ALIGN_SET): Removed.
523         (ELIFALIGN_SET): Likewise.
524         (coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
525         IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
526         IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
527         IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
529 2007-08-01  Michael Snyder  <msnyder@access-company.com>
531         * vms-tir.c (new_section): Fix cut and paste error.
533         * aoutx.h (aout_link_add_symbols): Return if count is zero.
535         * elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
536         pointer must be non-null.
538 2007-08-01  Tristan Gingold  <gingold@adacore.com>
540         * coffcode.h (coff_sort_func_alent): New function.
541         (coff_slurp_line_table): Sort line table if not already sorted.
543 2007-08-01  Jakub Jelinek  <jakub@redhat.com>
545         * elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
546         GCC 3.4.x warning.
548 2007-08-01  Alan Modra  <amodra@bigpond.net.au>
550         * aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
551         r_type.
552         (swap_std_reloc_in): Likewise.
553         (aout_link_input_section_std): Likewise.  Return with an error
554         on unexpected relocation type.
555         (aout_link_input_section_ext): Likewise.
557 2007-08-01  Alan Modra  <amodra@bigpond.net.au>
559         PR4694
560         * aoutx.h (final_link): Write a zero in first word of
561         stringtab if no symbols rather than corrupting last byte
562         of text/data.
564 2007-07-31  Jakub Jelinek  <jakub@redhat.com>
566         * elf.c (get_program_header_size): Adjacent loadable .note*
567         sections need just one PT_NOTE segment.
568         (_bfd_elf_map_sections_to_segments): Likewise.
570 2007-07-30  Michael Snyder  <msnyder@access-company.com>
572         * coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
573         2007-07-26.  Buffer still in use, can't be freed.
575 2007-07-27  Michael Snyder  <msnyder@access-company.com>
577         * cofflink.c (coff_link_add_symbols): Return if count is zero.
579         * coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
581         * aoutx.h (slurp_symbol_table): Return if count == 0.
583         * coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
585         * elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
587 2007-07-27  H.J. Lu  <hongjiu.lu@intel.com>
589         * config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
591 2007-07-26  Michael Snyder  <msnyder@access-company.com>
593         * coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
595         * linker.c (bfd_section_already_linked_table_insert): Change 
596         return type from void to boolean.  Return FALSE on failure.
597         (_bfd_generic_section_already_linked): Test return value of
598         bfd_section_already_linked_table_insert, call fatal on error.
600         * elflink.c (_bfd_elf_section_already_linked): Test return value
601         of bfd_section_already_linked_table_insert, call fatal on error.
603         * libbfd-in.h (bfd_section_already_linked_table_insert): Update
604         return type to bfd_boolean.
606         * libbfd.h: Regenerate.
608 2007-07-26  Adam Nemet  <anemet@caviumnetworks.com>
610         * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
611         bfd_slurp_armap): Improve function comment.
613 2007-07-26  Michael Snyder  <msnyder@access-company.com>
615         * linker.c (already_linked_newfunc): Check for NULL return from
616         bfd_hash_allocate.
618         * coffgen.c (fixup_symbol_value): Guard against null; 
619         bfd_is_com_section will dereference the section pointer.
621         * syms.c (bfd_decode_symclass): Guard against NULL, since 
622         bfd_is_com_section dereferences the pointer.
624         * srec.c (srec_scan): Check for EOF (critical because return value
625         will be used as array index).
627         * coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
628         are not to be cached, free the temporary buffer.
630         * aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
631         or count == zero.
633         * tekhex.c (first_phase): Check return value for null.
635         * elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless 
636         pointer increment.
638 2007-07-26  Alan Modra  <amodra@bigpond.net.au>
640         * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
641         check on dynobj.  Remove bed shadow.
643         * srec.c (srec_get_section_contents): Return immediately on
644         count zero.  Check that offset and count are within section.
645         * libbfd.c (_bfd_generic_get_section_contents): Check that
646         offset + count does not overflow.
648         * srec.c (srec_canonicalize_symtab): Don't alloc when symcount
649         is zero.  Correct return value on error.
650         * mmo.c (mmo_canonicalize_symtab): Likewise.
651         * binary.c (binary_canonicalize_symtab) Correct return on error.
653 2007-07-26  Thiemo Seufer  <ths@mips.com>
655         * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
657 2007-07-26  Alan Modra  <amodra@bigpond.net.au>
659         * reloc.c (bfd_generic_get_relocated_section_contents): Avoid
660         bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
661         says there are no relocs.
663 2007-07-26  Doug Kwan  <dougkwan@google.com>
665         Speed up bfd_dwarf2_find_line.
666         * dwarf2.c (struct dwarf2_debug): Add new fields to support function
667         and variable info hash tables. Add last_comp_unit, info_hash_count,
668         funcinfo_hash_table, varinfo_hash_table, hash_units_head.
669         (struct comp_unit): Add prev_unit, cached.
670         (struct info_list_node, struct info_hash_entry,
671         struct info_hash_table): New.
672         (info_hash_table_newfunc, create_info_hash_table,
673         insert_info_hash_table, lookup_info_hash_table): New functions
674         implementing function and variable info hash tables.
675         (scan_unit_for_symbols): Add checks to make sure hash tables are
676         consistent with compilation units.
677         (comp_unit_maybe_decode_line_info): New function.
678         (comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
679         (reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
680         info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
681         stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
682         stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
683         functions. Make use of info hash tables to speed up
684         bfd_dwarf2_find_line.
685         (find_line): Use hash table for faster lookup if it is turned on.
686         Also add code to maintain bi-directional link in comp units.
688 2007-07-25  Michael Snyder  <msnyder@access-company.com>
690         * coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
691         if size == 0; return and avoid possible null pointer issues.
693 2007-07-25  Alan Modra  <amodra@bigpond.net.au>
695         * linker.c (generic_link_add_symbol_list): Warning fix.
697 2007-07-24  Michael Snyder  <msnyder@access-company.com>
699         * opncls.c (bfd_make_writable): Check return from bfd_malloc.
701         * elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
702         on bfd_malloc error rather than goto error_return.
704 2007-07-24  Alan Modra  <amodra@bigpond.net.au>
706         * elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
707         _bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
708         _bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
709         _bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
710         bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
711         bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
712         bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
713         bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
714         struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
715         elf_sym_name_compare, elf_create_symbuf,
716         bfd_elf_match_symbols_in_sections,
717         _bfd_elf_match_sections_by_type): Move to here..
718         * elf.c: ..from here.
720 2007-07-23  Richard Sandiford  <richard@codesourcery.com>
722         * elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
723         of weakdef->root.type if weakdef has no regular definition.
725 2007-07-22  Adam Nemet  <anemet@caviumnetworks.com>
727         * elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
728         small_data_overflow_reported.
729         (_bfd_mips_elf_link_hash_table_create): Initialize it.
730         (_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
731         small-data section overflow.
733 2007-07-19  Doug Kwan  <dougkwan@google.com>
735         PR binutils/4797
736         * dwarf2.c: (find_line) Do not dereference functionname_ptr if
737         do_line is true.
739 2007-07-18  Bob Wilson  <bob.wilson@acm.org>
741         * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
742         non-ELF sections.
744 2007-07-18  Bob Wilson  <bob.wilson@acm.org>
746         * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
747         vma and size for dynamic tags from the output sections.
749 2007-07-18  Alan Modra  <amodra@bigpond.net.au>
751         * elf-bfd.h (struct sym_sec_cache): Delete "sec".  Add "shndx".
752         * elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
753         symbol.  Instead cache ELF section index.  Remove redundant
754         checks of st_shndx.
756 2007-07-15  Mike Frysinger  <vapier@gentoo.org>
758         * trad-core.c (NBPG): If not defined, set to getpagesize().
760 2007-07-13  Roland McGrath  <roland@redhat.com>
762         * elf-bfd.h (struct elf_obj_tdata): Revert last change.
763         Add after_write_object_contents, after_write_object_contents_info.
764         * elf.c (_bfd_elf_write_object_contents): Revert last change.
765         Instead, call after_write_object_contents if set.
767 2007-07-12  Kai Tietz   <kai.tietz@onevision.com>
769         * bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
770         (BFD_HOSTPTR_T): Host pointer type for casting a
771         pointer to an integer type.
772         (bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
773         (sprintf_vma, fprintf_vma): Add support for long long prints.
774         * bfd-in2.h: Regenerate.
775         * configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
776         (BFD_HOSTPTR_T): Host pointer type for casting a
777         pointer to an integer type. Default is "unsigned long".
778         (AC_CHECK_SIZEOF(void *)): New.
779         (host64): Set it if the pointer size is 8.
780         * configure: Regenerate.
781         * config.in: Add macro SIZEOF_VOID_P.
782         * coffcode.h: Replace host ptr type assuming "long" with
783         bfd_hostptr_t type.
784         * coffgen.c: Likewise.
785         * elf-eh-frame.c: Likewise.
786         * peicode.h: Likewise.
788 2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
790         * Makefile.in: Regenerated.
792 2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
794         PR binutils/4756
795         * simple.c (bfd_simple_get_relocated_section_content): Don't
796         apply relocation on executable and shared library.
798 2007-07-10  Nathan Sidwell  <nathan@codesourcery.com>
800         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
801         copy relocs on vxworks.
803 2007-07-10  Alan Modra  <amodra@bigpond.net.au>
805         * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
806         * elf64-alpha.c (alpha_elf_size_info): Likewise.
807         * elf64-hppa.c (hppa64_elf_size_info): Likewise.
808         * elf64-mips.c (mips_elf64_size_info): Likewise.
809         * elf64-s390.c (s390_elf64_size_info): Likewise.
810         * elf64-sparc.c (elf64_sparc_size_info): Likewise.
812 2007-07-09  H.J. Lu  <hongjiu.lu@intel.com>
814         * elflink.c (bfd_elf_record_link_assignment): Handle indirect
815         symbol.
816         (_bfd_elf_merge_symbol): Properly update normal symbol when
817         overriding the versioned symbol from a dynamic library.
819 2007-07-09  Roland McGrath  <roland@redhat.com>
821         * elf-bfd.h (struct elf_obj_tdata): Add members
822         emit_note_gnu_build_id and note_gnu_build_id_sec.
823         * elf.c (_bfd_id_note_section_size): New global function.
824         (read_hex, _bfd_elf_write_build_id_section): New static functions.
825         (_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
826         if emit_note_gnu_build_id is set.
827         * Makefile.am (elf.lo): Update dependencies.
829         * elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
830         (bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
831         * elfcode.h (elf_checksum_contents): New macro and function.
832         (NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
834 2007-07-06  Michael Snyder  <msnyder@access-company.com>
836         * elflink.c (elf_link_add_object_symbols): Return via
837         error_free_vers on "notice" failure.
839 2007-07-04  H.J. Lu  <hongjiu.lu@intel.com>
841         * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
842         if arch is unknown.
844 2007-07-04  Nick Clifton  <nickc@redhat.com>
846         Import this patch from an internal tree:
848         2001-07-17  Richard Henderson  <rth@redhat.com>
850         * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
851         compensate for high bit set in R_MEP_LOW16.
853 2007-07-03  Joseph Myers  <joseph@codesourcery.com>
855         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
856         input attributes if value has been copied.
858 2007-07-03  Nick Clifton  <nickc@redhat.com>
860         * COPYING: Replace with GPLv3 text.
861         * aix386-core.c: Update copyright notice to refer to GPLv3.
862         * aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c,
863         aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c,
864         aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c,
865         archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c,
866         binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c,
867         cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c,
868         coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c,
869         coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c,
870         coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
871         coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
872         coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
873         coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c,
874         coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c,
875         coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c,
876         cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c,
877         cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
878         cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
879         cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
880         cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c,
881         cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c,
882         cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
883         cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c,
884         cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c,
885         cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c,
886         cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c,
887         cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c,
888         cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c,
889         demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c,
890         ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c,
891         elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
892         elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c,
893         elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c,
894         elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
895         elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
896         elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
897         elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c,
898         elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c,
899         elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c,
900         elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c,
901         elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c,
902         elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c,
903         elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h,
904         elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c,
905         elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c,
906         elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c,
907         elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
908         elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h,
909         elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c,
910         elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c,
911         elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
912         elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c,
913         epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h,
914         hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c,
915         hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
916         i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
917         i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
918         libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h,
919         libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h,
920         linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c,
921         m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c,
922         mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h,
923         newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c,
924         nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h,
925         ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c,
926         pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h,
927         pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h,
928         pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c,
929         pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c,
930         pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c,
931         reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c,
932         simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c,
933         srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c,
934         sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h,
935         trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c,
936         vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c,
937         xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c,
938         xtensa-modules.c: Likewise.
939         * elf32-sh-relocs.h: Add copyright notice.
940         * hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h,
941         hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h,
942         hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h,
943         hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h,
944         hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h,
945         hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h,
946         hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h,
947         hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise.
948         * bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
950 2007-07-02  Joseph Myers  <joseph@codesourcery.com>
952         * elfxx-mips.c (mips_elf_calculate_relocation): Handle
953         R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
954         * elf64-mips.c (mips_elf64_howto_table_rela): Support
955         R_MIPS_TLS_DTPREL64.
957 2007-07-02  Alan Modra  <amodra@bigpond.net.au>
959         * Makefile.am: Run "make dep-am".
960         * Makefile.in: Regenerate.
961         * aclocal.m4: Regenerate.
962         * config.in: Regenerate.
963         * po/SRC-POTFILES.in: Regenerate.
964         * po/bfd.pot: Regenerate.
966 2007-07-02  Alan Modra  <amodra@bigpond.net.au>
968         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
969         symsec != NULL tests.
971 2007-07-02  Alan Modra  <amodra@bigpond.net.au>
973         PR 4712
974         * elf.c (assign_file_positions_for_load_sections): Adjust lma
975         by p_vaddr_offset.
977 2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>
979         * aclocal.m4: Regenerated.
980         * Makefile.in: Likewise.
982 2007-06-29  Joseph Myers  <joseph@codesourcery.com>
984         * elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
985         (ppc_elf_merge_private_bfd_data): Call it.
987 2007-06-29  Joseph Myers  <joseph@codesourcery.com>
989         * elfxx-mips.c (mips_elf_merge_obj_attributes): New.
990         (_bfd_mips_elf_merge_private_bfd_data): Call it.
992 2007-06-29  Joseph Myers  <joseph@codesourcery.com>
994         * elf-attrs.c: New.
995         * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
996         (BFD32_BACKENDS_CFILES): Add elf-attrs.c.
997         (elf-attrs.lo): Generate dependencies.
998         * Makefile.in: Regenerate.
999         * configure.in (elf): Add elf-attrs.lo.
1000         * configure: Regenerate.
1001         * elf-bfd.h (struct elf_backend_data): Add entries for object
1002         attributes.
1003         (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
1004         OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
1005         Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
1006         New.
1007         (struct elf_obj_tdata): Add entries for object attributes.
1008         (elf_known_obj_attributes, elf_other_obj_attributes,
1009         elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
1010         New.
1011         (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
1012         bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
1013         bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
1014         bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
1015         bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
1016         _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
1017         _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
1018         * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
1019         (bfd_section_from_shdr): Handle attributes sections.
1020         * elflink.c (bfd_elf_final_link): Handle attributes sections.
1021         * elfxx-target.h (elf_backend_obj_attrs_vendor,
1022         elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
1023         elf_backend_obj_attrs_section_type): New.
1024         (elfNN_bed): Update.
1025         * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
1026         aeabi_attribute_list): Remove.
1027         (struct elf32_arm_obj_tdata): Remove object attributes fields.
1028         (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
1029         elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
1030         Update for new object attributes interfaces.
1031         (uleb128_size, is_default_attr, eabi_attr_size,
1032         elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
1033         elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
1034         elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
1035         elf32_arm_add_eabi_attr_int, attr_strdup,
1036         elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
1037         copy_eabi_attributes, elf32_arm_parse_attributes): Remove.  Moved
1038         to generic code in elf-attrs.c.
1039         (elf32_arm_obj_attrs_arg_type): New.
1040         (elf32_arm_fake_sections): Do not handle .ARM.attributes.
1041         (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
1042         (bfd_elf32_bfd_final_link): Remove.
1043         (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
1044         elf_backend_obj_attrs_arg_type,
1045         elf_backend_obj_attrs_section_type): New.
1046         * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
1047         attributes.
1048         * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
1049         * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
1050         * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
1051         * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
1052         * elf32-sh.c (sh_elf_copy_private_data): Likewise.
1053         * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
1055 2007-06-29  Paul Brook  <paul@codesourcery.com>
1057         * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
1058         call veneers for call relocations against undefined symbols.
1059         (elf32_arm_final_link_relocate): Turn call to undefined symbol
1060         into a jump to the next instruction.
1062 2007-06-29  Michael Snyder  <msnyder@access-company.com>
1064         * bfd.c (bfd_demangle): Plug memory leak (Coverity).
1066 2007-06-29  M R Swami Reddy  <MR.Swami.Reddy@nsc.com>
1068         * Makefile.am: Add cr16 related entry
1069         * Makefile.in: Regenerate
1070         * archures.c: Add bfd_cr16_arch
1071         * bfd-in2.h: Regenerate
1072         * config.bfd: Add cr16-elf
1073         * configure.in: Add bfd_elf32_cr16_vec
1074         * configure: Regenerate.
1075         * targets.c: Added cr16 related information
1076         * cpu-cr16.c: New file.
1077         * elf32-cr16.c: New file.
1078         * reloc.c: Added cr16 relocs.
1080 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1082         * elflink.c (_bfd_elf_link_assign_sym_version): Improve error
1083         message for undefined version nodes.
1084         (elf_gc_sweep): Don't warn when zero size sections are
1085         removed.
1087 2007-06-29  Nathan Froyd  <froydnj@codesourcery.com>
1089         * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
1090         types.
1092 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1094         * elf32-spu.c (spu_elf_fake_sections): New function.
1095         (elf_backend_fake_sections): Define.
1097 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1099         * elf.c (assign_file_positions_for_load_sections): Use elf
1100         section header sh_size rather than bfd section size, simplifying
1101         .tbss handling.
1103 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1105         PR ld/4701
1106         * elf.c (assign_file_positions_for_load_sections): Ensure bss
1107         segments meet gABI alignment requirements.  Don't allocate
1108         file space for bss sections in a segment also containing file
1109         or program headers.
1111 2007-06-27  Alan Modra  <amodra@bigpond.net.au>
1113         * bfd.c (struct bfd): Rename "next" to "archive_next".
1114         * archive.c: Rename uses throughout file.
1115         * archive64.c: Likewise.
1116         * coff-rs6000.c: Likewise.
1117         * ecoff.c: Likewise.
1118         * som.c: Likewise.
1119         * bfd-in2.h: Regenerate.
1121         * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
1122         input bfds.
1123         * elf32-spu.c (spu_elf_create_sections): Likewise.
1125 2007-06-26  H.J. Lu  <hongjiu.lu@intel.com>
1127         * dwarf2.c (find_line): New.  Contains the duplicated code from:
1128         (_bfd_dwarf2_find_nearest_line): Use it.
1129         (_bfd_dwarf2_find_line): Use it.
1131 2007-06-26  Joseph Myers  <joseph@codesourcery.com>
1133         * elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
1135 2007-06-25  Richard Sandiford  <richard@codesourcery.com>
1137         * elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
1138         to be used for calls from MIPS16 code.
1140 2007-06-23  Andreas Schwab  <schwab@suse.de>
1142         * configure.in (--with-separate-debug-dir): New option.
1143         * configure: Regenerate.
1144         * Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR.
1145         * Makefile.in: Regenerate.
1146         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to
1147         bfd_follow_gnu_debuglink.
1148         (_bfd_dwarf2_find_line): Likewise.
1150 2007-06-22  Nick Clifton  <nickc@redhat.com>
1152         * dwarf2.c: Add support for reading in debug information via a
1153         .gnu_debuglink section:
1154         (struct dwarf2_debug): Add bfd field to record the bfd containing
1155         the debug info.
1156         (parse_comp_unit): Remove ABFD parameter.  Instead use the bfd
1157         field in the dwarf2_debug structure.
1158         (_bfd_dwarf2_find_nearest_line): If a debug info section could not
1159         be found in the current bfd call bfd_follow_gnu_debuglink to see
1160         if another file contains the debug information.  If it does, open
1161         it and continue.
1162         (_bfd_dwarf2_find_line): Likewise.
1164 2007-06-19  H.J. Lu  <hongjiu.lu@intel.com>
1166         PR ld/4590
1167         * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
1168         when removing duplicated entries.
1169         (get_dyn_sym_info): Initialize the got_offset field to -1.
1170         Update call to sort_dyn_sym_info.
1171         (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
1172         array of addend and remove duplicates.
1174 2007-06-18  H.J. Lu  <hongjiu.lu@intel.com>
1176         * libpei.h (_bfd_XXi_final_link_postscript): Remove
1177         duplication.
1178         (bfd_target_pei_p): New.
1179         (bfd_target_pei_arch): New
1180         (bfd_target_efi_p): Likewise.
1181         (bfd_target_efi_arch): New
1182         (bfd_pe_executable_p): Use bfd_target_pei_p and
1183         bfd_target_efi_p.
1185         * peicode.h (arch_type): New enum.
1186         (pe_arch): New function.
1187         (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
1188         if there is an EFI/PE target.
1190 2007-06-14  H.J. Lu  <hongjiu.lu@intel.com>
1192         * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
1194         * acinclude.m4: Don't include m4 files. Remove libtool
1195         kludge.
1197         * Makefile.in: Regenerated.
1198         * aclocal.m4: Likewise.
1199         * configure: Likewise.
1201 2007-06-11  Sterling Augustine  <sterling@tensilica.com>
1202             Bob Wilson  <bob.wilson@acm.org>
1204         * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
1205         XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
1206         (extend_ebb_bounds_backward, compute_text_actions): Likewise.
1207         (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
1208         (xtensa_get_property_predef_flags): Likewise.
1209         (compute_removed_literals): Pass new arguments to is_removable_literal.
1210         (is_removable_literal): Add sec, prop_table and ptblsize arguments.
1211         Do not remove literal if the NO_TRANSFORM property flag is set.
1213 2007-05-31  Richard Sandiford  <rsandifo@nildram.co.uk>
1215         * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
1216         type (3) single-GOT entry, read tls_type from the hash table entry
1217         rather than the GOT entry.
1219 2007-06-01  Alan Modra  <amodra@bigpond.net.au>
1221         * simple.c (bfd_simple_get_relocated_section_contents): Init
1222         input_bfds_tail.
1224 2007-05-30  Alan Modra  <amodra@bigpond.net.au>
1226         * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
1227         created by objcopy --only-keep-debug.
1228         (_bfd_elf_init_private_section_data): Only change elf_section_type
1229         if it is SHT_NULL.
1231         * elf.c (assign_file_positions_for_load_sections): Correct sh_type
1232         to SHT_NOBITS earlier.  Base actions in rest of function on sh_type
1233         and sh_flags instead of bfd section flags.  Delete voff and code
1234         keeping nobits segments aligned.
1236 2007-05-25  Eric Christopher  <echristo@apple.com>
1238         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
1239         Check that sym_sec isn't NULL before accessing.
1241 2007-05-24  Steve Ellcey  <sje@cup.hp.com>
1243         * Makefile.in: Regnerate.
1244         * configure: Regenerate.
1245         * aclocal.m4: Regenerate.
1246         * doc/Makefile.in: Regenerate.
1248 2007-05-22  Paul Brook  <paul@codesourcery.com>
1250         * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
1251         with sec and sec_shndx.
1252         (elf32_arm_ouput_plt_map_sym): Use them.
1253         (elf32_arm_output_arch_local_syms): Output mapping symbols for
1254         interworking glue.
1256 2007-05-18  Paul Brook  <paul@codesourcery.com>
1258         * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
1259         (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
1260         (record_arm_to_thumb_glue): Add v5t non-pic glue.
1261         (elf32_arm_create_thumb_stub): Ditto.
1263 2007-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1264             Alan Modra  <amodra@bigpond.net.au>
1266         * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
1267         section to the minimum alignment.
1269 2007-05-15  H.J. Lu  <hongjiu.lu@intel.com>
1270             Alan Modra  <amodra@bigpond.net.au>
1272         PR ld/4504
1273         * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
1274         * elflink.c (_bfd_elf_adjust_dynamic_copy): New.
1276         * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
1277         _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
1278         bss section.
1279         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
1280         * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
1281         * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
1282         * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
1283         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
1284         * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
1285         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1286         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
1287         * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1288         * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
1289         * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
1290         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1291         * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1292         * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
1293         * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1294         * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
1295         * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
1297 2007-05-15  Richard Sandiford  <richard@codesourcery.com>
1299         * elfxx-mips.c (mips_elf_create_local_got_entry): Remove
1300         input_section argument.  Create .rela.dyn relocations against
1301         symbol 0 rather than the section symbol.
1302         (mips_elf_local_got_index): Remove input_section argument.
1303         Update call to mips_elf_create_local_got_entry.
1304         (mips_elf_got_page, mips_elf_got16_entry): Likewise.
1305         (mips_elf_calculate_relocation): Update calls to
1306         mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
1308 2007-05-15  Mark Shinwell  <shinwell@codesourcery.com>
1310         * elf32-arm.c (elf32_arm_final_link_relocate): Correctly
1311         handle the Thumb-2 JUMP19 relocation.
1313 2007-05-15  Alan Modra  <amodra@bigpond.net.au>
1315         PR 4479
1316         * elf.c (elf_fake_sections): Don't allow backend to change
1317         SHT_NOBITS if called for strip/objcopy --only-keep-debug.
1318         * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
1319         fix from here.
1321 2007-05-14  Alan Modra  <amodra@bigpond.net.au>
1323         * elf.c (bfd_elf_string_from_elf_section): Return NULL on
1324         invalid shstrndx.
1325         (bfd_elf_get_str_section): Likewise.
1327 2007-05-12  Alan Modra  <amodra@bigpond.net.au>
1329         PR 4497
1330         * elf-eh-frame.c (struct cie): Add "local_personality".  Make
1331         "personality" a union.
1332         (cie_eq): Compare local_personality too.  Adjust personality
1333         comparison.
1334         (_bfd_elf_discard_section_eh_frame): Check binding on personality
1335         reloc sym to allow for bad symtab.  Use stashed local syms rather
1336         than reading personality local sym.  Handle discarded sections.
1338 2007-05-12  Alan Modra  <amodra@bigpond.net.au>
1340         * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
1342 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
1344         * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
1345         (enum ppc_elf_plt_type): Move from..
1346         * elf32-ppc.c: ..here.
1347         (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
1348         (struct ppc_elf_link_hash_table): Reorder.  Add old_bfd.  Delete
1349         can_use_new_plt.  Make is_vxworks a bitfield.
1350         (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
1351         (ppc_elf_check_relocs): Update setting of reloc flags.  Set old_bfd.
1352         (ppc_elf_select_plt_layout): Modify parameters.  Use bfd reloc
1353         flags to better detect object files needing old bss-style plt.
1354         Allow secure plt to be used without rel16 relocs being detected.
1355         Warn if secure plt request cannot be allowed.
1357 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
1359         * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
1360         * elf-bfd.h (struct elf_backend_data): Change return type of
1361         elf_backend_relocate_section to int.
1362         * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
1363         R_SPU_PPU64.
1364         (spu_elf_bfd_to_reloc_type): Convert new relocs.
1365         (spu_elf_count_relocs): New function.
1366         (elf_backend_count_relocs): Define.
1367         (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
1368         R_SPU_PPU64 relocs.
1369         * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
1370         returns 2.
1371         * bfd-in2.h: Regenerate.
1372         * libbfd.h: Regenerate.
1374 2007-05-10  Richard Sandiford  <richard@codesourcery.com>
1376         * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
1377         for R_ARM_ABS12 relocs.
1378         (elf32_arm_finish_dynamic_symbol): Fix the loop that creates
1379         non-shared VxWorks PLT entries.
1381 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
1383         PR 4454
1384         * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
1385         (_bfd_elf_discard_section_eh_frame): Handle local syms on
1386         personality relocation.
1388 2007-05-10  Richard Sandiford  <richard@codesourcery.com>
1390         * elf.c (assign_file_positions_for_load_sections): Use p_memsz
1391         rather than p_filesz to calculate the LMA of the end of a segment.
1393 2007-05-10  Jakub Jelinek  <jakub@redhat.com>
1395         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
1396         processing if symbol is defined in the executable.
1398 2007-05-10  Alexandre Oliva  <aoliva@redhat.com>
1400         * elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
1401         (frvfdpic_elf_discard_info): New.
1402         (elf_backend_discard_info): Define for FDPIC.
1404 2007-05-09  Mark Shinwell  <shinwell@codesourcery.com>
1406         * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
1407         attempt to scan if the bfd doesn't correspond to an ELF image.
1408         (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
1410 2007-05-08  Alexandre Oliva  <aoliva@redhat.com>
1412         * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
1413         for which _bfd_elf_section_offset returns -1.
1415 2007-05-08  Alan Modra  <amodra@bigpond.net.au>
1417         * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
1418         (mark_functions_via_relocs): Likewise.
1420 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
1422         * elflink.c (bfd_elf_final_link): Correct reloc handling for
1423         elf_backend_count_relocs.
1424         (bfd_elf_discard_info): Print an error if we can't read syms.
1426 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
1428         * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
1429         invalid reloc code.
1430         (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
1431         (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
1432         define.
1434 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
1436         * elf.c (assign_file_positions_for_load_sections): Don't check
1437         core segment.
1439 2007-05-04  H.J. Lu  <hongjiu.lu@intel.com>
1441         * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
1442         and .rel.dyn aren't present.
1444 2007-05-04  Nick Clifton  <nickc@redhat.com>
1446         * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
1447         sections are present examine the indirect sections in an attempt
1448         to compute the correct relocation size.  If there is any
1449         ambiguity, produce an error and refuse to sort.
1451 2007-05-03  Sandra Loosemore  <sandra@codesourcery.com>
1453         * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
1455 2007-05-03  Vincent Riviere  <vincent.riviere@freesbee.fr>
1456             Nick Clifton  <nickc@redhat.com>
1458         PR gas/3041
1459         * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
1460         in the same way as relocs against external symbols.
1462 2007-05-02  Alan Modra  <amodra@bigpond.net.au>
1464         * elf.c (assign_file_positions_for_load_sections): Set sh_offset
1465         here.  Set sh_type to SHT_NOBITS if we won't be allocating
1466         file space.  Don't bump p_memsz for non-alloc sections.  Adjust
1467         section-in-segment check.
1468         (assign_file_positions_for_non_load_sections): Don't set sh_offset
1469         here for sections that have already been handled above.
1471 2007-04-30  Alan Modra  <amodra@bigpond.net.au>
1473         * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
1474         and emit_stack_syms bitfields.
1475         (get_sym_h): Read all symbols if stack analysis will be done.
1476         (spu_elf_create_sections): Add stack_analysis and emit_stack_syms
1477         params, and stash in hash table.
1478         (is_hint): Split off from..
1479         (is_branch): ..here.  Adjust callers.
1480         (spu_elf_size_stubs): Add stack_analysis param.  Arrange to read
1481         and keep all syms.
1482         (write_one_stub): Fix mem leak.
1483         (find_function_stack_adjust): New function.
1484         (sort_syms_syms, sort_syms_psecs): New vars.
1485         (sort_syms): New function.
1486         (struct call_info, struct function_info): New.
1487         (struct spu_elf_stack_info): New.
1488         (alloc_stack_info, maybe_insert_function, func_name): New functions.
1489         (is_nop, insns_at_end, check_function_ranges): Likewise.
1490         (find_function, insert_callee, mark_functions_via_relocs): Likewise.
1491         (pasted_function, interesting_section, discover_functions): Likewise.
1492         (mark_non_root, call_graph_traverse, build_call_tree): Likewise.
1493         (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
1494         (bfd_elf32_bfd_final_link): Define.
1495         * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
1496         (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
1498 2007-04-28  Sergey Rogozhkin  <rogozhkin@niisi.msk.ru>
1500         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
1501         memory which we might not own.
1503 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
1505         * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
1506         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
1507         (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
1509 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
1511         * elf32-xtensa.c (xtensa_read_table_entries): Step through table
1512         contents and relocs in parallel.
1514 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
1516         * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
1518 2007-04-27  Alan Modra  <amodra@bigpond.net.au>
1520         * cpu-rs6000.c: Write Mimi's name in ASCII.
1521         * coff-rs6000.c: Likewise.
1522         * rs6000-core.c: Likewise.
1524 2007-04-27  Alan Modra  <amodra@bigpond.net.au>
1526         * sysdep.h: Include config.h first.
1527         Many files: Include sysdep.h before bfd.h.
1528         * Makefile.am: Run "make dep-am".
1529         * Makefile.in: Regenerate.
1531 2007-04-25  Alan Modra  <amodra@bigpond.net.au>
1533         * sysdep.h: Revert last change.
1535 2007-04-24  Nick Clifton  <nickc@redhat.com>
1537         * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
1538         * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
1540 2007-04-24  Alan Modra  <amodra@bigpond.net.au>
1542         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
1543         eh_frame_hdr table won't be created.
1545 2007-04-24  Alan Modra  <amodra@bigpond.net.au>
1547         * acinclude.m4: Include config/stdint.m4.
1548         * configure.in: Invoke GCC_HEADER_STDINT.
1549         * sysdep.h: Don't include ansidecl.h here.
1550         * configure: Regenerate.
1551         * config.in: Regenerate.
1552         * Makefile.in: Regenerate.
1554 2007-04-23  Nathan Sidwell  <nathan@codesourcery.com>
1556         * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
1557         bfd_mach_mcf_isa_c_emac): New.
1558         * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
1559         elf_isac_plt_entry, elf_isac_plt_info): New.
1560         (elf32_m68k_object_p): Add ISA_C.
1561         (elf32_m68k_print_private_bfd_data): Print ISA_C.
1562         (elf32_m68k_get_plt_info): Detect ISA_C.
1563         * cpu-m68k.c (arch_info): Add ISAC.
1564         (m68k_arch_features): Likewise,
1565         (bfd_m68k_compatible): ISAs B & C are not compatible.
1567 2007-04-21  Nick Clifton  <nickc@redhat.com>
1569         * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
1570         (ecoff_link_add_archive_symbols): Likewise.
1571         * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
1572         relent.howto.
1573         * ieee.c (parse_int): Initialise x.
1574         (must_parse_int): Initialise result.
1575         (ieee_slurp_external_symbols): Initialise value.
1577 2007-04-21  Alan Modra  <amodra@bigpond.net.au>
1579         * config.bfd (spu-*-elf): Delete targ_selvecs.
1581 2007-04-19  Nick Clifton  <nickc@redhat.com>
1583         * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
1585 2007-04-19  Alan Modra  <amodra@bigpond.net.au>
1587         * bfd.c (bfd_demangle): New function.
1588         * Makefile.am: Run "make dep-am".
1589         * Makefile.in: Regenerate.
1590         * bfd-in2.h: Regenerate.
1592 2007-04-18  Matthias Klose  <doko@ubuntu.com>
1594         * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
1595         (bfdver.h): Use the date in non-release builds for the soversion.
1596         * Makefile.in: Regenerate.
1598 2007-04-17  Paul Brook  <paul@codesourcery.com>
1600         * elf.c (_bfd_elf_is_function_type): New function.
1601         * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
1602         (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
1603         is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
1604         * elf-bfd.h (elf_backend_data): Add is_function_type.
1605         (_bfd_elf_is_function_type): Add prototype.
1606         * elfxx-target.h (elf_backend_is_function_type): Add default
1607         definition.
1608         (elfNN_bed): Add elf_backend_is_function_type.
1609         * elf32-arm.c (elf32_arm_is_function_type): New function.
1610         (elf_backend_is_function_type): Define.
1612 2007-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
1614         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
1615         DT_MIPS_RLD_MAP before DT_DEBUG again.
1617 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
1619         * Makefile.am: Add ACLOCAL_AMFLAGS.
1620         * configure.in: Change macro call order.
1621         * Makefile.in: Regnerate.
1622         * doc/Makefile.in: Regenerate.
1623         * configure: Regenerate.
1625 2007-04-14  Jakub Jelinek  <jakub@redhat.com>
1627         * elflink.c (bfd_elf_final_link): Don't free symbuf for
1628         non-elf input bfds.
1629         (bfd_elf_size_dynamic_sections): Don't access elf_section_data
1630         for non-elf input bfds.
1632 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
1634         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
1635         DT_MIPS_RTLD_MAP for PIEs.
1637 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
1639         * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
1640         when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
1641         in a read-only section.
1642         (_bfd_mips_elf_check_relocs): Likewise.
1644 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
1646         * elf32-xtensa.c (xtensa_is_insntable_section): New.
1647         (xtensa_is_proptable_section): New.
1648         (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
1649         tables with 12-byte entries, as well as tables with 8-byte entries.
1650         Sort the relocations before examining them.
1651         (relax_property_section): Use xtensa_is_proptable_section and
1652         xtensa_is_littable_section.  Rewrite code for combining table entries
1653         to be more robust in case of unexpected relocations.  Do not set offset
1654         of unused relocations to less than zero.
1655         (xtensa_is_property_section): Use other functions instead of
1656         duplicating section name comparisons.
1657         (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
1658         (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
1660 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
1662         * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
1663         from Xtensa property sections.
1665 2007-04-12  Alan Modra  <amodra@bigpond.net.au>
1667         * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
1668         is non-NULL before dereferencing.
1670 2007-04-11  Nathan Sidwell  <nathan@codesourcery.com>
1672         * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
1673         relocs too.
1675 2007-04-10  Richard Henderson  <rth@redhat.com>
1677         * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
1678         (elf64_alpha_size_got_sections): Remove unused something_changed local.
1679         (elf64_alpha_size_plt_section): Return void.
1680         (elf64_alpha_size_rela_got_section): Likewise.
1681         (elf64_alpha_relax_section): Only regenerate got+plt if the
1682         relax_trip counter has changed.
1684 2007-04-09  Daniel Jacobowitz  <dan@codesourcery.com>
1686         * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
1687         * doc/Makefile.am (DOCFILES): Add bfdver.texi.
1688         (bfdver.texi): New rule.
1689         * Makefile.in, doc/Makefile.in: Regenerated.
1691 2007-04-03  Matt Thomas  <matt@netbsd.org>
1693         * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
1694         in a shared object if it is not in a CODE section or if it is against
1695         a section symbol.  This allows DWARF2 to use pcrel format.
1697 2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
1699         PR ld/4304
1700         * elflink.c (bfd_elf_final_link): Call einfo callback in
1701         bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
1702         warning.
1704 2007-04-05  Alan Modra  <amodra@bigpond.net.au>
1706         * elf32-spu.c (spu_elf_output_symbol_hook): New function.
1707         (elf_backend_link_output_symbol_hook): Define.
1709 2007-04-02  Nick Clifton  <nickc@redhat.com>
1711         PR binutils/4292
1712         * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
1713         targets as 64-bit values, even if running on a 64-bit host.
1714         * coffgen.c (coff_print_symbol): Likewise.
1716 2007-03-29  Nick Clifton  <nickc@redhat.com>
1718         PR binutils/4110
1719         * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
1720         (setup_group): Use it.  Report corrupt group section headers.
1721         (bfd_section_from_shdr): Use new macro.  Replace constant 4 with
1722         GRP_ENTRY_SIZE.  Cope with NULLs in the group section table.
1723         (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
1725 2007-03-29  Alan Modra  <amodra@bigpond.net.au>
1727         PR ld/4267
1728         * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
1729         for rel->r_info values.
1730         (bfd_elf_perform_complex_relocation): Likewise.
1731         * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
1732         unused entries.  Don't clear plt.plist in loop.
1734 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
1736         * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
1737         * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
1738         Merge into...
1739         (sparc_elf_append_rela): ...this new function.
1740         (SPARC_ELF_APPEND_RELA): Delete.
1741         (_bfd_sparc_elf_link_hash_table_create): Don't initialize
1742         the deleted append_rela field.
1743         (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
1744         instead of SPARC_ELF_APPEND_RELA.
1745         (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.  Use the
1746         elf_size_info structure to find the size of a RELA entry and
1747         the associated swap-out function.
1748         (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
1749         (sparc_finish_dyn): ...this new function.
1750         (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
1752 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
1753             Phil Edwards  <phil@codesourcery.com>
1755         * doc/bfd.texinfo: Put the contents after the title page rather
1756         than at the end of the document.
1758 2007-03-27  Andreas Schwab  <schwab@suse.de>
1760         * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
1762 2007-03-26  H.J. Lu  <hongjiu.lu@intel.com>
1764         * configure: Regenerated.
1766 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
1768         * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
1769         (allocate_spuear_stubs): New function.
1770         (spu_elf_size_stubs): Call allocate_spuear_stubs.
1772 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
1774         * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
1775         * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
1776         (MY (bfd_reloc_name_lookup)): New function.
1777         * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
1778         * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
1779         (MY_bfd_reloc_name_lookup): Define.
1780         * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
1781         (MY_bfd_reloc_name_lookup): Define.
1782         * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
1783         (NAME (aout, reloc_name_lookup)): New function.
1784         * bout.c (b_out_bfd_reloc_name_lookup): New function.
1785         * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
1786         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
1787         * coff-arm.c (coff_arm_reloc_name_lookup): New function.
1788         (coff_bfd_reloc_name_lookup): Define.
1789         * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
1790         (coff_i386_reloc_name_lookup): New function.
1791         * coff-i860.c (coff_i860_reloc_name_lookup): New function.
1792         (coff_bfd_reloc_name_lookup): Define.
1793         * coff-i960.c (coff_i960_reloc_name_lookup): New function.
1794         (coff_bfd_reloc_name_lookup): Define.
1795         * coff-m68k.c (m68k_reloc_name_lookup): New function.
1796         (coff_bfd_reloc_name_lookup): Define.
1797         * coff-maxq.c (maxq_reloc_name_lookup): New function.
1798         (coff_bfd_reloc_name_lookup): Define.
1799         * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
1800         (coff_bfd_reloc_name_lookup): Define.
1801         * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
1802         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
1803         * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
1804         (coff_bfd_reloc_name_lookup): Define.
1805         * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1806         (_bfd_xcoff_reloc_name_lookup): New function.
1807         (rs6000coff_vec, pmac_xcoff_vec): Init new field.
1808         * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
1809         (sh_coff_reloc_name_lookup): New function.
1810         * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
1811         (coff_bfd_reloc_name_lookup): Define.
1812         * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
1813         (tic30_coff_reloc_name_lookup): New function.
1814         * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
1815         (tic4x_coff_reloc_name_lookup): New function.
1816         * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
1817         (tic54x_coff_reloc_name_lookup): New function.
1818         * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
1819         (coff_amd64_reloc_name_lookup): New function.
1820         * coff-z80.c (coff_z80_reloc_name_lookup): New function.
1821         (coff_bfd_reloc_name_lookup): Define.
1822         * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
1823         (coff_bfd_reloc_name_lookup): Define.
1824         * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1825         (xcoff64_reloc_name_lookup): New function.
1826         (rs6000coff64_vec, aix5coff64_vec): Init new field.
1827         * coffcode.h (coff_bfd_reloc_name_lookup): Define.
1828         * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
1829         * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1830         * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1831         * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1832         * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
1833         (bfd_elf32_bfd_reloc_name_lookup): Define.
1834         * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1835         * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
1836         (bfd_elf32_bfd_reloc_name_lookup): Define.
1837         * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
1838         (bfd_elf32_bfd_reloc_name_lookup): Define.
1839         * elf32-cris.c (cris_reloc_name_lookup): New function.
1840         (bfd_elf32_bfd_reloc_name_lookup): Define.
1841         * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
1842         (bfd_elf32_bfd_reloc_name_lookup): Define.
1843         * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1844         * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1845         * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
1846         (bfd_elf32_bfd_reloc_name_lookup): Define.
1847         * elf32-fr30.c (fr30_reloc_name_lookup): New function.
1848         (bfd_elf32_bfd_reloc_name_lookup): Define.
1849         * elf32-frv.c (frv_reloc_name_lookup): New function.
1850         (bfd_elf32_bfd_reloc_name_lookup): Define.
1851         * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1852         * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
1853         (bfd_elf32_bfd_reloc_name_lookup): Define.
1854         * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1855         * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
1856         (bfd_elf32_bfd_reloc_name_lookup): Define.
1857         * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
1858         (bfd_elf32_bfd_reloc_name_lookup): Define.
1859         * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
1860         (bfd_elf32_bfd_reloc_name_lookup): Define.
1861         * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
1862         (bfd_elf32_bfd_reloc_name_lookup): Define.
1863         * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
1864         (bfd_elf32_bfd_reloc_name_lookup): Define.
1865         * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
1866         (bfd_elf32_bfd_reloc_name_lookup): Define.
1867         * elf32-m32c.c (m32c_reloc_name_lookup): New function.
1868         (bfd_elf32_bfd_reloc_name_lookup): Define.
1869         * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1870         * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1871         * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1872         * elf32-m68k.c (reloc_name_lookup): New function.
1873         (bfd_elf32_bfd_reloc_name_lookup): Define.
1874         * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1875         * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
1876         (bfd_elf32_bfd_reloc_name_lookup): Define.
1877         * elf32-mep.c (mep_reloc_name_lookup): New function.
1878         (bfd_elf32_bfd_reloc_name_lookup): Define.
1879         * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1880         (mips_vxworks_bfd_reloc_name_lookup): Likewise.
1881         (bfd_elf32_bfd_reloc_name_lookup): Define.
1882         * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1883         * elf32-mt.c (mt_reloc_name_lookup): New function.
1884         (bfd_elf32_bfd_reloc_name_lookup): Define.
1885         * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
1886         (bfd_elf32_bfd_reloc_name_lookup): Define.
1887         * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1888         * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
1889         (bfd_elf32_bfd_reloc_name_lookup): Define.
1890         * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
1891         (bfd_elf32_bfd_reloc_name_lookup): Define.
1892         * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
1893         (bfd_elf32_bfd_reloc_name_lookup): Define.
1894         * elf32-score.c (elf32_score_reloc_name_lookup): New function.
1895         (bfd_elf32_bfd_reloc_name_lookup): Define.
1896         * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
1897         (bfd_elf32_bfd_reloc_name_lookup): Define.
1898         * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1899         * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
1900         (bfd_elf32_bfd_reloc_name_lookup): Define.
1901         * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
1902         (bfd_elf32_bfd_reloc_name_lookup): Define.
1903         * elf32-vax.c (reloc_name_lookup): New function.
1904         (bfd_elf32_bfd_reloc_name_lookup): Define.
1905         * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
1906         (bfd_elf32_bfd_reloc_name_lookup): Define.
1907         * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
1908         (bfd_elf32_bfd_reloc_name_lookup): Define.
1909         * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
1910         (bfd_elf32_bfd_reloc_name_lookup): Define.
1911         * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
1912         (bfd_elf64_bfd_reloc_name_lookup): Define.
1913         * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1914         * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1915         * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1916         * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1917         * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
1918         (bfd_elf64_bfd_reloc_name_lookup): Define.
1919         * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
1920         (bfd_elf64_bfd_reloc_name_lookup): Define.
1921         * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
1922         (bfd_elf64_bfd_reloc_name_lookup): Define.
1923         * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1924         * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
1925         (bfd_elf64_bfd_reloc_name_lookup): Define.
1926         * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1927         * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
1928         (bfd_elfNN_bfd_reloc_name_lookup): Define.
1929         * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
1930         * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
1931         * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
1932         * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
1933         * ieee.c (ieee_bfd_reloc_name_lookup): Define.
1934         * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
1935         * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
1936         * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
1937         (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
1938         (MY(reloc_name_lookup)): New function.
1939         * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
1940         * oasys.c (oasys_bfd_reloc_name_lookup): Define.
1941         * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
1942         * pe-mips.c (coff_mips_reloc_name_lookup): New function.
1943         (coff_bfd_reloc_name_lookup): Define.
1944         * reloc.c (bfd_reloc_name_lookup): New function.
1945         * riscix.c (riscix_reloc_name_lookup): New function.
1946         (MY_bfd_reloc_name_lookup): Define.
1947         * som.c (som_bfd_reloc_name_lookup): New function.
1948         * targets.c (struct bfd_target): Add reloc_name_lookup.
1949         (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
1950         * versados.c (versados_bfd_reloc_name_lookup): Define.
1951         * vms.c (vms_bfd_reloc_name_lookup): New function.
1952         * bfd-in2.h: Regenerate.
1953         * libbfd.h: Regenerate.
1955 2007-03-26  Thiemo Seufer  <ths@mips.com>
1957         PR ld/4208
1958         * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
1959         matching relocation is found.
1960         (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
1962 2007-03-23  H.J. Lu  <hongjiu.lu@intel.com>
1964         * configure: Regenerated.
1966 2007-03-23  Joseph Myers  <joseph@codesourcery.com>
1968         * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
1969         * configure: Regenerate.
1971 2007-03-23  Alan Modra  <amodra@bigpond.net.au>
1973         * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
1974         Remove input_sec param.  Adjust all calls.
1975         (write_one_stub): Adjust stub symbol.
1976         (needs_ovl_stub): New function, extracted from..
1977         (spu_elf_size_stubs): ..here.
1978         (spu_elf_relocate_section): Use needs_ovl_stub.
1980 2007-03-22  Joseph Myers  <joseph@codesourcery.com>
1982         * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
1983         if nonempty.
1984         * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
1985         * Makefile.in, configure, doc/Makefile.in: Regenerate.
1987 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1989         PR ld/4210
1990         * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
1991         address and virtual size of the last section for the image
1992         size.
1994 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1996         PR ld/4007
1997         * elf.c (assign_file_positions_for_load_sections): Check if
1998         all sections are in the segment.
2000 2007-03-20  H.J. Lu  <hongjiu.lu@intel.com>
2002         PR ld/4208
2003         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
2004         matching LO16 relocation for HI16 relocation.
2006 2007-03-20  Paul Brook  <paul@codesourcery.com>
2008         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
2009         * bfd-in2.h: Regenerate.
2010         * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
2011         (record_arm_to_thumb_glue): Use globals->pic_veneer.
2012         (elf32_arm_create_thumb_stub): Ditto.
2013         (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
2015 2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>
2017         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
2018         argument and extra last argument.
2019         * bfd-in2.h: Regenerate.
2020         * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
2021         member.
2022         (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
2023         extra last argument.  Set no_enum_size_warning appropriately.
2024         (elf32_arm_merge_eabi_attributes): Improve enum sizes
2025         diagnostic, suppressing it when no_enum_size_warning dictates.
2027 2007-03-20  Nick Clifton  <nickc@redhat.com>
2029         PR binutils/3535
2030         * elf.c (copy_private_bfd_data): Widen the scope of Solaris
2031         specific conditions that need the program headers to be
2032         rewritten.
2034 2007-03-19  H.J. Lu  <hongjiu.lu@intel.com>
2036         * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
2037         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
2038         SizeOfInitializedData, SizeOfUninitializedData,
2039         AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
2040         extra PE a.out header.
2041         (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
2042         (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
2043         defined.
2044         (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
2045         defined.
2046         (_bfd_XX_print_private_bfd_data_common): Also print Magic,
2047         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
2048         SizeOfInitializedData, SizeOfUninitializedData,
2049         AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
2050         extra PE a.out header.
2052 2007-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2054         * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
2055         only if BFD64 is defined.
2057 2007-03-17  Alan Modra  <amodra@bigpond.net.au>
2059         * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
2060         on setjmp calls.
2062 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2064         * doc/Makefile.in: Regenerated.
2066 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2068         * Makefile.am (bfdver.h): Substitute report_bugs_to.  Also
2069         create doc/bfdver.texi.
2070         * Makefile.in: Regenerated.
2072         * configure.in (--with-bugurl): New option.
2073         * configure: Regenerated.
2075         * version.h (REPORT_BUGS_TO): New.
2077 2007-03-13  H.J. Lu  <hongjiu.lu@intel.com>
2079         PR binutils/3826
2080         * elf-bfd.h (elf_backend_data): Add elf_osabi.
2081         (_bfd_elf_set_osabi): New.
2083         * elf.c (_bfd_elf_set_osabi): New.
2085         * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
2086         (elf_backend_post_process_headers): Defined with
2087         _bfd_elf_set_osabi.
2088         (ELF_OSABI): Properly defined for each target.
2090         * elf32-i370.c (i370_elf_post_process_headers): Removed.
2091         (ELF_OSABI): Defined.
2092         (elf_backend_post_process_headers): Defined with
2093         _bfd_elf_set_osabi.
2095         * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
2096         freebsd.
2097         (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
2099         * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
2100         (ELF_OSABI): Defined.
2101         (elf_backend_post_process_headers): Defined with
2102         _bfd_elf_set_osabi.
2104         * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
2105         freebsd.
2106         (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
2107         elf_osabi.
2109         * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
2110         with elf_osabi.
2111         (ELF_OSABI): Properly defined for each target.
2112         (elf_backend_post_process_headers): Defined with
2113         _bfd_elf_set_osabi for Linux.
2115         * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
2116         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
2117         (elf_backend_post_process_headers): Defined with
2118         _bfd_elf_set_osabi.
2120         * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
2121         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
2122         (elf_backend_post_process_headers): Defined with
2123         _bfd_elf_set_osabi.
2125         * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
2126         with any ELF target of the compatible machine for which we do not
2127         have a specific backend.
2129         * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
2130         with elf_osabi.
2132         * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
2133         (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
2135 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
2137         * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
2138         V850_OTHER_* bits.
2140 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
2142         * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
2143         (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
2144         Run "make dep-am".
2145         * Makefile.in: Regenerate.
2146         * po/SRC-POTFILES.in: Regenerate.
2148 2007-03-07  H.J. Lu  <hongjiu.lu@intel.com>
2150         * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
2151         (x86_64-*-kfreebsd*-gnu): Likewise.
2152         (x86_64-*-netbsd*): Likewise.
2153         (x86_64-*-openbsd*): Likewise.
2154         (x86_64-*-linux-*): Likewise.
2156         * configure.in: Support bfd_efi_app_x86_64_vec.
2157         * configure: Regenerated.
2159         * efi-app-x86_64.c: New file.
2161         * targets.c (bfd_efi_app_x86_64_vec): New.
2162         (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
2164 2007-03-07  Kai Tietz   <kai.tietz@onevision.com>
2166         * reloc.c (bfd_generic_get_relocated_section_contents): Remove
2167         const for type reloc_howto_type.
2169 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
2171         PR 3958
2172         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
2173         (elf_discarded_section): Move..
2174         * bfd-in.h: ..to here.
2175         * bfd-in2.h: Regenerate.
2176         * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
2177         from discarded sections before relocate_section has done its job.
2178         * reloc.c (bfd_generic_get_relocated_section_contents): Handle
2179         relocs against symbols from discarded sections.
2180         * elf-hppa.h (elf_hppa_howto_table): Set size.  Set dst_mask on
2181         SECREL32.
2182         (elf_hppa_relocate_section): Handle relocatable link after setting
2183         sec, sym, h etc. for final link.  Squash error messages for
2184         relocatable link.  Clear section contents for relocs against
2185         symbols in discarded sections, and zero reloc.  Remove existing
2186         zero r_symndx code.
2187         * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
2188         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
2189         * elf32-arm.c (elf32_arm_relocate_section): Likewise.
2190         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
2191         * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
2192         (bfin_relocate_section): Likewise.
2193         * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
2194         * elf32-cris.c (cris_elf_relocate_section): Likewise.
2195         * elf32-crx.c (elf32_crx_relocate_section): Likewise.
2196         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
2197         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
2198         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2199         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
2200         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
2201         * elf32-i370.c (i370_elf_relocate_section): Likewise.
2202         * elf32-i386.c (elf_i386_relocate_section): Likewise.
2203         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
2204         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
2205         * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
2206         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
2207         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2208         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
2209         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2210         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
2211         * elf32-mep.c (mep_elf_relocate_section): Likewise.
2212         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
2213         * elf32-mt.c (mt_elf_relocate_section): Likewise.
2214         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
2215         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2216         * elf32-s390.c (elf_s390_relocate_section): Likewise.
2217         * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
2218         * elf32-sh.c (sh_elf_relocate_section): Likewise.
2219         * elf32-spu.c (spu_elf_relocate_section): Likewise.
2220         * elf32-v850.c (v850_elf_relocate_section): Likewise.
2221         * elf32-vax.c (elf_vax_relocate_section): Likewise.
2222         * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
2223         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
2224         * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
2225         * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
2226         (elf64_alpha_relocate_section): Likewise.
2227         * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
2228         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2229         * elf64-s390.c (elf_s390_relocate_section): Likewise.
2230         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
2231         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2232         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
2233         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
2234         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
2236         * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
2237         symbols for relocatable link.  Don't use always-zero st_value.
2238         (elf_backend_rela_normal): Don't define.
2239         * elf32-bfin.c (bfinfdpic_relocate_section): Use
2240         RELOC_FOR_GLOBAL_SYMBOL.
2241         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2242         * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
2243         section symbol adjustments with same for relocatable link.
2244         * elf32-i386.c (elf_i386_relocate_section): Likewise.
2245         * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
2246         (elf32_m68hc11_check_relocs): ..to here.
2247         * elf32-score.c (score_elf_final_link_relocate): Remove zero
2248         r_symndx code.
2249         * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2251 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
2253         PR 4144
2254         * elf.c (assign_file_positions_for_load_sections): Don't
2255         adjust p_memsz for !SEC_LOAD section vma modulo page size.
2256         Instead, use the same lma based adjustment for SEC_LOAD
2257         sections.
2259 2007-03-01  Bob Wilson  <bob.wilson@acm.org>
2261         * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
2262         (find_relaxable_sections): Do not increment src_count for unknown
2263         opcodes.  Decode only once instead of calling is_l32r_relocation.
2264         (compute_text_actions): Remove unused no_insn_move flag.  Assert that
2265         src_next matches src_count in relax_info.
2267 2007-03-01  Joseph Myers  <joseph@codesourcery.com>
2269         * Makefile.am (bfdver.h): Use "." not " " between version number
2270         and date.
2271         * Makefile.in: Regenerate.
2272         * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
2273         * configure: Regenerate.
2275 2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>
2277         * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
2279 2007-02-27  Alan Modra  <amodra@bigpond.net.au>
2281         * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
2282         * elf32-spu.c (ovl_mgr_pread): Add const to casts.
2284 2007-02-23  Carlos O'Donell  <carlos@codesourcery.com>
2286         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
2287         DWARF even with 64-bit addresses.
2288         (_bfd_dwarf2_find_nearest_line): Likewise.
2290 2007-02-23  Nick Clifton  <nickc@redhat.com>
2292         PR binutils/3535
2293         * elf.c (copy_private_bfd_data): Always rewrite the program
2294         headers when a Solaris interpreter segment is involved.
2296 2007-02-22  Paul Brook  <paul@codesourcery.com>
2298         * elflink.c (gc_mark_hook_fn): Remove.
2299         (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
2300         (bfd_elf_gc_sections): Ditto.  Call gc_mark_extra_sections.
2301         * elf-bfd.h (elf_gc_mark_hook_fn): Define.
2302         (elf_backend_data): Add gc_mark_extra_sections.
2303         * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
2304         definition.
2305         (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
2306         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
2307         (elf_backend_gc_mark_extra_sections): Define.
2309 2007-02-21  Nick Clifton  <nickc@redhat.com>
2311         * elf.c (_bfd_elf_map_sections_to_segments): If the
2312         override_segment_assignment callback is defined then call it.
2314 2007-02-21  Alan Modra  <amodra@bigpond.net.au>
2316         * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
2318 2007-02-19  Thiemo Seufer  <ths@mips.com>
2320         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
2321         translation marker from untranslatable strings.
2323 2007-02-19  Alan Modra  <amodra@bigpond.net.au>
2325         * elf-bfd.h (struct elf_backend_data): Add default_execstack.
2326         * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
2327         * elfxx-target.h (elf_backend_default_execstack): Define to 1.
2328         (elfNN_bed): Init new field.
2329         * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
2331 2007-02-17  Mark Mitchell  <mark@codesourcery.com>
2332             Nathan Sidwell  <nathan@codesourcery.com>
2333             Vladimir Prus  <vladimir@codesourcery.com
2334             Joseph Myers  <joseph@codesourcery.com>
2336         * configure.in (--with-pkgversion): New option.
2337         * configure: Regenerate.
2338         * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
2339         * Makefile.in: Regenerate.
2340         * version.h (BFD_VERSION_STRING): Define using
2341         @bfd_version_package@.
2343 2007-02-16  Carlos O'Donell  <carlos@codesourcery.com>
2345         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
2346         Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
2347         and EF_MIPS_UCODE.
2349 2007-02-15  Alan Modra  <amodra@bigpond.net.au>
2351         * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
2352         declare.
2353         (_bfd_norelocs_canonicalize_reloc): Likewise.
2354         * libbfd.h: Regenerate.
2355         * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
2356         (_bfd_norelocs_canonicalize_reloc): Likewise.
2357         * binary.c (binary_bfd_reloc_type_lookup): Don't define.
2358         (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
2359         (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
2360         * ihex.c: Similarly.
2361         * mach-o-target.c: Similarly.
2362         * mach-o.c: Similarly.
2363         * mmo.c: Similarly.
2364         * pef.c: Similarly.
2365         * ppcboot.c: Similarly.
2366         * srec.c: Similarly.
2367         * xsym.c: Similarly.
2369 2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>
2371         PR ld/3953
2372         * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
2373         when adding default symbol.
2375 2007-02-13  Alan Modra  <amodra@bigpond.net.au>
2377         * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
2378         for branch lookup table.
2380 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
2382         * elf64-ppc.c (create_linkage_sections): Don't create
2383         .rela.rodata.brlt for --emit-relocs.
2384         (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
2385         (ppc_size_one_stub): Count them.  Simplify test of stub type
2386         when counting stub relocs.  Set SEC_RELOC too.
2387         (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
2388         (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
2390 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
2392         * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
2393         with a zero symbol index.
2395 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
2397         * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
2399 2007-02-05  Dave Brolley  <brolley@redhat.com>
2400             Stan Cox  <scox@redhat.com>
2402         PR ld/3972
2403         * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
2405 2007-02-05  Dave Brolley  <brolley@redhat.com>
2406             Richard Sandiford  <rsandifo@redhat.com>
2407             Stan Cox  <scox@redhat.com>
2408             Nick Clifton  <nickc@redhat.com>
2409             DJ Delorie  <dj@redhat.com>
2410             Frank Ch. Eigler  <fche@redhat.com>
2411             Ben Elliston  <bje@redhat.com>
2412             Richard Henderson  <rth@redhat.com>
2414         * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
2415         (ALL_MACHINES_CFILES): Add CPU_MEP.c.
2416         (BFD32_BACKENDS): Add elf32-mep.lo.
2417         (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
2418         (cpu-mep.lo,elf32-mep.lo): New targets.
2419         * archures.c (bfd_arch_mep): New enumerator.
2420         (bfd_mach_mep, bfd_mach_mep_h1): New macros.
2421         (bfd_mep_arch): New external variable.
2422         (bfd_archures_list): Add bfd_mep_arch.
2423         * config.bfd: Support mep-*-elf.
2424         * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
2425         * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
2426         * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
2427         declarations.
2428         (_bfd_target_vector): Add bfd_elf32_mep_vec and
2429         bfd_elf32_mep_little_vec.
2430         * mep-relocs.pl: New file.
2431         * cpu-mep.c: New file.
2432         * elf32-mep.c: New file.
2433         * bfd-in2.h: Regenerate.
2434         * po/POTFILES.in: Regenerate.
2435         * libbfd.h: Regenerate.
2436         * Makefile.in: Regenerate.
2437         * configure: Regenerate.
2439 2007-02-05  Dave Brolley  <brolley@redhat.com>
2441         * elflink.c (evaluate_complex_relocation_symbols): Check for
2442         STT_SRELC for global symbols.
2443         (perform_complex_relocations): Renamed to
2444         perform_complex_relocation and now examines only one relocation.
2445         (elf_link_input_bfd): Don't call perform_complex_relocations.
2446         * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
2447         * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
2448         (OD,OS,OU): #undefs corrected to N, S and U repectively.
2449         (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
2450         (complex_reloc_installation_howto): Removed.
2451         (mep_info_to_howto_rela): Remove special case for r_type==0xff.
2452         (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
2454 2007-02-05  Dave Brolley  <brolley@redhat.com>
2455             Richard Sandiford  <rsandifo@redhat.com>
2456             DJ Delorie  <dj@redhat.com>
2457             Graydon Hoare  <graydon@redhat.com>
2458             Nick Clifton  <nickc@cambridge.redhat.com>
2459             Jeff Holcomb  <jeffh@redhat.com>
2460             Frank Ch. Eigler  <fche@redhat.com>
2462         * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
2463         * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
2464         * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
2465         * elflink.c (set_symbolValue): New static function.
2466         (resolve_symbol): Likewise.
2467         (resolve_section): Likewise.
2468         (undefined_reference): Likewise.
2469         (eval_symbol): Likewise.
2470         (evaluate_complex_relocation_symbols): Likewise.
2471         (put_value): Likewise.
2472         (get_value): Likewise.
2473         (decode_complex_addend):
2474         (bfd_elf_perform_complex_relocation): New function.
2475         (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
2476         * reloc.c (BFD_RELOC_RELC): New relocation number.
2477         * syms.c (BSF_RELC,BSF_SRELC): New macros.
2479 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
2481         * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
2482         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
2483         (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
2484         (elf_xtensa_allocate_got_size): Replace these with...
2485         (elf_xtensa_allocate_dynrelocs): ...this new function.
2486         (elf_xtensa_size_dynamic_sections): Use it.
2488 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
2490         * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
2491         <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
2492         Set src_mask to zero.
2493         <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise.  Also fix dst_mask.
2494         <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
2496 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
2498         * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
2499         (elf_xtensa_dynamic_symbol_p): ...this.
2501 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
2503         * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
2504         (struct elf_xtensa_link_hash_table): New.
2505         (elf_xtensa_hash_table): New.
2506         (elf_xtensa_link_hash_table_create): New.
2507         (elf_xtensa_check_relocs): Update plt_reloc_count references.
2508         Update arguments to add_extra_plt_sections.
2509         (elf_xtensa_create_dynamic_sections): Record new sections in the hash
2510         table.  Update for plt_reloc_count and add_extra_plt_sections.
2511         (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
2512         argument with link info.  Update calls to elf_xtensa_get_plt_section
2513         and elf_xtensa_get_gotplt_section.
2514         (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
2515         (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
2516         (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
2517         (relax_property_section): Get sections from the hash table and update
2518         function calls.
2519         (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
2520         dynobj argument with link info.  Get sections for first plt chunk from
2521         the hash table.
2522         (bfd_elf32_bfd_link_hash_table_create): Define.
2524 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
2526         * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
2527         * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
2528         (struct elf_symbol): Change first member into union.
2529         (elf_sort_elf_symbol): Compare pointers to internal syms rather than
2530         internal syms.  Only compare st_shndx fields.
2531         (elf_create_symbuf): New function.
2532         (bfd_elf_match_symbols_in_sections): Use it.  If symbufs are available
2533         for bfds, use a binary search, otherwise don't qsort symbols
2534         unnecessarily only to select which symbols are for the particular
2535         shndx.
2537 2007-02-01  Nick Clifton  <nickc@redhat.com>
2539         PR ld/3852
2540         * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
2541         in the elf_link_hash_table structure.
2543 2007-02-01  Alan Modra  <amodra@bigpond.net.au>
2545         * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
2546         * elfxx-target.h (elf_backend_write_core_note): Define and use.
2547         * elf.c (elfcore_write_prpsinfo): Call the above.  Add support for
2548         32-bit core note on 64-bit target.
2549         (elfcore_write_prstatus): Likewise.
2550         (elfcore_write_lwpstatus): Make note_name const.
2551         (elfcore_write_prfpreg): Likewise.
2552         (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
2553         target.
2554         * elf32-ppc.c (ppc_elf_write_core_note): New function.
2555         (elf_backend_write_core_note): Define.
2556         * elf64-ppc.c (ppc64_elf_write_core_note): New function.
2557         (elf_backend_write_core_note): Define.
2559 2007-01-31  H.J. Lu  <hongjiu.lu@intel.com>
2561         * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
2562         (elf32_bed): Defined for elf32-us-cris.
2564         * elf64-sh64.c (elf64_bed): Defined for Linux.
2565         (INCLUDED_TARGET_FILE): Removed.
2567         * elfxx-target.h (elfNN_bed): Always define. Don't check
2568         INCLUDED_TARGET_FILE.
2570 2007-01-31  DJ Delorie  <dj@redhat.com>
2572         * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
2573         message for dangerous relocs, special case the common user error.
2575 2007-01-30  H.J. Lu  <hongjiu.lu@intel.com>
2577         * elf.c (copy_elf_program_header): Start from the first section
2578         in a segment and stop when all sections in a segment are
2579         accounted for.
2581 2007-01-29  Julian Brown  <julian@codesourcery.com>
2583         * bfd-in2.h: Regenerate.
2584         * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
2585         instruction scanning should be done.
2586         (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
2587         (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
2588         (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
2589         prototype.
2590         * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
2591         argument.
2592         * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
2593         (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
2594         (elf32_vfp11_erratum_type): New enum.
2595         (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
2596         veneers.
2597         (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
2598         (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
2599         vfp11_fix and num_vfp11_fixes fields.
2600         (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
2601         vfp11_erratum_glue_size, num_vfp11_fixes fields.
2602         (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
2603         (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
2604         glue section.
2605         (elf32_arm_section_map_add): Add an code/data mapping symbol entry
2606         to a section's map.
2607         (record_vfp11_erratum_veneer): Create a single veneer, and its
2608         associated symbols.
2609         (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
2610         (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
2611         BFDs.
2612         (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
2613         required.
2614         (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
2615         (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
2616         (bfd_arm_vfp11_write_mask): Update write mask according to coded
2617         register number.
2618         (bfd_arm_vfp11_antidependency): New function.
2619         (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
2620         (elf32_arm_compare_mapping): Declare.
2621         (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
2622         BFD for potential erratum-triggering insns. Record results.
2623         (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
2624         and branches to veneers have been placed in virtual memory after
2625         layout.
2626         (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
2627         hash table.
2628         (elf32_arm_output_symbol_hook): Remove.
2629         (elf32_arm_write_section): Output veneers, and branches to veneers.
2630         Use maps from input sections, not output sections, for code
2631         byte-swapping.
2632         * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
2633         * elf32-score.c (_bfd_score_elf_write_section): Likewise.
2634         * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
2635         * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
2637 2007-01-27  H.J. Lu  <hongjiu.lu@intel.com>
2639         * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
2640         (INCLUDED_TARGET_FILE): Removed.
2642 2007-01-27  Mike Frysinger  <vapier@gentoo.org>
2644         * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
2645         (INCLUDED_TARGET_FILE): Remove.
2647 2007-01-25  DJ Delorie  <dj@redhat.com>
2649         * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
2650         R_M32C_16 or R_M32C_24 relocs.
2652 2007-01-25  Nick Clifton  <nickc@redhat.com>
2654         PR binutils/3874
2655         * elf32-avr.c (avr_link_hash_table): Check to make sure that the
2656         hash table was created by elf32_avr_link_hash_table_create before
2657         using it.
2658         (elf32_avr_link_hash_newfunc): New function.  Just pass the call
2659         through to _bfd_elf_link_hash_newfunc.
2660         (elf32_avr_link_hash_table_create): Use
2661         elf32_avr_link_hash_newfunc instead of
2662         _bfd_elf_link_hash_newfunc.
2663         (elf32_avr_relocate_section): Check for the hash table pointer
2664         being NULL.
2665         (elf32_avr_relax_section, avr_build_one_stub,
2666         elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
2667         elf32_avr_build_stubs): Likewise.
2669 2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>
2671         PR ld/3831
2672         * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
2673         argument, Elf_Internal_Sym *.
2675         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
2676         symbol dynamic if info->dynamic_data is TRUE.
2677         (bfd_elf_record_link_assignment): Updated call to
2678         bfd_elf_record_link_assignment.
2679         (_bfd_elf_merge_symbol): Likewise.  Always call
2680         bfd_elf_link_mark_dynamic_symbol.
2682 2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>
2684         * Makefile.am (BFD_LIBS): Removed.
2685         * Makefile.in: Regenerated.
2687 2007-01-11  H.J. Lu  <hongjiu.lu@intel.com>
2689         PR binutils/3631
2690         * Makefile.am (OFILES): Add @bfd64_libs@.
2691         (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
2692         * Makefile.in: Regenerated.
2694         * configure.in (bfd_libs): Replaced by ...
2695         (bfd64_libs): This.
2696         * configure: Regenerated.
2698 2007-01-11  Nathan Sidwell  <nathan@codesourcery.com>
2700         * elf.c (assign_file_positions_for_load_sections): We can
2701         require fewer phdrs than expected.
2703 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
2705         * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
2706         * bfd-in2.h: Regenerate.
2707         * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
2708         bfd_mach_cpu32_fido.
2709         (m68k_arch_features): Use fido_a instead of cpu32.
2710         (bfd_m68k_compatible): Reject the combination of Fido and
2711         ColdFire.  Accept the combination of CPU32 and Fido with a
2712         warning.
2713         * elf32-m68k.c (elf32_m68k_object_p,
2714         elf32_m68k_merge_private_bfd_data,
2715         elf32_m68k_print_private_bfd_data): Treat Fido as an
2716         architecture by itself.
2718 2007-01-08  Kai Tietz   <kai.tietz@onevision.com>
2720         * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
2722 2007-01-05  Jakub Jelinek  <jakub@redhat.com>
2724         * texhex.c (first_phase): Don't fall through into the default
2725         case.
2726         (pass_over): Replace abort () calls with return FALSE.  Fix
2727         buffer overflow.
2729 2007-01-04  Jie Zhang  <jie.zhang@analog.com>
2731         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
2732         SEC_EXCLUDE on zero size .eh_frame.
2734 For older changes see ChangeLog-2006
2736 Local Variables:
2737 mode: change-log
2738 left-margin: 8
2739 fill-column: 74
2740 version-control: never
2741 End: