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