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