2007-07-26 Michael Snyder <msnyder@svkmacdonelllnx>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2007-07-26 Michael Snyder <msnyder@svkmacdonelllnx>
2
3 * linker.c (bfd_section_already_linked_table_insert): Change
4 return type from void to boolean. Return FALSE on failure.
5 (_bfd_generic_section_already_linked): Test return value of
6 bfd_section_already_linked_table_insert, call fatal on error.
7
8 * elflink.c (_bfd_elf_section_already_linked): Test return value
9 of bfd_section_already_linked_table_insert, call fatal on error.
10
11 * libbfd-in.h (bfd_section_already_linked_table_insert): Update
12 return type to bfd_boolean.
13
14 * libbfd.h: Regenerate.
15
16 2007-07-26 Adam Nemet <anemet@caviumnetworks.com>
17
18 * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
19 bfd_slurp_armap): Improve function comment.
20
21 2007-07-26 Michael Snyder <msnyder@access-company.com>
22
23 * linker.c (already_linked_newfunc): Check for NULL return from
24 bfd_hash_allocate.
25
26 * coffgen.c (fixup_symbol_value): Guard against null;
27 bfd_is_com_section will dereference the section pointer.
28
29 * syms.c (bfd_decode_symclass): Guard against NULL, since
30 bfd_is_com_section dereferences the pointer.
31
32 * srec.c (srec_scan): Check for EOF (critical because return value
33 will be used as array index).
34
35 * coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
36 are not to be cached, free the temporary buffer.
37
38 * aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
39 or count == zero.
40
41 * tekhex.c (first_phase): Check return value for null.
42
43 * elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless
44 pointer increment.
45
46 2007-07-26 Alan Modra <amodra@bigpond.net.au>
47
48 * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
49 check on dynobj. Remove bed shadow.
50
51 * srec.c (srec_get_section_contents): Return immediately on
52 count zero. Check that offset and count are within section.
53 * libbfd.c (_bfd_generic_get_section_contents): Check that
54 offset + count does not overflow.
55
56 * srec.c (srec_canonicalize_symtab): Don't alloc when symcount
57 is zero. Correct return value on error.
58 * mmo.c (mmo_canonicalize_symtab): Likewise.
59 * binary.c (binary_canonicalize_symtab) Correct return on error.
60
61 2007-07-26 Thiemo Seufer <ths@mips.com>
62
63 * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
64
65 2007-07-26 Alan Modra <amodra@bigpond.net.au>
66
67 * reloc.c (bfd_generic_get_relocated_section_contents): Avoid
68 bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
69 says there are no relocs.
70
71 2007-07-26 Doug Kwan <dougkwan@google.com>
72
73 Speed up bfd_dwarf2_find_line.
74 * dwarf2.c (struct dwarf2_debug): Add new fields to support function
75 and variable info hash tables. Add last_comp_unit, info_hash_count,
76 funcinfo_hash_table, varinfo_hash_table, hash_units_head.
77 (struct comp_unit): Add prev_unit, cached.
78 (struct info_list_node, struct info_hash_entry,
79 struct info_hash_table): New.
80 (info_hash_table_newfunc, create_info_hash_table,
81 insert_info_hash_table, lookup_info_hash_table): New functions
82 implementing function and variable info hash tables.
83 (scan_unit_for_symbols): Add checks to make sure hash tables are
84 consistent with compilation units.
85 (comp_unit_maybe_decode_line_info): New function.
86 (comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
87 (reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
88 info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
89 stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
90 stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
91 functions. Make use of info hash tables to speed up
92 bfd_dwarf2_find_line.
93 (find_line): Use hash table for faster lookup if it is turned on.
94 Also add code to maintain bi-directional link in comp units.
95
96 2007-07-25 Michael Snyder <msnyder@access-company.com>
97
98 * coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
99 if size == 0; return and avoid possible null pointer issues.
100
101 2007-07-25 Alan Modra <amodra@bigpond.net.au>
102
103 * linker.c (generic_link_add_symbol_list): Warning fix.
104
105 2007-07-24 Michael Snyder <msnyder@access-company.com>
106
107 * opncls.c (bfd_make_writable): Check return from bfd_malloc.
108
109 * elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
110 on bfd_malloc error rather than goto error_return.
111
112 2007-07-24 Alan Modra <amodra@bigpond.net.au>
113
114 * elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
115 _bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
116 _bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
117 _bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
118 bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
119 bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
120 bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
121 bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
122 struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
123 elf_sym_name_compare, elf_create_symbuf,
124 bfd_elf_match_symbols_in_sections,
125 _bfd_elf_match_sections_by_type): Move to here..
126 * elf.c: ..from here.
127
128 2007-07-23 Richard Sandiford <richard@codesourcery.com>
129
130 * elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
131 of weakdef->root.type if weakdef has no regular definition.
132
133 2007-07-22 Adam Nemet <anemet@caviumnetworks.com>
134
135 * elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
136 small_data_overflow_reported.
137 (_bfd_mips_elf_link_hash_table_create): Initialize it.
138 (_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
139 small-data section overflow.
140
141 2007-07-19 Doug Kwan <dougkwan@google.com>
142
143 PR binutils/4797
144 * dwarf2.c: (find_line) Do not dereference functionname_ptr if
145 do_line is true.
146
147 2007-07-18 Bob Wilson <bob.wilson@acm.org>
148
149 * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
150 non-ELF sections.
151
152 2007-07-18 Bob Wilson <bob.wilson@acm.org>
153
154 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
155 vma and size for dynamic tags from the output sections.
156
157 2007-07-18 Alan Modra <amodra@bigpond.net.au>
158
159 * elf-bfd.h (struct sym_sec_cache): Delete "sec". Add "shndx".
160 * elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
161 symbol. Instead cache ELF section index. Remove redundant
162 checks of st_shndx.
163
164 2007-07-15 Mike Frysinger <vapier@gentoo.org>
165
166 * trad-core.c (NBPG): If not defined, set to getpagesize().
167
168 2007-07-13 Roland McGrath <roland@redhat.com>
169
170 * elf-bfd.h (struct elf_obj_tdata): Revert last change.
171 Add after_write_object_contents, after_write_object_contents_info.
172 * elf.c (_bfd_elf_write_object_contents): Revert last change.
173 Instead, call after_write_object_contents if set.
174
175 2007-07-12 Kai Tietz <kai.tietz@onevision.com>
176
177 * bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
178 (BFD_HOSTPTR_T): Host pointer type for casting a
179 pointer to an integer type.
180 (bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
181 (sprintf_vma, fprintf_vma): Add support for long long prints.
182 * bfd-in2.h: Regenerate.
183 * configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
184 (BFD_HOSTPTR_T): Host pointer type for casting a
185 pointer to an integer type. Default is "unsigned long".
186 (AC_CHECK_SIZEOF(void *)): New.
187 (host64): Set it if the pointer size is 8.
188 * configure: Regenerate.
189 * config.in: Add macro SIZEOF_VOID_P.
190 * coffcode.h: Replace host ptr type assuming "long" with
191 bfd_hostptr_t type.
192 * coffgen.c: Likewise.
193 * elf-eh-frame.c: Likewise.
194 * peicode.h: Likewise.
195
196 2007-07-10 H.J. Lu <hongjiu.lu@intel.com>
197
198 * Makefile.in: Regenerated.
199
200 2007-07-10 H.J. Lu <hongjiu.lu@intel.com>
201
202 PR binutils/4756
203 * simple.c (bfd_simple_get_relocated_section_content): Don't
204 apply relocation on executable and shared library.
205
206 2007-07-10 Nathan Sidwell <nathan@codesourcery.com>
207
208 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
209 copy relocs on vxworks.
210
211 2007-07-10 Alan Modra <amodra@bigpond.net.au>
212
213 * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
214 * elf64-alpha.c (alpha_elf_size_info): Likewise.
215 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
216 * elf64-mips.c (mips_elf64_size_info): Likewise.
217 * elf64-s390.c (s390_elf64_size_info): Likewise.
218 * elf64-sparc.c (elf64_sparc_size_info): Likewise.
219
220 2007-07-09 H.J. Lu <hongjiu.lu@intel.com>
221
222 * elflink.c (bfd_elf_record_link_assignment): Handle indirect
223 symbol.
224 (_bfd_elf_merge_symbol): Properly update normal symbol when
225 overriding the versioned symbol from a dynamic library.
226
227 2007-07-09 Roland McGrath <roland@redhat.com>
228
229 * elf-bfd.h (struct elf_obj_tdata): Add members
230 emit_note_gnu_build_id and note_gnu_build_id_sec.
231 * elf.c (_bfd_id_note_section_size): New global function.
232 (read_hex, _bfd_elf_write_build_id_section): New static functions.
233 (_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
234 if emit_note_gnu_build_id is set.
235 * Makefile.am (elf.lo): Update dependencies.
236
237 * elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
238 (bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
239 * elfcode.h (elf_checksum_contents): New macro and function.
240 (NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
241
242 2007-07-06 Michael Snyder <msnyder@access-company.com>
243
244 * elflink.c (elf_link_add_object_symbols): Return via
245 error_free_vers on "notice" failure.
246
247 2007-07-04 H.J. Lu <hongjiu.lu@intel.com>
248
249 * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
250 if arch is unknown.
251
252 2007-07-04 Nick Clifton <nickc@redhat.com>
253
254 Import this patch from an internal tree:
255
256 2001-07-17 Richard Henderson <rth@redhat.com>
257
258 * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
259 compensate for high bit set in R_MEP_LOW16.
260
261 2007-07-03 Joseph Myers <joseph@codesourcery.com>
262
263 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
264 input attributes if value has been copied.
265
266 2007-07-03 Nick Clifton <nickc@redhat.com>
267
268 * COPYING: Replace with GPLv3 text.
269 * aix386-core.c: Update copyright notice to refer to GPLv3.
270 * aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c,
271 aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c,
272 aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c,
273 archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c,
274 binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c,
275 cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c,
276 coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c,
277 coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c,
278 coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
279 coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
280 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
281 coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c,
282 coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c,
283 coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c,
284 cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c,
285 cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
286 cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
287 cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
288 cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c,
289 cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c,
290 cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
291 cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c,
292 cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c,
293 cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c,
294 cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c,
295 cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c,
296 cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c,
297 demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c,
298 ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c,
299 elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
300 elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c,
301 elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c,
302 elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
303 elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
304 elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
305 elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c,
306 elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c,
307 elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c,
308 elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c,
309 elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c,
310 elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c,
311 elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h,
312 elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c,
313 elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c,
314 elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c,
315 elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
316 elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h,
317 elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c,
318 elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c,
319 elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
320 elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c,
321 epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h,
322 hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c,
323 hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
324 i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
325 i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
326 libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h,
327 libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h,
328 linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c,
329 m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c,
330 mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h,
331 newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c,
332 nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h,
333 ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c,
334 pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h,
335 pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h,
336 pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c,
337 pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c,
338 pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c,
339 reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c,
340 simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c,
341 srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c,
342 sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h,
343 trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c,
344 vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c,
345 xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c,
346 xtensa-modules.c: Likewise.
347 * elf32-sh-relocs.h: Add copyright notice.
348 * hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h,
349 hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h,
350 hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h,
351 hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h,
352 hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h,
353 hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h,
354 hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h,
355 hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise.
356 * bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
357
358 2007-07-02 Joseph Myers <joseph@codesourcery.com>
359
360 * elfxx-mips.c (mips_elf_calculate_relocation): Handle
361 R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
362 * elf64-mips.c (mips_elf64_howto_table_rela): Support
363 R_MIPS_TLS_DTPREL64.
364
365 2007-07-02 Alan Modra <amodra@bigpond.net.au>
366
367 * Makefile.am: Run "make dep-am".
368 * Makefile.in: Regenerate.
369 * aclocal.m4: Regenerate.
370 * config.in: Regenerate.
371 * po/SRC-POTFILES.in: Regenerate.
372 * po/bfd.pot: Regenerate.
373
374 2007-07-02 Alan Modra <amodra@bigpond.net.au>
375
376 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
377 symsec != NULL tests.
378
379 2007-07-02 Alan Modra <amodra@bigpond.net.au>
380
381 PR 4712
382 * elf.c (assign_file_positions_for_load_sections): Adjust lma
383 by p_vaddr_offset.
384
385 2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
386
387 * aclocal.m4: Regenerated.
388 * Makefile.in: Likewise.
389
390 2007-06-29 Joseph Myers <joseph@codesourcery.com>
391
392 * elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
393 (ppc_elf_merge_private_bfd_data): Call it.
394
395 2007-06-29 Joseph Myers <joseph@codesourcery.com>
396
397 * elfxx-mips.c (mips_elf_merge_obj_attributes): New.
398 (_bfd_mips_elf_merge_private_bfd_data): Call it.
399
400 2007-06-29 Joseph Myers <joseph@codesourcery.com>
401
402 * elf-attrs.c: New.
403 * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
404 (BFD32_BACKENDS_CFILES): Add elf-attrs.c.
405 (elf-attrs.lo): Generate dependencies.
406 * Makefile.in: Regenerate.
407 * configure.in (elf): Add elf-attrs.lo.
408 * configure: Regenerate.
409 * elf-bfd.h (struct elf_backend_data): Add entries for object
410 attributes.
411 (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
412 OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
413 Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
414 New.
415 (struct elf_obj_tdata): Add entries for object attributes.
416 (elf_known_obj_attributes, elf_other_obj_attributes,
417 elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
418 New.
419 (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
420 bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
421 bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
422 bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
423 bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
424 _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
425 _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
426 * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
427 (bfd_section_from_shdr): Handle attributes sections.
428 * elflink.c (bfd_elf_final_link): Handle attributes sections.
429 * elfxx-target.h (elf_backend_obj_attrs_vendor,
430 elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
431 elf_backend_obj_attrs_section_type): New.
432 (elfNN_bed): Update.
433 * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
434 aeabi_attribute_list): Remove.
435 (struct elf32_arm_obj_tdata): Remove object attributes fields.
436 (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
437 elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
438 Update for new object attributes interfaces.
439 (uleb128_size, is_default_attr, eabi_attr_size,
440 elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
441 elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
442 elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
443 elf32_arm_add_eabi_attr_int, attr_strdup,
444 elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
445 copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved
446 to generic code in elf-attrs.c.
447 (elf32_arm_obj_attrs_arg_type): New.
448 (elf32_arm_fake_sections): Do not handle .ARM.attributes.
449 (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
450 (bfd_elf32_bfd_final_link): Remove.
451 (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
452 elf_backend_obj_attrs_arg_type,
453 elf_backend_obj_attrs_section_type): New.
454 * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
455 attributes.
456 * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
457 * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
458 * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
459 * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
460 * elf32-sh.c (sh_elf_copy_private_data): Likewise.
461 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
462
463 2007-06-29 Paul Brook <paul@codesourcery.com>
464
465 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
466 call veneers for call relocations against undefined symbols.
467 (elf32_arm_final_link_relocate): Turn call to undefined symbol
468 into a jump to the next instruction.
469
470 2007-06-29 Michael Snyder <msnyder@svkmacdonelllnx>
471
472 * bfd.c (bfd_demangle): Plug memory leak (Coverity).
473
474 2007-06-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
475
476 * Makefile.am: Add cr16 related entry
477 * Makefile.in: Regenerate
478 * archures.c: Add bfd_cr16_arch
479 * bfd-in2.h: Regenerate
480 * config.bfd: Add cr16-elf
481 * configure.in: Add bfd_elf32_cr16_vec
482 * configure: Regenerate.
483 * targets.c: Added cr16 related information
484 * cpu-cr16.c: New file.
485 * elf32-cr16.c: New file.
486 * reloc.c: Added cr16 relocs.
487
488 2007-06-29 Alan Modra <amodra@bigpond.net.au>
489
490 * elflink.c (_bfd_elf_link_assign_sym_version): Improve error
491 message for undefined version nodes.
492 (elf_gc_sweep): Don't warn when zero size sections are
493 removed.
494
495 2007-06-29 Nathan Froyd <froydnj@codesourcery.com>
496
497 * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
498 types.
499
500 2007-06-29 Alan Modra <amodra@bigpond.net.au>
501
502 * elf32-spu.c (spu_elf_fake_sections): New function.
503 (elf_backend_fake_sections): Define.
504
505 2007-06-29 Alan Modra <amodra@bigpond.net.au>
506
507 * elf.c (assign_file_positions_for_load_sections): Use elf
508 section header sh_size rather than bfd section size, simplifying
509 .tbss handling.
510
511 2007-06-29 Alan Modra <amodra@bigpond.net.au>
512
513 PR ld/4701
514 * elf.c (assign_file_positions_for_load_sections): Ensure bss
515 segments meet gABI alignment requirements. Don't allocate
516 file space for bss sections in a segment also containing file
517 or program headers.
518
519 2007-06-27 Alan Modra <amodra@bigpond.net.au>
520
521 * bfd.c (struct bfd): Rename "next" to "archive_next".
522 * archive.c: Rename uses throughout file.
523 * archive64.c: Likewise.
524 * coff-rs6000.c: Likewise.
525 * ecoff.c: Likewise.
526 * som.c: Likewise.
527 * bfd-in2.h: Regenerate.
528
529 * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
530 input bfds.
531 * elf32-spu.c (spu_elf_create_sections): Likewise.
532
533 2007-06-26 H.J. Lu <hongjiu.lu@intel.com>
534
535 * dwarf2.c (find_line): New. Contains the duplicated code from:
536 (_bfd_dwarf2_find_nearest_line): Use it.
537 (_bfd_dwarf2_find_line): Use it.
538
539 2007-06-26 Joseph Myers <joseph@codesourcery.com>
540
541 * elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
542
543 2007-06-25 Richard Sandiford <richard@codesourcery.com>
544
545 * elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
546 to be used for calls from MIPS16 code.
547
548 2007-06-23 Andreas Schwab <schwab@suse.de>
549
550 * configure.in (--with-separate-debug-dir): New option.
551 * configure: Regenerate.
552 * Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR.
553 * Makefile.in: Regenerate.
554 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to
555 bfd_follow_gnu_debuglink.
556 (_bfd_dwarf2_find_line): Likewise.
557
558 2007-06-22 Nick Clifton <nickc@redhat.com>
559
560 * dwarf2.c: Add support for reading in debug information via a
561 .gnu_debuglink section:
562 (struct dwarf2_debug): Add bfd field to record the bfd containing
563 the debug info.
564 (parse_comp_unit): Remove ABFD parameter. Instead use the bfd
565 field in the dwarf2_debug structure.
566 (_bfd_dwarf2_find_nearest_line): If a debug info section could not
567 be found in the current bfd call bfd_follow_gnu_debuglink to see
568 if another file contains the debug information. If it does, open
569 it and continue.
570 (_bfd_dwarf2_find_line): Likewise.
571
572 2007-06-19 H.J. Lu <hongjiu.lu@intel.com>
573
574 PR ld/4590
575 * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
576 when removing duplicated entries.
577 (get_dyn_sym_info): Initialize the got_offset field to -1.
578 Update call to sort_dyn_sym_info.
579 (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
580 array of addend and remove duplicates.
581
582 2007-06-18 H.J. Lu <hongjiu.lu@intel.com>
583
584 * libpei.h (_bfd_XXi_final_link_postscript): Remove
585 duplication.
586 (bfd_target_pei_p): New.
587 (bfd_target_pei_arch): New
588 (bfd_target_efi_p): Likewise.
589 (bfd_target_efi_arch): New
590 (bfd_pe_executable_p): Use bfd_target_pei_p and
591 bfd_target_efi_p.
592
593 * peicode.h (arch_type): New enum.
594 (pe_arch): New function.
595 (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
596 if there is an EFI/PE target.
597
598 2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
599
600 * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
601
602 * acinclude.m4: Don't include m4 files. Remove libtool
603 kludge.
604
605 * Makefile.in: Regenerated.
606 * aclocal.m4: Likewise.
607 * configure: Likewise.
608
609 2007-06-11 Sterling Augustine <sterling@tensilica.com>
610 Bob Wilson <bob.wilson@acm.org>
611
612 * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
613 XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
614 (extend_ebb_bounds_backward, compute_text_actions): Likewise.
615 (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
616 (xtensa_get_property_predef_flags): Likewise.
617 (compute_removed_literals): Pass new arguments to is_removable_literal.
618 (is_removable_literal): Add sec, prop_table and ptblsize arguments.
619 Do not remove literal if the NO_TRANSFORM property flag is set.
620
621 2007-05-31 Richard Sandiford <rsandifo@nildram.co.uk>
622
623 * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
624 type (3) single-GOT entry, read tls_type from the hash table entry
625 rather than the GOT entry.
626
627 2007-06-01 Alan Modra <amodra@bigpond.net.au>
628
629 * simple.c (bfd_simple_get_relocated_section_contents): Init
630 input_bfds_tail.
631
632 2007-05-30 Alan Modra <amodra@bigpond.net.au>
633
634 * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
635 created by objcopy --only-keep-debug.
636 (_bfd_elf_init_private_section_data): Only change elf_section_type
637 if it is SHT_NULL.
638
639 * elf.c (assign_file_positions_for_load_sections): Correct sh_type
640 to SHT_NOBITS earlier. Base actions in rest of function on sh_type
641 and sh_flags instead of bfd section flags. Delete voff and code
642 keeping nobits segments aligned.
643
644 2007-05-25 Eric Christopher <echristo@apple.com>
645
646 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
647 Check that sym_sec isn't NULL before accessing.
648
649 2007-05-24 Steve Ellcey <sje@cup.hp.com>
650
651 * Makefile.in: Regnerate.
652 * configure: Regenerate.
653 * aclocal.m4: Regenerate.
654 * doc/Makefile.in: Regenerate.
655
656 2007-05-22 Paul Brook <paul@codesourcery.com>
657
658 * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
659 with sec and sec_shndx.
660 (elf32_arm_ouput_plt_map_sym): Use them.
661 (elf32_arm_output_arch_local_syms): Output mapping symbols for
662 interworking glue.
663
664 2007-05-18 Paul Brook <paul@codesourcery.com>
665
666 * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
667 (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
668 (record_arm_to_thumb_glue): Add v5t non-pic glue.
669 (elf32_arm_create_thumb_stub): Ditto.
670
671 2007-05-16 H.J. Lu <hongjiu.lu@intel.com>
672 Alan Modra <amodra@bigpond.net.au>
673
674 * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
675 section to the minimum alignment.
676
677 2007-05-15 H.J. Lu <hongjiu.lu@intel.com>
678 Alan Modra <amodra@bigpond.net.au>
679
680 PR ld/4504
681 * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
682 * elflink.c (_bfd_elf_adjust_dynamic_copy): New.
683
684 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
685 _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
686 bss section.
687 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
688 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
689 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
690 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
691 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
692 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
693 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
694 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
695 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
696 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
697 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
698 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
699 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
700 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
701 * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
702 * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
703 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
704
705 2007-05-15 Richard Sandiford <richard@codesourcery.com>
706
707 * elfxx-mips.c (mips_elf_create_local_got_entry): Remove
708 input_section argument. Create .rela.dyn relocations against
709 symbol 0 rather than the section symbol.
710 (mips_elf_local_got_index): Remove input_section argument.
711 Update call to mips_elf_create_local_got_entry.
712 (mips_elf_got_page, mips_elf_got16_entry): Likewise.
713 (mips_elf_calculate_relocation): Update calls to
714 mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
715
716 2007-05-15 Mark Shinwell <shinwell@codesourcery.com>
717
718 * elf32-arm.c (elf32_arm_final_link_relocate): Correctly
719 handle the Thumb-2 JUMP19 relocation.
720
721 2007-05-15 Alan Modra <amodra@bigpond.net.au>
722
723 PR 4479
724 * elf.c (elf_fake_sections): Don't allow backend to change
725 SHT_NOBITS if called for strip/objcopy --only-keep-debug.
726 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
727 fix from here.
728
729 2007-05-14 Alan Modra <amodra@bigpond.net.au>
730
731 * elf.c (bfd_elf_string_from_elf_section): Return NULL on
732 invalid shstrndx.
733 (bfd_elf_get_str_section): Likewise.
734
735 2007-05-12 Alan Modra <amodra@bigpond.net.au>
736
737 PR 4497
738 * elf-eh-frame.c (struct cie): Add "local_personality". Make
739 "personality" a union.
740 (cie_eq): Compare local_personality too. Adjust personality
741 comparison.
742 (_bfd_elf_discard_section_eh_frame): Check binding on personality
743 reloc sym to allow for bad symtab. Use stashed local syms rather
744 than reading personality local sym. Handle discarded sections.
745
746 2007-05-12 Alan Modra <amodra@bigpond.net.au>
747
748 * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
749
750 2007-05-11 Alan Modra <amodra@bigpond.net.au>
751
752 * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
753 (enum ppc_elf_plt_type): Move from..
754 * elf32-ppc.c: ..here.
755 (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
756 (struct ppc_elf_link_hash_table): Reorder. Add old_bfd. Delete
757 can_use_new_plt. Make is_vxworks a bitfield.
758 (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
759 (ppc_elf_check_relocs): Update setting of reloc flags. Set old_bfd.
760 (ppc_elf_select_plt_layout): Modify parameters. Use bfd reloc
761 flags to better detect object files needing old bss-style plt.
762 Allow secure plt to be used without rel16 relocs being detected.
763 Warn if secure plt request cannot be allowed.
764
765 2007-05-11 Alan Modra <amodra@bigpond.net.au>
766
767 * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
768 * elf-bfd.h (struct elf_backend_data): Change return type of
769 elf_backend_relocate_section to int.
770 * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
771 R_SPU_PPU64.
772 (spu_elf_bfd_to_reloc_type): Convert new relocs.
773 (spu_elf_count_relocs): New function.
774 (elf_backend_count_relocs): Define.
775 (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
776 R_SPU_PPU64 relocs.
777 * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
778 returns 2.
779 * bfd-in2.h: Regenerate.
780 * libbfd.h: Regenerate.
781
782 2007-05-10 Richard Sandiford <richard@codesourcery.com>
783
784 * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
785 for R_ARM_ABS12 relocs.
786 (elf32_arm_finish_dynamic_symbol): Fix the loop that creates
787 non-shared VxWorks PLT entries.
788
789 2007-05-11 Alan Modra <amodra@bigpond.net.au>
790
791 PR 4454
792 * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
793 (_bfd_elf_discard_section_eh_frame): Handle local syms on
794 personality relocation.
795
796 2007-05-10 Richard Sandiford <richard@codesourcery.com>
797
798 * elf.c (assign_file_positions_for_load_sections): Use p_memsz
799 rather than p_filesz to calculate the LMA of the end of a segment.
800
801 2007-05-10 Jakub Jelinek <jakub@redhat.com>
802
803 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
804 processing if symbol is defined in the executable.
805
806 2007-05-10 Alexandre Oliva <aoliva@redhat.com>
807
808 * elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
809 (frvfdpic_elf_discard_info): New.
810 (elf_backend_discard_info): Define for FDPIC.
811
812 2007-05-09 Mark Shinwell <shinwell@codesourcery.com>
813
814 * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
815 attempt to scan if the bfd doesn't correspond to an ELF image.
816 (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
817
818 2007-05-08 Alexandre Oliva <aoliva@redhat.com>
819
820 * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
821 for which _bfd_elf_section_offset returns -1.
822
823 2007-05-08 Alan Modra <amodra@bigpond.net.au>
824
825 * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
826 (mark_functions_via_relocs): Likewise.
827
828 2007-05-07 Alan Modra <amodra@bigpond.net.au>
829
830 * elflink.c (bfd_elf_final_link): Correct reloc handling for
831 elf_backend_count_relocs.
832 (bfd_elf_discard_info): Print an error if we can't read syms.
833
834 2007-05-07 Alan Modra <amodra@bigpond.net.au>
835
836 * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
837 invalid reloc code.
838 (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
839 (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
840 define.
841
842 2007-05-07 Alan Modra <amodra@bigpond.net.au>
843
844 * elf.c (assign_file_positions_for_load_sections): Don't check
845 core segment.
846
847 2007-05-04 H.J. Lu <hongjiu.lu@intel.com>
848
849 * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
850 and .rel.dyn aren't present.
851
852 2007-05-04 Nick Clifton <nickc@redhat.com>
853
854 * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
855 sections are present examine the indirect sections in an attempt
856 to compute the correct relocation size. If there is any
857 ambiguity, produce an error and refuse to sort.
858
859 2007-05-03 Sandra Loosemore <sandra@codesourcery.com>
860
861 * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
862
863 2007-05-03 Vincent Riviere <vincent.riviere@freesbee.fr>
864 Nick Clifton <nickc@redhat.com>
865
866 PR gas/3041
867 * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
868 in the same way as relocs against external symbols.
869
870 2007-05-02 Alan Modra <amodra@bigpond.net.au>
871
872 * elf.c (assign_file_positions_for_load_sections): Set sh_offset
873 here. Set sh_type to SHT_NOBITS if we won't be allocating
874 file space. Don't bump p_memsz for non-alloc sections. Adjust
875 section-in-segment check.
876 (assign_file_positions_for_non_load_sections): Don't set sh_offset
877 here for sections that have already been handled above.
878
879 2007-04-30 Alan Modra <amodra@bigpond.net.au>
880
881 * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
882 and emit_stack_syms bitfields.
883 (get_sym_h): Read all symbols if stack analysis will be done.
884 (spu_elf_create_sections): Add stack_analysis and emit_stack_syms
885 params, and stash in hash table.
886 (is_hint): Split off from..
887 (is_branch): ..here. Adjust callers.
888 (spu_elf_size_stubs): Add stack_analysis param. Arrange to read
889 and keep all syms.
890 (write_one_stub): Fix mem leak.
891 (find_function_stack_adjust): New function.
892 (sort_syms_syms, sort_syms_psecs): New vars.
893 (sort_syms): New function.
894 (struct call_info, struct function_info): New.
895 (struct spu_elf_stack_info): New.
896 (alloc_stack_info, maybe_insert_function, func_name): New functions.
897 (is_nop, insns_at_end, check_function_ranges): Likewise.
898 (find_function, insert_callee, mark_functions_via_relocs): Likewise.
899 (pasted_function, interesting_section, discover_functions): Likewise.
900 (mark_non_root, call_graph_traverse, build_call_tree): Likewise.
901 (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
902 (bfd_elf32_bfd_final_link): Define.
903 * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
904 (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
905
906 2007-04-28 Sergey Rogozhkin <rogozhkin@niisi.msk.ru>
907
908 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
909 memory which we might not own.
910
911 2007-04-27 Bob Wilson <bob.wilson@acm.org>
912
913 * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
914 (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
915 (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
916
917 2007-04-27 Bob Wilson <bob.wilson@acm.org>
918
919 * elf32-xtensa.c (xtensa_read_table_entries): Step through table
920 contents and relocs in parallel.
921
922 2007-04-27 Bob Wilson <bob.wilson@acm.org>
923
924 * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
925
926 2007-04-27 Alan Modra <amodra@bigpond.net.au>
927
928 * cpu-rs6000.c: Write Mimi's name in ASCII.
929 * coff-rs6000.c: Likewise.
930 * rs6000-core.c: Likewise.
931
932 2007-04-27 Alan Modra <amodra@bigpond.net.au>
933
934 * sysdep.h: Include config.h first.
935 Many files: Include sysdep.h before bfd.h.
936 * Makefile.am: Run "make dep-am".
937 * Makefile.in: Regenerate.
938
939 2007-04-25 Alan Modra <amodra@bigpond.net.au>
940
941 * sysdep.h: Revert last change.
942
943 2007-04-24 Nick Clifton <nickc@redhat.com>
944
945 * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
946 * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
947
948 2007-04-24 Alan Modra <amodra@bigpond.net.au>
949
950 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
951 eh_frame_hdr table won't be created.
952
953 2007-04-24 Alan Modra <amodra@bigpond.net.au>
954
955 * acinclude.m4: Include config/stdint.m4.
956 * configure.in: Invoke GCC_HEADER_STDINT.
957 * sysdep.h: Don't include ansidecl.h here.
958 * configure: Regenerate.
959 * config.in: Regenerate.
960 * Makefile.in: Regenerate.
961
962 2007-04-23 Nathan Sidwell <nathan@codesourcery.com>
963
964 * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
965 bfd_mach_mcf_isa_c_emac): New.
966 * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
967 elf_isac_plt_entry, elf_isac_plt_info): New.
968 (elf32_m68k_object_p): Add ISA_C.
969 (elf32_m68k_print_private_bfd_data): Print ISA_C.
970 (elf32_m68k_get_plt_info): Detect ISA_C.
971 * cpu-m68k.c (arch_info): Add ISAC.
972 (m68k_arch_features): Likewise,
973 (bfd_m68k_compatible): ISAs B & C are not compatible.
974
975 2007-04-21 Nick Clifton <nickc@redhat.com>
976
977 * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
978 (ecoff_link_add_archive_symbols): Likewise.
979 * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
980 relent.howto.
981 * ieee.c (parse_int): Initialise x.
982 (must_parse_int): Initialise result.
983 (ieee_slurp_external_symbols): Initialise value.
984
985 2007-04-21 Alan Modra <amodra@bigpond.net.au>
986
987 * config.bfd (spu-*-elf): Delete targ_selvecs.
988
989 2007-04-19 Nick Clifton <nickc@redhat.com>
990
991 * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
992
993 2007-04-19 Alan Modra <amodra@bigpond.net.au>
994
995 * bfd.c (bfd_demangle): New function.
996 * Makefile.am: Run "make dep-am".
997 * Makefile.in: Regenerate.
998 * bfd-in2.h: Regenerate.
999
1000 2007-04-18 Matthias Klose <doko@ubuntu.com>
1001
1002 * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
1003 (bfdver.h): Use the date in non-release builds for the soversion.
1004 * Makefile.in: Regenerate.
1005
1006 2007-04-17 Paul Brook <paul@codesourcery.com>
1007
1008 * elf.c (_bfd_elf_is_function_type): New function.
1009 * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
1010 (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
1011 is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
1012 * elf-bfd.h (elf_backend_data): Add is_function_type.
1013 (_bfd_elf_is_function_type): Add prototype.
1014 * elfxx-target.h (elf_backend_is_function_type): Add default
1015 definition.
1016 (elfNN_bed): Add elf_backend_is_function_type.
1017 * elf32-arm.c (elf32_arm_is_function_type): New function.
1018 (elf_backend_is_function_type): Define.
1019
1020 2007-04-17 Daniel Jacobowitz <dan@codesourcery.com>
1021
1022 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
1023 DT_MIPS_RLD_MAP before DT_DEBUG again.
1024
1025 2007-04-14 Steve Ellcey <sje@cup.hp.com>
1026
1027 * Makefile.am: Add ACLOCAL_AMFLAGS.
1028 * configure.in: Change macro call order.
1029 * Makefile.in: Regnerate.
1030 * doc/Makefile.in: Regenerate.
1031 * configure: Regenerate.
1032
1033 2007-04-14 Jakub Jelinek <jakub@redhat.com>
1034
1035 * elflink.c (bfd_elf_final_link): Don't free symbuf for
1036 non-elf input bfds.
1037 (bfd_elf_size_dynamic_sections): Don't access elf_section_data
1038 for non-elf input bfds.
1039
1040 2007-04-12 Richard Sandiford <richard@codesourcery.com>
1041
1042 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
1043 DT_MIPS_RTLD_MAP for PIEs.
1044
1045 2007-04-12 Richard Sandiford <richard@codesourcery.com>
1046
1047 * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
1048 when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
1049 in a read-only section.
1050 (_bfd_mips_elf_check_relocs): Likewise.
1051
1052 2007-04-12 Bob Wilson <bob.wilson@acm.org>
1053
1054 * elf32-xtensa.c (xtensa_is_insntable_section): New.
1055 (xtensa_is_proptable_section): New.
1056 (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
1057 tables with 12-byte entries, as well as tables with 8-byte entries.
1058 Sort the relocations before examining them.
1059 (relax_property_section): Use xtensa_is_proptable_section and
1060 xtensa_is_littable_section. Rewrite code for combining table entries
1061 to be more robust in case of unexpected relocations. Do not set offset
1062 of unused relocations to less than zero.
1063 (xtensa_is_property_section): Use other functions instead of
1064 duplicating section name comparisons.
1065 (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
1066 (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
1067
1068 2007-04-12 Bob Wilson <bob.wilson@acm.org>
1069
1070 * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
1071 from Xtensa property sections.
1072
1073 2007-04-12 Alan Modra <amodra@bigpond.net.au>
1074
1075 * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
1076 is non-NULL before dereferencing.
1077
1078 2007-04-11 Nathan Sidwell <nathan@codesourcery.com>
1079
1080 * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
1081 relocs too.
1082
1083 2007-04-10 Richard Henderson <rth@redhat.com>
1084
1085 * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
1086 (elf64_alpha_size_got_sections): Remove unused something_changed local.
1087 (elf64_alpha_size_plt_section): Return void.
1088 (elf64_alpha_size_rela_got_section): Likewise.
1089 (elf64_alpha_relax_section): Only regenerate got+plt if the
1090 relax_trip counter has changed.
1091
1092 2007-04-09 Daniel Jacobowitz <dan@codesourcery.com>
1093
1094 * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
1095 * doc/Makefile.am (DOCFILES): Add bfdver.texi.
1096 (bfdver.texi): New rule.
1097 * Makefile.in, doc/Makefile.in: Regenerated.
1098
1099 2007-04-03 Matt Thomas <matt@netbsd.org>
1100
1101 * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
1102 in a shared object if it is not in a CODE section or if it is against
1103 a section symbol. This allows DWARF2 to use pcrel format.
1104
1105 2007-04-05 H.J. Lu <hongjiu.lu@intel.com>
1106
1107 PR ld/4304
1108 * elflink.c (bfd_elf_final_link): Call einfo callback in
1109 bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
1110 warning.
1111
1112 2007-04-05 Alan Modra <amodra@bigpond.net.au>
1113
1114 * elf32-spu.c (spu_elf_output_symbol_hook): New function.
1115 (elf_backend_link_output_symbol_hook): Define.
1116
1117 2007-04-02 Nick Clifton <nickc@redhat.com>
1118
1119 PR binutils/4292
1120 * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
1121 targets as 64-bit values, even if running on a 64-bit host.
1122 * coffgen.c (coff_print_symbol): Likewise.
1123
1124 2007-03-29 Nick Clifton <nickc@redhat.com>
1125
1126 PR binutils/4110
1127 * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
1128 (setup_group): Use it. Report corrupt group section headers.
1129 (bfd_section_from_shdr): Use new macro. Replace constant 4 with
1130 GRP_ENTRY_SIZE. Cope with NULLs in the group section table.
1131 (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
1132
1133 2007-03-29 Alan Modra <amodra@bigpond.net.au>
1134
1135 PR ld/4267
1136 * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
1137 for rel->r_info values.
1138 (bfd_elf_perform_complex_relocation): Likewise.
1139 * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
1140 unused entries. Don't clear plt.plist in loop.
1141
1142 2007-03-28 Richard Sandiford <richard@codesourcery.com>
1143
1144 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
1145 * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
1146 Merge into...
1147 (sparc_elf_append_rela): ...this new function.
1148 (SPARC_ELF_APPEND_RELA): Delete.
1149 (_bfd_sparc_elf_link_hash_table_create): Don't initialize
1150 the deleted append_rela field.
1151 (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
1152 instead of SPARC_ELF_APPEND_RELA.
1153 (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. Use the
1154 elf_size_info structure to find the size of a RELA entry and
1155 the associated swap-out function.
1156 (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
1157 (sparc_finish_dyn): ...this new function.
1158 (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
1159
1160 2007-03-28 Richard Sandiford <richard@codesourcery.com>
1161 Phil Edwards <phil@codesourcery.com>
1162
1163 * doc/bfd.texinfo: Put the contents after the title page rather
1164 than at the end of the document.
1165
1166 2007-03-27 Andreas Schwab <schwab@suse.de>
1167
1168 * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
1169
1170 2007-03-26 H.J. Lu <hongjiu.lu@intel.com>
1171
1172 * configure: Regenerated.
1173
1174 2007-03-26 Alan Modra <amodra@bigpond.net.au>
1175
1176 * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
1177 (allocate_spuear_stubs): New function.
1178 (spu_elf_size_stubs): Call allocate_spuear_stubs.
1179
1180 2007-03-26 Alan Modra <amodra@bigpond.net.au>
1181
1182 * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
1183 * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
1184 (MY (bfd_reloc_name_lookup)): New function.
1185 * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
1186 * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
1187 (MY_bfd_reloc_name_lookup): Define.
1188 * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
1189 (MY_bfd_reloc_name_lookup): Define.
1190 * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
1191 (NAME (aout, reloc_name_lookup)): New function.
1192 * bout.c (b_out_bfd_reloc_name_lookup): New function.
1193 * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
1194 (_bfd_ecoff_bfd_reloc_name_lookup): Define.
1195 * coff-arm.c (coff_arm_reloc_name_lookup): New function.
1196 (coff_bfd_reloc_name_lookup): Define.
1197 * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
1198 (coff_i386_reloc_name_lookup): New function.
1199 * coff-i860.c (coff_i860_reloc_name_lookup): New function.
1200 (coff_bfd_reloc_name_lookup): Define.
1201 * coff-i960.c (coff_i960_reloc_name_lookup): New function.
1202 (coff_bfd_reloc_name_lookup): Define.
1203 * coff-m68k.c (m68k_reloc_name_lookup): New function.
1204 (coff_bfd_reloc_name_lookup): Define.
1205 * coff-maxq.c (maxq_reloc_name_lookup): New function.
1206 (coff_bfd_reloc_name_lookup): Define.
1207 * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
1208 (coff_bfd_reloc_name_lookup): Define.
1209 * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
1210 (_bfd_ecoff_bfd_reloc_name_lookup): Define.
1211 * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
1212 (coff_bfd_reloc_name_lookup): Define.
1213 * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1214 (_bfd_xcoff_reloc_name_lookup): New function.
1215 (rs6000coff_vec, pmac_xcoff_vec): Init new field.
1216 * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
1217 (sh_coff_reloc_name_lookup): New function.
1218 * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
1219 (coff_bfd_reloc_name_lookup): Define.
1220 * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
1221 (tic30_coff_reloc_name_lookup): New function.
1222 * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
1223 (tic4x_coff_reloc_name_lookup): New function.
1224 * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
1225 (tic54x_coff_reloc_name_lookup): New function.
1226 * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
1227 (coff_amd64_reloc_name_lookup): New function.
1228 * coff-z80.c (coff_z80_reloc_name_lookup): New function.
1229 (coff_bfd_reloc_name_lookup): Define.
1230 * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
1231 (coff_bfd_reloc_name_lookup): Define.
1232 * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1233 (xcoff64_reloc_name_lookup): New function.
1234 (rs6000coff64_vec, aix5coff64_vec): Init new field.
1235 * coffcode.h (coff_bfd_reloc_name_lookup): Define.
1236 * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
1237 * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1238 * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1239 * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1240 * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
1241 (bfd_elf32_bfd_reloc_name_lookup): Define.
1242 * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1243 * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
1244 (bfd_elf32_bfd_reloc_name_lookup): Define.
1245 * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
1246 (bfd_elf32_bfd_reloc_name_lookup): Define.
1247 * elf32-cris.c (cris_reloc_name_lookup): New function.
1248 (bfd_elf32_bfd_reloc_name_lookup): Define.
1249 * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
1250 (bfd_elf32_bfd_reloc_name_lookup): Define.
1251 * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1252 * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1253 * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
1254 (bfd_elf32_bfd_reloc_name_lookup): Define.
1255 * elf32-fr30.c (fr30_reloc_name_lookup): New function.
1256 (bfd_elf32_bfd_reloc_name_lookup): Define.
1257 * elf32-frv.c (frv_reloc_name_lookup): New function.
1258 (bfd_elf32_bfd_reloc_name_lookup): Define.
1259 * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1260 * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
1261 (bfd_elf32_bfd_reloc_name_lookup): Define.
1262 * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1263 * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
1264 (bfd_elf32_bfd_reloc_name_lookup): Define.
1265 * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
1266 (bfd_elf32_bfd_reloc_name_lookup): Define.
1267 * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
1268 (bfd_elf32_bfd_reloc_name_lookup): Define.
1269 * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
1270 (bfd_elf32_bfd_reloc_name_lookup): Define.
1271 * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
1272 (bfd_elf32_bfd_reloc_name_lookup): Define.
1273 * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
1274 (bfd_elf32_bfd_reloc_name_lookup): Define.
1275 * elf32-m32c.c (m32c_reloc_name_lookup): New function.
1276 (bfd_elf32_bfd_reloc_name_lookup): Define.
1277 * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1278 * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1279 * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1280 * elf32-m68k.c (reloc_name_lookup): New function.
1281 (bfd_elf32_bfd_reloc_name_lookup): Define.
1282 * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1283 * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
1284 (bfd_elf32_bfd_reloc_name_lookup): Define.
1285 * elf32-mep.c (mep_reloc_name_lookup): New function.
1286 (bfd_elf32_bfd_reloc_name_lookup): Define.
1287 * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1288 (mips_vxworks_bfd_reloc_name_lookup): Likewise.
1289 (bfd_elf32_bfd_reloc_name_lookup): Define.
1290 * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1291 * elf32-mt.c (mt_reloc_name_lookup): New function.
1292 (bfd_elf32_bfd_reloc_name_lookup): Define.
1293 * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
1294 (bfd_elf32_bfd_reloc_name_lookup): Define.
1295 * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1296 * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
1297 (bfd_elf32_bfd_reloc_name_lookup): Define.
1298 * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
1299 (bfd_elf32_bfd_reloc_name_lookup): Define.
1300 * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
1301 (bfd_elf32_bfd_reloc_name_lookup): Define.
1302 * elf32-score.c (elf32_score_reloc_name_lookup): New function.
1303 (bfd_elf32_bfd_reloc_name_lookup): Define.
1304 * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
1305 (bfd_elf32_bfd_reloc_name_lookup): Define.
1306 * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1307 * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
1308 (bfd_elf32_bfd_reloc_name_lookup): Define.
1309 * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
1310 (bfd_elf32_bfd_reloc_name_lookup): Define.
1311 * elf32-vax.c (reloc_name_lookup): New function.
1312 (bfd_elf32_bfd_reloc_name_lookup): Define.
1313 * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
1314 (bfd_elf32_bfd_reloc_name_lookup): Define.
1315 * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
1316 (bfd_elf32_bfd_reloc_name_lookup): Define.
1317 * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
1318 (bfd_elf32_bfd_reloc_name_lookup): Define.
1319 * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
1320 (bfd_elf64_bfd_reloc_name_lookup): Define.
1321 * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1322 * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1323 * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1324 * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1325 * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
1326 (bfd_elf64_bfd_reloc_name_lookup): Define.
1327 * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
1328 (bfd_elf64_bfd_reloc_name_lookup): Define.
1329 * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
1330 (bfd_elf64_bfd_reloc_name_lookup): Define.
1331 * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1332 * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
1333 (bfd_elf64_bfd_reloc_name_lookup): Define.
1334 * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1335 * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
1336 (bfd_elfNN_bfd_reloc_name_lookup): Define.
1337 * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
1338 * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
1339 * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
1340 * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
1341 * ieee.c (ieee_bfd_reloc_name_lookup): Define.
1342 * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
1343 * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
1344 * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
1345 (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
1346 (MY(reloc_name_lookup)): New function.
1347 * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
1348 * oasys.c (oasys_bfd_reloc_name_lookup): Define.
1349 * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
1350 * pe-mips.c (coff_mips_reloc_name_lookup): New function.
1351 (coff_bfd_reloc_name_lookup): Define.
1352 * reloc.c (bfd_reloc_name_lookup): New function.
1353 * riscix.c (riscix_reloc_name_lookup): New function.
1354 (MY_bfd_reloc_name_lookup): Define.
1355 * som.c (som_bfd_reloc_name_lookup): New function.
1356 * targets.c (struct bfd_target): Add reloc_name_lookup.
1357 (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
1358 * versados.c (versados_bfd_reloc_name_lookup): Define.
1359 * vms.c (vms_bfd_reloc_name_lookup): New function.
1360 * bfd-in2.h: Regenerate.
1361 * libbfd.h: Regenerate.
1362
1363 2007-03-26 Thiemo Seufer <ths@mips.com>
1364
1365 PR ld/4208
1366 * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
1367 matching relocation is found.
1368 (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
1369
1370 2007-03-23 H.J. Lu <hongjiu.lu@intel.com>
1371
1372 * configure: Regenerated.
1373
1374 2007-03-23 Joseph Myers <joseph@codesourcery.com>
1375
1376 * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
1377 * configure: Regenerate.
1378
1379 2007-03-23 Alan Modra <amodra@bigpond.net.au>
1380
1381 * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
1382 Remove input_sec param. Adjust all calls.
1383 (write_one_stub): Adjust stub symbol.
1384 (needs_ovl_stub): New function, extracted from..
1385 (spu_elf_size_stubs): ..here.
1386 (spu_elf_relocate_section): Use needs_ovl_stub.
1387
1388 2007-03-22 Joseph Myers <joseph@codesourcery.com>
1389
1390 * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
1391 if nonempty.
1392 * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
1393 * Makefile.in, configure, doc/Makefile.in: Regenerate.
1394
1395 2007-03-22 H.J. Lu <hongjiu.lu@intel.com>
1396
1397 PR ld/4210
1398 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
1399 address and virtual size of the last section for the image
1400 size.
1401
1402 2007-03-22 H.J. Lu <hongjiu.lu@intel.com>
1403
1404 PR ld/4007
1405 * elf.c (assign_file_positions_for_load_sections): Check if
1406 all sections are in the segment.
1407
1408 2007-03-20 H.J. Lu <hongjiu.lu@intel.com>
1409
1410 PR ld/4208
1411 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
1412 matching LO16 relocation for HI16 relocation.
1413
1414 2007-03-20 Paul Brook <paul@codesourcery.com>
1415
1416 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
1417 * bfd-in2.h: Regenerate.
1418 * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
1419 (record_arm_to_thumb_glue): Use globals->pic_veneer.
1420 (elf32_arm_create_thumb_stub): Ditto.
1421 (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
1422
1423 2007-03-18 Mark Shinwell <shinwell@codesourcery.com>
1424
1425 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
1426 argument and extra last argument.
1427 * bfd-in2.h: Regenerate.
1428 * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
1429 member.
1430 (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
1431 extra last argument. Set no_enum_size_warning appropriately.
1432 (elf32_arm_merge_eabi_attributes): Improve enum sizes
1433 diagnostic, suppressing it when no_enum_size_warning dictates.
1434
1435 2007-03-20 Nick Clifton <nickc@redhat.com>
1436
1437 PR binutils/3535
1438 * elf.c (copy_private_bfd_data): Widen the scope of Solaris
1439 specific conditions that need the program headers to be
1440 rewritten.
1441
1442 2007-03-19 H.J. Lu <hongjiu.lu@intel.com>
1443
1444 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
1445 MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
1446 SizeOfInitializedData, SizeOfUninitializedData,
1447 AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
1448 extra PE a.out header.
1449 (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
1450 (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
1451 defined.
1452 (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
1453 defined.
1454 (_bfd_XX_print_private_bfd_data_common): Also print Magic,
1455 MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
1456 SizeOfInitializedData, SizeOfUninitializedData,
1457 AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
1458 extra PE a.out header.
1459
1460 2007-03-18 H.J. Lu <hongjiu.lu@intel.com>
1461
1462 * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
1463 only if BFD64 is defined.
1464
1465 2007-03-17 Alan Modra <amodra@bigpond.net.au>
1466
1467 * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
1468 on setjmp calls.
1469
1470 2007-03-15 H.J. Lu <hongjiu.lu@intel.com>
1471
1472 * doc/Makefile.in: Regenerated.
1473
1474 2007-03-15 H.J. Lu <hongjiu.lu@intel.com>
1475
1476 * Makefile.am (bfdver.h): Substitute report_bugs_to. Also
1477 create doc/bfdver.texi.
1478 * Makefile.in: Regenerated.
1479
1480 * configure.in (--with-bugurl): New option.
1481 * configure: Regenerated.
1482
1483 * version.h (REPORT_BUGS_TO): New.
1484
1485 2007-03-13 H.J. Lu <hongjiu.lu@intel.com>
1486
1487 PR binutils/3826
1488 * elf-bfd.h (elf_backend_data): Add elf_osabi.
1489 (_bfd_elf_set_osabi): New.
1490
1491 * elf.c (_bfd_elf_set_osabi): New.
1492
1493 * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
1494 (elf_backend_post_process_headers): Defined with
1495 _bfd_elf_set_osabi.
1496 (ELF_OSABI): Properly defined for each target.
1497
1498 * elf32-i370.c (i370_elf_post_process_headers): Removed.
1499 (ELF_OSABI): Defined.
1500 (elf_backend_post_process_headers): Defined with
1501 _bfd_elf_set_osabi.
1502
1503 * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
1504 freebsd.
1505 (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
1506
1507 * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
1508 (ELF_OSABI): Defined.
1509 (elf_backend_post_process_headers): Defined with
1510 _bfd_elf_set_osabi.
1511
1512 * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
1513 freebsd.
1514 (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
1515 elf_osabi.
1516
1517 * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
1518 with elf_osabi.
1519 (ELF_OSABI): Properly defined for each target.
1520 (elf_backend_post_process_headers): Defined with
1521 _bfd_elf_set_osabi for Linux.
1522
1523 * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
1524 (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
1525 (elf_backend_post_process_headers): Defined with
1526 _bfd_elf_set_osabi.
1527
1528 * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
1529 (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
1530 (elf_backend_post_process_headers): Defined with
1531 _bfd_elf_set_osabi.
1532
1533 * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
1534 with any ELF target of the compatible machine for which we do not
1535 have a specific backend.
1536
1537 * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
1538 with elf_osabi.
1539
1540 * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
1541 (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
1542
1543 2007-03-08 Alan Modra <amodra@bigpond.net.au>
1544
1545 * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
1546 V850_OTHER_* bits.
1547
1548 2007-03-08 Alan Modra <amodra@bigpond.net.au>
1549
1550 * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
1551 (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
1552 Run "make dep-am".
1553 * Makefile.in: Regenerate.
1554 * po/SRC-POTFILES.in: Regenerate.
1555
1556 2007-03-07 H.J. Lu <hongjiu.lu@intel.com>
1557
1558 * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
1559 (x86_64-*-kfreebsd*-gnu): Likewise.
1560 (x86_64-*-netbsd*): Likewise.
1561 (x86_64-*-openbsd*): Likewise.
1562 (x86_64-*-linux-*): Likewise.
1563
1564 * configure.in: Support bfd_efi_app_x86_64_vec.
1565 * configure: Regenerated.
1566
1567 * efi-app-x86_64.c: New file.
1568
1569 * targets.c (bfd_efi_app_x86_64_vec): New.
1570 (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
1571
1572 2007-03-07 Kai Tietz <kai.tietz@onevision.com>
1573
1574 * reloc.c (bfd_generic_get_relocated_section_contents): Remove
1575 const for type reloc_howto_type.
1576
1577 2007-03-07 Alan Modra <amodra@bigpond.net.au>
1578
1579 PR 3958
1580 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
1581 (elf_discarded_section): Move..
1582 * bfd-in.h: ..to here.
1583 * bfd-in2.h: Regenerate.
1584 * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
1585 from discarded sections before relocate_section has done its job.
1586 * reloc.c (bfd_generic_get_relocated_section_contents): Handle
1587 relocs against symbols from discarded sections.
1588 * elf-hppa.h (elf_hppa_howto_table): Set size. Set dst_mask on
1589 SECREL32.
1590 (elf_hppa_relocate_section): Handle relocatable link after setting
1591 sec, sym, h etc. for final link. Squash error messages for
1592 relocatable link. Clear section contents for relocs against
1593 symbols in discarded sections, and zero reloc. Remove existing
1594 zero r_symndx code.
1595 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
1596 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1597 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
1598 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1599 * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
1600 (bfin_relocate_section): Likewise.
1601 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
1602 * elf32-cris.c (cris_elf_relocate_section): Likewise.
1603 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
1604 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1605 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1606 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1607 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
1608 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1609 * elf32-i370.c (i370_elf_relocate_section): Likewise.
1610 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1611 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
1612 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1613 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1614 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
1615 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1616 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1617 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1618 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1619 * elf32-mep.c (mep_elf_relocate_section): Likewise.
1620 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1621 * elf32-mt.c (mt_elf_relocate_section): Likewise.
1622 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
1623 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1624 * elf32-s390.c (elf_s390_relocate_section): Likewise.
1625 * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
1626 * elf32-sh.c (sh_elf_relocate_section): Likewise.
1627 * elf32-spu.c (spu_elf_relocate_section): Likewise.
1628 * elf32-v850.c (v850_elf_relocate_section): Likewise.
1629 * elf32-vax.c (elf_vax_relocate_section): Likewise.
1630 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1631 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1632 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1633 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
1634 (elf64_alpha_relocate_section): Likewise.
1635 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1636 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1637 * elf64-s390.c (elf_s390_relocate_section): Likewise.
1638 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1639 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1640 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1641 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1642 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1643
1644 * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
1645 symbols for relocatable link. Don't use always-zero st_value.
1646 (elf_backend_rela_normal): Don't define.
1647 * elf32-bfin.c (bfinfdpic_relocate_section): Use
1648 RELOC_FOR_GLOBAL_SYMBOL.
1649 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1650 * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
1651 section symbol adjustments with same for relocatable link.
1652 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1653 * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
1654 (elf32_m68hc11_check_relocs): ..to here.
1655 * elf32-score.c (score_elf_final_link_relocate): Remove zero
1656 r_symndx code.
1657 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1658
1659 2007-03-07 Alan Modra <amodra@bigpond.net.au>
1660
1661 PR 4144
1662 * elf.c (assign_file_positions_for_load_sections): Don't
1663 adjust p_memsz for !SEC_LOAD section vma modulo page size.
1664 Instead, use the same lma based adjustment for SEC_LOAD
1665 sections.
1666
1667 2007-03-01 Bob Wilson <bob.wilson@acm.org>
1668
1669 * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
1670 (find_relaxable_sections): Do not increment src_count for unknown
1671 opcodes. Decode only once instead of calling is_l32r_relocation.
1672 (compute_text_actions): Remove unused no_insn_move flag. Assert that
1673 src_next matches src_count in relax_info.
1674
1675 2007-03-01 Joseph Myers <joseph@codesourcery.com>
1676
1677 * Makefile.am (bfdver.h): Use "." not " " between version number
1678 and date.
1679 * Makefile.in: Regenerate.
1680 * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
1681 * configure: Regenerate.
1682
1683 2007-02-28 Nathan Sidwell <nathan@codesourcery.com>
1684
1685 * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
1686
1687 2007-02-27 Alan Modra <amodra@bigpond.net.au>
1688
1689 * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
1690 * elf32-spu.c (ovl_mgr_pread): Add const to casts.
1691
1692 2007-02-23 Carlos O'Donell <carlos@codesourcery.com>
1693
1694 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
1695 DWARF even with 64-bit addresses.
1696 (_bfd_dwarf2_find_nearest_line): Likewise.
1697
1698 2007-02-23 Nick Clifton <nickc@redhat.com>
1699
1700 PR binutils/3535
1701 * elf.c (copy_private_bfd_data): Always rewrite the program
1702 headers when a Solaris interpreter segment is involved.
1703
1704 2007-02-22 Paul Brook <paul@codesourcery.com>
1705
1706 * elflink.c (gc_mark_hook_fn): Remove.
1707 (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
1708 (bfd_elf_gc_sections): Ditto. Call gc_mark_extra_sections.
1709 * elf-bfd.h (elf_gc_mark_hook_fn): Define.
1710 (elf_backend_data): Add gc_mark_extra_sections.
1711 * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
1712 definition.
1713 (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
1714 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
1715 (elf_backend_gc_mark_extra_sections): Define.
1716
1717 2007-02-21 Nick Clifton <nickc@redhat.com>
1718
1719 * elf.c (_bfd_elf_map_sections_to_segments): If the
1720 override_segment_assignment callback is defined then call it.
1721
1722 2007-02-21 Alan Modra <amodra@bigpond.net.au>
1723
1724 * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
1725
1726 2007-02-19 Thiemo Seufer <ths@mips.com>
1727
1728 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
1729 translation marker from untranslatable strings.
1730
1731 2007-02-19 Alan Modra <amodra@bigpond.net.au>
1732
1733 * elf-bfd.h (struct elf_backend_data): Add default_execstack.
1734 * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
1735 * elfxx-target.h (elf_backend_default_execstack): Define to 1.
1736 (elfNN_bed): Init new field.
1737 * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
1738
1739 2007-02-17 Mark Mitchell <mark@codesourcery.com>
1740 Nathan Sidwell <nathan@codesourcery.com>
1741 Vladimir Prus <vladimir@codesourcery.com
1742 Joseph Myers <joseph@codesourcery.com>
1743
1744 * configure.in (--with-pkgversion): New option.
1745 * configure: Regenerate.
1746 * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
1747 * Makefile.in: Regenerate.
1748 * version.h (BFD_VERSION_STRING): Define using
1749 @bfd_version_package@.
1750
1751 2007-02-16 Carlos O'Donell <carlos@codesourcery.com>
1752
1753 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
1754 Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
1755 and EF_MIPS_UCODE.
1756
1757 2007-02-15 Alan Modra <amodra@bigpond.net.au>
1758
1759 * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
1760 declare.
1761 (_bfd_norelocs_canonicalize_reloc): Likewise.
1762 * libbfd.h: Regenerate.
1763 * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
1764 (_bfd_norelocs_canonicalize_reloc): Likewise.
1765 * binary.c (binary_bfd_reloc_type_lookup): Don't define.
1766 (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
1767 (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
1768 * ihex.c: Similarly.
1769 * mach-o-target.c: Similarly.
1770 * mach-o.c: Similarly.
1771 * mmo.c: Similarly.
1772 * pef.c: Similarly.
1773 * ppcboot.c: Similarly.
1774 * srec.c: Similarly.
1775 * xsym.c: Similarly.
1776
1777 2007-02-14 H.J. Lu <hongjiu.lu@intel.com>
1778
1779 PR ld/3953
1780 * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
1781 when adding default symbol.
1782
1783 2007-02-13 Alan Modra <amodra@bigpond.net.au>
1784
1785 * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
1786 for branch lookup table.
1787
1788 2007-02-12 Alan Modra <amodra@bigpond.net.au>
1789
1790 * elf64-ppc.c (create_linkage_sections): Don't create
1791 .rela.rodata.brlt for --emit-relocs.
1792 (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
1793 (ppc_size_one_stub): Count them. Simplify test of stub type
1794 when counting stub relocs. Set SEC_RELOC too.
1795 (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
1796 (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
1797
1798 2007-02-12 Alan Modra <amodra@bigpond.net.au>
1799
1800 * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
1801 with a zero symbol index.
1802
1803 2007-02-12 Alan Modra <amodra@bigpond.net.au>
1804
1805 * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
1806
1807 2007-02-05 Dave Brolley <brolley@redhat.com>
1808 Stan Cox <scox@redhat.com>
1809
1810 PR ld/3972
1811 * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
1812
1813 2007-02-05 Dave Brolley <brolley@redhat.com>
1814 Richard Sandiford <rsandifo@redhat.com>
1815 Stan Cox <scox@redhat.com>
1816 Nick Clifton <nickc@redhat.com>
1817 DJ Delorie <dj@redhat.com>
1818 Frank Ch. Eigler <fche@redhat.com>
1819 Ben Elliston <bje@redhat.com>
1820 Richard Henderson <rth@redhat.com>
1821
1822 * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
1823 (ALL_MACHINES_CFILES): Add CPU_MEP.c.
1824 (BFD32_BACKENDS): Add elf32-mep.lo.
1825 (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
1826 (cpu-mep.lo,elf32-mep.lo): New targets.
1827 * archures.c (bfd_arch_mep): New enumerator.
1828 (bfd_mach_mep, bfd_mach_mep_h1): New macros.
1829 (bfd_mep_arch): New external variable.
1830 (bfd_archures_list): Add bfd_mep_arch.
1831 * config.bfd: Support mep-*-elf.
1832 * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
1833 * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
1834 * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
1835 declarations.
1836 (_bfd_target_vector): Add bfd_elf32_mep_vec and
1837 bfd_elf32_mep_little_vec.
1838 * mep-relocs.pl: New file.
1839 * cpu-mep.c: New file.
1840 * elf32-mep.c: New file.
1841 * bfd-in2.h: Regenerate.
1842 * po/POTFILES.in: Regenerate.
1843 * libbfd.h: Regenerate.
1844 * Makefile.in: Regenerate.
1845 * configure: Regenerate.
1846
1847 2007-02-05 Dave Brolley <brolley@redhat.com>
1848
1849 * elflink.c (evaluate_complex_relocation_symbols): Check for
1850 STT_SRELC for global symbols.
1851 (perform_complex_relocations): Renamed to
1852 perform_complex_relocation and now examines only one relocation.
1853 (elf_link_input_bfd): Don't call perform_complex_relocations.
1854 * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
1855 * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
1856 (OD,OS,OU): #undefs corrected to N, S and U repectively.
1857 (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
1858 (complex_reloc_installation_howto): Removed.
1859 (mep_info_to_howto_rela): Remove special case for r_type==0xff.
1860 (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
1861
1862 2007-02-05 Dave Brolley <brolley@redhat.com>
1863 Richard Sandiford <rsandifo@redhat.com>
1864 DJ Delorie <dj@redhat.com>
1865 Graydon Hoare <graydon@redhat.com>
1866 Nick Clifton <nickc@cambridge.redhat.com>
1867 Jeff Holcomb <jeffh@redhat.com>
1868 Frank Ch. Eigler <fche@redhat.com>
1869
1870 * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
1871 * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
1872 * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
1873 * elflink.c (set_symbolValue): New static function.
1874 (resolve_symbol): Likewise.
1875 (resolve_section): Likewise.
1876 (undefined_reference): Likewise.
1877 (eval_symbol): Likewise.
1878 (evaluate_complex_relocation_symbols): Likewise.
1879 (put_value): Likewise.
1880 (get_value): Likewise.
1881 (decode_complex_addend):
1882 (bfd_elf_perform_complex_relocation): New function.
1883 (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
1884 * reloc.c (BFD_RELOC_RELC): New relocation number.
1885 * syms.c (BSF_RELC,BSF_SRELC): New macros.
1886
1887 2007-02-05 Bob Wilson <bob.wilson@acm.org>
1888
1889 * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
1890 (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
1891 (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
1892 (elf_xtensa_allocate_got_size): Replace these with...
1893 (elf_xtensa_allocate_dynrelocs): ...this new function.
1894 (elf_xtensa_size_dynamic_sections): Use it.
1895
1896 2007-02-05 Bob Wilson <bob.wilson@acm.org>
1897
1898 * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
1899 <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
1900 Set src_mask to zero.
1901 <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise. Also fix dst_mask.
1902 <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
1903
1904 2007-02-02 Bob Wilson <bob.wilson@acm.org>
1905
1906 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
1907 (elf_xtensa_dynamic_symbol_p): ...this.
1908
1909 2007-02-02 Bob Wilson <bob.wilson@acm.org>
1910
1911 * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
1912 (struct elf_xtensa_link_hash_table): New.
1913 (elf_xtensa_hash_table): New.
1914 (elf_xtensa_link_hash_table_create): New.
1915 (elf_xtensa_check_relocs): Update plt_reloc_count references.
1916 Update arguments to add_extra_plt_sections.
1917 (elf_xtensa_create_dynamic_sections): Record new sections in the hash
1918 table. Update for plt_reloc_count and add_extra_plt_sections.
1919 (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
1920 argument with link info. Update calls to elf_xtensa_get_plt_section
1921 and elf_xtensa_get_gotplt_section.
1922 (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
1923 (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
1924 (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
1925 (relax_property_section): Get sections from the hash table and update
1926 function calls.
1927 (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
1928 dynobj argument with link info. Get sections for first plt chunk from
1929 the hash table.
1930 (bfd_elf32_bfd_link_hash_table_create): Define.
1931
1932 2007-02-02 Jakub Jelinek <jakub@redhat.com>
1933
1934 * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
1935 * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
1936 (struct elf_symbol): Change first member into union.
1937 (elf_sort_elf_symbol): Compare pointers to internal syms rather than
1938 internal syms. Only compare st_shndx fields.
1939 (elf_create_symbuf): New function.
1940 (bfd_elf_match_symbols_in_sections): Use it. If symbufs are available
1941 for bfds, use a binary search, otherwise don't qsort symbols
1942 unnecessarily only to select which symbols are for the particular
1943 shndx.
1944
1945 2007-02-01 Nick Clifton <nickc@redhat.com>
1946
1947 PR ld/3852
1948 * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
1949 in the elf_link_hash_table structure.
1950
1951 2007-02-01 Alan Modra <amodra@bigpond.net.au>
1952
1953 * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
1954 * elfxx-target.h (elf_backend_write_core_note): Define and use.
1955 * elf.c (elfcore_write_prpsinfo): Call the above. Add support for
1956 32-bit core note on 64-bit target.
1957 (elfcore_write_prstatus): Likewise.
1958 (elfcore_write_lwpstatus): Make note_name const.
1959 (elfcore_write_prfpreg): Likewise.
1960 (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
1961 target.
1962 * elf32-ppc.c (ppc_elf_write_core_note): New function.
1963 (elf_backend_write_core_note): Define.
1964 * elf64-ppc.c (ppc64_elf_write_core_note): New function.
1965 (elf_backend_write_core_note): Define.
1966
1967 2007-01-31 H.J. Lu <hongjiu.lu@intel.com>
1968
1969 * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
1970 (elf32_bed): Defined for elf32-us-cris.
1971
1972 * elf64-sh64.c (elf64_bed): Defined for Linux.
1973 (INCLUDED_TARGET_FILE): Removed.
1974
1975 * elfxx-target.h (elfNN_bed): Always define. Don't check
1976 INCLUDED_TARGET_FILE.
1977
1978 2007-01-31 DJ Delorie <dj@redhat.com>
1979
1980 * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
1981 message for dangerous relocs, special case the common user error.
1982
1983 2007-01-30 H.J. Lu <hongjiu.lu@intel.com>
1984
1985 * elf.c (copy_elf_program_header): Start from the first section
1986 in a segment and stop when all sections in a segment are
1987 accounted for.
1988
1989 2007-01-29 Julian Brown <julian@codesourcery.com>
1990
1991 * bfd-in2.h: Regenerate.
1992 * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
1993 instruction scanning should be done.
1994 (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
1995 (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
1996 (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
1997 prototype.
1998 * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
1999 argument.
2000 * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
2001 (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
2002 (elf32_vfp11_erratum_type): New enum.
2003 (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
2004 veneers.
2005 (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
2006 (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
2007 vfp11_fix and num_vfp11_fixes fields.
2008 (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
2009 vfp11_erratum_glue_size, num_vfp11_fixes fields.
2010 (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
2011 (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
2012 glue section.
2013 (elf32_arm_section_map_add): Add an code/data mapping symbol entry
2014 to a section's map.
2015 (record_vfp11_erratum_veneer): Create a single veneer, and its
2016 associated symbols.
2017 (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
2018 (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
2019 BFDs.
2020 (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
2021 required.
2022 (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
2023 (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
2024 (bfd_arm_vfp11_write_mask): Update write mask according to coded
2025 register number.
2026 (bfd_arm_vfp11_antidependency): New function.
2027 (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
2028 (elf32_arm_compare_mapping): Declare.
2029 (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
2030 BFD for potential erratum-triggering insns. Record results.
2031 (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
2032 and branches to veneers have been placed in virtual memory after
2033 layout.
2034 (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
2035 hash table.
2036 (elf32_arm_output_symbol_hook): Remove.
2037 (elf32_arm_write_section): Output veneers, and branches to veneers.
2038 Use maps from input sections, not output sections, for code
2039 byte-swapping.
2040 * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
2041 * elf32-score.c (_bfd_score_elf_write_section): Likewise.
2042 * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
2043 * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
2044
2045 2007-01-27 H.J. Lu <hongjiu.lu@intel.com>
2046
2047 * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
2048 (INCLUDED_TARGET_FILE): Removed.
2049
2050 2007-01-27 Mike Frysinger <vapier@gentoo.org>
2051
2052 * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
2053 (INCLUDED_TARGET_FILE): Remove.
2054
2055 2007-01-25 DJ Delorie <dj@redhat.com>
2056
2057 * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
2058 R_M32C_16 or R_M32C_24 relocs.
2059
2060 2007-01-25 Nick Clifton <nickc@redhat.com>
2061
2062 PR binutils/3874
2063 * elf32-avr.c (avr_link_hash_table): Check to make sure that the
2064 hash table was created by elf32_avr_link_hash_table_create before
2065 using it.
2066 (elf32_avr_link_hash_newfunc): New function. Just pass the call
2067 through to _bfd_elf_link_hash_newfunc.
2068 (elf32_avr_link_hash_table_create): Use
2069 elf32_avr_link_hash_newfunc instead of
2070 _bfd_elf_link_hash_newfunc.
2071 (elf32_avr_relocate_section): Check for the hash table pointer
2072 being NULL.
2073 (elf32_avr_relax_section, avr_build_one_stub,
2074 elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
2075 elf32_avr_build_stubs): Likewise.
2076
2077 2007-01-16 H.J. Lu <hongjiu.lu@intel.com>
2078
2079 PR ld/3831
2080 * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
2081 argument, Elf_Internal_Sym *.
2082
2083 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
2084 symbol dynamic if info->dynamic_data is TRUE.
2085 (bfd_elf_record_link_assignment): Updated call to
2086 bfd_elf_record_link_assignment.
2087 (_bfd_elf_merge_symbol): Likewise. Always call
2088 bfd_elf_link_mark_dynamic_symbol.
2089
2090 2007-01-12 H.J. Lu <hongjiu.lu@intel.com>
2091
2092 * Makefile.am (BFD_LIBS): Removed.
2093 * Makefile.in: Regenerated.
2094
2095 2007-01-11 H.J. Lu <hongjiu.lu@intel.com>
2096
2097 PR binutils/3631
2098 * Makefile.am (OFILES): Add @bfd64_libs@.
2099 (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
2100 * Makefile.in: Regenerated.
2101
2102 * configure.in (bfd_libs): Replaced by ...
2103 (bfd64_libs): This.
2104 * configure: Regenerated.
2105
2106 2007-01-11 Nathan Sidwell <nathan@codesourcery.com>
2107
2108 * elf.c (assign_file_positions_for_load_sections): We can
2109 require fewer phdrs than expected.
2110
2111 2007-01-08 Kazu Hirata <kazu@codesourcery.com>
2112
2113 * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
2114 * bfd-in2.h: Regenerate.
2115 * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
2116 bfd_mach_cpu32_fido.
2117 (m68k_arch_features): Use fido_a instead of cpu32.
2118 (bfd_m68k_compatible): Reject the combination of Fido and
2119 ColdFire. Accept the combination of CPU32 and Fido with a
2120 warning.
2121 * elf32-m68k.c (elf32_m68k_object_p,
2122 elf32_m68k_merge_private_bfd_data,
2123 elf32_m68k_print_private_bfd_data): Treat Fido as an
2124 architecture by itself.
2125
2126 2007-01-08 Kai Tietz <kai.tietz@onevision.com>
2127
2128 * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
2129
2130 2007-01-05 Jakub Jelinek <jakub@redhat.com>
2131
2132 * texhex.c (first_phase): Don't fall through into the default
2133 case.
2134 (pass_over): Replace abort () calls with return FALSE. Fix
2135 buffer overflow.
2136
2137 2007-01-04 Jie Zhang <jie.zhang@analog.com>
2138
2139 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
2140 SEC_EXCLUDE on zero size .eh_frame.
2141
2142 For older changes see ChangeLog-2006
2143 \f
2144 Local Variables:
2145 mode: change-log
2146 left-margin: 8
2147 fill-column: 74
2148 version-control: never
2149 End:
This page took 0.096683 seconds and 4 git commands to generate.