]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/ChangeLog
2007-07-26 Michael Snyder <msnyder@access-company.com>
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
b7fd5ce1
MS
12007-07-26 Michael Snyder <msnyder@access-company.com>
2
c82a7c57
MS
3 * syms.c (bfd_decode_symclass): Guard against NULL, since
4 bfd_is_com_section dereferences the pointer.
5
3d7b34d8
MS
6 * srec.c (srec_scan): Check for EOF (critical because return value
7 will be used as array index).
8
44c62d9e
MS
9 * coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
10 are not to be cached, free the temporary buffer.
11
078c4bfc
MS
12 * aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
13 or count == zero.
14
814b5378
MS
15 * tekhex.c (first_phase): Check return value for null.
16
b7fd5ce1
MS
17 * elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless
18 pointer increment.
19
b9da616a
AM
202007-07-26 Alan Modra <amodra@bigpond.net.au>
21
33774f08
AM
22 * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
23 check on dynobj. Remove bed shadow.
24
e62071b6
AM
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
b9da616a
AM
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
c2c96631
TS
352007-07-26 Thiemo Seufer <ths@mips.com>
36
37 * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
38
d4947150
AM
392007-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
bd210d54 452007-07-26 Doug Kwan <dougkwan@google.com>
d4947150 46
bd210d54
NC
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
353c5574
MS
702007-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
f08c429c
AM
752007-07-25 Alan Modra <amodra@bigpond.net.au>
76
77 * linker.c (generic_link_add_symbol_list): Warning fix.
78
d0f16d5e
MS
792007-07-24 Michael Snyder <msnyder@access-company.com>
80
f6eea5ae
MS
81 * opncls.c (bfd_make_writable): Check return from bfd_malloc.
82
d0f16d5e
MS
83 * elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
84 on bfd_malloc error rather than goto error_return.
85
4d269e42
AM
862007-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
a26587ba
RS
1022007-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
0e53d9da
AN
1072007-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
6b33789f
NC
1152007-07-19 Doug Kwan <dougkwan@google.com>
116
4d269e42
AM
117 PR binutils/4797
118 * dwarf2.c: (find_line) Do not dereference functionname_ptr if
119 do_line is true.
6b33789f 120
13161072 1212007-07-18 Bob Wilson <bob.wilson@acm.org>
4d269e42 122
13161072
BW
123 * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
124 non-ELF sections.
4d269e42 125
e29297b7 1262007-07-18 Bob Wilson <bob.wilson@acm.org>
4d269e42 127
e29297b7
BW
128 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
129 vma and size for dynamic tags from the output sections.
4d269e42 130
a5d1b3b5
AM
1312007-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
d955dada
MF
1382007-07-15 Mike Frysinger <vapier@gentoo.org>
139
140 * trad-core.c (NBPG): If not defined, set to getpagesize().
141
979dc3bc
RM
1422007-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
d2df793a
NC
1492007-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
a3a4ddad
L
1702007-07-10 H.J. Lu <hongjiu.lu@intel.com>
171
172 * Makefile.in: Regenerated.
173
329b43c4
L
1742007-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
cfd2c773
NS
1802007-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
1489a3a0
AM
1852007-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
00cbee0a
L
1942007-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
fd2f25da
RM
2012007-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
9af2a943
AM
2162007-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
a93221e5
L
2212007-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
b4928193
NC
2262007-07-04 Nick Clifton <nickc@redhat.com>
227
228 Import this patch from an internal tree:
9af2a943 229
b4928193
NC
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
3cfad14c
JM
2352007-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
cd123cb7
NC
2402007-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
741d6ea8
JM
3322007-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
ae351704
AM
3392007-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
3e5484db
AM
3482007-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
08a40648
AM
3532007-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
86b57e31
L
3592007-06-30 H.J. Lu <hongjiu.lu@intel.com>
360
361 * aclocal.m4: Regenerated.
362 * Makefile.in: Likewise.
363
34c8bcba
JM
3642007-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
2cf19d5c
JM
3692007-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
104d59d1
JM
3742007-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
5ab79981
PB
4372007-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
32e8a950
NC
4442007-06-29 Michael Snyder <msnyder@svkmacdonelllnx>
445
446 * bfd.c (bfd_demangle): Plug memory leak (Coverity).
447
3d3d428f
NC
4482007-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
c55fe096
AM
4622007-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
375de94a
AM
4692007-06-29 Nathan Froyd <froydnj@codesourcery.com>
470
471 * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
472 types.
473
7d3287cb
AM
4742007-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
6a3cd2b4
AM
4792007-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
bf988460
AM
4852007-06-29 Alan Modra <amodra@bigpond.net.au>
486
36fc76ae 487 PR ld/4701
bf988460
AM
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
60b31e8d
AM
4932007-06-27 Alan Modra <amodra@bigpond.net.au>
494
cc481421
AM
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
60b31e8d
AM
503 * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
504 input bfds.
58eb693e 505 * elf32-spu.c (spu_elf_create_sections): Likewise.
60b31e8d 506
bec42b15
NC
5072007-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
3d3e6f9a
JM
5132007-06-26 Joseph Myers <joseph@codesourcery.com>
514
515 * elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
516
b314ec0e
RS
5172007-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
0d4a1476
AS
5222007-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
0d161102
NC
5322007-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
293a0124
L
5462007-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
dc1f3d8a
L
5562007-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
79887925
L
5722007-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.
79887925
L
580 * aclocal.m4: Likewise.
581 * configure: Likewise.
582
99ded152
BW
5832007-06-11 Sterling Augustine <sterling@tensilica.com>
584 Bob Wilson <bob.wilson@acm.org>
bf988460 585
99ded152
BW
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.
bf988460 594
cbf2cba4
RS
5952007-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
a9a4c53e
AM
6012007-06-01 Alan Modra <amodra@bigpond.net.au>
602
603 * simple.c (bfd_simple_get_relocated_section_contents): Init
604 input_bfds_tail.
605
02bf8d82
AM
6062007-05-30 Alan Modra <amodra@bigpond.net.au>
607
42bb2e33
AM
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
02bf8d82
AM
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
4e591bc1
EC
6182007-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
37ad9514
SE
6232007-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
91a5743d
PB
6302007-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
26079076
PB
6382007-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
91ac5911
L
6452007-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
027297b7
L
6512007-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
5c18022e
RS
6792007-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
a00a1f35
MS
6902007-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
0414f35b
AM
6952007-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
74f2e02b
AM
7032007-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
f137a54e
AM
7092007-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
4f4416b5
AM
7202007-05-12 Alan Modra <amodra@bigpond.net.au>
721
722 * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
723
016687f8
AM
7242007-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
ece5ef60
AM
7392007-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
d3753b85
RS
7562007-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
ef8c95ad
AM
7632007-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
8c252fd9
RS
7702007-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
b186458a
JJ
7752007-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
88571279
AO
7802007-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
2e6030b9
MS
7862007-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
0d4cc892
AO
7922007-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
d0249648
AM
7972007-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
1182cb93
AM
8022007-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
b16f296e
AM
8082007-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
7c928300
AM
8162007-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
fc66a176
L
8212007-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
3410fea8
NC
8262007-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
7bdca076
SL
8332007-05-03 Sandra Loosemore <sandra@codesourcery.com>
834
835 * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
836
22184a77
NC
8372007-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
627b32bc
AM
8442007-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
49fa1e15
AM
8532007-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
9ddf8309
TS
8802007-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
95147441
BW
8852007-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
bcc2cc8e
BW
8912007-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.
4e591bc1 895
f29f96b6
BW
8962007-04-27 Bob Wilson <bob.wilson@acm.org>
897
898 * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
899
2ce18a16
AM
9002007-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
eddc20ad
AM
9062007-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
495443d4
AM
9132007-04-25 Alan Modra <amodra@bigpond.net.au>
914
915 * sysdep.h: Revert last change.
916
40b1c6c5
NC
9172007-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
64be1553
AM
9222007-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
d5efd9fc
AM
9272007-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
9a2e615a
NS
9362007-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
1b0b5b1b
NC
9492007-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
bd7803a9
AM
9592007-04-21 Alan Modra <amodra@bigpond.net.au>
960
961 * config.bfd (spu-*-elf): Delete targ_selvecs.
962
964597d0
NC
9632007-04-19 Nick Clifton <nickc@redhat.com>
964
965 * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
966
01e76792
AM
9672007-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
ee5c21a0
DJ
9742007-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
fcb93ecf
PB
9802007-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
5750dcec
DJ
9942007-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
cfbc9945
SE
9992007-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
3fcd97f1
JJ
10072007-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
af5978fb
RS
10142007-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
9e3313ae
RS
10192007-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
1d25768e
BW
10262007-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.
4e591bc1 1041
e1e5c0b5 10422007-04-12 Bob Wilson <bob.wilson@acm.org>
4e591bc1 1043
e1e5c0b5
BW
1044 * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
1045 from Xtensa property sections.
4e591bc1 1046
2c67c5f3
AM
10472007-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
8776bb8a
NS
10522007-04-11 Nathan Sidwell <nathan@codesourcery.com>
1053
1054 * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
1055 relocs too.
1056
4a828aab
RH
10572007-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.
4e591bc1 1063 (elf64_alpha_relax_section): Only regenerate got+plt if the
4a828aab
RH
1064 relax_trip counter has changed.
1065
91506736
DJ
10662007-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
da6bcfca
MT
10732007-04-03 Matt Thomas <matt@netbsd.org>
1074
4e591bc1 1075 * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
da6bcfca
MT
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
9267588c
L
10792007-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
c1b2796f
AM
10862007-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
970ccc77
NC
10912007-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
1783205a
NC
10982007-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
2ce859a1
AM
11072007-03-29 Alan Modra <amodra@bigpond.net.au>
1108
1109 PR ld/4267
947844a3
AM
1110 * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
1111 for rel->r_info values.
1112 (bfd_elf_perform_complex_relocation): Likewise.
2ce859a1
AM
1113 * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
1114 unused entries. Don't clear plt.plist in loop.
1115
39817122
RS
11162007-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
4ecceb71
RS
11342007-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
d4d2b80b
AS
11402007-03-27 Andreas Schwab <schwab@suse.de>
1141
1142 * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
1143
831480e9 11442007-03-26 H.J. Lu <hongjiu.lu@intel.com>
5bd8253d
L
1145
1146 * configure: Regenerated.
1147
f4b39977
AM
11482007-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
157090f7
AM
11542007-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
2d82d84d
TS
13372007-03-26 Thiemo Seufer <ths@mips.com>
1338
a5cb1fd7 1339 PR ld/4208
2d82d84d
TS
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
831480e9 13442007-03-23 H.J. Lu <hongjiu.lu@intel.com>
1a27db7d
L
1345
1346 * configure: Regenerated.
1347
a1ac8190
JM
13482007-03-23 Joseph Myers <joseph@codesourcery.com>
1349
1350 * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
1351 * configure: Regenerate.
1352
aa7a0635
AM
13532007-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
e49e529d
JM
13622007-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
831480e9 13692007-03-22 H.J. Lu <hongjiu.lu@intel.com>
50572669
L
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
0920dee7
L
13762007-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
831480e9 13822007-03-20 H.J. Lu <hongjiu.lu@intel.com>
749b8d9d
L
1383
1384 PR ld/4208
1385 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
1386 matching LO16 relocation for HI16 relocation.
1387
27e55c4d
PB
13882007-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
bf21ed78
MS
13972007-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
5f6999aa
NC
14092007-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
831480e9 14162007-03-19 H.J. Lu <hongjiu.lu@intel.com>
d13c9dc6
L
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
831480e9 14342007-03-18 H.J. Lu <hongjiu.lu@intel.com>
739bb57e
L
1435
1436 * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
1437 only if BFD64 is defined.
1438
5384511f
AM
14392007-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
187b3d5d
L
14442007-03-15 H.J. Lu <hongjiu.lu@intel.com>
1445
1446 * doc/Makefile.in: Regenerated.
1447
c428fa83
L
14482007-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
d1036acb
L
14592007-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
d4c87fc1
AM
15172007-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
9c6fc49d
AM
15222007-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
faed74d6
L
15302007-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
15344ad7
L
15462007-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
ab96bf03
AM
15512007-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
0e922b77
AM
16332007-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
25c6282a
BW
16412007-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
066c2a57
JM
16492007-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
ed6ba298
NS
16572007-02-28 Nathan Sidwell <nathan@codesourcery.com>
1658
1659 * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
1660
7a8757b3
AM
16612007-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
024b2372
CD
16662007-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
cb3ff1e5
NC
16722007-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
6a5bb875
PB
16782007-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
2889e75b
NC
16912007-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
78859468
AM
16962007-02-21 Alan Modra <amodra@bigpond.net.au>
1697
1698 * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
1699
ae0d2616
TS
17002007-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
6bfdb61b
AM
17052007-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
92f01d61
JM
17132007-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
c0e3f241
CD
17252007-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
72f6ea61
AM
17312007-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
fab4a87f
L
17512007-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
e4e0193e
AM
17572007-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
84f5d08e
AM
17622007-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
4aac632e
AM
17722007-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
8da3dbc5
AM
17772007-02-12 Alan Modra <amodra@bigpond.net.au>
1778
1779 * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
1780
b31847af
DB
17812007-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
722b0ff7 17872007-02-05 Dave Brolley <brolley@redhat.com>
e382d174
DB
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.
722b0ff7
DB
1812 * mep-relocs.pl: New file.
1813 * cpu-mep.c: New file.
1814 * elf32-mep.c: New file.
1815 * bfd-in2.h: Regenerate.
e382d174 1816 * po/POTFILES.in: Regenerate.
722b0ff7
DB
1817 * libbfd.h: Regenerate.
1818 * Makefile.in: Regenerate.
1819 * configure: Regenerate.
1820
d9352518
DB
18212007-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.
74e880a7 1828 * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
d9352518
DB
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
d9352518 18362007-02-05 Dave Brolley <brolley@redhat.com>
e382d174
DB
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.
d9352518
DB
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.
e382d174
DB
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.
d9352518 1860
f1ab2340 18612007-02-05 Bob Wilson <bob.wilson@acm.org>
74e880a7 1862
f1ab2340
BW
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.
74e880a7 1869
e5f131d1 18702007-02-05 Bob Wilson <bob.wilson@acm.org>
74e880a7 1871
e5f131d1
BW
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.
74e880a7 1877
4608f3d9
BW
18782007-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
f0e6fdb2
BW
18832007-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
c15f73f9
JJ
19062007-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
effdf42a
NC
19192007-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
183e98be
AM
19252007-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
fc523535 19412007-01-31 H.J. Lu <hongjiu.lu@intel.com>
16cecee5
L
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
c9b57b7e
DD
19522007-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
53020534
L
19572007-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
c7b8f16e
JB
19632007-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
20192007-01-27 H.J. Lu <hongjiu.lu@intel.com>
83d1651b
L
2020
2021 * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
b8210914 2022 (INCLUDED_TARGET_FILE): Removed.
83d1651b 2023
914dfb0f
DA
20242007-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
78eba9b6
DD
20292007-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
64ee10b6
NC
20342007-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
40b36307
L
20512007-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
fc523535 20642007-01-12 H.J. Lu <hongjiu.lu@intel.com>
a454209d
L
2065
2066 * Makefile.am (BFD_LIBS): Removed.
2067 * Makefile.in: Regenerated.
2068
fc523535 20692007-01-11 H.J. Lu <hongjiu.lu@intel.com>
21e40a48
L
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
59e0647f
NS
20802007-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
3bdcfdf4
KH
20852007-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
42037fe5
NC
21002007-01-08 Kai Tietz <kai.tietz@onevision.com>
2101
2102 * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
2103
ebe8b991
JJ
21042007-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
b327f31f
AM
21112007-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
10a2343e 2116For older changes see ChangeLog-2006
56882138
AM
2117\f
2118Local Variables:
2119mode: change-log
2120left-margin: 8
2121fill-column: 74
2122version-control: never
2123End: