1130561Sobrien2003-12-19  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2130561Sobrien
3130561Sobrien	Adfd m32r-linux and PIC support.  Add new ABI that uses RELA.
4130561Sobrien	* config.bfd (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*): Added.
5130561Sobrien	* configure.in (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
6130561Sobrien	bfd_elf32_m32rle_vec): Added
7130561Sobrien	* configure: Regenerated.
8130561Sobrien	* elf32-m32r.c (m32r_info_to_howto, m32r_elf_adjust_dynamic_symbol,
9130561Sobrien	m32r_elf_size_dynamic_sections, m32r_elf_create_dynamic_sections,
10130561Sobrien	m32r_elf_finish_dynamic_sections, m32r_elf_finish_dynamic_symbol,
11130561Sobrien	allocate_dynrelocs, readonly_dynrelocs, m32r_elf_reloc_type_class,
12130561Sobrien	m32r_elf_fake_sections): Added.
13130561Sobrien	(m32r_elf_howto_table): Added
14130561Sobrien	R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
15130561Sobrien	R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
16130561Sobrien	R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
17130561Sobrien	R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
18130561Sobrien	R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
19130561Sobrien	R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
20130561Sobrien	R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
21130561Sobrien	R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
22130561Sobrien	R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
23130561Sobrien	R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
24130561Sobrien	R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
25130561Sobrien	R_M32R_GOTPC_LO.
26130561Sobrien	(m32r_elf_relocate_section, m32r_elf_check_relocs): Changed for
27130561Sobrien	New ABI.
28130561Sobrien	* reloc.c: Add BFD_RELOC_M32R_GOT24, BFD_RELOC_M32R_26_PLTREL,
29130561Sobrien	BFD_RELOC_M32R_COPY, BFD_RELOC_M32R_GLOB_DAT,
30130561Sobrien	BFD_RELOC_M32R_JMP_SLOT, BFD_RELOC_M32R_RELATIVE,
31130561Sobrien	BFD_RELOC_M32R_GOTOFF, BFD_RELOC_M32R_GOTPC24,
32130561Sobrien	BFD_RELOC_M32R_GOT16_HI_ULO, BFD_RELOC_M32R_GOT16_HI_SLO,
33130561Sobrien	BFD_RELOC_M32R_GOT16_LO, BFD_RELOC_M32R_GOTPC_HI_ULO,
34130561Sobrien	BFD_RELOC_M32R_GOTPC_HI_SLO, BFD_RELOC_M32R_GOTPC_LO.
35130561Sobrien	* targets.c (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
36130561Sobrien	bfd_elf32_m32rle_vec): Added.
37130561Sobrien	* bfd-in2.h: Regenerated.
38130561Sobrien	* libbfd.h: Regenerated.
39130561Sobrien
40130561Sobrien2003-12-19  Danny Smith  <dannysmith@users.sourceforge.net>
41130561Sobrien
42130561Sobrien	* coffcode.h (styp_to_sec_flags): Don't treat .reloc section
43130561Sobrien	as SEC_DEBUGGING.
44130561Sobrien
45130561Sobrien2003-12-18  Richard Sandiford  <rsandifo@redhat.com>
46130561Sobrien
47130561Sobrien	* elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of
48130561Sobrien	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.  Use
49130561Sobrien	_bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16,
50130561Sobrien	_bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16,
51130561Sobrien	and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.  Change rightshift
52130561Sobrien	to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16.
53130561Sobrien	(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
54130561Sobrien	(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
55130561Sobrien	(_bfd_mips_elf32_gprel16_reloc): Remove special case.
56130561Sobrien	(mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise.
57130561Sobrien
58130561Sobrien	* elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of
59130561Sobrien	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.  Use
60130561Sobrien	_bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc
61130561Sobrien	for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.
62130561Sobrien	Change R_MIPS_HI16's rightshift to 16.
63130561Sobrien	(mips_elf64_howto_table_rela): Replace all uses of
64130561Sobrien	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.
65130561Sobrien	Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well.
66130561Sobrien	(mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete.
67130561Sobrien	(mips_elf64_shift6_reloc): Remove special case.  Use
68130561Sobrien	_bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue.
69130561Sobrien
70130561Sobrien	* elfn32-mips.c (prev_reloc_section): Delete.
71130561Sobrien	(prev_reloc_address, prev_reloc_addend): Delete.
72130561Sobrien	(elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for
73130561Sobrien	elf64-mips.c
74130561Sobrien	(GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete.
75130561Sobrien	(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
76130561Sobrien	(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
77130561Sobrien	(mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND.
78130561Sobrien	(mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise.
79130561Sobrien	(mips16_jump_reloc, mips16_gprel_reloc): Likewise.
80130561Sobrien	(mips_elf_shift6_reloc): Likewise.  Delete use of SET_RELOC_ADDEND.
81130561Sobrien
82130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use
83130561Sobrien	_bfd_relocate_contents to install an in-place addend.
84130561Sobrien	(mips_hi16): New structure.
85130561Sobrien	(mips_hi16_list): Moved from elf32-mips.c.
86130561Sobrien	(_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions.
87130561Sobrien	(_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions.
88130561Sobrien	(mips_elf_calculate_relocation): Assume addend is unshifted.
89130561Sobrien	(_bfd_mips_elf_relocate_section): Don't apply the howto rightshift
90130561Sobrien	on top of the usual high-part shift.  Don't shift the addend right
91130561Sobrien	before calling mips_elf_calculate_relocation.
92130561Sobrien
93130561Sobrien	* elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare.
94130561Sobrien	(_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare.
95130561Sobrien	(_bfd_mips_elf_generic_reloc): Declare.
96130561Sobrien
97130561Sobrien2003-12-16  Eric Youngdale  <eric@mkssoftware.com>
98130561Sobrien	    Nick Clifton  <nickc@redhat.com>
99130561Sobrien
100130561Sobrien	* peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each
101130561Sobrien	prefix character, if they are present.
102130561Sobrien
103130561Sobrien2003-12-15  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
104130561Sobrien	    Nick Clifton  <nickc@redhat.com>
105130561Sobrien
106130561Sobrien	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags
107130561Sobrien	are set on known section types.
108130561Sobrien
109130561Sobrien2003-12-12  Nick Clifton  <nickc@redhat.com>
110130561Sobrien
111130561Sobrien	* po/ro.po: Updated translation.
112130561Sobrien
113130561Sobrien2003-12-12  Alan Modra  <amodra@bigpond.net.au>
114130561Sobrien
115130561Sobrien	* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for
116130561Sobrien	NULL dyn_h.
117130561Sobrien
118130561Sobrien2003-12-11  Nick Clifton  <nickc@redhat.com>
119130561Sobrien
120130561Sobrien	* elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
121130561Sobrien
122130561Sobrien2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
123130561Sobrien
124130561Sobrien	* elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes.
125130561Sobrien	Remove casts that were only needed for K&R compatibility.
126130561Sobrien
127130561Sobrien2003-12-08  Alan Modra  <amodra@bigpond.net.au>
128130561Sobrien
129130561Sobrien	* elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add
130130561Sobrien	"elflink_hash_entry *" param to elf_backend_link_output_symbol_hook.
131130561Sobrien	Add "elflink_hash_entry *" param to elf_backend_output_arch_syms.
132130561Sobrien	* elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param,
133130561Sobrien	and pass to output_symbol_hook.
134130561Sobrien	(elf_bfd_final_link): Adjust elf_link_output_sym calls.
135130561Sobrien	(elf_link_output_extsym): Likewise.
136130561Sobrien	(elf_link_input_bfd): Likewise.
137130561Sobrien	* elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust.
138130561Sobrien	* elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
139130561Sobrien	* elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
140130561Sobrien	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
141130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
142130561Sobrien	* elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
143130561Sobrien	* elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise.
144130561Sobrien	* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
145130561Sobrien	Validate dynh->h against h.
146130561Sobrien	* elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield.
147130561Sobrien	(link_hash_newfunc): Init it.
148130561Sobrien	(adjust_opd_syms): New function.
149130561Sobrien	(ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted.
150130561Sobrien	Set opd.adjust for all .opd relocs.  Call adjust_opd_syms.
151130561Sobrien	(ppc64_elf_tls_optimize): Adjust possible .opd sym values here.
152130561Sobrien	(ppc64_elf_relocate_section): Also adjust syms not a multiple of 24.
153130561Sobrien	(ppc64_elf_output_symbol_hook): New function.
154130561Sobrien	(elf_backend_link_output_symbol_hook): Define.
155130561Sobrien
156130561Sobrien2003-12-07  Richard Sandiford  <rsandifo@redhat.com>
157130561Sobrien
158130561Sobrien	* elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes.
159130561Sobrien	Remove casts that were only needed for K&R compatibility.
160130561Sobrien
161130561Sobrien2003-12-05  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
162130561Sobrien
163130561Sobrien	* coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set
164130561Sobrien	partial_inplace for these relocs to FALSE for comptability with
165130561Sobrien	the MS linker.
166130561Sobrien	Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error
167130561Sobrien	generated by MS linker, and brings the relocation in line the MS
168130561Sobrien	PE documentation.
169130561Sobrien
170130561Sobrien2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>
171130561Sobrien
172130561Sobrien	* elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing.
173130561Sobrien
174130561Sobrien2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>
175130561Sobrien
176130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Use the
177130561Sobrien	need_relax_finalize field in link_info instead of
178130561Sobrien	relax_finalizing to check if the relax finalize pass is being
179130561Sobrien	done.
180130561Sobrien
181130561Sobrien2003-12-04  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
182130561Sobrien
183130561Sobrien	* coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation):
184130561Sobrien	Change ARM26* to ARM_26* in comments to match definitions.
185130561Sobrien	(coff_arm_adjust_symndx): Replace hard-coded constants with
186130561Sobrien	appropriate definitions (ARM_26*).
187130561Sobrien
188130561Sobrien2003-12-04  Alan Modra  <amodra@bigpond.net.au>
189130561Sobrien
190130561Sobrien	* coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported.
191130561Sobrien	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes.
192130561Sobrien	(mn10300_elf_relax_section): Likewise.
193130561Sobrien	* nlm32-alpha.c (ONES): Define.
194130561Sobrien	(nlm32_alpha_howto_table): Use it to avoid warnings.
195130561Sobrien
196130561Sobrien2003-12-04  Alan Modra  <amodra@bigpond.net.au>
197130561Sobrien
198130561Sobrien	* elf32-i386.c (elf_i386_object_p): Delete.
199130561Sobrien	(elf_backend_object_p): Don't define.
200130561Sobrien	* elf32-s390.c (elf_s390_object_p): No need to alloc tdata here.
201130561Sobrien	* elf32-sh.c (sh_elf_object_p): Likewise.
202130561Sobrien	* elf32-sparc.c (elf32_sparc_object_p): Likewise.
203130561Sobrien	* elf64-alpha.c (elf64_alpha_object_p): Likewise.
204130561Sobrien	* elf64-s390.c (elf_s390_object_p): Likewise.
205130561Sobrien	* elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise.
206130561Sobrien
207130561Sobrien2003-12-03  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
208130561Sobrien
209130561Sobrien	* archures.c (bfd_mach_m32r2): Add new machine type.
210130561Sobrien	* bfd-in2.h: Regenerate.
211130561Sobrien	* cpu-m32r.c : Add new machine type.
212130561Sobrien	* elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing,
213130561Sobrien	m32r_elf_merge_private_bfd_data): Add support for new machine
214130561Sobrien	type.
215130561Sobrien
216130561Sobrien2003-12-03  Dave Airlie  <airlied@linux.ie>
217130561Sobrien
218130561Sobrien	* config.bfd: Add vax-linux-gnu target.
219130561Sobrien	* configure.in: Likewise.
220130561Sobrien	* configure: Regenerate.
221130561Sobrien
222130561Sobrien2003-12-03  Alan Modra  <amodra@bigpond.net.au>
223130561Sobrien
224130561Sobrien	* ecoff.c (ecoff_link_add_archive_symbols): Update for renamed
225130561Sobrien	bfd_link_hash_entry field "next" -> "und_next".
226130561Sobrien	* linker.c (_bfd_link_hash_newfunc): Likewise.
227130561Sobrien	(bfd_link_add_undef): Likewise.
228130561Sobrien	(_bfd_generic_link_add_archive_symbols): Likewise.
229130561Sobrien	(_bfd_generic_link_add_one_symbol): Likewise.
230130561Sobrien	* xcofflink.c (xcoff_link_add_symbols): Likewise.
231130561Sobrien
232130561Sobrien2003-12-02  Nick Clifton  <nickc@redhat.com>
233130561Sobrien
234130561Sobrien	* configure.in (ALL_LINGUAS): Add ro.
235130561Sobrien	* po/ro.po: New Romanian translation.
236130561Sobrien
237130561Sobrien2003-12-02  Alan Modra  <amodra@bigpond.net.au>
238130561Sobrien
239130561Sobrien	* Makefile.am: Run "make dep-am".
240130561Sobrien	* Makefile.in: Regenerate.
241130561Sobrien
242130561Sobrien2003-12-01  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
243130561Sobrien
244130561Sobrien	* coffcode.h (coff_compute_section_file_positions): Set page_size
245130561Sobrien	to 1 instead of 0 in the case file alignment value is zero.
246130561Sobrien
247130561Sobrien2003-12-01  Kazu Hirata  <kazu@cs.umass.edu>
248130561Sobrien
249130561Sobrien	* coff-rs6000.c: Remove ARGSUSED and VARARGS.
250130561Sobrien	* coff64-rs6000.c: Likewise.
251130561Sobrien	* coffcode.h: Likewise.
252130561Sobrien	* elf32-vax.c: Likewise.
253130561Sobrien	* hash.c: Likewise.
254130561Sobrien	* hppabsd-core.c: Likewise.
255130561Sobrien	* hpux-core.c: Likewise.
256130561Sobrien	* ihex.c: Likewise.
257130561Sobrien	* netbsd-core.c: Likewise.
258130561Sobrien	* osf-core.c: Likewise.
259130561Sobrien	* pdp11.c: Likewise.
260130561Sobrien	* ptrace-core.c: Likewise.
261130561Sobrien	* sco5-core.c: Likewise.
262130561Sobrien	* section.c: Likewise.
263130561Sobrien	* sunos.c: Likewise.
264130561Sobrien	* trad-core.c: Likewise.
265130561Sobrien
266130561Sobrien2003-12-01  Alan Modra  <amodra@bigpond.net.au>
267130561Sobrien
268130561Sobrien	* elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
269130561Sobrien	* elf.c (_bfd_elf_merge_sections): Adjust to suit.
270130561Sobrien	(_bfd_elf_link_just_syms): Likewise.
271130561Sobrien	(bfd_elf_get_needed_list): Likewise.
272130561Sobrien	(bfd_elf_get_runpath_list): Likewise.
273130561Sobrien	(_bfd_elf_link_hash_copy_indirect): Remove unneeded parens.
274130561Sobrien	* elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab
275130561Sobrien	creator flavour.
276130561Sobrien	(elf32_hppa_set_gp): Look up output sections rather than using htab.
277130561Sobrien	* elf32-i960.c: Comment fix.  Formatting.
278130561Sobrien	* elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table
279130561Sobrien	rather than testing creator flavour.
280130561Sobrien	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
281130561Sobrien	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
282130561Sobrien	* elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for
283130561Sobrien	is_elf_hash_table change.  Remove redundant test.
284130561Sobrien	(bfd_elf_record_link_assignment): Use is_elf_hash_table rather than
285130561Sobrien	testing creator flavour.
286130561Sobrien	(elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table.
287130561Sobrien	(_bfd_elf_fix_symbol_flags): Likewise.
288130561Sobrien	(_bfd_elf_adjust_dynamic_symbol): Likewise.
289130561Sobrien	* elflink.h (elf_link_add_object_symbols): Likewise.  Remove redundant
290130561Sobrien	checks.  Use is_elf_hash_table rather than testing creator flavour.
291130561Sobrien	Use hash_table throughout in place of info->hash.
292130561Sobrien	(elf_add_dynamic_entry): Adjust for is_elf_hash_table change.
293130561Sobrien	(NAME(bfd_elf,size_dynamic_sections)): Likewise.  Remove redundant
294130561Sobrien	check.
295130561Sobrien	(elf_bfd_final_link): Adjust for is_elf_hash_table change.
296130561Sobrien	(elf_link_check_versioned_symbol): Use is_elf_hash_table rather than
297130561Sobrien	testing creator flavour.
298130561Sobrien	(elf_gc_sections): Add is_elf_hash_table check.
299130561Sobrien	(elf_gc_common_finalize_got_offsets): Likewise.
300130561Sobrien	(elf_bfd_discard_info): Adjust for is_elf_hash_table change.  Remove
301130561Sobrien	redundant check.
302130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table
303130561Sobrien	rather than testing creator flavour.
304130561Sobrien
305130561Sobrien2003-11-28  Christian Groessler  <chris@groessler.org>
306130561Sobrien
307130561Sobrien	* cpu-z8k.c: Convert to ISO C90.
308130561Sobrien	* coff-z8k.c: Likewise.
309130561Sobrien
310130561Sobrien2003-11-27  Alexandre Oliva  <aoliva@redhat.com>
311130561Sobrien
312130561Sobrien	* elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map):
313130561Sobrien	Add link info argument.
314130561Sobrien	* elf32-i370.c (elf_backend_modify_segment_map): Likewise.
315130561Sobrien	* elf32-ppc.c (ppc_elf_modify_segment_map): Likewise.
316130561Sobrien	* elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise.
317130561Sobrien	* elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise.
318130561Sobrien	* elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
319130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
320130561Sobrien	* elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise.
321130561Sobrien	* elf.c (assign_file_positions_except_relocs,
322130561Sobrien	assign_file_positions_for_segments): Likewise.  Adjust calls.
323130561Sobrien
324130561Sobrien2003-11-27  Mark Kettenis  <kettenis@gnu.org>
325130561Sobrien
326130561Sobrien	* elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out
327130561Sobrien	of the note.
328130561Sobrien
329130561Sobrien2003-11-26  Daniel Jacobowitz  <drow@mvista.com>
330130561Sobrien	    Richard Sandiford  <rsandifo@redhat.com>
331130561Sobrien
332130561Sobrien	* elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub.
333130561Sobrien	(mips_elf_set_no_stub): New function.
334130561Sobrien	(mips_elf_multi_got): Call it.
335130561Sobrien	(_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for
336130561Sobrien	a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and
337130561Sobrien	use mips_elf_create_dynamic_relocation to deal with any compatibility
338130561Sobrien	issues.  Store the adjusted addend in the GOT slot.
339130561Sobrien
340130561Sobrien2003-11-25  Mattias Engdeg�rd  <mattias@virtutech.se>
341130561Sobrien
342130561Sobrien	* stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when
343130561Sobrien	procesing N_BINCL stabs.
344130561Sobrien
345130561Sobrien2003-11-25  Alan Modra  <amodra@bigpond.net.au>
346130561Sobrien
347130561Sobrien	* elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than
348130561Sobrien	ppc_stub_plt_call to symbols defined in shared libs.
349130561Sobrien
350130561Sobrien2003-11-22  Jakub Jelinek  <jakub@redhat.com>
351130561Sobrien
352130561Sobrien	* elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag.
353130561Sobrien	* elf.c (_bfd_elf_link_hash_copy_indirect): Copy it.
354130561Sobrien	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
355130561Sobrien	(elf_i386_check_relocs): Set it.
356130561Sobrien	(elf_i386_finish_dynamic_symbol): If it is not set,
357130561Sobrien	clear st_value of SHN_UNDEF symbol.
358130561Sobrien
359130561Sobrien2003-11-20  Jim Blandy  <jimb@redhat.com>
360130561Sobrien
361130561Sobrien	* cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC
362130561Sobrien	family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>.
363130561Sobrien
364130561Sobrien2003-11-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
365130561Sobrien
366130561Sobrien	* elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol
367130561Sobrien	section for reloc output and subtract the output section's address
368130561Sobrien	from the addend when converting a relocation into one against a
369130561Sobrien	section symbol.
370130561Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
371130561Sobrien
372130561Sobrien2003-11-18  James E Wilson  <wilson@specifixinc.com>
373130561Sobrien
374130561Sobrien	* elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
375130561Sobrien	(elfNN_ia64_size_dynamic_sections): When stripping sections, check
376130561Sobrien	for ia64_info->rel_fptr_sec.
377130561Sobrien
378130561Sobrien2003-11-18  Alan Modra  <amodra@bigpond.net.au>
379130561Sobrien
380130561Sobrien	* elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section
381130561Sobrien	size is zero.
382130561Sobrien
383130561Sobrien2003-11-17  Daniel Jacobowitz  <drow@mvista.com>
384130561Sobrien
385130561Sobrien	* elf.c (_bfd_elf_link_hash_copy_indirect): Copy
386130561Sobrien	ELF_LINK_HASH_NEEDS_PLT.  Fix formatting.
387130561Sobrien	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
388130561Sobrien	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
389130561Sobrien	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
390130561Sobrien	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
391130561Sobrien	* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
392130561Sobrien	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
393130561Sobrien	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
394130561Sobrien	* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
395130561Sobrien	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
396130561Sobrien	* elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove.
397130561Sobrien	(elf_backend_copy_indirect_symbol): Don't define.
398130561Sobrien
399130561Sobrien2003-11-14  Daniel Jacobowitz  <drow@mvista.com>
400130561Sobrien
401130561Sobrien	* elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local
402130561Sobrien	GOT entries.
403130561Sobrien
404130561Sobrien2003-11-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
405130561Sobrien
406130561Sobrien	* elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32
407130561Sobrien	to R_390_RELATIVE. Convert the other relocations against local
408130561Sobrien	symbols to relocations against the start of the section.
409130561Sobrien	* elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64
410130561Sobrien	to R_390_RELATIVE. Convert the other relocations against local
411130561Sobrien	symbols to relocations against the start of the section.
412130561Sobrien
413130561Sobrien2003-11-11  Nick Clifton  <nickc@redhat.com>
414130561Sobrien
415130561Sobrien	* elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use
416130561Sobrien	info->executable not info->shared to decide if a .interp section
417130561Sobrien	should be present.
418130561Sobrien	* elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise.
419130561Sobrien	* elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
420130561Sobrien	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
421130561Sobrien	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
422130561Sobrien	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
423130561Sobrien	* elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
424130561Sobrien	* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
425130561Sobrien	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
426130561Sobrien	* elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise.
427130561Sobrien	* elflink.h (size_dynamic_sections): Likewise.
428130561Sobrien
429130561Sobrien2003-11-10  Jonathan Wilson <jonwil@tpgi.com.au>
430130561Sobrien
431130561Sobrien	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer.
432130561Sobrien	(_bfd_XXi_final_link_postscript): Look for __tks_used symbol.  If
433130561Sobrien	found initialise the tls data directory entry.
434130561Sobrien
435130561Sobrien2003-11-07  Alan Modra  <amodra@bigpond.net.au>
436130561Sobrien
437130561Sobrien	* elf32-ppc.c (ppc_elf_install_value): Delete.
438130561Sobrien	(shared_stub_entry, stub_entry): Make them arrays of ints.
439130561Sobrien	Remove initial branch.
440130561Sobrien	(ppc_elf_relax_section): Write one branch around all trampolines
441130561Sobrien	instead.  Correct bogus R_PPC_PLTREL24 handling.  Correct
442130561Sobrien	branch range check.  Only use shared_stub_entry when shared.
443130561Sobrien	Test that branches can reach stubs.  Write trampolines out at
444130561Sobrien	end so that just one realloc is used.  Handle little-endian
445130561Sobrien	mode.  Move relevant code from ppc_elf_install_value to here.
446130561Sobrien	(ppc_elf_relocate_section): Move code handling RELAX32 from
447130561Sobrien	ppc_elf_install_value to here.
448130561Sobrien
449130561Sobrien2003-11-06  Alan Modra  <amodra@bigpond.net.au>
450130561Sobrien
451130561Sobrien	* elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC.
452130561Sobrien	(ppc_elf_install_value): Handle R_PPC_RELAX32PC.  Merge duplicate
453130561Sobrien	cases.
454130561Sobrien	(shared_stub_entry): Correct opcode.
455130561Sobrien	(ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs.
456130561Sobrien	(ppc_elf_relocate_section): Handle them.
457130561Sobrien
458130561Sobrien2003-11-05  Alan Modra  <amodra@bigpond.net.au>
459130561Sobrien
460130561Sobrien	* elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return
461130561Sobrien	updated section in case of merged section.
462130561Sobrien	* elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
463130561Sobrien	* elf-hppa.h (elf_hppa_relocate_section): Adjust call.
464130561Sobrien	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
465130561Sobrien	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
466130561Sobrien	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
467130561Sobrien	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
468130561Sobrien	* elf32-cris.c (cris_elf_relocate_section): Likewise.
469130561Sobrien	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
470130561Sobrien	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
471130561Sobrien	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
472130561Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
473130561Sobrien	* elf32-i370.c (i370_elf_relocate_section): Likewise.
474130561Sobrien	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
475130561Sobrien	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
476130561Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
477130561Sobrien	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
478130561Sobrien	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
479130561Sobrien	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
480130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
481130561Sobrien	* elf32-s390.c (elf_s390_relocate_section): Likewise.
482130561Sobrien	* elf32-sh.c (sh_elf_relocate_section): Likewise.
483130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
484130561Sobrien	* elf32-v850.c (v850_elf_relocate_section) Likewise.
485130561Sobrien	* elf32-vax.c (elf_vax_relocate_section): Likewise.
486130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
487130561Sobrien	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
488130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
489130561Sobrien	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
490130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
491130561Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
492130561Sobrien	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
493130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
494130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
495130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
496130561Sobrien
497130561Sobrien	* elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
498130561Sobrien	section for reloc output.
499130561Sobrien	* elf32-i370.c (i370_elf_relocate_section): Likewise.
500130561Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
501130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
502130561Sobrien	* elf32-vax.c (elf_vax_relocate_section): Likewise.
503130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
504130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
505130561Sobrien
506130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
507130561Sobrien	for R_PPC_RELAX32 reloc.  Don't bother checking ppc_elf_install_value
508130561Sobrien	return value.
509130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
510130561Sobrien	sec->id.
511130561Sobrien
512130561Sobrien2003-11-05  Alan Modra  <amodra@bigpond.net.au>
513130561Sobrien
514130561Sobrien	* elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.
515130561Sobrien	(elf32_d10v_relocate_section): Use them to handle -r reloc
516130561Sobrien	adjustments, and in place of _bfd_elf_rela_local_sym.
517130561Sobrien
518130561Sobrien	* cpu-iq2000.c (arch_info_struct): Warning fix.
519130561Sobrien
520130561Sobrien2003-11-05  Alan Modra  <amodra@bigpond.net.au>
521130561Sobrien
522130561Sobrien	* elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.
523130561Sobrien	(elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
524130561Sobrien	weakdefs.
525130561Sobrien	(elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
526130561Sobrien	(elf32_hppa_adjust_dynamic_symbol): Likewise.  Copy weakdef
527130561Sobrien	NON_GOT_REF.
528130561Sobrien	(allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
529130561Sobrien	SYMBOL_CALLS_LOCAL.  Discard relocs for undef weak syms with
530130561Sobrien	non-default visibility.
531130561Sobrien	(elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
532130561Sobrien	SYMBOL_CALLS_LOCAL.
533130561Sobrien
534130561Sobrien2003-11-04  Alan Modra  <amodra@bigpond.net.au>
535130561Sobrien
536130561Sobrien	* aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.
537130561Sobrien	* coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
538130561Sobrien	* coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
539130561Sobrien	* cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
540130561Sobrien	* cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
541130561Sobrien	* gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
542130561Sobrien	* nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
543130561Sobrien
544130561Sobrien	* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix
545130561Sobrien	"dereferencing type-punned pointer" warnings.
546130561Sobrien
547130561Sobrien	* aout-adobe.c (aout_adobe_set_section_contents): Constify location.
548130561Sobrien	* aoutx.h (NAME(aout,set_section_contents)): Ditto.
549130561Sobrien	* bfd-in2.h: Regenerate.
550130561Sobrien	* binary.c (binary_set_section_contents): Ditto.
551130561Sobrien	* bout.c (b_out_set_section_contents): Ditto.
552130561Sobrien	* coff-tic54x.c (tic54x_set_section_contents): Ditto.
553130561Sobrien	* coffcode.h (coff_set_section_contents): Ditto.
554130561Sobrien	* ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
555130561Sobrien	* elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
556130561Sobrien	* elf.c (_bfd_elf_set_section_contents): Ditto.
557130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
558130561Sobrien	* elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
559130561Sobrien	* i386msdos.c (msdos_set_section_contents): Ditto.
560130561Sobrien	* ieee.c (ieee_set_section_contents): Ditto.
561130561Sobrien	* ihex.c (ihex_set_section_contents): Ditto.
562130561Sobrien	* libaout.h (NAME(aout,set_section_contents)): Ditto.
563130561Sobrien	* libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
564130561Sobrien	(_bfd_generic_set_section_contents): Ditto.
565130561Sobrien	* libbfd.h: Regenerate.
566130561Sobrien	* libbfd.c (_bfd_generic_set_section_contents): Ditto.
567130561Sobrien	* libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
568130561Sobrien	* libnlm.h (nlmNAME(set_section_contents)): Ditto.
569130561Sobrien	(struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
570130561Sobrien	* mmo.c (mmo_set_section_contents): Ditto.
571130561Sobrien	* nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
572130561Sobrien	* nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
573130561Sobrien	* nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
574130561Sobrien	* nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
575130561Sobrien	* nlmcode.h (nlm_set_section_contents): Ditto.
576130561Sobrien	* oasys.c (oasys_set_section_contents): Ditto.
577130561Sobrien	* pdp11.c (NAME(aout,set_section_contents)): Ditto.
578130561Sobrien	* ppcboot.c (ppcboot_set_section_contents): Ditto.
579130561Sobrien	* srec.c (srec_set_section_contents): Ditto.
580130561Sobrien	* targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
581130561Sobrien	* tekhex.c (tekhex_set_section_contents): Ditto.
582130561Sobrien	(move_section_contents): Ditto.
583130561Sobrien	* versados.c (versados_set_section_contents): Ditto.
584130561Sobrien	* vms-misc.c (_bfd_save_vms_section): Ditto.
585130561Sobrien	* vms.c (vms_set_section_contents): Ditto.
586130561Sobrien	* vms.h (_bfd_save_vms_section): Ditto.
587130561Sobrien
588130561Sobrien2003-11-04  Alan Modra  <amodra@bigpond.net.au>
589130561Sobrien
590130561Sobrien	* elf64-ppc.c (ppc_size_one_stub): Size relbrlt.  Accept info arg
591130561Sobrien	rather than htab.
592130561Sobrien	(ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal.  Zero
593130561Sobrien	relbrlt size.
594130561Sobrien	(ppc64_elf_build_stubs): Allocate space for relbrlt.
595130561Sobrien
596130561Sobrien2003-11-04  Alan Modra  <amodra@bigpond.net.au>
597130561Sobrien
598130561Sobrien	* bfd-in.h (_bfd_elf_tls_setup): Declare.
599130561Sobrien	* bfd-in2.h: Regenerate.
600130561Sobrien	* elf-bfd.h (struct elf_link_tls_segment): Delete.
601130561Sobrien	(struct elf_link_hash_table): Add tls_sec and tls_size.
602130561Sobrien	* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
603130561Sobrien	* elflink.c (_bfd_elf_tls_setup): New function.
604130561Sobrien	* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
605130561Sobrien	(elf_bfd_final_link): Don't set first_tls_sec here.  Update code
606130561Sobrien	saving tls segment info, round segment size up.
607130561Sobrien	(elf_link_output_extsym): Adjust code using tls segment info.
608130561Sobrien	(elf_link_input_bfd): Likewise.
609130561Sobrien	* elf32-i386.c (dtpoff_base, tpoff): Likewise.
610130561Sobrien	* elf32-s390.c (dtpoff_base, tpoff): Likewise.
611130561Sobrien	* elf32-sh.c (dtpoff_base, tpoff): Likewise.
612130561Sobrien	* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
613130561Sobrien	* elf64-s390.c (dtpoff_base, tpoff): Likewise.
614130561Sobrien	* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
615130561Sobrien	* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
616130561Sobrien	(elfNN_ia64_dtprel_base): Likewise.
617130561Sobrien	* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
618130561Sobrien	(alpha_get_tprel_base): Likewise.
619130561Sobrien	(struct alpha_relax_info): Remove tls_segment.
620130561Sobrien	(elf64_alpha_relax_got_load): Adjust invocation of
621130561Sobrien	alpha_get_dtprel_base and alpha_get_tprel_base.
622130561Sobrien	(elf64_alpha_relax_tls_get_addr): Likewise.
623130561Sobrien	(elf64_alpha_relax_section): Likewise.
624130561Sobrien	(elf64_alpha_relocate_section): Likewise.
625130561Sobrien	(elf64_alpha_relax_find_tls_segment): Delete.
626130561Sobrien	* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
627130561Sobrien	(ppc_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
628130561Sobrien	(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
629130561Sobrien	* elf32-ppc.h (ppc_elf_tls_setup): Update.
630130561Sobrien	* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
631130561Sobrien	(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
632130561Sobrien	(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
633130561Sobrien	(ppc64_elf_relocate_section): Likewise.
634130561Sobrien	* elf64-ppc.h (ppc64_elf_tls_setup): Update.
635130561Sobrien
636130561Sobrien2003-11-03  Daniel Jacobowitz  <drow@mvista.com>
637130561Sobrien
638130561Sobrien	* elf-bfd.h (struct elf_backend_data): Remove plt_header_size.
639130561Sobrien	* elf-m10300.c (elf_backend_plt_header_size): Don't define.
640130561Sobrien	* elf32-arm.h (elf_backend_plt_header_size): Don't define.
641130561Sobrien	* elf32-cris.c (elf_backend_plt_header_size): Don't define.
642130561Sobrien	* elf32-i386.c (elf_backend_plt_header_size): Don't define.
643130561Sobrien	* elf32-mips.c (elf_backend_plt_header_size): Don't define.
644130561Sobrien	* elf32-ppc.c (elf_backend_plt_header_size): Don't define.
645130561Sobrien	* elf32-s390.c (elf_backend_plt_header_size): Don't define.
646130561Sobrien	* elf32-sh.c (elf_backend_plt_header_size): Don't define.
647130561Sobrien	* elf32-sparc.c (elf_backend_plt_header_size): Don't define.
648130561Sobrien	* elf64-alpha.c (elf_backend_plt_header_size): Don't define.
649130561Sobrien	* elf64-hppa.c (elf_backend_plt_header_size): Don't define.
650130561Sobrien	* elf64-mips.c (elf_backend_plt_header_size): Don't define.
651130561Sobrien	* elf64-ppc.c (elf_backend_plt_header_size): Don't define.
652130561Sobrien	* elf64-s390.c (elf_backend_plt_header_size): Don't define.
653130561Sobrien	* elf64-sh64.c (elf_backend_plt_header_size): Don't define.
654130561Sobrien	* elf64-sparc.c (elf_backend_plt_header_size): Don't define.
655130561Sobrien	* elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
656130561Sobrien	* elfn32-mips.c (elf_backend_plt_header_size): Don't define.
657130561Sobrien	* elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
658130561Sobrien	* elfxx-target.h (elf_backend_plt_header_size): Don't define
659130561Sobrien	or include in target initializer.
660130561Sobrien
661130561Sobrien2003-11-03  Andrew Cagney  <cagney@redhat.com>
662130561Sobrien
663130561Sobrien	* section.c (bfd_set_section_contents): Make the "location" buffer
664130561Sobrien	constant.
665130561Sobrien	* bfd-in2.h: Re-generate.
666130561Sobrien
667130561Sobrien2003-10-30  Andrew Cagney  <cagney@redhat.com>
668130561Sobrien
669130561Sobrien	* syms.c: Replace "struct symbol_cache_entry" with "struct
670130561Sobrien	bfd_symbol".
671130561Sobrien	* vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
672130561Sobrien	* mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
673130561Sobrien	* cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
674130561Sobrien	* bfd-in2.h: Re-generate.
675130561Sobrien
676130561Sobrien2003-10-30  Jakub Jelinek  <jakub@redhat.com>
677130561Sobrien
678130561Sobrien	* elfxx-ia64.c: Include objalloc.h, hashtab.h.
679130561Sobrien	(struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym
680130561Sobrien	fields.
681130561Sobrien	(struct elfNN_ia64_local_hash_table): Remove.
682130561Sobrien	(struct elfNN_ia64_link_hash_table): Change loc_hash_table's type
683130561Sobrien	to htab_t.  Add loc_hash_memory field.
684130561Sobrien	(elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry):
685130561Sobrien	Removed.
686130561Sobrien	(elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New
687130561Sobrien	functions.
688130561Sobrien	(elfNN_ia64_hash_table_create): Use hashtab.h hashtable for
689130561Sobrien	loc_hash_table.  Initialize loc_hash_memory.
690130561Sobrien	(elfNN_ia64_hash_table_free): New function.
691130561Sobrien	(elfNN_ia64_local_hash_lookup): Remove.
692130561Sobrien	(elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse
693130561Sobrien	callback.
694130561Sobrien	(elfNN_ia64_dyn_sym_traverse): Use htab_traverse.
695130561Sobrien	(get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table.
696130561Sobrien	(bfd_elfNN_bfd_link_hash_table_free): Define.
697130561Sobrien
698130561Sobrien2003-10-30  Alan Modra  <amodra@bigpond.net.au>
699130561Sobrien
700130561Sobrien	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versioned
701130561Sobrien	symbol string in place.
702130561Sobrien
703130561Sobrien2003-10-30  Jim Blandy  <jimb@redhat.com>
704130561Sobrien
705130561Sobrien	* cpu-rs6000.c (rs6000_compatible): Check the correct arch_info
706130561Sobrien	object's mach field: all PowerPC machines are supersets of the
707130561Sobrien	original rs6000, but not later rs6000 machines.
708130561Sobrien
709130561Sobrien2003-10-30  Alan Modra  <amodra@bigpond.net.au>
710130561Sobrien
711130561Sobrien	* dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr".
712130561Sobrien	Add "val" and "sval" fields.
713130561Sobrien	(DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete.
714130561Sobrien	(read_attribute_value): Expand and adjust DW_* occurrences.
715130561Sobrien	(scan_unit_for_functions, parse_comp_unit): Likewise.
716130561Sobrien
717130561Sobrien2003-10-30  Phil Edwards  <phil@codesourcery.com>
718130561Sobrien
719130561Sobrien	* config.bfd (arm-*-vxworks):  Remove separate stanza; merge with
720130561Sobrien	other common ELF triples.
721130561Sobrien	(i[3-7]86-*-vxworks):  Change to ELF format.
722130561Sobrien	(mips*-*-windiss):  New triple, add to common MIPS/ELF stanza.
723130561Sobrien	(sh-*-vxworks):  New stanza.
724130561Sobrien
725130561Sobrien2003-10-30  Lars Knoll  <lars@trolltech.com>
726130561Sobrien	    Michael Matz  <matz@suse.de>
727130561Sobrien	    Jakub Jelinek  <jakub@redhat.com>
728130561Sobrien	    Alan Modra  <amodra@bigpond.net.au>
729130561Sobrien
730130561Sobrien	* merge.c (struct sec_merge_sec_info): Update comment.
731130561Sobrien	(struct sec_merge_hash_entry): Remove entsize.
732130561Sobrien	(sec_merge_hash_lookup): Only adjust alignment when creating.
733130561Sobrien	(sec_merge_emit): Remove register keyword.
734130561Sobrien	(cmplengthentry, last4_eq, last_eq): Delete.
735130561Sobrien	(strrevcmp, strrevcmp_align, is_suffix): New.
736130561Sobrien	(merge_strings): Use them to implement fast suffix merging.
737130561Sobrien	* elf-strtab.c (struct elf_strtab_hash_entry): Update comments.
738130561Sobrien	Make "len" signed.
739130561Sobrien	(_bfd_elf_strtab_add): Lose on >2G strings.
740130561Sobrien	(_bfd_elf_strtab_emit): Don't emit strings with len < 0.
741130561Sobrien	(cmplengthentry, last4_eq): Delete.
742130561Sobrien	(strrevcmp, is_suffix): New.
743130561Sobrien	(_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
744130561Sobrien
745130561Sobrien2003-10-29  Daniel Jacobowitz  <drow@mvista.com>
746130561Sobrien
747130561Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Move check for
748130561Sobrien	SEC_ALLOC.
749130561Sobrien
750130561Sobrien2003-10-29  Philip Blundell  <philb@gnu.org>
751130561Sobrien
752130561Sobrien	* elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New
753130561Sobrien	code sequence.
754130561Sobrien	(PLT_HEADER_SIZE): New.
755130561Sobrien	(struct elf32_arm_pcrel_relocs_copied): Rename to ...
756130561Sobrien	(struct elf32_arm_relocs_copied): ... this.  Count both
757130561Sobrien	pcrel and non-pcrel relocs.  All uses updated.
758130561Sobrien	(struct elf32_arm_link_hash_table): Add pointers to dynamic linker
759130561Sobrien	sections and symbol/section mapping cache.
760130561Sobrien	(create_got_section): New.
761130561Sobrien	(elf32_arm_create_dynamic_sections): New.
762130561Sobrien	(elf_backend_create_dynamic_sections): Use it.
763130561Sobrien	(elf32_arm_final_link_relocate): Support garbage collection of relocs.
764130561Sobrien	(elf32_arm_check_relocs): Likewise.
765130561Sobrien	(elf32_arm_adjust_dynamic_symbol): Likewise.
766130561Sobrien	(elf32_arm_copy_indirect_symbol): New.
767130561Sobrien	(elf32_arm_link_hash_table_create): Initialise new fields.
768130561Sobrien	(elf32_arm_gc_sweep_hook): Implement.
769130561Sobrien	(elf32_arm_discard_copies): Delete.
770130561Sobrien	(elf32_arm_finish_dynamic_symbol): Use new PLT code.
771130561Sobrien	(elf32_arm_finish_dynamic_sections): Likewise.
772130561Sobrien	(elf_backend_can_refcount): Define.
773130561Sobrien	(elf_backend_copy_indirect_symbol): Likewise.
774130561Sobrien	(elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
775130561Sobrien
776130561Sobrien2003-10-29  Alan Modra  <amodra@bigpond.net.au>
777130561Sobrien
778130561Sobrien	* elf64-ppc.c (elf_backend_grok_prstatus): Define.
779130561Sobrien	(elf_backend_grok_psinfo): Define.
780130561Sobrien	(ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
781130561Sobrien
782130561Sobrien	* elf.c (_bfd_elfcore_make_pseudosection): Allow multiple
783130561Sobrien	sections with the same name.
784130561Sobrien	(elfcore_grok_lwpstatus): Likewise.
785130561Sobrien	(elfcore_grok_win32pstatus): Likewise.
786130561Sobrien	(elfcore_grok_note): Likewise.
787130561Sobrien	(elfcore_grok_nto_status): Likewise.
788130561Sobrien	(elfcore_grok_nto_gregs): Likewise.
789130561Sobrien
790130561Sobrien2003-10-27  Daniel Jacobowitz  <drow@mvista.com>
791130561Sobrien
792130561Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
793130561Sobrien	objects.
794130561Sobrien
795130561Sobrien2003-10-14  Richard Sandiford  <rsandifo@redhat.com>
796130561Sobrien
797130561Sobrien	* elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
798130561Sobrien
799130561Sobrien2003-10-24  H.J. Lu  <hongjiu.lu@intel.com>
800130561Sobrien
801130561Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
802130561Sobrien	hash table for real symbols.
803130561Sobrien
804130561Sobrien2003-10-23  Michael Snyder  <msnyder@redhat.com>
805130561Sobrien
806130561Sobrien	* section.c (asection): Fix typo in comment.
807130561Sobrien
808130561Sobrien2003-10-23  Alan Modra  <amodra@bigpond.net.au>
809130561Sobrien
810130561Sobrien	* elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc
811130561Sobrien	reloc symbol index to it.  Don't allow gd syms in shared libs
812130561Sobrien	to be optimized.
813130561Sobrien	(ppc64_elf_tls_optimize): Adjust get_tls_mask call.
814130561Sobrien	(ppc64_elf_size_stubs): Likewise.
815130561Sobrien	(ppc64_elf_relocate_section): Check that tls relocs are only used
816130561Sobrien	with tls syms, and similarly for non-tls.  Correct symbol used
817130561Sobrien	when optimizing toc tls code.
818130561Sobrien
819130561Sobrien2003-10-22  Nick Clifton  <nickc@redhat.com>
820130561Sobrien
821130561Sobrien	* peicode.h (coff_swap_scnhdr_in): Only remove padding when
822130561Sobrien	processing an executable.
823130561Sobrien
824130561Sobrien2003-10-22  Jakub Jelinek  <jakub@redhat.com>
825130561Sobrien
826130561Sobrien	* elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
827130561Sobrien	field changes.
828130561Sobrien	(_bfd_elf_link_assign_sym_version): Likewise.
829130561Sobrien	* elflink.h (size_dynamic_sections): Likewise.
830130561Sobrien
831130561Sobrien2003-10-21  Alexandre Oliva  <aoliva@redhat.com>,
832130561Sobrien	    Michael Snyder  <msnyder@redhat.com>
833130561Sobrien
834130561Sobrien	* archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu,
835130561Sobrien	bfd_mach_sh4a_nofpu): New machine types.
836130561Sobrien	* bfd-in2.h: Rebuilt.
837130561Sobrien	* cpu-sh.c (compatible): Remove unused function.
838130561Sobrien	(SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New.
839130561Sobrien	(arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu.
840130561Sobrien	* elf32-sh.c (sh_elf_set_mach_from_flags): Handle them.
841130561Sobrien
842130561Sobrien2003-10-21  Wouter van Heyst <wouter@vidicode.nl>
843130561Sobrien
844130561Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text
845130561Sobrien	describing mismatched formats involving the Maverick FP type.
846130561Sobrien
847130561Sobrien2003-10-21  Anil Paranjpe  <anilp1@KPITCummins.com>
848130561Sobrien
849130561Sobrien	* binary.c (binary_object_p): Pass machine flag along with
850130561Sobrien	architecture.
851130561Sobrien
852130561Sobrien2003-10-21  Thorsten Brehm  <brehm@gmx.net>
853130561Sobrien
854130561Sobrien	* archures.c (bfd_default_scan): Add support for mcf528x.
855130561Sobrien	* ieee.c (ieee_write_processor): Likewise.
856130561Sobrien
857130561Sobrien2003-10-21  Peter Barada  <pbarada@mail.wm.sps.mot.com>
858130561Sobrien	    Bernardo Innocenti  <bernie@develer.com>
859130561Sobrien
860130561Sobrien	* archures.c: Add MCF528x (MCFv4) support.
861218822Sdim	* cpu-m68k.c (arch_info_struct): Likewise.
862130561Sobrien	* bfd-in2.h: Regenerate.
863130561Sobrien
864130561Sobrien2003-10-20  Andrew Cagney  <cagney@redhat.com>
865130561Sobrien
866130561Sobrien	* targets.c: Replace "struct sec" with "struct bfd_section"
867130561Sobrien	* syms.c, sparclynx.c, section.c, opncls.c: Ditto.
868130561Sobrien	* libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
869130561Sobrien	* elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
870130561Sobrien	* aout-tic30.c, aout-target.h:
871130561Sobrien	* bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
872130561Sobrien
873130561Sobrien2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
874130561Sobrien
875130561Sobrien	Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs.
876130561Sobrien	* elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro.
877130561Sobrien	(struct _mmix_elf_section_data): New member pjs.
878130561Sobrien	(mmix_set_relaxable_size, mmix_elf_get_section_contents): New
879130561Sobrien	functions.
880130561Sobrien	(elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE.
881130561Sobrien	(mmix_reloc_map): Ditto.
882130561Sobrien	(mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE.
883130561Sobrien	(mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto.
884130561Sobrien	(mmix_elf_perform_relocation): Ditto.  Don't mark parameter addr
885130561Sobrien	unused.
886130561Sobrien	(mmix_elf_check_relocs): Move early return to after
887130561Sobrien	mmix_elf_check_common_relocs call.
888130561Sobrien	(mmix_elf_symbol_processing): Fix cut-and-pasto in head comment.
889130561Sobrien	(_bfd_mmix_before_linker_allocation): Rename from
890130561Sobrien	_bfd_mmix_prepare_linker_allocated_gregs.  All referers changed.
891130561Sobrien	Arrange to set the initial relaxable size of sections.
892130561Sobrien	(_bfd_mmix_after_linker_allocation): Rename from
893130561Sobrien	_bfd_mmix_finalize_linker_allocated_gregs.
894130561Sobrien	(mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc.
895130561Sobrien	(bfd_elf64_get_section_contents): Define.
896130561Sobrien	* reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
897130561Sobrien	* libbfd.h, bfd-in2.h: Regenerate.
898130561Sobrien
899130561Sobrien	* reloc.c (bfd_generic_relax_section): Default-set
900130561Sobrien	section->_cooked_size here.
901130561Sobrien	(bfd_generic_get_relocated_section_contents): Don't set it here.
902130561Sobrien	Explain why.
903130561Sobrien
904130561Sobrien2003-10-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
905130561Sobrien
906130561Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if
907130561Sobrien	output section has been discarded.
908130561Sobrien
909130561Sobrien2003-10-17  Shrinivas Atre  <shrinivasa@KPITCummins.com>
910130561Sobrien
911130561Sobrien	* coff-h8300.c (funcvec_hash_newfunc): Handle normal mode.
912130561Sobrien	(h8300_reloc16_extra_cases): Likewise.
913130561Sobrien	(h8300_bfd_link_add_symbols): Likewise.
914130561Sobrien
915130561Sobrien2003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
916130561Sobrien
917130561Sobrien	* cpu-h8300.c (h8300sxn_info_struct): Correct address size.
918130561Sobrien	(h8300sn_info_struct): Likewise.
919130561Sobrien	(h8300hn_info_struct): Likewise.
920130561Sobrien
921130561Sobrien2003-10-16  Pavel Roskin  <proski@gnu.org>
922130561Sobrien
923130561Sobrien	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size
924130561Sobrien	for sections which lack size info.
925130561Sobrien
926130561Sobrien2003-10-17  Danny Smith  <dannysmith@users.sourceforge.net>
927130561Sobrien
928130561Sobrien	* configure.host: Add __USE_MINGW_FSEEK to HDEFINES for
929130561Sobrien	 mingw32.
930130561Sobrien
931130561Sobrien2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
932130561Sobrien
933130561Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn
934130561Sobrien	undefined patterns with '*'.
935130561Sobrien
936130561Sobrien2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
937130561Sobrien
938130561Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't
939130561Sobrien	use the last CIE from a different section.
940130561Sobrien	(_bfd_elf_write_section_eh_frame): Don't pad beyond the raw
941130561Sobrien	size of the output section.
942130561Sobrien
943130561Sobrien2003-10-07  Roland McGrath  <roland@redhat.com>
944130561Sobrien
945130561Sobrien	* elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of
946130561Sobrien	new section from p_align header field.
947130561Sobrien
948130561Sobrien2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
949130561Sobrien
950130561Sobrien	* elf32-xtensa.c (xtensa_read_table_entries): The external size
951130561Sobrien	of entry is 8 bytes.
952130561Sobrien
953130561Sobrien2003-10-15  Andrew Cagney  <cagney@redhat.com>
954130561Sobrien
955130561Sobrien	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
956130561Sobrien	with NAME##_canonicalize_symtab.
957130561Sobrien	* libcoff-in.h (coff_canonicalize_symtab): Update.
958130561Sobrien	* xsym.h (bfd_sym_canonicalize_symtab): Update.
959130561Sobrien	* elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
960130561Sobrien	* coffgen.c (coff_canonicalize_symtab): Update.
961130561Sobrien	* libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
962130561Sobrien	* libnlm.h (nlmNAME(canonicalize_symtab)): Update.
963130561Sobrien	* ieee.c (ieee_vec): Update comment.
964130561Sobrien	* libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
965130561Sobrien	* mmo.c (mmo_canonicalize_symtab): Update.
966130561Sobrien	* nlm-target.h (nlm_canonicalize_symtab): Update.
967130561Sobrien	* nlmcode.h (nlm_canonicalize_symtab): Update.
968130561Sobrien	* i386msdos.c (msdos_canonicalize_symtab): Update.
969130561Sobrien	* hp300hpux.c (MY (canonicalize_symtab)): Update.
970130561Sobrien	* oasys.c (oasys_canonicalize_symtab): Update.
971130561Sobrien	* som.c (som_canonicalize_symtab): Update.
972130561Sobrien	* pef.c (bfd_pef_canonicalize_symtab): Update.
973130561Sobrien	* nlmcode.h (nlm_canonicalize_symtab): Update.
974130561Sobrien	* xsym.c (bfd_sym_canonicalize_symtab): Update.
975130561Sobrien	* vms.c (vms_canonicalize_symtab): Update.
976130561Sobrien	* versados.c (versados_canonicalize_symtab): Update.
977130561Sobrien	* mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
978130561Sobrien	* ieee.c (ieee_canonicalize_symtab): Update.
979130561Sobrien	* pdp11.c (NAME(aout,canonicalize_symtab)): Update.
980130561Sobrien	* reloc.c: Update comment.
981130561Sobrien	* libaout.h (NAME(aout,canonicalize_symtab)): Update.
982130561Sobrien	* coff64-rs6000.c (aix5coff64_vec): Update.
983130561Sobrien	* coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
984130561Sobrien	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
985130561Sobrien	* aoutx.h (NAME(aout,canonicalize_symtab)): Update.
986130561Sobrien	* elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
987130561Sobrien	* hp300hpux.c (MY_canonicalize_symtab): Update.
988130561Sobrien	* ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
989130561Sobrien	* aout-tic30.c (MY_canonicalize_symtab): Update.
990130561Sobrien	* aout-target.h (MY_canonicalize_symtab): Update.
991130561Sobrien	* ppcboot.c (ppcboot_canonicalize_symtab): Update.
992130561Sobrien	* elf.c (_bfd_elf_canonicalize_symtab): Update.
993130561Sobrien	* elfcode.h (elf_canonicalize_symtab): Update.
994130561Sobrien	* ihex.c (ihex_canonicalize_symtab): Update.
995130561Sobrien	* tekhex.c (tekhex_canonicalize_symtab): Update.
996130561Sobrien	* binary.c (binary_canonicalize_symtab): Update.
997130561Sobrien	* srec.c (srec_canonicalize_symtab): Update.
998130561Sobrien
999130561Sobrien2003-10-15  Kazu Hirata  <kazu@cs.umass.edu>
1000130561Sobrien
1001130561Sobrien	* elf32-h8300.c (elf_reloc_map): Fix a comment typo.
1002130561Sobrien
1003130561Sobrien2003-10-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1004130561Sobrien
1005130561Sobrien	* elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
1006130561Sobrien	relocations.
1007130561Sobrien	(sh_elf_check_relocs): Likewise.
1008130561Sobrien
1009130561Sobrien	* elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
1010130561Sobrien	(sh64_elf_merge_symbol_attribute): New.
1011130561Sobrien	* elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
1012130561Sobrien	(sh64_elf64_merge_symbol_attribute): New.
1013130561Sobrien
1014130561Sobrien2003-10-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1015130561Sobrien
1016130561Sobrien	* elf-bfd.h (struct elf_backend_data): New function pointer member
1017130561Sobrien	elf_backend_merge_symbol_attribute.
1018130561Sobrien	* elflink.h (elf_link_add_object_symbols): Adjust call to
1019130561Sobrien	elf_backend_merge_symbol_attribute if the backend defined it.
1020130561Sobrien	* elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
1021130561Sobrien	(elfNN_bed): Add that to the initializer.
1022130561Sobrien
1023130561Sobrien2003-10-14  Bob Wilson  <bob.wilson@acm.org>
1024130561Sobrien
1025130561Sobrien	* elf32-xtensa.c (get_is_linkonce_section): Delete.
1026130561Sobrien	(xtensa_is_property_section, xtensa_is_littable_section): Use
1027130561Sobrien	XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros.  Do not recognize
1028130561Sobrien	linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
1029130561Sobrien	(xtensa_get_property_section_name): Check section name instead of
1030130561Sobrien	calling get_is_linkonce_section.  Remove unused bfd parameter.  Use
1031130561Sobrien	XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros.  Never generate
1032130561Sobrien	linkonce section names by appending ".xt.insn" or ".xt.lit".
1033130561Sobrien	(xtensa_read_table_entries): Remove bfd argument in call to
1034130561Sobrien	xtensa_get_property_section_name.  Free section name when done.
1035130561Sobrien	(elf_xtensa_combine_prop_entries): Free leaking table.
1036130561Sobrien
1037130561Sobrien2003-10-13  Richard Sandiford  <rsandifo@redht.com>
1038130561Sobrien
1039130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
1040130561Sobrien	DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
1041130561Sobrien	(_bfd_mips_elf_finish_dynamic_symbol): Don't handle them.  Don't
1042130561Sobrien	handle DT_MIPS_MSYM.  Set DT_RELSZ based on the number of relocations
1043130561Sobrien	that were needed.
1044130561Sobrien	(_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
1045130561Sobrien	(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
1046130561Sobrien
1047130561Sobrien2003-10-13  H.J. Lu  <hongjiu.lu@intel.com>
1048130561Sobrien
1049130561Sobrien	* bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
1050130561Sobrien	(bfd_elf64_ia64_after_parse): Likewise.
1051130561Sobrien	* bfd-in2.h: Regenerated.
1052130561Sobrien
1053130561Sobrien	* elfxx-ia64.c (oor_ip): New.
1054130561Sobrien	(oor_branch_size): Likewise.
1055130561Sobrien	(bfd_elfNN_ia64_after_parse): Likewise.
1056130561Sobrien	(elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
1057130561Sobrien	equals sizeof (oor_ip).
1058130561Sobrien
1059130561Sobrien2003-10-12  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1060130561Sobrien
1061130561Sobrien	* elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
1062130561Sobrien	renumbering of some relocation numbers.
1063130561Sobrien
1064130561Sobrien2003-10-11  Alan Modra  <amodra@bigpond.net.au>
1065130561Sobrien
1066130561Sobrien	* coff-sh.c: Move definition of MAP and guard more code with
1067130561Sobrien	COFF_IMAGE_WITH_PE.
1068130561Sobrien
1069130561Sobrien	* section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
1070130561Sobrien	* bfd-in2.h: Regenerate.
1071130561Sobrien
1072130561Sobrien2003-10-10  H.J. Lu  <hongjiu.lu@intel.com>
1073130561Sobrien
1074130561Sobrien	* Makefile.am: Run "make dep-am".
1075130561Sobrien	* Makefile.in: Regenerate.
1076130561Sobrien	* doc/Makefile.in: Likewise.
1077130561Sobrien
1078130561Sobrien2003-10-09  H.J. Lu  <hongjiu.lu@intel.com>
1079130561Sobrien
1080130561Sobrien	* cofflink.c: Include "safe-ctype.h".
1081130561Sobrien	(coff_link_add_symbols): Use ISDIGIT instead of isdigit.
1082130561Sobrien
1083130561Sobrien2003-10-08  Dave Brolley  <brolley@redhat.com>
1084130561Sobrien	On behalf of Michael Snyder  <msnyder@redhat.com>
1085130561Sobrien
1086130561Sobrien	* archures.c: Add FRV fr550 machine.
1087130561Sobrien	* cpu-frv.c: Ditto.
1088130561Sobrien	* elf32-frv.c: Ditto.
1089130561Sobrien	* bfd-in2.h: Regenerate.
1090130561Sobrien
1091130561Sobrien2003-10-08  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1092130561Sobrien
1093130561Sobrien	* elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
1094130561Sobrien	for non-SGI N64 ABI. Improve code consitency.
1095130561Sobrien
1096130561Sobrien2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
1097130561Sobrien
1098130561Sobrien	* elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
1099130561Sobrien	rightshift to 2.
1100130561Sobrien
1101130561Sobrien2003-10-07  Nathan Sidwell  <nathan@codesourcery.com>
1102130561Sobrien
1103130561Sobrien	* libbfd-in.h (_bfd_link_section_stabs): Add string offset
1104130561Sobrien	parameter.
1105130561Sobrien	* cofflink.c (coff_link_add_symbols): Deal with split stab
1106130561Sobrien	sections.
1107130561Sobrien	* elflink.h (elf_link_add_object_symbols): Deal with split stab
1108130561Sobrien	sections.
1109130561Sobrien	* stabs.c (_bfd_link_section_stabs): Add string offset parameter.
1110130561Sobrien	* libbfd.h: Regenerated.
1111130561Sobrien
1112130561Sobrien	* coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
1113130561Sobrien	overflow, set reloc start position to after the count
1114130561Sobrien	reloc. Subtract one from num relocs. Give error on 0xffff relocs
1115130561Sobrien	and no overflow.
1116130561Sobrien	* cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
1117130561Sobrien	overflow.
1118130561Sobrien	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
1119130561Sobrien	0xffff.
1120130561Sobrien
1121130561Sobrien2003-10-06  H.J. Lu  <hongjiu.lu@intel.com>
1122130561Sobrien
1123130561Sobrien	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
1124130561Sobrien	last CIE/FDE if needed.
1125130561Sobrien
1126130561Sobrien2003-10-06  Nick Clifton  <nickc@redhat.com>
1127130561Sobrien
1128130561Sobrien	* targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
1129130561Sobrien	BFD64 is enabled.
1130130561Sobrien
1131130561Sobrien2003-10-06  Matt Thomas <matt@3am-software.com>
1132130561Sobrien
1133130561Sobrien	* config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
1134130561Sobrien
1135130561Sobrien2003-10-06  Robert Millan  <robertmh@gnu.org>
1136130561Sobrien
1137130561Sobrien	* configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
1138130561Sobrien	* config.bfd: Likewise.
1139130561Sobrien	* configure: Regenerate.
1140130561Sobrien
1141130561Sobrien2003-10-04  Christian Groessler  <chris@groessler.org>
1142130561Sobrien
1143130561Sobrien	* coff-z8k.c (extra_case): Fix displacement length check for R_JR
1144130561Sobrien	and R_CALLR.
1145130561Sobrien
1146130561Sobrien2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
1147130561Sobrien
1148130561Sobrien	* elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
1149130561Sobrien	* elf32-m68hc11.c: Likewise.
1150130561Sobrien	* elf32-m68hc12.c: Likewise.
1151130561Sobrien	* elf32-m68hc1x.h: Likewise.
1152130561Sobrien
1153130561Sobrien2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
1154130561Sobrien
1155130561Sobrien	* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
1156130561Sobrien	of flags between HC12 and HCS12.
1157130561Sobrien
1158130561Sobrien2003-10-04  Bryce McKinlay  <bryce@mckinlay.net.nz>
1159130561Sobrien
1160130561Sobrien	* merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
1161130561Sobrien	which become empty after merging.
1162130561Sobrien
1163130561Sobrien2003-09-30  Jakub Jelinek  <jakub@redhat.com>
1164130561Sobrien
1165130561Sobrien	* elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
1166130561Sobrien	R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
1167130561Sobrien
1168130561Sobrien2003-09-30  Chris Demetriou  <cgd@broadcom.com>
1169130561Sobrien
1170130561Sobrien	* archures.c (bfd_mach_mipsisa64r2): New define.
1171130561Sobrien	* bfd-in2.h: Regenerate.
1172130561Sobrien	* aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
1173130561Sobrien	* cpu-mips.c (I_mipsisa64r2): New enum value.
1174130561Sobrien	(arch_info_struct): Add entry for I_mipsisa64r2.
1175130561Sobrien	* elfxx-mips.c (_bfd_elf_mips_mach)
1176130561Sobrien	(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
1177130561Sobrien	(mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
1178130561Sobrien	(mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
1179130561Sobrien
1180130561Sobrien2003-09-29  H.J. Lu  <hongjiu.lu@intel.com>
1181130561Sobrien
1182130561Sobrien	* elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
1183130561Sobrien	Handle SHN_IA_64_ANSI_COMMON.
1184130561Sobrien	(elf_backend_section_from_bfd_section): Defined.
1185130561Sobrien
1186130561Sobrien2003-09-26  H.J. Lu  <hongjiu.lu@intel.com>
1187130561Sobrien
1188130561Sobrien	* elflink.c (elf_link_read_relocs_from_section): Add an argument
1189130561Sobrien	of a pointer to section. Check bad symbol index.
1190130561Sobrien	(_bfd_elf_link_read_relocs): Modify calls to
1191130561Sobrien	elf_link_read_relocs_from_section.
1192130561Sobrien
1193130561Sobrien2003-09-23  DJ Delorie  <dj@redhat.com>
1194130561Sobrien
1195130561Sobrien	* elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
1196130561Sobrien	R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
1197130561Sobrien	R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
1198130561Sobrien	R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
1199130561Sobrien	R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
1200130561Sobrien	R_SH_PSHA, R_SH_PSHL added.
1201130561Sobrien	(sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
1202130561Sobrien	(sh_elf_relocate_section): Support new relocs.
1203130561Sobrien
1204130561Sobrien2003-09-23  Bob Wilson  <bob.wilson@acm.org>
1205130561Sobrien
1206130561Sobrien	* elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
1207130561Sobrien	dynamic relocation offsets.
1208130561Sobrien
1209130561Sobrien2003-09-23  Alan Modra  <amodra@bigpond.net.au>
1210130561Sobrien
1211130561Sobrien	* simple.c (bfd_simple_get_relocated_section_contents): Free the
1212130561Sobrien	hash table using _bfd_generic_link_hash_table_free.
1213130561Sobrien
1214130561Sobrien2003-09-23  Alan Modra  <amodra@bigpond.net.au>
1215130561Sobrien
1216130561Sobrien	* elf-bfd.h (struct bfd_elf_special_section): Remove "suffix".  Change
1217130561Sobrien	type of prefix_length and suffix_length to int.  Rename "attributes"
1218130561Sobrien	to "attr".  Comment.
1219130561Sobrien	(_bfd_elf_get_sec_type_attr): Update prototype.
1220130561Sobrien	* elf.c (get_special_section): Rewrite.
1221130561Sobrien	(_bfd_elf_get_sec_type_attr): Return struct rather than passing in
1222130561Sobrien	attr and type pointers.
1223130561Sobrien	(_bfd_elf_new_section_hook): Adjust for above.
1224130561Sobrien	(special_sections): Merge suffix with prefix.  Set
1225130561Sobrien	prefix_length for all entries.  Set suffix_length appropriately.
1226130561Sobrien	* elf32-m32r.c (m32r_elf_special_sections): Likewise.
1227130561Sobrien	* elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
1228130561Sobrien	* elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
1229130561Sobrien	* elf32-mcore.c (mcore_elf_special_sections): Likewise.
1230130561Sobrien	* elf32-sh64.c (sh64_elf_special_sections): Likewise.
1231130561Sobrien	* elf32-v850.c (v850_elf_special_sections): Likewise.
1232130561Sobrien	* elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
1233130561Sobrien	* elf64-alpha.c (elf64_alpha_special_sections): Likewise.
1234130561Sobrien	* elf64-hppa.c (elf64_hppa_special_sections): Likewise.
1235130561Sobrien	* elf64-ppc.c (ppc64_elf_special_sections): Likewise.
1236130561Sobrien	* elf64-sh64.c (sh64_elf64_special_sections): Likewise.
1237130561Sobrien	* elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
1238130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
1239130561Sobrien	* elf32-ppc.c (ppc_elf_special_sections): Likewise.  Fix .plt flags.
1240130561Sobrien
1241130561Sobrien2003-09-21  Daniel Jacobowitz  <drow@mvista.com>
1242130561Sobrien
1243130561Sobrien	* elf64-alpha.c (elf64_alpha_create_got_section): Initialize
1244130561Sobrien	->got if the section already exists.
1245130561Sobrien
1246130561Sobrien2003-09-19  Nathan Sidwell  <nathan@codesourcery.com>
1247130561Sobrien
1248130561Sobrien	* dwarf2.c (decode_line_info): Cope with an initially empty
1249130561Sobrien	filename table.
1250130561Sobrien
1251130561Sobrien2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
1252130561Sobrien
1253130561Sobrien	* acinclude.m4: Include ../config/accross.m4.
1254130561Sobrien	* aclocal.m4: Regenerated.
1255130561Sobrien
1256130561Sobrien	* configure.host (HOST_64BIT_TYPE): Remove if it is set to long
1257130561Sobrien	or long long.
1258130561Sobrien	(HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
1259130561Sobrien	(host64): Remove if HOST_64BIT_TYPE is set to long.
1260130561Sobrien
1261130561Sobrien	* configure.in (HOST_64BIT_TYPE): Set according to the size of
1262130561Sobrien	long and long long.
1263130561Sobrien	(HOST_U_64BIT_TYPE): Likewise.
1264130561Sobrien	(host64): Likewise.
1265130561Sobrien	* configure: Regenerated.
1266130561Sobrien
1267130561Sobrien2003-09-19  Alan Modra  <amodra@bigpond.net.au>
1268130561Sobrien
1269130561Sobrien	* elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
1270130561Sobrien	since some ABIs round up the size of the struct.
1271130561Sobrien
1272130561Sobrien2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
1273130561Sobrien
1274130561Sobrien	* elflink.c (_bfd_elf_merge_symbol): Allow type change if
1275130561Sobrien	the old symbol is undefined and the new symbol is defined.
1276130561Sobrien
1277130561Sobrien2003-09-18  Andreas Schwab  <schwab@suse.de>
1278130561Sobrien
1279130561Sobrien	* simple.c (bfd_simple_get_relocated_section_contents): Use
1280130561Sobrien	_bfd_generic_link_hash_table_create instead of
1281130561Sobrien	bfd_link_hash_table_create.
1282130561Sobrien
1283130561Sobrien2003-09-10  H.J. Lu  <hongjiu.lu@intel.com>
1284130561Sobrien
1285130561Sobrien	* elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
1286130561Sobrien	started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
1287130561Sobrien
1288130561Sobrien2003-09-10  John David Anglin	<dave.anglin@nrc-cnrc.nrc.ca>
1289130561Sobrien	    Randolph Chung	<randolph@tausq.org>
1290130561Sobrien
1291130561Sobrien	* elf32-hppa.c (struct elf32_hppa_link_hash_entry,
1292130561Sobrien	hppa_link_hash_newfunc, hppa_build_one_stub,
1293130561Sobrien	elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
1294130561Sobrien	allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
1295130561Sobrien	elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
1296130561Sobrien	for generating import stubs for calls to statically linked PIC
1297130561Sobrien	functions.
1298130561Sobrien	(hppa_type_of_stub): Don't generate an import stub for calls to
1299130561Sobrien	statically linked pic functions.  Generate import stubs for calls
1300130561Sobrien	in a shared object, to functions not in a regular file, and to
1301130561Sobrien	defined weak functions.  Add new argument INFO.
1302130561Sobrien	(hppa_build_one_stub): Don't undef ADDIL_DP.
1303130561Sobrien	(elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
1304130561Sobrien	(elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
1305130561Sobrien	(final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
1306130561Sobrien	non-shared link.  Convert instructions that use the the linkage table
1307130561Sobrien	pointer, or a facsimile thereof, to use the global data pointer when
1308130561Sobrien	the reloc has been changed.
1309130561Sobrien
1310130561Sobrien2003-09-08  Joel Brobecker  <brobecker@gnat.com>
1311130561Sobrien
1312130561Sobrien	* archures.c: Add new machine names for hppa.
1313130561Sobrien	* bfd-in2.h: Regenerate.
1314130561Sobrien	* cpu-hppa.c: Use the new machine names.
1315130561Sobrien
1316130561Sobrien2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
1317130561Sobrien
1318130561Sobrien	* elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
1319130561Sobrien	all_local_syms member.
1320130561Sobrien	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
1321130561Sobrien	to get the local symbols.
1322130561Sobrien
1323130561Sobrien2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
1324130561Sobrien
1325130561Sobrien	* elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
1326130561Sobrien	(elf_backend_special_sections): Define.a
1327130561Sobrien
1328130561Sobrien	PR savannah/4950:
1329130561Sobrien	* elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
1330130561Sobrien	section is read-only.
1331130561Sobrien
1332130561Sobrien2003-09-04  Nick Clifton  <nickc@redhat.com>
1333130561Sobrien
1334130561Sobrien	* archures.c (bfd_mach_v850e1): Define.
1335130561Sobrien	* bfd-in2.h: Regenerate.
1336130561Sobrien	* cpu-v850.h (scan): Accept bfd_mach_v850e1.
1337130561Sobrien	(arch_info_struct): Include an entry for bfd_mach_v850e1.
1338130561Sobrien	* elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
1339130561Sobrien	(v850_elf_final_write_processing): Accept bfd_mach_v850e1.
1340130561Sobrien	(v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
1341130561Sobrien	(v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
1342130561Sobrien	linked with v850e binaries.  Mark the output as v850e.
1343130561Sobrien
1344130561Sobrien2003-09-03  Nick Clifton  <nickc@redhat.com>
1345130561Sobrien
1346130561Sobrien	* cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
1347130561Sobrien	symbols that are used in relocs.
1348130561Sobrien
1349130561Sobrien2003-08-30  Robert Millan  <robertmh@gnu.org>
1350130561Sobrien
1351130561Sobrien	* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
1352130561Sobrien	* config.bfd: Likewise.
1353130561Sobrien	* configure: Regenerate.
1354130561Sobrien
1355130561Sobrien2003-08-31  Christian Groessler  <chris@groessler.org>
1356130561Sobrien
1357130561Sobrien	* elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
1358130561Sobrien	instead of returning bfd_reloc_continue.
1359130561Sobrien
1360130561Sobrien2003-08-31  Andreas Jaeger  <aj@suse.de>
1361130561Sobrien
1362130561Sobrien	* merge.c: Update to ISO C90.
1363130561Sobrien
1364130561Sobrien2003-08-27  Ian Lance Taylor  <ian@airs.com>
1365130561Sobrien
1366130561Sobrien	* configure.in: Check for strtoull.
1367130561Sobrien	* bfd.c (bfd_scan_vma): Use strtoull when available.
1368130561Sobrien	* configure, config.in: Regenerate.
1369130561Sobrien
1370130561Sobrien	* configure.in: Define and substitute BFD_HOST_LONG_LONG.
1371130561Sobrien	* bfd-in.h: Define BFD_HOST_LONG_LONG.  Test it rather than
1372130561Sobrien	__GNUC__ when deciding whether to use long long for
1373130561Sobrien	BFD_HOST_64_BIT.
1374130561Sobrien	* configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
1375130561Sobrien
1376130561Sobrien2003-08-27  Christian Groessler  <chris@groessler.org>
1377130561Sobrien
1378130561Sobrien	* elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
1379130561Sobrien	i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
1380130561Sobrien	functions.
1381130561Sobrien	(elf32_i860_howto_table): Insert the new functions as
1382130561Sobrien	'special_function's in the proper reloc type entries.
1383130561Sobrien
1384130561Sobrien2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
1385130561Sobrien
1386130561Sobrien	* elf32-frv.c (elf32_frv_relocate_section): Use
1387130561Sobrien	_bfd_elf_rela_local_sym.
1388130561Sobrien
1389130561Sobrien2003-08-26  Michael Snyder  <msnyder@redhat.com>
1390130561Sobrien
1391130561Sobrien	* cpu-frv.c: Remove unused enum.
1392130561Sobrien
1393130561Sobrien2003-08-25  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
1394130561Sobrien
1395130561Sobrien	* reloc.c: Fix documentation for MIPS ELF relocations.
1396130561Sobrien	libbfd.h: Regenerate.
1397130561Sobrien	bfd-in2.h: Regenerate.
1398130561Sobrien
1399130561Sobrien2003-08-24  Jason Eckhardt  <jle@rice.edu>
1400130561Sobrien
1401130561Sobrien	* coff-i860.c (CALC_ADDEND): Define to be a no-op.
1402130561Sobrien
1403130561Sobrien2003-08-24  Jason Eckhardt  <jle@rice.edu>
1404130561Sobrien
1405130561Sobrien	* elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
1406130561Sobrien	shift by 2 before storing the relocated value.
1407130561Sobrien
1408130561Sobrien2003-08-23  Jason Eckhardt  <jle@rice.edu>
1409130561Sobrien
1410130561Sobrien	* coff-i860.c (coff_i860_reloc_nyi): New function.
1411130561Sobrien	(howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
1412130561Sobrien	LOWn, SPLITn, and BRADDR.
1413130561Sobrien	(RTYPE2HOWTO): Check that the r_type is within the howto_table
1414130561Sobrien	before trying to access the entry.
1415130561Sobrien	(coff_i860_rtype_to_howto): Likewise.
1416130561Sobrien	(coff_i860_reloc_type_lookup): New function.
1417130561Sobrien	(i860_reloc_processing): New function.
1418130561Sobrien	(coff_bfd_reloc_type_lookup): Define macro.
1419130561Sobrien	(RELOC_PROCESSING): Define macro.
1420130561Sobrien	Minor formatting adjustments.
1421130561Sobrien
1422130561Sobrien2003-08-23  Alan Modra  <amodra@bigpond.net.au>
1423130561Sobrien
1424130561Sobrien	* elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
1425130561Sobrien
1426130561Sobrien2003-08-22  H.J. Lu  <hongjiu.lu@intel.com>
1427130561Sobrien
1428130561Sobrien	* elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
1429130561Sobrien	.got section at 8 bytes.
1430130561Sobrien
1431130561Sobrien2003-08-21  Nick Clifton  <nickc@redhat.com>
1432130561Sobrien
1433130561Sobrien	* cofflink.c: Update to ISO C90 and tidy up formatting.
1434130561Sobrien
1435130561Sobrien2003-08-21  Randolph Chung  <tausq@debian.org>
1436130561Sobrien
1437130561Sobrien	* elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
1438130561Sobrien	can have OSABI=Linux or OSABI=SysV.  Check for both.
1439130561Sobrien	* elf64-hppa.c (elf64_hppa_object_p): Likewise.
1440130561Sobrien
1441130561Sobrien2003-08-21  Nick Clifton  <nickc@redhat.com>
1442130561Sobrien
1443130561Sobrien	* po/sv.po: Updated Swedish translation.
1444130561Sobrien
1445130561Sobrien2003-08-20  Richard Sandiford  <rsandifo@redhat.com>
1446130561Sobrien
1447130561Sobrien	* elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
1448130561Sobrien
1449130561Sobrien2003-08-20  Nick Clifton  <nickc@redhat.com>
1450130561Sobrien
1451130561Sobrien	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
1452130561Sobrien	replace some duplicated code in most elfxx-xxxx.c files.  This
1453130561Sobrien	version uses the new fields in bfd_link_info.
1454130561Sobrien
1455130561Sobrien	* elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
1456130561Sobrien	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
1457130561Sobrien	* elf32-cris.c (cris_elf_relocate_section): Likewise.
1458130561Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1459130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Likewise.
1460130561Sobrien	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1461130561Sobrien	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1462130561Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1463130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1464130561Sobrien	* elf32-s390.c (elf_s390_relocate_section): Likewise.
1465130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1466130561Sobrien	* elf32-vax.c (elf_vax_relocate_section): Likewise.
1467130561Sobrien	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1468130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1469130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1470130561Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
1471130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1472130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1473130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1474130561Sobrien
1475130561Sobrien	* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
1476130561Sobrien	elf_hppa_remark_useless_dynamic_symbols,
1477130561Sobrien	elf_hppa_relocate_section): Use the new fields in
1478130561Sobrien	bfd_link_info structure.
1479130561Sobrien	* elf32-sh.c (sh_elf_relocate_section): Likewise.
1480130561Sobrien	* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
1481130561Sobrien	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
1482130561Sobrien	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1483130561Sobrien	* elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
1484130561Sobrien	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1485130561Sobrien
1486130561Sobrien	* elflink.h (elf_link_output_extsym): Fix test for reporting
1487130561Sobrien	undefined symbols in shared libraries.  Remove redundant test
1488130561Sobrien	of shlib_undefined when reporting references to forced local
1489130561Sobrien	symbols.
1490130561Sobrien
1491130561Sobrien2003-08-18  Andreas Schwab  <schwab@suse.de>
1492130561Sobrien
1493130561Sobrien	* libpei.h (bfd_pe_executable_p): Also recognize efi-app
1494130561Sobrien	executables.
1495130561Sobrien
1496130561Sobrien2003-08-17  Hans-Peter Nilsson  <hp@bitrange.com>
1497130561Sobrien
1498130561Sobrien	* simple.c (bfd_simple_get_relocated_section_contents): Move
1499130561Sobrien	reloc_done hack to before first bfd_section_size call.  Change all
1500130561Sobrien	returns to use new wrapper macro RETURN, restoring sec->reloc_done.
1501130561Sobrien
1502130561Sobrien2003-08-16  Alan Modra  <amodra@bigpond.net.au>
1503130561Sobrien
1504130561Sobrien	* elf64-ppc.c: Don't include elf/ppc.h.
1505130561Sobrien
1506130561Sobrien2003-08-14  Richard Sandiford  <rsandifo@redhat.com>
1507130561Sobrien
1508130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
1509130561Sobrien	code to work with 64-bit bfds.
1510130561Sobrien
1511130561Sobrien2003-08-14  Alan Modra  <amodra@bigpond.net.au>
1512130561Sobrien
1513130561Sobrien	* dep-in.sed: Remove libintl.h.
1514130561Sobrien	* Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
1515130561Sobrien	(POTFILES.in): Remove target.
1516130561Sobrien	* Makefile.in: Regenerate.
1517130561Sobrien
1518130561Sobrien2003-08-12  Alan Modra  <amodra@bigpond.net.au>
1519130561Sobrien
1520130561Sobrien	* elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
1521130561Sobrien	(ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
1522130561Sobrien	use the function sym from the previous reloc.
1523130561Sobrien
1524130561Sobrien2003-08-11  Jakub Jelinek  <jakub@redhat.com>
1525130561Sobrien
1526130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
1527130561Sobrien	fatal if -pie.
1528130561Sobrien	* elf32-s390.c (elf_s390_relocate_section): Likewise.
1529130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1530130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1531130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1532130561Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
1533130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1534130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1535130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1536130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1537130561Sobrien	(ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
1538130561Sobrien	on undefined symbols if -pie.
1539130561Sobrien	* elf32-sh.c (sh_elf_relocate_section): Likewise.
1540130561Sobrien
1541130561Sobrien2003-08-11  Alan Modra  <amodra@bigpond.net.au>
1542130561Sobrien
1543130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
1544130561Sobrien	branch to __libc_start_main.
1545130561Sobrien
1546130561Sobrien2003-08-08 Dmitry Diky <diwil@mail.ru>
1547130561Sobrien
1548130561Sobrien	* archures.c: Add xW42 and xE42 parts. Sort MPU list according to
1549130561Sobrien	gcc order.
1550130561Sobrien	* cpu-msp430.c: Likewise.
1551130561Sobrien	* elf32-msp430.c: Likewise.
1552130561Sobrien	* bfd-in2.h: Regenerate.
1553130561Sobrien
1554130561Sobrien2003-08-07  Alan Modra  <amodra@bigpond.net.au>
1555130561Sobrien
1556130561Sobrien	* elfxx-target.h: Remove PTR cast.
1557130561Sobrien	* targets.c (bfd_target): Make backend_data const void *.
1558130561Sobrien	* elf-bfd.h: Constify all occurrences of struct elf_backend_data.
1559130561Sobrien	* elf-m10300.c: Likewise.
1560130561Sobrien	* elf.c: Likewise.
1561130561Sobrien	* elf32-hppa.c: Likewise.
1562130561Sobrien	* elf32-i386.c: Likewise.
1563130561Sobrien	* elf32-m68hc1x.c: Likewise.
1564130561Sobrien	* elf32-ppc.c: Likewise.
1565130561Sobrien	* elf32-s390.c: Likewise.
1566130561Sobrien	* elf32-sh.c: Likewise.
1567130561Sobrien	* elf32-sh64.c: Likewise.
1568130561Sobrien	* elf32-sparc.c: Likewise.
1569130561Sobrien	* elf32-xtensa.c: Likewise.
1570130561Sobrien	* elf64-mips.c: Likewise.
1571130561Sobrien	* elf64-ppc.c: Likewise.
1572130561Sobrien	* elf64-s390.c: Likewise.
1573130561Sobrien	* elf64-sh64.c: Likewise.
1574130561Sobrien	* elf64-sparc.c: Likewise.
1575130561Sobrien	* elf64-x86-64.c: Likewise.
1576130561Sobrien	* elfcode.h: Likewise.
1577130561Sobrien	* elfcore.h: Likewise.
1578130561Sobrien	* elflink.c: Likewise.
1579130561Sobrien	* elflink.h: Likewise.
1580130561Sobrien	* elfxx-ia64.c: Likewise.
1581130561Sobrien	* elfxx-mips.c: Likewise.
1582130561Sobrien	* elfxx-mips.h: Likewise.
1583130561Sobrien	* elf.c (prep_headers): Remove useless check for null backend_data.
1584130561Sobrien	* bfd-in2.h: Regenerate.
1585130561Sobrien
1586130561Sobrien	* elf-bfd.h: Remove PARAMS macro.  Replace PTR with void *.
1587130561Sobrien	(NAME): Use ## rather than CONCAT4 macro.
1588130561Sobrien	* elfcode.h: Remove one remaining PARAMS macro.
1589130561Sobrien	* elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
1590130561Sobrien	* elf-strtab.c: Likewise.
1591130561Sobrien	* elf-hppa.h: Likewise.
1592130561Sobrien	* elf32-hppa.h: Likewise.
1593130561Sobrien	* elf32-hppa.c: Likewise.
1594130561Sobrien	(elf32_hppa_add_symbol_hook): Delete.
1595130561Sobrien	(elf_backend_add_symbol_hook): Don't define.
1596130561Sobrien	* libhppa.h: Convert to C90.  Replace INLINE with inline.
1597130561Sobrien
1598130561Sobrien2003-08-06  Alan Modra  <amodra@bigpond.net.au>
1599130561Sobrien
1600130561Sobrien	* elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
1601130561Sobrien	(ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
1602130561Sobrien	function descriptors, but warn.
1603130561Sobrien	(ppc_build_one_stub): Remove a couple of vars.  Move code creating
1604130561Sobrien	stub syms so that we can avoid a stub sym if we already have a
1605130561Sobrien	plt sym.  Do not redefine an existing symbol.
1606130561Sobrien	(ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
1607130561Sobrien	glink.
1608130561Sobrien
1609130561Sobrien2003-08-06  Nick Clifton  <nickc@redhat.com>
1610130561Sobrien
1611130561Sobrien	* po/fr.po: Updated French translation.
1612130561Sobrien
1613130561Sobrien2003-08-06  Alan Modra  <amodra@bigpond.net.au>
1614130561Sobrien
1615130561Sobrien	* elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
1616130561Sobrien	SEC_LINKER_CREATED.
1617130561Sobrien
1618130561Sobrien2003-08-05  Daniel Jacobowitz  <drow@mvista.com>
1619130561Sobrien
1620130561Sobrien	* elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
1621130561Sobrien	(elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
1622130561Sobrien
1623130561Sobrien2003-08-03  Jeff Muizelaar  <muizelaar@rogers.com>
1624130561Sobrien
1625130561Sobrien	* coffcode.h (coff_slurp_line_table): Return with a warning
1626130561Sobrien	message if the line number table could not be read.
1627130561Sobrien
1628130561Sobrien2003-08-04  Nick Clifton  <nickc@redhat.com>
1629130561Sobrien
1630130561Sobrien	* elflink.h (elf_link_add_object_symbols): Prepend "warning: "
1631130561Sobrien	to messages produced for .gnu.warning.SYMBOL sections.
1632130561Sobrien
1633130561Sobrien2003-08-04  Alan Modra  <amodra@bigpond.net.au>
1634130561Sobrien
1635130561Sobrien	* elfcode.h: Convert to C90, remove unneeded casts and prototypes.
1636130561Sobrien	* elfcore.h: Likewise.
1637130561Sobrien	* elflink.c: Likewise.
1638130561Sobrien	* elflink.h: Likewise.
1639130561Sobrien	* elf.c (sym_is_global): Remove INLINE.
1640130561Sobrien	(align_file_position): Replace INLINE with inline.
1641130561Sobrien	* elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
1642130561Sobrien	(elf_file_p): Replace INLINE with inline.
1643130561Sobrien
1644130561Sobrien2003-08-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1645130561Sobrien
1646130561Sobrien	* elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
1647130561Sobrien
1648130561Sobrien2003-08-01  H.J. Lu  <hongjiu.lu@intel.com>
1649130561Sobrien
1650130561Sobrien	* elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
1651130561Sobrien
1652130561Sobrien2003-08-01  H.J. Lu  <hongjiu.lu@intel.com>
1653130561Sobrien
1654130561Sobrien	* elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
1655130561Sobrien	ElfNN_External_Rela instead of Elf64_External_Rela.
1656130561Sobrien
1657130561Sobrien2003-08-01  Nick Clifton  <nickc@redhat.com>
1658130561Sobrien
1659130561Sobrien	* config.bfd: Add code to catch obsolete configurations and warn
1660130561Sobrien	about them unless --enable-obsolete is used.  Use this to mark
1661130561Sobrien	vax-vms port as obsolete.
1662130561Sobrien
1663130561Sobrien2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1664130561Sobrien
1665130561Sobrien	* elf32-ppc.c (ppc_elf_install_value): Tidy.
1666130561Sobrien	(ppc_elf_relax_section): Remove dead code.  Remove unnecessary casts.
1667130561Sobrien	Formatting.
1668130561Sobrien	* elfxx-target.h: Remove PARAMS macro.  Formatting.
1669130561Sobrien
1670130561Sobrien2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1671130561Sobrien
1672130561Sobrien	* elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
1673130561Sobrien	* elf64-ppc.c (get_fdh): New function, split out from
1674130561Sobrien	ppc64_elf_edit_opd.
1675130561Sobrien	(ppc64_elf_check_relocs): Use get_fdh.
1676130561Sobrien	(func_desc_adjust): Likewise.  Tidy.
1677130561Sobrien	(ppc64_elf_edit_opd): Tighten reloc checks.  Free local_syms on error
1678130561Sobrien	exit.  Use get_fdh.  Account for superfluous dynamic relocs.
1679130561Sobrien	(ppc64_elf_relocate_section): Warning fix.
1680130561Sobrien
1681130561Sobrien2003-07-30  Jason Eckhardt  <jle@rice.edu>
1682130561Sobrien
1683130561Sobrien	* coff-i860.c: Convert to ISO C90.  Remove superflous prototypes.
1684130561Sobrien
1685130561Sobrien2003-07-30  Jason Eckhardt  <jle@rice.edu>
1686130561Sobrien
1687130561Sobrien	* elf32-i860.c: Convert to ISO C90.  Remove superflous prototypes.
1688130561Sobrien
1689130561Sobrien2003-07-30  Randolph Chung  <tausq@debian.org>
1690130561Sobrien
1691130561Sobrien	* elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
1692130561Sobrien	* elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
1693130561Sobrien
1694130561Sobrien2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1695130561Sobrien
1696130561Sobrien	* elf.c: Convert to C90, remove unnecessary prototypes and casts.
1697130561Sobrien	Replace PTR with void *.  Formatting.
1698130561Sobrien	(_bfd_elf_assign_file_position_for_section): Remove INLINE.
1699130561Sobrien	(make_mapping): Likewise.
1700130561Sobrien
1701130561Sobrien2003-07-29  Alan Modra  <amodra@bigpond.net.au>
1702130561Sobrien
1703130561Sobrien	* elf64-ppc.c (func_desc_adjust): Give linker created function
1704130561Sobrien	descriptor symbols a size and type.
1705130561Sobrien	(ppc64_elf_relocate_section): Correct lq insn test.
1706130561Sobrien
1707130561Sobrien2003-07-28  Eric Christopher  <echristo@redhat.com>
1708130561Sobrien
1709130561Sobrien	* elf32-ppc.c (R_PPC_RELAX32): New relocation.
1710130561Sobrien	(ppc_elf_install_value): New function.
1711130561Sobrien	(ppc_elf_sort_rela): Remove.
1712130561Sobrien	(ppc_elf_relax_section): Rewrite. Remove old relaxation
1713130561Sobrien	and replace with out of range branch stubs.
1714130561Sobrien	(ppc_elf_relocate_section): Handle R_PPC_RELAX32.
1715130561Sobrien
1716130561Sobrien2003-07-29  Alexandre Oliva  <aoliva@redhat.com>
1717130561Sobrien
1718130561Sobrien	* elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
1719130561Sobrien	from input_bfd.
1720130561Sobrien
1721130561Sobrien2003-07-28  Alan Modra  <amodra@bigpond.net.au>
1722130561Sobrien
1723130561Sobrien	* elf.c (special_sections): Set attributes for .got and .plt.
1724130561Sobrien
1725130561Sobrien2003-07-27  Alan Modra  <amodra@bigpond.net.au>
1726130561Sobrien
1727130561Sobrien	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
1728130561Sobrien	on function descriptors.
1729130561Sobrien	(ELIMINATE_COPY_RELOCS): Expand comment.
1730130561Sobrien	(ppc64_elf_special_sections): Move.  Don't include non-ppc64 sections.
1731130561Sobrien	Do include ".toc1".
1732130561Sobrien
1733130561Sobrien2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
1734130561Sobrien
1735130561Sobrien	* elf.c (_bfd_elf_new_section_hook): Set the default section
1736130561Sobrien	type to SHT_NULL.
1737130561Sobrien	(elf_fake_sections): Set the section type based on asect->flags
1738130561Sobrien	if it is SHT_NULL. Don't abort on processor specific section
1739130561Sobrien	types.
1740130561Sobrien
1741130561Sobrien2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
1742130561Sobrien
1743130561Sobrien	* bfd-in2.h: Regenerated.
1744130561Sobrien
1745130561Sobrien2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
1746130561Sobrien
1747130561Sobrien	* elf-bfd.h (bfd_elf_special_section): New.
1748130561Sobrien	(elf_backend_data): Add special_sections, a pointer to
1749130561Sobrien	bfd_elf_special_section.
1750130561Sobrien	(elf_section_type). New.
1751130561Sobrien	(elf_section_flags): New.
1752130561Sobrien	(_bfd_elf_get_sec_type_attr): New.
1753130561Sobrien
1754130561Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Always use the
1755130561Sobrien	real section type/flags.
1756130561Sobrien	(special_sections): New.
1757130561Sobrien	(get_special_section): New.
1758130561Sobrien	(_bfd_elf_get_sec_type_attr): New.
1759130561Sobrien	(_bfd_elf_new_section_hook): Check special_section to set
1760130561Sobrien	elf_section_type and elf_section_flags.
1761130561Sobrien	(elf_fake_sections): Don't use section name to set ELF section
1762130561Sobrien	data.
1763130561Sobrien
1764130561Sobrien	* elf32-m32r.c (m32r_elf_special_sections): New.
1765130561Sobrien	(elf_backend_special_sections): Defined.
1766130561Sobrien
1767130561Sobrien	* elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
1768130561Sobrien	(elf_backend_special_sections): Defined.
1769130561Sobrien
1770130561Sobrien	* elf32-mcore.c (mcore_elf_special_sections): New.
1771130561Sobrien	(elf_backend_special_sections): Defined.
1772130561Sobrien
1773130561Sobrien	* elf32-ppc.c (ppc_elf_special_sections): New.
1774130561Sobrien	(elf_backend_special_sections): Defined.
1775130561Sobrien
1776130561Sobrien	* elf32-sh64.c (sh64_elf_special_sections): New.
1777130561Sobrien	(elf_backend_special_sections): Defined.
1778130561Sobrien
1779130561Sobrien	* elf32-v850.c (v850_elf_special_sections): New.
1780130561Sobrien	(elf_backend_special_sections): Defined.
1781130561Sobrien
1782130561Sobrien	* elf32-xtensa.c (elf_xtensa_special_sections): New.
1783130561Sobrien	(elf_backend_special_sections): Defined.
1784130561Sobrien
1785130561Sobrien	* elf64-alpha.c (elf64_alpha_special_sections): New.
1786130561Sobrien	(elf_backend_special_sections): Defined.
1787130561Sobrien
1788130561Sobrien	* elf64-hppa.c (elf64_hppa_special_sections): New.
1789130561Sobrien	(elf_backend_special_sections): Defined.
1790130561Sobrien
1791130561Sobrien	* elf64-ppc.c (ppc64_elf_special_sections): New.
1792130561Sobrien	(elf_backend_special_sections): Defined.
1793130561Sobrien
1794130561Sobrien	* elf64-sh64.c (sh64_elf64_special_sections): New.
1795130561Sobrien	(elf_backend_special_sections): Defined.
1796130561Sobrien
1797130561Sobrien	* elfxx-ia64.c (elfNN_ia64_special_sections): New.
1798130561Sobrien	(elf_backend_special_sections): Defined.
1799130561Sobrien
1800130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_special_sections): New.
1801130561Sobrien
1802130561Sobrien	* elfxx-mips.h (_bfd_mips_elf_special_sections): New.
1803130561Sobrien	(elf_backend_special_sections): Defined.
1804130561Sobrien
1805130561Sobrien	* elfxx-target.h (elf_backend_special_sections): New. Default
1806130561Sobrien	to NULL.
1807130561Sobrien	(elfNN_bed): Initialize special_sections.
1808130561Sobrien
1809130561Sobrien	* section.c (bfd_abs_section): Remove const.
1810130561Sobrien	(bfd_und_section): Likewise.
1811130561Sobrien	(bfd_com_section): Likewise.
1812130561Sobrien	(bfd_ind_section): Likewise.
1813130561Sobrien
1814130561Sobrien2003-07-24  Nick Clifton  <nickc@redhat.com>
1815130561Sobrien
1816130561Sobrien	* coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
1817130561Sobrien	sections are assigned the LOAD attribute.
1818130561Sobrien
1819130561Sobrien2003-07-25  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1820130561Sobrien
1821130561Sobrien	* elf32-sh.c: Convert to C90.  Replace PTR with void *.
1822130561Sobrien	* elf32-sh64-com.c: Likewise.
1823130561Sobrien	* elf32-sh64.c: Likewise.
1824130561Sobrien	* elf32-sh64.h: Likewise.
1825130561Sobrien	* elf64-sh64.c: Likewise.
1826130561Sobrien
1827130561Sobrien2003-07-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1828130561Sobrien
1829130561Sobrien	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
1830130561Sobrien	(allocate_dynrelocs): Likewise.
1831130561Sobrien	(sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
1832130561Sobrien	(sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
1833130561Sobrien
1834130561Sobrien2003-07-24  Nick Clifton  <nickc@redhat.com>
1835130561Sobrien
1836130561Sobrien	* po/fr.po: Updated French translation.
1837130561Sobrien
1838130561Sobrien2003-07-23  Bob Wilson  <bob.wilson@acm.org>
1839130561Sobrien
1840130561Sobrien	* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
1841130561Sobrien	near the beginning of the file.  Swap order of arguments.  Call
1842130561Sobrien	_bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
1843130561Sobrien	(elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
1844130561Sobrien	(elf_xtensa_relocate_section): Likewise.
1845130561Sobrien	(shrink_dynamic_reloc_sections): Likewise.
1846130561Sobrien
1847130561Sobrien2003-07-23  Bob Wilson  <bob.wilson@acm.org>
1848130561Sobrien
1849130561Sobrien	* elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
1850130561Sobrien	(elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
1851130561Sobrien	(elf_xtensa_combine_prop_entries): Avoid returning non-zero without
1852130561Sobrien	first printing an error message.
1853130561Sobrien	(elf_xtensa_finish_dynamic_sections): Likewise.
1854130561Sobrien	(elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
1855130561Sobrien	discarding literal table entries.
1856130561Sobrien	(elf_xtensa_merge_private_bfd_data): Remove newline from error message.
1857130561Sobrien	(elf_xtensa_do_asm_simplify): Likewise.
1858130561Sobrien
1859130561Sobrien2003-07-23  Stephane Carrez  <stcarrez@nerim.fr>
1860130561Sobrien
1861130561Sobrien	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
1862130561Sobrien	we have a local symbol in common section.
1863130561Sobrien
1864130561Sobrien2003-07-22  H.J. Lu <hongjiu.lu@intel.com>
1865130561Sobrien
1866130561Sobrien	* elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
1867130561Sobrien	weak symbols.
1868130561Sobrien
1869130561Sobrien2003-07-22  Nick Clifton  <nickc@redhat.com>
1870130561Sobrien
1871130561Sobrien	* coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
1872130561Sobrien	expected RS6000 storage classes.
1873130561Sobrien
1874130561Sobrien2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
1875130561Sobrien
1876130561Sobrien	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
1877130561Sobrien	output_bfd unused to silence gcc.
1878130561Sobrien
1879130561Sobrien2003-07-21  Nick Clifton  <nickc@redhat.com>
1880130561Sobrien
1881130561Sobrien	* po/sv.po: Updated Swedish translation.
1882130561Sobrien
1883130561Sobrien2003-07-21  Alan Modra  <amodra@bigpond.net.au>
1884130561Sobrien
1885130561Sobrien	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
1886130561Sobrien	(_bfd_elf_symbol_refs_local_p): ..this.  Declare.
1887130561Sobrien	* elflink.c (_bfd_elf_symbol_refs_local_p): New function.
1888130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
1889130561Sobrien	now done in _bfd_elf_symbol_refs_local_p.
1890130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1891130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1892130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1893130561Sobrien
1894130561Sobrien2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
1895130561Sobrien
1896130561Sobrien	* elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
1897130561Sobrien
1898130561Sobrien2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
1899130561Sobrien
1900130561Sobrien	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
1901130561Sobrien	(SYMBOL_CALLS_LOCAL): Likewise.
1902130561Sobrien
1903130561Sobrien	* elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
1904130561Sobrien	immediately if symbol isn't defined locally.
1905130561Sobrien
1906130561Sobrien2003-07-18  Richard Henderson  <rth@redhat.com>
1907130561Sobrien
1908130561Sobrien	* elflink.c (_bfd_elf_dynamic_symbol_p): New.
1909130561Sobrien	* elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
1910130561Sobrien	(SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
1911130561Sobrien	* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
1912130561Sobrien	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
1913130561Sobrien	* elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
1914130561Sobrien	* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
1915130561Sobrien	Update all callers to provide the relocation being resolved.
1916130561Sobrien
1917130561Sobrien2003-07-17  Shaun Jackman <sjackman@pathwayconnect.com>
1918130561Sobrien
1919130561Sobrien	* config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
1920130561Sobrien	targ_cflags.
1921130561Sobrien
1922130561Sobrien2003-07-17  Nick Clifton  <nickc@redhat.com>
1923130561Sobrien
1924130561Sobrien	* po/es.po: New Spanish translation.
1925130561Sobrien	* po/sv.po: New Swedish translation.
1926130561Sobrien	* po/opcodes.pot: Regenerate.
1927130561Sobrien
1928130561Sobrien2003-07-16  Richard Henderson  <rth@redhat.com>
1929130561Sobrien
1930130561Sobrien	* config.bfd, configure.host, configure.in: Remove ia64-aix support.
1931130561Sobrien	* elfxx-ia64.c, targets.c: Likewise.
1932130561Sobrien
1933130561Sobrien2003-07-16  Richard Henderson  <rth@redhat.com>
1934130561Sobrien
1935130561Sobrien	* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
1936130561Sobrien	for symbols defined locally plus -Bsymbolic.  Tidy logic.
1937130561Sobrien
1938130561Sobrien2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
1939130561Sobrien
1940130561Sobrien	* archures.c (bfd_mach_mips7000): New.
1941130561Sobrien	* bfd-in2.h: Regenerated.
1942130561Sobrien	* cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
1943130561Sobrien	* elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
1944130561Sobrien	(mips_mach_extensions): Add an entry for it.
1945130561Sobrien
1946130561Sobrien2003-07-14  Nick Clifton  <nickc@redhat.com>
1947130561Sobrien
1948130561Sobrien	* po/tr.po: Update with latest version.
1949130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
1950130561Sobrien	* po/bfd.pot: Regenerate.
1951130561Sobrien	* Makfile.in: Regenerate.
1952130561Sobrien	* configure: Regenerate.
1953130561Sobrien
1954130561Sobrien2003-07-12  Jeff Baker  <jbaker@qnx.com>
1955130561Sobrien
1956218822Sdim	* config.bfd (__QNXTARGET__): Define for Neutrino architectures.
1957218822Sdim	* elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1958218822Sdim	* elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1959218822Sdim	* elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1960130561Sobrien
1961130561Sobrien2003-07-12  Jeff Muizelaar  <muizelaar@rogers.com>
1962130561Sobrien
1963130561Sobrien	* coffcode.h (coff_set_section_contents): Set the
1964130561Sobrien	IMAGE_FILE_32BIT_MACHINE flag for PE targets.
1965130561Sobrien
1966130561Sobrien2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
1967130561Sobrien
1968130561Sobrien	* bfd-in.h (bfd_h8300_pad_address): Declare.
1969130561Sobrien	* bfd-in2.h: Regenerate.
1970130561Sobrien	* cpu-h8300.c (bfd_h8300_pad_address): New function.
1971130561Sobrien	* coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
1972130561Sobrien	addresses before checking whether they can be relaxed.
1973130561Sobrien	(h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
1974130561Sobrien	Don't complain about overflows in general 8-bit relocations.
1975130561Sobrien	* elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
1976130561Sobrien	Fix handling of R_H8_DIR24A8.
1977130561Sobrien
1978130561Sobrien2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
1979130561Sobrien
1980130561Sobrien	* elf32-h8300.c: Convert function prototypes and definitions
1981130561Sobrien	to C90 syntax.
1982130561Sobrien	* coff-h8300.c: Likewise.
1983130561Sobrien	* cpu-h8300.c: Likewise.
1984130561Sobrien
1985130561Sobrien2003-07-11  Alan Modra  <amodra@bigpond.net.au>
1986130561Sobrien
1987130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
1988130561Sobrien	* po/bfd.pot: Likewise.
1989130561Sobrien
1990130561Sobrien2003-07-10  Bob Wilson  <bob.wilson@acm.org>
1991130561Sobrien
1992130561Sobrien	* elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
1993130561Sobrien	.got.loc section.  Do not set SEC_ALLOC or SEC_LOAD flags for the
1994130561Sobrien	.xt.lit.plt section.
1995130561Sobrien	(elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
1996130561Sobrien	and allocate memory for it.
1997130561Sobrien	(elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
1998130561Sobrien	section to the .got.loc section.
1999130561Sobrien	(elf_xtensa_finish_dynamic_sections): Fix up call to
2000130561Sobrien	elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
2001130561Sobrien	the address of .got.loc.
2002130561Sobrien	(relax_property_section): Shrink .got.loc to match changes in any
2003130561Sobrien	literal table section.
2004130561Sobrien	(xtensa_is_property_section): Change to match
2005130561Sobrien	xtensa_get_property_section_name.
2006130561Sobrien	(xtensa_is_littable_section): New.
2007130561Sobrien
2008130561Sobrien2003-07-10  H.J. Lu <hongjiu.lu@intel.com>
2009130561Sobrien
2010130561Sobrien	* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
2011130561Sobrien	-1LL.
2012130561Sobrien
2013130561Sobrien2003-07-10  Alan Modra  <amodra@bigpond.net.au>
2014130561Sobrien
2015130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
2016130561Sobrien	(BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
2017130561Sobrien	Run "make dep-am".
2018130561Sobrien	* Makefile.in: Regenerate.
2019130561Sobrien
2020130561Sobrien2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
2021130561Sobrien
2022130561Sobrien	2001-09-12  Alexandre Oliva  <aoliva@redhat.com>
2023130561Sobrien	* elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
2024130561Sobrien	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
2025130561Sobrien	2001-06-02  Nick Clifton  <nickc@cambridge.redhat.com>
2026130561Sobrien	* elf32-am33lin.c: Rename global functions.
2027130561Sobrien	2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
2028130561Sobrien	* config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
2029130561Sobrien	* configure.in (bfd_elf32_am33lin_vec): Added.
2030130561Sobrien	* Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
2031130561Sobrien	(elf32-am33lin.lo): List dependencies.
2032130561Sobrien	* aclocal.m4, configure, Makefile.in: Rebuilt.
2033130561Sobrien	* elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
2034130561Sobrien	ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
2035130561Sobrien	ELF_ARCH was not defined before.
2036130561Sobrien	(elf_symbol_leading_char): Define if not defined.
2037130561Sobrien	* elf32-am33lin.c: Override the definitions above.
2038130561Sobrien	* targets.c (bfd_elf32_am33lin_vec): New.
2039130561Sobrien
2040130561Sobrien2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2041130561Sobrien
2042130561Sobrien	2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
2043130561Sobrien	* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
2044130561Sobrien	pcrel_relocs_copied.
2045130561Sobrien	2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
2046130561Sobrien	* elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
2047130561Sobrien	ld-linux.so.2 to ld.so.1.
2048130561Sobrien	2001-10-10  Alexandre Oliva  <aoliva@redhat.com>
2049130561Sobrien	* elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
2050130561Sobrien	(_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
2051130561Sobrien	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
2052130561Sobrien	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
2053130561Sobrien	.rela.* section contents with bfd_zalloc.
2054130561Sobrien	2001-09-25  Alexandre Oliva  <aoliva@redhat.com>
2055130561Sobrien	* elf-m10300.c: Added declarations for functions missing them.
2056130561Sobrien	Merge some shared-library changes from the i386 back-end.  Use
2057130561Sobrien	R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
2058130561Sobrien	R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
2059130561Sobrien	(struct elf32_mn10300_link_hash_entry): Remove duplicates of
2060130561Sobrien	members of elf_link_hash_entry.  Adjusted references.
2061130561Sobrien	(mn10300_elf_final_link_relocate): dynobj was already loaded
2062130561Sobrien	into a local variable, use it.
2063130561Sobrien	2001-09-21  Nick Clifton  <nickc@cambridge.redhat.com>
2064130561Sobrien	* elf-m10300.c: Add missing function prototypes.
2065130561Sobrien	2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
2066130561Sobrien	* elf-m10300.c (mn10300_elf_relocate_section): Don't compute
2067130561Sobrien	relocation for dynamic relocations.
2068130561Sobrien	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
2069130561Sobrien	* reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
2070130561Sobrien	* elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
2071130561Sobrien	PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
2072130561Sobrien	(_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
2073130561Sobrien	(_bfd_mn10300_elf_create_got_section): ... here, so that its
2074130561Sobrien	adress is already known at the time we compute relaxations.
2075130561Sobrien	(mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
2076130561Sobrien	and PLT32 to narrower relocations.
2077130561Sobrien	* libbfd.h, bfd-in2.h: Rebuilt.
2078130561Sobrien	2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
2079130561Sobrien	* reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
2080130561Sobrien	BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
2081130561Sobrien	BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
2082130561Sobrien	BFD_RELOC_MN10300_RELATIVE): New relocs.
2083130561Sobrien	* libbfd.h, bfd-in2.h: Rebuilt.
2084130561Sobrien	* elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
2085130561Sobrien	(struct elf32_mn10300_link_hash_entry): Added DSO-related
2086130561Sobrien	fields.
2087130561Sobrien	(elf_mn10300_howto): Defined new relocation types.
2088130561Sobrien	(mn10300_reloc_map): Map them.
2089130561Sobrien	(_bfd_mn10300_elf_create_got_section): New fn.
2090130561Sobrien	(mn10300_elf_check_relocs): Handle PIC relocs.
2091130561Sobrien	(mn10300_elf_final_link_relocate): Likewise.
2092130561Sobrien	(mn10300_elf_relocate_section): Handle DSOs.
2093130561Sobrien	(PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
2094130561Sobrien	(elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
2095130561Sobrien	elf_mn10300_pic_plt_entry): New.
2096130561Sobrien	(elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
2097130561Sobrien	elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
2098130561Sobrien	elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
2099130561Sobrien	elf_mn10300_plt_reloc_offset: New macros.
2100130561Sobrien	(ELF_DYNAMIC_INTERPRETER): Likewise.
2101130561Sobrien	(_bfd_mn10300_elf_create_dynamic_sections): New function.
2102130561Sobrien	(_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
2103130561Sobrien	(_bfd_mn10300_elf_discard_copies): Likewise.
2104130561Sobrien	(_bfd_mn10300_elf_size_dynamic_sections): Likewise.
2105130561Sobrien	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
2106130561Sobrien	(_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
2107130561Sobrien	(elf_backend_can_gc_sections,
2108130561Sobrien	elf_backend_create_dynamic_sections,
2109130561Sobrien	elf_backend_adjust_dynamic_sections,
2110130561Sobrien	elf_backend_size_dynamic_sections,
2111130561Sobrien	elf_backend_finish_dynamic_symbol,
2112130561Sobrien	elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
2113130561Sobrien	elf_backend_plt_readonly, elf_backend_want_plt_sym,
2114130561Sobrien	elf_backend_got_header_size, elf_backend_plt_header_size): New
2115130561Sobrien	macros.
2116130561Sobrien
2117130561Sobrien2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2118130561Sobrien
2119130561Sobrien	2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
2120130561Sobrien	* elf-m10300.c (compute_function_info): Account for AM33
2121130561Sobrien	registers in `movm' when computing stack space for `call' when
2122130561Sobrien	linking for AM33/2.0 link.
2123130561Sobrien	2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>
2124130561Sobrien	* archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
2125130561Sobrien	* bfd-in2.h: Rebuilt.
2126130561Sobrien	* cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
2127130561Sobrien	* elf-m10300.c: Updated.
2128130561Sobrien	2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>
2129130561Sobrien	* archures.c (bfd_mach_am332): Defined.
2130130561Sobrien	* bfd-in2.h: Rebuilt.
2131130561Sobrien	* cpu-m10300.c (bfd_am332_arch): Defined.
2132130561Sobrien	(bfd_am33_arch): Chained with am33-2.
2133130561Sobrien	* elf-m10300.c (elf_mn10300_mach): Handle am332.
2134130561Sobrien	(_bfd_mn10300_elf_final_write_processing): Likewise.
2135130561Sobrien
2136130561Sobrien2003-07-09  H.J. Lu <hongjiu.lu@intel.com>
2137130561Sobrien
2138130561Sobrien	* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
2139130561Sobrien
2140130561Sobrien2003-07-10  Alan Modra  <amodra@bigpond.net.au>
2141130561Sobrien
2142130561Sobrien	* elf64-ppc.c (bfd_elf64_mkobject): Define.
2143130561Sobrien	(struct ppc64_elf_obj_tdata): New.
2144130561Sobrien	(ppc64_elf_tdata, ppc64_tlsld_got): Define.
2145130561Sobrien	(ppc64_elf_mkobject): New function.
2146130561Sobrien	(struct got_entry): Add "owner".  Move "tls_type".
2147130561Sobrien	(struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
2148130561Sobrien	(ppc64_elf_init_stub_bfd): New function.
2149130561Sobrien	(create_got_section): Create header .got in dynobj.  Create .got
2150130561Sobrien	and .rela.got in each bfd.  Stash pointers in ppc64_elf_obj_tdata.
2151130561Sobrien	(ppc64_elf_create_dynamic_sections): Don't call create_got_section.
2152130561Sobrien	Look for dynobj .got, and test it.
2153130561Sobrien	(ppc64_elf_copy_indirect_symbol): Adjust for changed got.
2154130561Sobrien	(update_local_sym_info): Likewise.
2155130561Sobrien	(ppc64_elf_check_relocs): Likewise.
2156130561Sobrien	(ppc64_elf_gc_sweep_hook): Likewise.
2157130561Sobrien	(ppc64_elf_tls_optimize): Likewise.
2158130561Sobrien	(allocate_dynrelocs): Likewise.
2159130561Sobrien	(ppc64_elf_size_dynamic_sections): Likewise.
2160130561Sobrien	(ppc64_elf_relocate_section): Likewise.
2161130561Sobrien	(ppc64_elf_next_toc_section): Update comment.
2162130561Sobrien	(toc_adjusting_stub_needed): Remove unneeded cast.
2163130561Sobrien	(ppc64_elf_build_stubs): Check for stub sections in stub bfd by
2164130561Sobrien	testing section flags.
2165130561Sobrien	(ppc64_elf_build_stubs): Likewise.
2166130561Sobrien	(ppc64_elf_size_stubs): Likewise.  Remove stub_bfd param.
2167130561Sobrien	(ppc64_elf_finish_dynamic_sections): Write out got sections.
2168130561Sobrien	(func_desc_adjust): Copy over dynamic info for undef weaks.
2169130561Sobrien	* elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
2170130561Sobrien	(ppc64_elf_size_stubs): Update prototype.
2171130561Sobrien	* elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
2172130561Sobrien	input sections rather than scanning dynobj.
2173130561Sobrien
2174130561Sobrien2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2175130561Sobrien
2176130561Sobrien	* elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
2177130561Sobrien	(bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
2178130561Sobrien	(mips_elf_create_msym_section): Delete.
2179130561Sobrien	(mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
2180130561Sobrien	(_bfd_mips_elf_copy_indirect_symbol): Likewise.
2181130561Sobrien	(_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
2182130561Sobrien	(_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
2183130561Sobrien	(_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
2184130561Sobrien	(_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
2185130561Sobrien	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
2186130561Sobrien
2187130561Sobrien2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2188130561Sobrien
2189130561Sobrien	* elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
2190130561Sobrien	symbols protected.
2191130561Sobrien
2192130561Sobrien2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2193130561Sobrien
2194130561Sobrien	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
2195130561Sobrien	of relocations whose offset is -2.
2196130561Sobrien
2197130561Sobrien2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2198130561Sobrien
2199218822Sdim	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
2200130561Sobrien	forced-local symbols like other locals.  Don't create relocations
2201130561Sobrien	against STN_UNDEF in irix objects.
2202130561Sobrien
2203130561Sobrien2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2204130561Sobrien
2205218822Sdim	* elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
2206130561Sobrien	compatible objects, add the values of defined external symbols
2207130561Sobrien	to the addend.
2208130561Sobrien
2209130561Sobrien2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2210130561Sobrien
2211130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
2212130561Sobrien	initialize a GOT entry to the symbol's st_value.
2213130561Sobrien
2214130561Sobrien2003-07-08  Alan Modra  <amodra@bigpond.net.au>
2215130561Sobrien
2216130561Sobrien	* elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
2217130561Sobrien	* elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here.  New.
2218130561Sobrien	(ppc_elf_tdata): Define.
2219130561Sobrien	(elf_local_ptr_offsets): Adjust.
2220130561Sobrien	(ppc_elf_mkobject): New function.
2221130561Sobrien	(bfd_elf32_mkobject): Define.
2222130561Sobrien
2223130561Sobrien	* elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
2224130561Sobrien	* elfcore.h (elf_core_file_p): Likewise.
2225130561Sobrien	* section.c (bfd_section_init): Remove prototype.
2226130561Sobrien
2227130561Sobrien2003-07-08  Alan Modra  <amodra@bigpond.net.au>
2228130561Sobrien
2229130561Sobrien	* elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
2230130561Sobrien	field.
2231130561Sobrien	(enum elf_linker_section_enum): Delete.
2232130561Sobrien	(struct elf_linker_section): Delete.
2233130561Sobrien	(struct elf_linker_section_pointers): Delete.
2234130561Sobrien	(struct elf_obj_tdata): Remove #if 0 chunk.  Remove linker_section.
2235130561Sobrien	Make linker_section_pointers a void**.
2236130561Sobrien	(elf_local_ptr_offsets, elf_linker_section): Don't define.
2237130561Sobrien	* elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
2238130561Sobrien	of old item in elf-bfd.h.
2239130561Sobrien	(struct elf_linker_section): Likewise.
2240130561Sobrien	(struct elf_linker_section_pointers): Likewise.
2241130561Sobrien	(elf_local_ptr_offsets): Define.
2242130561Sobrien	(struct ppc_elf_link_hash_entry): Add linker_section_pointer.
2243130561Sobrien	(ppc_elf_link_hash_newfunc): Init it.
2244130561Sobrien	(struct ppc_elf_link_hash_table): Add sbss.
2245130561Sobrien	(ppc_elf_link_hash_table_create): zmalloc rather than clearing
2246130561Sobrien	individual fields.
2247130561Sobrien	(elf_create_linker_section): Fold into..
2248130561Sobrien	(ppc_elf_create_linker_section): ..here.  Remove hole_size code.
2249130561Sobrien	Make rela section here if shared.
2250130561Sobrien	(elf_find_pointer_linker_section): Pass lsect rather than enum.
2251130561Sobrien	(elf_create_pointer_linker_section): Adjust.  zalloc rather than
2252130561Sobrien	clearing in a loop.
2253130561Sobrien	(elf_finish_pointer_linker_section): Adjust.  Don't make rela
2254130561Sobrien	section here.
2255130561Sobrien	(ppc_elf_check_relocs): Adjust.
2256130561Sobrien	(ppc_elf_add_symbol_hook): Tighten hash creator test.  Remove code
2257130561Sobrien	creating .sbss by hand.
2258130561Sobrien	* elf.c (_bfd_elf_link_hash_newfunc): Adjust.
2259130561Sobrien
2260130561Sobrien2003-07-04  Jakub Jelinek  <jakub@redhat.com>
2261130561Sobrien
2262130561Sobrien	* elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
2263130561Sobrien	complain_overflow_bitfield.
2264130561Sobrien	* elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
2265130561Sobrien	complain_overflow_bitfield.
2266130561Sobrien
2267130561Sobrien2003-07-04  Jakub Jelinek  <jakub@redhat.com>
2268130561Sobrien
2269130561Sobrien	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
2270130561Sobrien	true even if -pie.
2271130561Sobrien
2272130561Sobrien2003-07-04  Jakub Jelinek  <jakub@redhat.com>
2273130561Sobrien
2274130561Sobrien	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
2275130561Sobrien	(elfNN_ia64_dynamic_symbol_p): Change info->shared into
2276130561Sobrien	!info->executable.
2277130561Sobrien	(get_fptr): For -pie create .opd as writable section and create
2278130561Sobrien	.rela.opd as well.
2279130561Sobrien	(elfNN_ia64_check_relocs): Change info->shared into
2280130561Sobrien	!info->executable.
2281130561Sobrien	(allocate_fptr): Likewise.
2282130561Sobrien	(allocate_dynrel_entries): Account for a relative reloc for -pie
2283130561Sobrien	@fptr().  Don't account for a relative reloc if -pie want_ltoff_fptr
2284130561Sobrien	for undefweak symbol.  Account for an IPLT reloc in .rela.opd
2285130561Sobrien	section if -pie.
2286130561Sobrien	(set_got_entry): Don't create a relative reloc if -pie
2287130561Sobrien	want_ltoff_fptr for undefweak symbol.
2288130561Sobrien	(set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
2289130561Sobrien	(elfNN_ia64_relocate_section): Emit a relative reloc for -pie
2290130561Sobrien	@fptr().
2291130561Sobrien
2292130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
2293130561Sobrien	even if -pie.
2294130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Likewise.
2295130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2296130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2297130561Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
2298130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2299130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
2300130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2301130561Sobrien	* elf32-s390.c (elf_s390_relocate_section): Likewise.
2302130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2303130561Sobrien
2304130561Sobrien2003-07-04  Paul Clarke <paulc@senet.com.au>
2305130561Sobrien
2306130561Sobrien	* elf32-h8300.c (R_H8_DIR32A16): Fix name field.
2307130561Sobrien	(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
2308130561Sobrien	<R_H8_DIR32A16>: Fix type of relocation.
2309130561Sobrien
2310130561Sobrien2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2311130561Sobrien
2312130561Sobrien	* elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
2313130561Sobrien	sections were created already.  Remove unnecessary tests of
2314130561Sobrien	the previous change.
2315130561Sobrien
2316130561Sobrien2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2317130561Sobrien
2318130561Sobrien	* elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
2319130561Sobrien	bfd_make_section for existing sections.
2320130561Sobrien
2321130561Sobrien2003-07-04  Alan Modra  <amodra@bigpond.net.au>
2322130561Sobrien
2323130561Sobrien	* elf32-sparc.c (elf32_sparc_check_relocs): Don't call
2324130561Sobrien	create_got_section if we already have done so.
2325130561Sobrien	* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
2326130561Sobrien	(sh_elf_check_relocs): Likewise.
2327130561Sobrien	(sh_elf_adjust_dynamic_symbol): Delete "dynobj" var.  Use
2328130561Sobrien	htab->root.dynobj instead.
2329130561Sobrien	(sh_elf_check_relocs): Likewise.
2330130561Sobrien	(sh_elf_finish_dynamic_sections): Likewise.
2331130561Sobrien
2332130561Sobrien	* section.c (bfd_make_section): Return NULL for existing section.
2333130561Sobrien
2334130561Sobrien2003-07-04  Alan Modra  <amodra@bigpond.net.au>
2335130561Sobrien
2336130561Sobrien	* elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
2337130561Sobrien	ppc_elf_create_got if we've already done so.
2338130561Sobrien
2339130561Sobrien	* elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
2340130561Sobrien	(_bfd_elf_find_pointer_linker_section): Likewise.
2341130561Sobrien	(bfd_elf32_create_pointer_linker_section): Likewise.
2342130561Sobrien	(bfd_elf32_finish_pointer_linker_section): Likewise.
2343130561Sobrien	(bfd_elf64_create_pointer_linker_section): Likewise.
2344130561Sobrien	(bfd_elf64_finish_pointer_linker_section): Likewise.
2345130561Sobrien	(_bfd_elf_make_linker_section_rela): Likewise.
2346130561Sobrien	* elfcode.h (elf_create_pointer_linker_section): Don't define.
2347130561Sobrien	(elf_finish_pointer_linker_section): Likewise.
2348130561Sobrien	* elflink.c (_bfd_elf_make_linker_section_rela): Delete.
2349130561Sobrien	(_bfd_elf_create_linker_section): Move this function..
2350130561Sobrien	(_bfd_elf_find_pointer_linker_section): ..and this..
2351130561Sobrien	* elflink.h (elf_create_pointer_linker_section): ..and this..
2352130561Sobrien	(elf_finish_pointer_linker_section): ..and this..
2353130561Sobrien	* elf32-ppc.c: ..to here, renaming to the following, and adjusting
2354130561Sobrien	calls.
2355130561Sobrien	(elf_create_linker_section): Convert to C90, tidy.
2356130561Sobrien	(elf_find_pointer_linker_section): Likewise.
2357130561Sobrien	(elf_create_pointer_linker_section): Likewise.
2358130561Sobrien	(elf_finish_pointer_linker_section): Likewise.
2359130561Sobrien	* elf32-i370.c: Delete #if 0 code.
2360130561Sobrien
2361130561Sobrien2003-07-02  Alan Modra  <amodra@bigpond.net.au>
2362130561Sobrien
2363130561Sobrien	* elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
2364130561Sobrien	_restf* to be satisfied by shared libs, and always force them local.
2365130561Sobrien	(toc_adjusting_stub_needed): Avoid scanning linker created sections.
2366130561Sobrien	Correct test for "bl".
2367130561Sobrien	(ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
2368130561Sobrien	primary opcode 31.
2369130561Sobrien
2370130561Sobrien2003-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2371130561Sobrien
2372130561Sobrien	* elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
2373130561Sobrien	(s390_tls_reloc): New function.
2374130561Sobrien	(elf_howto_table): Add long displacement relocations R_390_20,
2375130561Sobrien	R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
2376130561Sobrien	(elf_s390_reloc_type_lookup): Likewise.
2377130561Sobrien	(elf_s390_check_relocs): Likewise.
2378130561Sobrien	(elf_s390_gc_sweep_hook): Likewise.
2379130561Sobrien	(elf_s390_relocate_section): Likewise.
2380130561Sobrien	* elf64-s390.c: Same changes as for elf32-s390.c.
2381130561Sobrien	* reloc.c: Add long displacement relocations BFD_RELOC_390_20,
2382130561Sobrien	BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
2383130561Sobrien	BFD_RELOC_390_TLS_GOTIE20.
2384130561Sobrien	* bfd-in2.h: Regenerate.
2385130561Sobrien	* libbfd.h: Likewise.
2386130561Sobrien
2387130561Sobrien2003-06-30  Alan Modra  <amodra@bigpond.net.au>
2388130561Sobrien
2389130561Sobrien	* cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
2390130561Sobrien	(ins_imms, ins_immsm1u4): Likewise.  Warning fix.
2391130561Sobrien
2392130561Sobrien2003-06-29  Alan Modra  <amodra@bigpond.net.au>
2393130561Sobrien
2394130561Sobrien	* archive.c: Convert to C90, remove unnecessary prototypes and casts.
2395130561Sobrien	Replace PTR with void *.  Formatting.
2396130561Sobrien	* archive64.c: Likewise.
2397130561Sobrien	* archures.c: Likewise.
2398130561Sobrien	* bfd-in.h: Likewise.
2399130561Sobrien	* bfd.c: Likewise.
2400130561Sobrien	* bfdio.c: Likewise.
2401130561Sobrien	* bfdwin.c: Likewise.
2402130561Sobrien	* cache.c: Likewise.
2403130561Sobrien	* corefile.c: Likewise.
2404130561Sobrien	* format.c: Likewise.
2405130561Sobrien	* init.c: Likewise.
2406130561Sobrien	* libbfd-in.h: Likewise.
2407130561Sobrien	* libbfd.c: Likewise.
2408130561Sobrien	* linker.c: Likewise.
2409130561Sobrien	* opncls.c: Likewise.
2410130561Sobrien	* reloc.c: Likewise.
2411130561Sobrien	* section.c: Likewise.
2412130561Sobrien	* simple.c: Likewise.
2413130561Sobrien	* syms.c: Likewise.
2414130561Sobrien	* targets.c: Likewise.
2415130561Sobrien	* bfd-in2.h: Regenerate.
2416130561Sobrien	* libbfd.h: Regenerate.
2417130561Sobrien
2418130561Sobrien	* ecoff.c (bfd_debug_section): Add missing kept_section initialization.
2419130561Sobrien	* libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
2420130561Sobrien	* libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
2421130561Sobrien	(bfd_getb64): Rewrite without parens.
2422130561Sobrien	(bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
2423130561Sobrien	* cache.c (insert, snip): Remove INLINE.
2424130561Sobrien	* linker.c (bfd_link_add_undef): Likewise.
2425130561Sobrien
2426130561Sobrien2003-06-29  Andreas Jaeger  <aj@suse.de>
2427130561Sobrien
2428130561Sobrien	* elf64-x86-64.c: Convert to ISO C90 prototypes, remove
2429130561Sobrien	unnecessary prototypes.  Replace PTR with void *.
2430130561Sobrien	(elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
2431130561Sobrien	trim plt entries.  Move undefweak non-default visibility test ...
2432130561Sobrien	(allocate_dynrelocs): ... from here.
2433130561Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
2434130561Sobrien	Change all callers.
2435130561Sobrien	(allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.  Use
2436130561Sobrien	SYMBOL_REFERENCES_LOCAL for dynreloc check.
2437130561Sobrien	(elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
2438130561Sobrien	dynreloc and .got relocs.
2439130561Sobrien	(elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
2440130561Sobrien	for .got relocs.
2441130561Sobrien
2442130561Sobrien2003-06-29  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2443130561Sobrien
2444130561Sobrien	* elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
2445130561Sobrien
2446130561Sobrien2003-06-27  Nick Clifton  <nickc@redhat.com>
2447130561Sobrien
2448130561Sobrien	* opncls.c (bfd_add_gnu_debuglink_section): Rename to
2449130561Sobrien	bfd_add_gnu_debuglink_section and only create the section, do not
2450130561Sobrien	fill in its contents.
2451130561Sobrien	(bfd_fill_in_gnu_debuglink_section): New function.  Fill in the
2452130561Sobrien	contents of a .gnu-debuglink section.
2453130561Sobrien	* bfd-in2.h: Regenerate.
2454130561Sobrien
2455130561Sobrien2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2456130561Sobrien
2457130561Sobrien	* elfxx-mips.c: Revert .got alignment to 2**4.
2458130561Sobrien
2459130561Sobrien2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2460130561Sobrien
2461130561Sobrien	* elf32-mips.c: Fix addend for _gp_disp special symbol.
2462130561Sobrien
2463130561Sobrien2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2464130561Sobrien
2465130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
2466130561Sobrien	relocation header setup.
2467130561Sobrien
2468130561Sobrien2003-06-25  Alan Modra  <amodra@bigpond.net.au>
2469130561Sobrien
2470130561Sobrien	* elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
2471130561Sobrien	(ppc_elf_reloc_type_lookup): Modify comment.
2472130561Sobrien	(ppc_elf_info_to_howto): Ditto.
2473130561Sobrien	(ppc_elf_relocate_section): Ditto.
2474130561Sobrien	(ppc_elf_check_relocs): Call ppc_elf_howto_init.
2475130561Sobrien
2476130561Sobrien2003-06-25  Alan Modra  <amodra@bigpond.net.au>
2477130561Sobrien
2478130561Sobrien	* aout-ns32k.c: Correct spelling of "relocatable".
2479130561Sobrien	* aoutx.h: Likewise.
2480130561Sobrien	* bfd-in.h: Likewise.
2481130561Sobrien	* bfd.c: Likewise.
2482130561Sobrien	* bout.c: Likewise.
2483130561Sobrien	* coff-a29k.c: Likewise.
2484130561Sobrien	* coff-alpha.c: Likewise.
2485130561Sobrien	* coff-arm.c: Likewise.
2486130561Sobrien	* coff-i386.c: Likewise.
2487130561Sobrien	* coff-i860.c: Likewise.
2488130561Sobrien	* coff-i960.c: Likewise.
2489130561Sobrien	* coff-m68k.c: Likewise.
2490130561Sobrien	* coff-m88k.c: Likewise.
2491130561Sobrien	* coff-mcore.c: Likewise.
2492130561Sobrien	* coff-mips.c: Likewise.
2493130561Sobrien	* coff-or32.c: Likewise.
2494130561Sobrien	* coff-ppc.c: Likewise.
2495130561Sobrien	* coff-rs6000.c: Likewise.
2496130561Sobrien	* coff-sh.c: Likewise.
2497130561Sobrien	* coff-tic80.c: Likewise.
2498130561Sobrien	* coff64-rs6000.c: Likewise.
2499130561Sobrien	* cofflink.c: Likewise.
2500130561Sobrien	* cpu-ns32k.c: Likewise.
2501130561Sobrien	* ecoff.c: Likewise.
2502130561Sobrien	* ecofflink.c: Likewise.
2503130561Sobrien	* elf-bfd.h: Likewise.
2504130561Sobrien	* elf-eh-frame.c: Likewise.
2505130561Sobrien	* elf-hppa.h: Likewise.
2506130561Sobrien	* elf-m10200.c: Likewise.
2507130561Sobrien	* elf-m10300.c: Likewise.
2508130561Sobrien	* elf.c: Likewise.
2509130561Sobrien	* elf32-arm.h: Likewise.
2510130561Sobrien	* elf32-avr.c: Likewise.
2511130561Sobrien	* elf32-cris.c: Likewise.
2512130561Sobrien	* elf32-d10v.c: Likewise.
2513130561Sobrien	* elf32-dlx.c: Likewise.
2514130561Sobrien	* elf32-fr30.c: Likewise.
2515130561Sobrien	* elf32-frv.c: Likewise.
2516130561Sobrien	* elf32-h8300.c: Likewise.
2517130561Sobrien	* elf32-hppa.c: Likewise.
2518130561Sobrien	* elf32-i370.c: Likewise.
2519130561Sobrien	* elf32-i386.c: Likewise.
2520130561Sobrien	* elf32-i860.c: Likewise.
2521130561Sobrien	* elf32-i960.c: Likewise.
2522130561Sobrien	* elf32-ip2k.c: Likewise.
2523130561Sobrien	* elf32-iq2000.c: Likewise.
2524130561Sobrien	* elf32-m32r.c: Likewise.
2525130561Sobrien	* elf32-m68hc11.c: Likewise.
2526130561Sobrien	* elf32-m68hc1x.c: Likewise.
2527130561Sobrien	* elf32-m68k.c: Likewise.
2528130561Sobrien	* elf32-mcore.c: Likewise.
2529130561Sobrien	* elf32-mips.c: Likewise.
2530130561Sobrien	* elf32-msp430.c: Likewise.
2531130561Sobrien	* elf32-openrisc.c: Likewise.
2532130561Sobrien	* elf32-ppc.c: Likewise.
2533130561Sobrien	* elf32-s390.c: Likewise.
2534130561Sobrien	* elf32-sh.c: Likewise.
2535130561Sobrien	* elf32-sh64.c: Likewise.
2536130561Sobrien	* elf32-sparc.c: Likewise.
2537130561Sobrien	* elf32-v850.c: Likewise.
2538130561Sobrien	* elf32-vax.c: Likewise.
2539130561Sobrien	* elf32-xstormy16.c: Likewise.
2540130561Sobrien	* elf32-xtensa.c: Likewise.
2541130561Sobrien	* elf64-alpha.c: Likewise.
2542130561Sobrien	* elf64-hppa.c: Likewise.
2543130561Sobrien	* elf64-mips.c: Likewise.
2544130561Sobrien	* elf64-mmix.c: Likewise.
2545130561Sobrien	* elf64-ppc.c: Likewise.
2546130561Sobrien	* elf64-s390.c: Likewise.
2547130561Sobrien	* elf64-sh64.c: Likewise.
2548130561Sobrien	* elf64-sparc.c: Likewise.
2549130561Sobrien	* elf64-x86-64.c: Likewise.
2550130561Sobrien	* elfcode.h: Likewise.
2551130561Sobrien	* elflink.h: Likewise.
2552130561Sobrien	* elfn32-mips.c: Likewise.
2553130561Sobrien	* elfxx-ia64.c: Likewise.
2554130561Sobrien	* elfxx-mips.c: Likewise.
2555130561Sobrien	* i386linux.c: Likewise.
2556130561Sobrien	* ieee.c: Likewise.
2557130561Sobrien	* libcoff-in.h: Likewise.
2558130561Sobrien	* linker.c: Likewise.
2559130561Sobrien	* m68klinux.c: Likewise.
2560130561Sobrien	* pdp11.c: Likewise.
2561130561Sobrien	* pe-mips.c: Likewise.
2562130561Sobrien	* peXXigen.c: Likewise.
2563130561Sobrien	* reloc.c: Likewise.
2564130561Sobrien	* reloc16.c: Likewise.
2565130561Sobrien	* sparclinux.c: Likewise.
2566130561Sobrien	* sunos.c: Likewise.
2567130561Sobrien	* syms.c: Likewise.
2568130561Sobrien	* versados.c: Likewise.
2569130561Sobrien	* vms.c: Likewise.
2570130561Sobrien	* xcofflink.c: Likewise.
2571130561Sobrien	* bfd-in2.h: Regenerate.
2572130561Sobrien	* libcoff.h: Regenerate.
2573130561Sobrien	* libbfd.h: Regenerate.
2574130561Sobrien
2575130561Sobrien2003-06-24  Alan Modra  <amodra@bigpond.net.au>
2576130561Sobrien
2577130561Sobrien	* elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
2578130561Sobrien	local sym errors.
2579130561Sobrien
2580130561Sobrien	* elf32-i386.c: Convert to C90 function definitions, remove unnecessary
2581130561Sobrien	prototypes and casts.  Replace PTR with void *.  Formatting.
2582130561Sobrien	* elf32-ppc.c: Likewise.  Break long strings too.
2583130561Sobrien	(ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
2584130561Sobrien	(ppc_elf_unhandled_reloc): Internationalize error message.
2585130561Sobrien	* elf32-ppc.h: Remove PARAMS.
2586130561Sobrien
2587130561Sobrien2003-06-23  Mark Mitchell  <mark@codesourcery.com>
2588130561Sobrien
2589130561Sobrien	* elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
2590130561Sobrien	APUinfo slots.
2591130561Sobrien	(ppc_elf_final_write_processing): Likewise.
2592130561Sobrien
2593130561Sobrien2003-06-23  H.J. Lu <hongjiu.lu@intel.com>
2594130561Sobrien
2595130561Sobrien	* elflink.h (elf_link_input_bfd): Check raw size when using
2596130561Sobrien	kept_section to preserve debug information discarded by
2597130561Sobrien	linkonce.
2598130561Sobrien
2599130561Sobrien2003-06-20  Alan Modra  <amodra@bigpond.net.au>
2600130561Sobrien
2601130561Sobrien	* elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
2602130561Sobrien	(ppc64_elf_setup_section_lists): Set it.
2603130561Sobrien	(ppc64_elf_relocate_section): Check sym section id against top_id.
2604130561Sobrien	(ppc_build_one_stub): Comment on top_id.
2605130561Sobrien
2606130561Sobrien2003-06-20  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
2607130561Sobrien
2608130561Sobrien	* config.bfd: Add tic4x-*-rtems*.
2609130561Sobrien
2610130561Sobrien2003-06-20  Alan Modra  <amodra@bigpond.net.au>
2611130561Sobrien
2612130561Sobrien	* elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
2613130561Sobrien	prototypes and casts.  Replace PTR with void *.  Format copyright.
2614130561Sobrien	Mention ABI links.
2615130561Sobrien	(struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
2616130561Sobrien	sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
2617130561Sobrien	(ppc_type_of_stub): Make r_type an enum.
2618130561Sobrien	(ppc64_elf_size_stubs): Likewise.
2619130561Sobrien	* elf64-ppc.h: Remove PARAMS macro.
2620130561Sobrien
2621130561Sobrien2003-06-19  Alan Modra  <amodra@bigpond.net.au>
2622130561Sobrien
2623130561Sobrien	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
2624130561Sobrien	elf hash tab fields.
2625130561Sobrien
2626130561Sobrien	* elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
2627130561Sobrien	(ppc64_elf_info_to_howto): Likewise.
2628130561Sobrien	(ppc64_elf_build_stubs): Add "stats" param, and print statistics.
2629130561Sobrien	* elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
2630130561Sobrien
2631130561Sobrien2003-06-19  Alan Modra  <amodra@bigpond.net.au>
2632130561Sobrien
2633130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
2634130561Sobrien	reloc overflow on discarded eh_frame entries.
2635130561Sobrien
2636130561Sobrien2003-06-19  Alan Modra  <amodra@bigpond.net.au>
2637130561Sobrien
2638130561Sobrien	* elf64-ppc.c (toc_adjusting_stub_needed): New function.
2639130561Sobrien	(ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
2640130561Sobrien	Return error condition.
2641130561Sobrien	(ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
2642130561Sobrien	that have has_gp_reloc set.
2643130561Sobrien	(struct ppc_link_hash_table): Add stub_count.
2644130561Sobrien	(ppc_build_one_stub): Increment it.
2645130561Sobrien	(ppc64_elf_link_hash_table_create): zmalloc rather than clearing
2646130561Sobrien	individual fields.
2647130561Sobrien	* elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
2648130561Sobrien
2649130561Sobrien2003-06-18  Alan Modra  <amodra@bigpond.net.au>
2650130561Sobrien
2651130561Sobrien	* elflink.h (elf_gc_record_vtentry): Revert last change.  Correct
2652130561Sobrien	size calculation from addend.  Round size up.
2653130561Sobrien
2654130561Sobrien2003-06-18  Hans-Peter Nilsson  <hp@axis.com>
2655130561Sobrien
2656130561Sobrien	* elf32-cris.c (cris_elf_relocate_section) <case
2657130561Sobrien	R_CRIS_32_GOTREL>: When linking a program, don't complain about a
2658130561Sobrien	symbol from a normal object or an undefined weak symbol.
2659130561Sobrien
2660130561Sobrien2003-06-18  Alan Modra  <amodra@bigpond.net.au>
2661130561Sobrien
2662130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
2663130561Sobrien	R_PPC64_TOC relocs.
2664130561Sobrien
2665130561Sobrien2003-06-17  H.J. Lu <hongjiu.lu@intel.com>
2666130561Sobrien
2667130561Sobrien	* section.c (struct sec): Put back kept_section.
2668130561Sobrien	(STD_SECTION): Put back kept_section initialization.
2669130561Sobrien	* bfd-in2.h: Regenerate.
2670130561Sobrien
2671130561Sobrien	* elflink.h (elf_link_input_bfd): Also check discarded linkonce
2672130561Sobrien	sections for relocateable output. Use kept_section to preserve
2673130561Sobrien	debug information discarded by linkonce.
2674130561Sobrien
2675130561Sobrien2003-06-17  Roland McGrath  <roland@redhat.com>
2676130561Sobrien
2677130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Support
2678130561Sobrien	segment-relative relocation between different segments.
2679130561Sobrien
2680130561Sobrien2003-06-17  Alan Modra  <amodra@bigpond.net.au>
2681130561Sobrien
2682130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
2683130561Sobrien	optimizations earlier.
2684130561Sobrien
2685130561Sobrien	* elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
2686130561Sobrien	Restore previous input_list type.
2687130561Sobrien	(ppc64_elf_link_hash_table_create): Undo last change.
2688130561Sobrien	(ppc64_elf_setup_section_lists): Reinstate code setting up input lists
2689130561Sobrien	per output section, but don't bother with bfd_abs_section marker.
2690130561Sobrien	(ppc64_elf_next_input_section): Adjust for multiple input section
2691130561Sobrien	lists.
2692130561Sobrien	(group_sections): Likewise.
2693130561Sobrien
2694130561Sobrien2003-06-17  Jakub Jelinek  <jakub@redhat.com>
2695130561Sobrien
2696130561Sobrien	* elf64-ppc.c (ppc64_elf_relocation_section): Ensure
2697130561Sobrien	*r_offset == r_addend for RELATIVE relocs against .got.
2698130561Sobrien
2699130561Sobrien2003-06-17  Alan Modra  <amodra@bigpond.net.au>
2700130561Sobrien
2701130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
2702130561Sobrien
2703130561Sobrien2003-06-17  Nick Clifton  <nickc@redhat.com>
2704130561Sobrien
2705130561Sobrien	* elflink.h (elf_gc_record_vtentry): Allocate an extra element
2706130561Sobrien	in the vtable_entries_used array to allow for the accessing
2707130561Sobrien	the largest element.
2708130561Sobrien
2709130561Sobrien2003-06-17  Alan Modra  <amodra@bigpond.net.au>
2710130561Sobrien
2711130561Sobrien	* elf64-ppc.c (struct ppc_link_hash_table): Remove top_index.  Modify
2712130561Sobrien	input_list.
2713130561Sobrien	(ppc64_elf_link_hash_table_create): Init input_list here.
2714130561Sobrien	(ppc64_elf_setup_section_lists): Remove code setting up input lists
2715130561Sobrien	per output section.  Set toc_off for abs and other standard sections.
2716130561Sobrien	(ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
2717130561Sobrien	(ppc64_elf_next_input_section): Adjust for single input section list.
2718130561Sobrien	Don't set toc_curr from input bfds that haven't set elf_gp.
2719130561Sobrien	(group_sections): Adjust for single input section list.
2720130561Sobrien
2721130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
2722130561Sobrien
2723130561Sobrien2003-06-16  Alan Modra  <amodra@bigpond.net.au>
2724130561Sobrien
2725130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
2726130561Sobrien	tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
2727130561Sobrien	dtprel entry.  Ensure TLS_LD DTPMOD reloc has a zero addend.  Write
2728130561Sobrien	got section for RELATIVE relocs.  Fix wrong comment.  Change condition
2729130561Sobrien	under which dynamic relocs update the section contents.
2730130561Sobrien
2731130561Sobrien2003-06-13  Robert Millan  <zeratul2@wanadoo.es>
2732130561Sobrien
2733130561Sobrien	* config.bfd: Add i386-netbsd-gnu target.
2734130561Sobrien
2735130561Sobrien2003-06-12  Nick Clifton  <nickc@redhat.com>
2736130561Sobrien
2737130561Sobrien	* opncls.c (calc_crc32): Rename to
2738130561Sobrien	bfd_calc_gnu_debuglink_crc32 and export.
2739130561Sobrien	(GNU_DEBUGLINK): Define and use to replace occurrences of
2740130561Sobrien	hard-coded ".gnu_debuglink" in the code.
2741130561Sobrien	(get_debug_link_info): Prevent aborts by replacing call to
2742130561Sobrien	xmalloc with a call to malloc.
2743130561Sobrien	(find_separate_debug_file): Prevent aborts by replacing calls
2744130561Sobrien	to xmalloc and xstrdup with calls to malloc and strdup.
2745130561Sobrien	(bfd_add_gnu_debuglink): New function.  Add a .gnu_debuglink
2746130561Sobrien	section to a bfd.
2747130561Sobrien	* bfd-in2.h: Regenerate.
2748130561Sobrien
2749130561Sobrien2003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
2750130561Sobrien
2751130561Sobrien	* config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
2752130561Sobrien	New target (was i[3-7]86-*-openbsd* before).
2753130561Sobrien	(i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
2754130561Sobrien	(vax-*-openbsd*): New target.
2755130561Sobrien
2756130561Sobrien2003-06-11  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2757130561Sobrien
2758130561Sobrien	* elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
2759130561Sobrien	for n32, too.
2760130561Sobrien	(MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
2761130561Sobrien	(mips_elf_rel_dyn_section): Use appropriate section alignment.
2762130561Sobrien	(mips_elf_create_got_section): Likewise.
2763130561Sobrien	(_bfd_mips_elf_create_dynamic_sections): Likewise.
2764130561Sobrien
2765130561Sobrien2003-06-11  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2766130561Sobrien
2767130561Sobrien	* elf32-mips.c (mips_elf_generic_reloc): New Function.
2768130561Sobrien	(elf_mips_howto_table_rel): Use it.
2769130561Sobrien	(gprel32_with_gp): Move prototype.
2770130561Sobrien	(mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
2771130561Sobrien	Use mips_elf_generic_reloc.
2772130561Sobrien	(mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
2773130561Sobrien	Code cleanup.
2774130561Sobrien	(_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
2775130561Sobrien	zero addend.
2776130561Sobrien	(mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
2777130561Sobrien	as in the other *_gprel*_reloc functions.
2778130561Sobrien	(gprel32_with_gp): Handle partial_inplace properly.
2779130561Sobrien	(mips32_64bit_reloc): Use mips_elf_generic_reloc.
2780130561Sobrien	(mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
2781130561Sobrien	Do addend handling directly instead of calling
2782130561Sobrien	_bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
2783130561Sobrien	* elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
2784130561Sobrien	of zero addend. Handle partial_inplace properly.
2785130561Sobrien	(mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
2786130561Sobrien	addend.
2787130561Sobrien	(mips_elf64_gprel16_reloc): Likewise.
2788130561Sobrien	(mips_elf64_literal_reloc): Likewise.
2789130561Sobrien	(mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
2790130561Sobrien	logic as in the other *_gprel*_reloc functions. Handle
2791130561Sobrien	partial_inplace properly.
2792130561Sobrien	(mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
2793130561Sobrien	addend. Handle partial_inplace properly.
2794130561Sobrien	(mips16_gprel_reloc): Likewise. Do addend handling directly instead
2795130561Sobrien	of calling _bfd_mips_elf_gprel16_with_gp.
2796130561Sobrien	* elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
2797130561Sobrien	(mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
2798130561Sobrien	of zero addend.
2799130561Sobrien	(mips_elf_shift6_reloc): Handle partial_inplace properly.
2800130561Sobrien	(mips16_gprel_reloc): Likewise. Do addend handling directly instead
2801130561Sobrien	of calling _bfd_mips_elf_gprel16_with_gp.
2802130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
2803130561Sobrien	partial_inplace properly. Fix wrong addend handling. Fix overflow
2804130561Sobrien	check.
2805130561Sobrien	(_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
2806130561Sobrien	exported.
2807130561Sobrien	(mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
2808130561Sobrien	(_bfd_mips_elf_relocate_section): Likewise.
2809130561Sobrien	(mips_elf_create_dynamic_relocation): Update sec_info_type access.
2810130561Sobrien	* elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
2811130561Sobrien	(_bfd_mips_elf_sign_extend): New prototype.
2812130561Sobrien
2813130561Sobrien2003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
2814130561Sobrien
2815130561Sobrien	* config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
2816130561Sobrien	New target (was sparc-*-openbsd* before).
2817130561Sobrien	(sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
2818130561Sobrien
2819130561Sobrien	* configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
2820130561Sobrien	* configure: Regenerate.
2821130561Sobrien
2822130561Sobrien2003-06-11  H.J. Lu <hongjiu.lu@intel.com>
2823130561Sobrien
2824130561Sobrien	* po/Make-in (DESTDIR): New.
2825130561Sobrien	(install-data-yes): Support $(DESTDIR).
2826130561Sobrien	(uninstall): Likewise.
2827130561Sobrien
2828130561Sobrien2003-06-11  Alan Modra  <amodra@bigpond.net.au>
2829130561Sobrien
2830130561Sobrien	* Makefile.am (config.status): Depend on version.h.
2831130561Sobrien	Run "make dep-am".
2832130561Sobrien	* Makefile.in: Regenerate.
2833130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
2834130561Sobrien
2835130561Sobrien2003-06-10  Alan Modra  <amodra@bigpond.net.au>
2836130561Sobrien	    Gary Hade <garyhade@us.ibm.com>
2837130561Sobrien
2838130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
2839130561Sobrien
2840130561Sobrien2003-06-10  Richard Sandiford  <rsandifo@redhat.com>
2841130561Sobrien
2842130561Sobrien	* archures.c (bfd_mach_h8300sxn): New architecture.
2843130561Sobrien	* bfd-in2.h: Regenerate.
2844130561Sobrien	* cpu-h8300.c (h8300_scan): Check for 'sxn'.
2845130561Sobrien	(h8300sxn_info_struct): New.
2846130561Sobrien	(h8300sx_info_struct): Link to it.
2847130561Sobrien	* elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
2848130561Sobrien	(elf32_h8_final_write_processing): Likewise.
2849130561Sobrien
2850130561Sobrien2003-06-08  Alan Modra  <amodra@bigpond.net.au>
2851130561Sobrien
2852130561Sobrien	* elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
2853130561Sobrien	elfxx-target.h so that we can use elf_backend_got_header_size.
2854130561Sobrien	(ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
2855130561Sobrien	(GLINK_CALL_STUB_SIZE): Modify.  Define new glink call stub and
2856130561Sobrien	associated macros.
2857130561Sobrien	(ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
2858130561Sobrien	dst_mask.
2859130561Sobrien	(enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
2860130561Sobrien	ppc_stub_plt_branch_r2off.
2861130561Sobrien	(struct ppc_stub_hash_entry): Reorganize.
2862130561Sobrien	(struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
2863130561Sobrien	toc_curr, toc_off and emit_stub_syms.
2864130561Sobrien	(ppc64_elf_link_hash_table_create): Init them.
2865130561Sobrien	(ppc_stub_name): Correct string size.
2866130561Sobrien	(ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
2867130561Sobrien	(ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
2868130561Sobrien	used.
2869130561Sobrien	(ppc_type_of_stub): Tweak root.type test.
2870130561Sobrien	(build_plt_stub): Remove glink code.  Adjust for insn macro changes.
2871130561Sobrien	(ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
2872130561Sobrien	ppc_stub_plt_branch_r2off.
2873130561Sobrien	(ppc_build_one_stub): Likewise.  Fix var shadowing.  Correct addis,addi
2874130561Sobrien	range test.  Use toc_off to calculte r2 values.  Handle emit_stub_syms.
2875130561Sobrien	(ppc64_elf_setup_section_lists): Remove htab creator flavour test.
2876130561Sobrien	Initialize elf_gp and toc_curr.
2877130561Sobrien	(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
2878130561Sobrien	(ppc64_elf_next_input_section): Set toc_off.
2879130561Sobrien	(group_sections): Ensure groups have the same TOC.
2880130561Sobrien	(ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
2881130561Sobrien	(ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
2882130561Sobrien	Build new glink stub.
2883130561Sobrien	(ppc64_elf_relocate_section): Handle multiple TOCs.  Fix comments.
2884130561Sobrien	(ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
2885130561Sobrien	* elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
2886130561Sobrien	(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
2887130561Sobrien	* section.c (struct sec): Rename flag12 to has_gp_reloc.
2888130561Sobrien	(STD_SECTION): Update.
2889130561Sobrien	* ecoff.c (bfd_debug_section): Update comment.
2890130561Sobrien	* bfd-in2.h: Regenerate.
2891130561Sobrien
2892130561Sobrien2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
2893130561Sobrien
2894130561Sobrien	* elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
2895130561Sobrien	NULL function pointers.
2896130561Sobrien
2897130561Sobrien2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
2898130561Sobrien
2899130561Sobrien	* simple.c (bfd_simple_get_relocated_section_contents): Call
2900130561Sobrien	_bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
2901130561Sobrien
2902130561Sobrien2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
2903130561Sobrien
2904130561Sobrien	* coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
2905130561Sobrien	ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
2906130561Sobrien	swaptables.
2907130561Sobrien	* coff-tic4x.c: Ditto
2908130561Sobrien	* coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
2909130561Sobrien	and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
2910130561Sobrien	CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
2911130561Sobrien	ticoff1_bad_format_hook() functions. Created the coff0 and coff1
2912130561Sobrien	swap tables.
2913130561Sobrien	* coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
2914130561Sobrien	* coff-a29k.c: Append COFF_SWAP_TABLE argument
2915130561Sobrien	* coff-apollo.c: Ditto
2916130561Sobrien	* coff-arm.c: Ditto
2917130561Sobrien	* coff-h8300.c: Ditto
2918130561Sobrien	* coff-h8500.c: Ditto
2919130561Sobrien	* coff-i960.c: Ditto
2920130561Sobrien	* coff-m68k.c: Ditto
2921130561Sobrien	* coff-m88k.c: Ditto
2922130561Sobrien	* coff-mcore.c: Ditto
2923130561Sobrien	* coff-sh.c: Ditto
2924130561Sobrien	* coff-sparc.c: Ditto
2925130561Sobrien	* coff-tic80.c: Ditto
2926130561Sobrien	* coff-we32k.c: Ditto
2927130561Sobrien	* coff-z8k.c: Ditto
2928130561Sobrien	* coff-w65.c: Ditto
2929130561Sobrien
2930130561Sobrien2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
2931130561Sobrien
2932130561Sobrien	* coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
2933130561Sobrien	initialization bug
2934130561Sobrien
2935130561Sobrien2003-06-03  Jakub Jelinek  <jakub@redhat.com>
2936130561Sobrien
2937130561Sobrien	* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
2938130561Sobrien	(bfd_section_from_phdr): Likewise.
2939130561Sobrien	(map_sections_to_segments): Create PT_GNU_STACK segment header.
2940130561Sobrien	(get_program_header_size): Count with PT_GNU_STACK.
2941130561Sobrien	* elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
2942130561Sobrien	* elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
2943130561Sobrien
2944130561Sobrien2003-06-03  H.J. Lu <hongjiu.lu@intel.com>
2945130561Sobrien
2946130561Sobrien	* elflink.h (elf_link_input_bfd): Call linker error_handler
2947130561Sobrien	for discarded definitions.
2948130561Sobrien
2949130561Sobrien2003-06-03  Elias Athanasopoulos  <elathan@phys.uoa.gr>
2950130561Sobrien
2951130561Sobrien	* syms.c (decode_section_type): Return 'n' if section flags are
2952130561Sobrien	SEC_HAS_CONTENTS && SEC_READONLY.
2953130561Sobrien
2954130561Sobrien2003-06-03  Nick Clifton  <nickc@redhat.com>
2955130561Sobrien
2956130561Sobrien	* elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
2957130561Sobrien	R_V850_ABS32.  Add entry for R_V850_REL32.
2958130561Sobrien	(v850_elf_reloc_map): Likewise.
2959130561Sobrien	(v850_elf_check_relocs): Likewise.
2960130561Sobrien	(v850_elf_perform_relocation): Likewise.
2961130561Sobrien	(v850_elf_final_link_relocate): Likewise.  Include computation
2962130561Sobrien	to make R_V850_REl32 pc-relative.
2963130561Sobrien
2964130561Sobrien2003-06-03  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2965130561Sobrien
2966130561Sobrien	* elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
2967130561Sobrien	and DT_DEBUG dynamic tag even for position independent executables.
2968130561Sobrien	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
2969130561Sobrien
2970130561Sobrien2003-06-02  Daniel Jacobowitz  <drow@mvista.com>
2971130561Sobrien
2972130561Sobrien	* config.bfd: Move obsolete entries out of the range of the
2973130561Sobrien	targmatch sed script.
2974130561Sobrien
2975130561Sobrien2003-06-02  Daniel Jacobowitz  <drow@mvista.com>
2976130561Sobrien
2977130561Sobrien	* config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
2978130561Sobrien
2979130561Sobrien2003-05-31  Jakub Jelinek  <jakub@redhat.com>
2980130561Sobrien
2981130561Sobrien	* elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
2982130561Sobrien	plt entries, not just 8191.
2983130561Sobrien
2984130561Sobrien2003-05-30  Daniel Jacobowitz  <drow@mvista.com>
2985130561Sobrien
2986130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
2987130561Sobrien	Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
2988130561Sobrien
2989130561Sobrien2003-05-30  Ulrich Drepper  <drepper@redhat.com>
2990130561Sobrien	    Jakub Jelinek  <jakub@redhat.com>
2991130561Sobrien
2992130561Sobrien	* elflink.h (elf_link_add_object_symbols): Use !info->executable
2993130561Sobrien	instead of info->shared where appropriate.
2994130561Sobrien	(bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
2995130561Sobrien	* elflink.c (_bfd_elf_create_got_section): Likewise.
2996130561Sobrien	(_bfd_elf_link_create_dynamic_sections): Likewise.
2997130561Sobrien	(_bfd_elf_link_assign_sym_version): Likewise.
2998130561Sobrien	* elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
2999130561Sobrien	and DT_DEBUG dynamic tag even for position independent executables.
3000130561Sobrien	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
3001130561Sobrien	* elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
3002130561Sobrien	* elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
3003130561Sobrien	* elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
3004130561Sobrien	* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
3005130561Sobrien	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
3006130561Sobrien	* elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
3007130561Sobrien	* elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
3008130561Sobrien	* elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
3009130561Sobrien
3010130561Sobrien2003-05-30  Kris Warkentin <kewarken@qnx.com>
3011130561Sobrien
3012130561Sobrien	* elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
3013130561Sobrien	signalled thread.
3014130561Sobrien	(elfcore_grok_nto_gregs): Only make .reg section for the active thread.
3015130561Sobrien
3016130561Sobrien2003-05-29  Nick Clifton  <nickc@redhat.com>
3017130561Sobrien
3018130561Sobrien	* pef.c: Include "safe-ctype.h" instead of <ctype.h>.
3019130561Sobrien	Tidy up formatting.
3020130561Sobrien	* Makefile.am: Add dependency on safe-ctype.h.
3021130561Sobrien	* Makefile.in: Regenerate.
3022130561Sobrien
3023130561Sobrien2003-05-29  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3024130561Sobrien
3025130561Sobrien	* elfxx-mips.c: Don't force symbols local unconditionally.
3026130561Sobrien
3027130561Sobrien2003-05-28  Alan Modra  <amodra@bigpond.net.au>
3028130561Sobrien
3029130561Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
3030130561Sobrien	undefined_symbol call.
3031130561Sobrien
3032130561Sobrien2003-05-27  Richard Sandiford  <rsandifo@redhat.com>
3033130561Sobrien
3034130561Sobrien	* elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
3035130561Sobrien	(mips_elf_link_hash_table): Likewise.
3036130561Sobrien
3037130561Sobrien2003-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3038130561Sobrien
3039130561Sobrien	* elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
3040130561Sobrien	R_MIPS_GNU_REL16_S2 support.
3041130561Sobrien	(bfd_elf64_bfd_reloc_type_lookup): Use it.
3042130561Sobrien	(mips_elf64_rtype_to_howto): Use it.
3043130561Sobrien	* elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
3044130561Sobrien	R_MIPS_GNU_REL16_S2 support.
3045130561Sobrien	(bfd_elf32_bfd_reloc_type_lookup): Use it.
3046130561Sobrien	(mips_elf_n32_rtype_to_howto): Use it.
3047130561Sobrien
3048130561Sobrien2003-05-21  Stuart F. Downing  <sdowning@fame.com>
3049130561Sobrien
3050130561Sobrien	* som.h: Define PA_2_0 before including a.out.h
3051130561Sobrien
3052130561Sobrien2003-05-07  Eric Christopher  <echristo@redhat.com>
3053130561Sobrien	    Alexandre Oliva   <aoliva@redhat.com>
3054130561Sobrien
3055130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
3056130561Sobrien	pic tests, change to warning.
3057130561Sobrien	(_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
3058130561Sobrien
3059130561Sobrien2003-05-21  Marcus Comstedt  <marcus@mc.pp.se>
3060130561Sobrien
3061130561Sobrien	* config.bfd: Check for a target triplet of shl-...-netbsdelf as
3062130561Sobrien	well as shle-...-netbsdelf.  Remove duplicate entry.
3063130561Sobrien
3064130561Sobrien2003-05-21  Nick Clifton  <nickc@redhat.com>
3065130561Sobrien
3066130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
3067130561Sobrien	for X_STORMY16_REL_12 reloc.
3068130561Sobrien
3069130561Sobrien	* elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
3070130561Sobrien	the type of the hash table in the bfd_link_info structure.
3071130561Sobrien	(bfd_elf_get_runpath_list): Likewise.
3072130561Sobrien
3073130561Sobrien2003-05-19  Roland McGrath  <roland@redhat.com>
3074130561Sobrien
3075130561Sobrien	* elf.c (bfd_elf_bfd_from_remote_memory): New function.
3076130561Sobrien	* bfd-in.h: Declare it.
3077130561Sobrien	* bfd-in2.h: Regenerated.
3078130561Sobrien	* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
3079130561Sobrien	* elf-bfd.h (struct elf_backend_data): New function pointer member
3080130561Sobrien	elf_backend_bfd_from_remote_memory.
3081130561Sobrien	(_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
3082130561Sobrien	Declare them.
3083130561Sobrien	* elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
3084130561Sobrien	(elfNN_bed): Add that to the initializer.
3085130561Sobrien
3086130561Sobrien2003-05-15  Roland McGrath  <roland@redhat.com>
3087130561Sobrien
3088130561Sobrien	* elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
3089130561Sobrien
3090130561Sobrien2003-05-20  Jakub Jelinek  <jakub@redhat.com>
3091130561Sobrien
3092130561Sobrien	* elflink.h (elf_link_output_extsym): Only issue error about !=
3093130561Sobrien	STV_DEFAULT symbols if they are bfd_link_hash_undefined.
3094130561Sobrien
3095130561Sobrien2003-05-20  H.J. Lu <hongjiu.lu@intel.com>
3096130561Sobrien
3097130561Sobrien	* elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
3098130561Sobrien	when removing the old definition for symbols with non-default
3099130561Sobrien	visibility.
3100130561Sobrien
3101130561Sobrien2003-05-18  Jason Eckhardt  <jle@rice.edu>
3102130561Sobrien
3103130561Sobrien	* elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
3104130561Sobrien
3105130561Sobrien2003-05-17  Andreas Schwab  <schwab@suse.de>
3106130561Sobrien
3107130561Sobrien	* elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
3108130561Sobrien	elf_section_data during processing of pc-relative and absolute
3109130561Sobrien	relocations.
3110130561Sobrien	(elf_m68k_relocate_section): Use the cached reloc section instead
3111130561Sobrien	of computing it again.  Fix handling of visibility.  Don't modify
3112130561Sobrien	addend when copying over a relocation into the output.
3113130561Sobrien
3114130561Sobrien2003-05-17  Alan Modra  <amodra@bigpond.net.au>
3115130561Sobrien
3116130561Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
3117130561Sobrien	to trim plt entries.  Move undefweak non-default visibility test..
3118130561Sobrien	(allocate_dynrelocs): ..from here.
3119130561Sobrien	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
3120130561Sobrien	dynamic_sections_created here.  Update comment.  Move undefweak
3121130561Sobrien	non-default visibility test..
3122130561Sobrien	(allocate_dynrelocs): ..from here.  Fix comment.
3123130561Sobrien	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
3124130561Sobrien	to trim plt entries.  Move undefweak non-default visibility test..
3125130561Sobrien	(allocate_dynrelocs): ..from here.  Fix comment.
3126130561Sobrien	* elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
3127130561Sobrien	STV_DEFAULT rather than comparing with zero.
3128130561Sobrien	* elflink.c (_bfd_elf_merge_symbol): Likewise.
3129130561Sobrien	(_bfd_elf_fix_symbol_flags): Likewise.  Format comment.
3130130561Sobrien
3131130561Sobrien2003-05-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3132130561Sobrien
3133130561Sobrien	* bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
3134130561Sobrien	pointers.
3135130561Sobrien	(_bfd_set_gp_value): Likewise.
3136130561Sobrien
3137130561Sobrien2003-05-16  Michael Snyder  <msnyder@redhat.com>
3138130561Sobrien	From Bernd Schmidt  <bernds@redhat.com>
3139130561Sobrien	* archures.c (bfd_mach_h8300sx): New.
3140130561Sobrien	* bfd-in2.h: Regenerate.
3141130561Sobrien	* cpu-h8300.c (h8300_scan)): Add support for h8300sx.
3142130561Sobrien	(h8300sx_info_struct): New.
3143130561Sobrien	(h8300s_info_struct): Link to it.
3144130561Sobrien	* elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
3145130561Sobrien	(elf32_h8_final_write_processing): Likewise.
3146130561Sobrien	(elf32_h8_relax_section): Likewise.
3147130561Sobrien
3148130561Sobrien2003-05-16  Kelley Cook  <kelleycook@wideopenwest.com>
3149130561Sobrien
3150130561Sobrien	* config.bfd: Accept i[3-7]86 variants.
3151130561Sobrien	* configure.host: Likewise.
3152130561Sobrien	* configure.in: Likewise.
3153130561Sobrien	* configure: Regenerate.
3154130561Sobrien
3155130561Sobrien2003-05-15  H.J. Lu <hongjiu.lu@intel.com>
3156130561Sobrien
3157130561Sobrien	* elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
3158130561Sobrien	symbol.
3159130561Sobrien
3160130561Sobrien2003-05-15  H.J. Lu <hongjiu.lu@intel.com>
3161130561Sobrien
3162130561Sobrien	* elflink.h (elf_link_check_versioned_symbol): Also allow
3163130561Sobrien	the base version.
3164130561Sobrien
3165130561Sobrien2003-05-15  Alan Modra  <amodra@bigpond.net.au>
3166130561Sobrien	    H.J. Lu <hongjiu.lu@intel.com>
3167130561Sobrien
3168130561Sobrien	* elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
3169130561Sobrien	(elf_i386_relocate_section): Likewise.
3170130561Sobrien	* elf32-ppc.c (allocate_dynrelocs): Likewise.
3171130561Sobrien	(ppc_elf_relocate_section): Likewise.
3172130561Sobrien	* elf64-ppc.c (allocate_dynrelocs): Likewise.
3173130561Sobrien	(ppc64_elf_relocate_section): Likewise.
3174130561Sobrien
3175130561Sobrien2003-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3176130561Sobrien
3177130561Sobrien	* elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
3178130561Sobrien
3179130561Sobrien2003-05-13  Stephane Carrez  <stcarrez@nerim.fr>
3180130561Sobrien
3181130561Sobrien	* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
3182130561Sobrien	processor capability, allow merge of HC12 and HCS12 in some cases.
3183130561Sobrien	(m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
3184130561Sobrien	* cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
3185130561Sobrien	(bfd_m68hc12_arch): Link it.
3186130561Sobrien	(scan_mach): New function.
3187130561Sobrien
3188130561Sobrien2003-05-13  Andrew Haley  <aph@redhat.com>
3189130561Sobrien
3190130561Sobrien	* elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
3191130561Sobrien
3192130561Sobrien2003-05-13  Alan Modra  <amodra@bigpond.net.au>
3193130561Sobrien	    H.J. Lu  <hongjiu.lu@intel.com>
3194130561Sobrien
3195130561Sobrien	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
3196130561Sobrien	elf32-ppc.c.  Add ELF_LINK_FORCED_LOCAL check.
3197130561Sobrien	* elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
3198130561Sobrien	(allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
3199130561Sobrien	(ppc_elf_relocate_section): Likewise.
3200130561Sobrien	* elf64-ppc.c (allocate_dynrelocs): Likewise.
3201130561Sobrien	(ppc64_elf_relocate_section): Likewise.  Use for .got relocs too.
3202130561Sobrien	(ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
3203130561Sobrien	relocs need no other types.
3204130561Sobrien	* elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
3205130561Sobrien	dynreloc check.
3206130561Sobrien	(elf_i386_relocate_section): Likewise.  Use for .got relocs too.
3207130561Sobrien	(elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
3208130561Sobrien	.got relocs.
3209130561Sobrien
3210130561Sobrien2003-05-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3211130561Sobrien
3212130561Sobrien	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
3213130561Sobrien	copy ELF_LINK_NON_GOT_REF from weakdef.
3214130561Sobrien	(allocate_dynrelocs): For undef weak syms with non-default
3215130561Sobrien	visibility, a) don't allocate plt entries, b) don't allocate
3216130561Sobrien	.got relocs, c) discard dyn rel space
3217130561Sobrien	(sh_elf_relocate_section): d) don't generate .got relocs, e)
3218130561Sobrien	don't generate dynamic relocs.
3219130561Sobrien	(sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
3220130561Sobrien	for weakdefs when symbol already adjusted.
3221130561Sobrien
3222130561Sobrien2003-05-12  Nick Clifton  <nickc@redhat.com>
3223130561Sobrien
3224130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
3225130561Sobrien	overflow detection for R_XSTORMY16_16 reloc.
3226130561Sobrien
3227130561Sobrien2003-05-12  Paul Clarke  <paulc@senet.com.au>
3228130561Sobrien
3229130561Sobrien	* elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
3230130561Sobrien
3231130561Sobrien2003-05-11  Jason Eckhardt  <jle@rice.edu>
3232130561Sobrien
3233130561Sobrien	* elf32-i860.c (elf32_i860_relocate_highadj): Properly
3234130561Sobrien	adjust upper bits.
3235130561Sobrien	(elf32_i860_relocate_splitn): Obtain upper 5 bits from the
3236130561Sobrien	proper place.
3237130561Sobrien	(elf32_i860_relocate_pc16): Obtain upper 5 bits from the
3238130561Sobrien	proper place.
3239130561Sobrien
3240130561Sobrien2003-05-11  Andreas Schwab  <schwab@suse.de>
3241130561Sobrien
3242130561Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
3243130561Sobrien	complicated tests for unresolvable relocs with a simple direct
3244130561Sobrien	scheme using "unresolved_reloc" var.  Report some detail on
3245130561Sobrien	bfd_reloc_outofrange and similar errors.
3246130561Sobrien
3247130561Sobrien2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3248130561Sobrien
3249130561Sobrien	* elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
3250130561Sobrien	Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
3251130561Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3252130561Sobrien	* elf64-s390.c: Likewise.
3253130561Sobrien
3254130561Sobrien2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3255130561Sobrien
3256130561Sobrien	* elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
3257130561Sobrien	(elf_s390_adjust_dynamic_symbol): For weak symbols, copy
3258130561Sobrien	ELF_LINK_NON_GOT_REF from weakdef.
3259130561Sobrien	(elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
3260130561Sobrien	already been adjusted before treating it specially.
3261130561Sobrien	* el64-s390.c: Likwise.
3262130561Sobrien
3263130561Sobrien2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3264130561Sobrien
3265130561Sobrien	* elf32-s390.c (allocate_dynrelocs): For undef weak syms with
3266130561Sobrien	non-default visibility, a) don't make them dynamic, b) discard
3267130561Sobrien	space for dynamic relocs.
3268130561Sobrien	(elf_s390_relocate_section): Initialize the GOT entries and skip
3269130561Sobrien	R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
3270130561Sobrien	symbols with non-default visibility.
3271130561Sobrien	* elf64-s390.c: Likewise.
3272130561Sobrien
3273130561Sobrien2003-05-09  Alan Modra  <amodra@bigpond.net.au>
3274130561Sobrien
3275130561Sobrien	* cpu-arm.c (arm_check_note): Warning fix.
3276130561Sobrien	* elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes.  Arrange
3277130561Sobrien	to keep relocs if edited.
3278130561Sobrien	(iq2000_elf_print_private_bfd_data): Return TRUE.
3279130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
3280130561Sobrien	ELF64_R_SYM.
3281130561Sobrien	(elfNN_ia64_relax_ldxmov): Warning fix.
3282130561Sobrien	* xtensa-isa.c (xtensa_add_isa): Warning fix.
3283130561Sobrien	* xtensa-modules.c (get_num_opcodes): Warning fix.
3284130561Sobrien
3285130561Sobrien2003-05-09  Andrey Petrov <petrov@netbsd.org>
3286130561Sobrien
3287130561Sobrien	* elf.c (elf_fake_sections): Use correct cast for sh_name.
3288130561Sobrien
3289130561Sobrien2003-05-09  Alan Modra  <amodra@bigpond.net.au>
3290130561Sobrien
3291130561Sobrien	* elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
3292130561Sobrien	elflink.h.  Replace LOG_FILE_ALIGN with bed->s->log_file_align.
3293130561Sobrien	(_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
3294130561Sobrien	(bfd_elf_record_link_assignment): Move from elflink.h.
3295130561Sobrien	(_bfd_elf_merge_symbol): Likewise.
3296130561Sobrien	(_bfd_elf_add_default_symbol): Likewise.
3297130561Sobrien	(_bfd_elf_export_symbol): Likewise.
3298130561Sobrien	(_bfd_elf_link_find_version_dependencies): Likewise.
3299130561Sobrien	(_bfd_elf_link_assign_sym_version): Likewise.
3300130561Sobrien	(_bfd_elf_link_read_relocs): Likewise.
3301130561Sobrien	(_bfd_elf_link_size_reloc_section): Likewise.
3302130561Sobrien	(_bfd_elf_fix_symbol_flags): Likewise.
3303130561Sobrien	(_bfd_elf_adjust_dynamic_symbol): Likewise.
3304130561Sobrien	(_bfd_elf_link_sec_merge_syms): Likewise.
3305130561Sobrien	(elf_link_read_relocs_from_section): Likewise.  Use bed->s->sizeof_rel
3306130561Sobrien	and bed->s->sizeof_rela.
3307130561Sobrien	(_bfd_elf_link_output_relocs): Likewise.
3308130561Sobrien	* elf-bfd.h (struct elf_size_info): Rename file_align to
3309130561Sobrien	log_file_align.
3310130561Sobrien	(struct elf_info_failed): Move from elflink.h.
3311130561Sobrien	(struct elf_assign_sym_version_info): Likewise.
3312130561Sobrien	(struct elf_find_verdep_info): Likewise.
3313130561Sobrien	(_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
3314130561Sobrien	(_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
3315130561Sobrien	_bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
3316130561Sobrien	_bfd_elf_link_assign_sym_version,
3317130561Sobrien	_bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
3318130561Sobrien	_bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
3319130561Sobrien	_bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
3320130561Sobrien	_bfd_elf_link_sec_merge_syms): Declare.
3321130561Sobrien	(bfd_elf32_link_create_dynamic_sections): Don't declare.
3322130561Sobrien	(_bfd_elf32_link_read_relocs): Likewise.
3323130561Sobrien	(bfd_elf64_link_create_dynamic_sections): Likewise.
3324130561Sobrien	(_bfd_elf64_link_read_relocs): Likewise.
3325130561Sobrien	* elflink.h: Move lots o' stuff elsewhere.
3326130561Sobrien	* bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
3327130561Sobrien	(bfd_elf64_record_link_assignment): Likewise.
3328130561Sobrien	(bfd_elf_record_link_assignment): Declare.
3329130561Sobrien	* bfd-in2.h: Regenerate.
3330130561Sobrien	* elfcode.h (elf_link_create_dynamic_sections): Don't declare.
3331130561Sobrien	(NAME(_bfd_elf,size_info)): Adjust for log_file_align.
3332130561Sobrien	* elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
3333130561Sobrien	(assign_file_positions_for_segments): Likewise.
3334130561Sobrien	(assign_file_positions_except_relocs): Likewise.
3335130561Sobrien	(swap_out_syms, elfcore_write_note): Likewise.
3336130561Sobrien	* elf-m10200.c: Adjust for changed function names.
3337130561Sobrien	* elf-m10300.c: Likewise.
3338130561Sobrien	* elf32-arm.h: Likewise.
3339130561Sobrien	* elf32-h8300.c: Likewise.
3340130561Sobrien	* elf32-hppa.c: Likewise.
3341130561Sobrien	* elf32-ip2k.c: Likewise.
3342130561Sobrien	* elf32-m32r.c: Likewise.
3343130561Sobrien	* elf32-m68hc11.c: Likewise.
3344130561Sobrien	* elf32-m68hc1x.c: Likewise.
3345130561Sobrien	* elf32-m68k.c: Likewise.
3346130561Sobrien	* elf32-mips.c: Likewise.
3347130561Sobrien	* elf32-ppc.c: Likewise.
3348130561Sobrien	* elf32-sh.c: Likewise.
3349130561Sobrien	* elf32-v850.c: Likewise.
3350130561Sobrien	* elf32-xtensa.c: Likewise.
3351130561Sobrien	* elf64-alpha.c: Likewise.
3352130561Sobrien	* elf64-hppa.c: Likewise.
3353130561Sobrien	* elf64-mmix.c: Likewise.
3354130561Sobrien	* elf64-ppc.c: Likewise.
3355130561Sobrien	* elf64-sh64.c: Likewise.
3356130561Sobrien	* elfxx-ia64.c: Likewise.
3357130561Sobrien	* elfxx-mips.c: Likewise.
3358130561Sobrien	(MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
3359130561Sobrien	* elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
3360130561Sobrien	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
3361130561Sobrien	* elf64-mips.c (mips_elf64_size_info): Likewise.
3362130561Sobrien	* elf64-s390.c (s390_elf64_size_info): Likewise.
3363130561Sobrien	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
3364130561Sobrien
3365130561Sobrien2003-05-08  H.J. Lu <hongjiu.lu@intel.com>
3366130561Sobrien
3367130561Sobrien	* elflink.h (elf_add_default_symbol): After skipping the
3368130561Sobrien	unversioned symbol, go to non-default one.
3369130561Sobrien
3370130561Sobrien2003-05-07  H.J. Lu <hongjiu.lu@intel.com>
3371130561Sobrien
3372130561Sobrien	* elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
3373130561Sobrien	want_plt field.
3374130561Sobrien	(elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
3375130561Sobrien	for symbols with non-default visibility.
3376130561Sobrien
3377130561Sobrien2003-05-07  H.J. Lu <hongjiu.lu@intel.com>
3378130561Sobrien
3379130561Sobrien	* elflink.h (elf_link_check_versioned_symbol): Also handle the
3380130561Sobrien	case that a DSO references a hidden symbol which may be
3381130561Sobrien	satisfied by a versioned symbol in another DSO.
3382130561Sobrien	(elf_link_output_extsym): Check versioned definition for hidden
3383130561Sobrien	symbol referenced by a DSO.
3384130561Sobrien
3385130561Sobrien2003-05-07  Nick Clifton  <nickc@redhat.com>
3386130561Sobrien
3387130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
3388130561Sobrien	R_XSTORMY16_16 reloc to ignore overflows.
3389130561Sobrien
3390130561Sobrien2003-05-06  Alexandre Oliva  <aoliva@redhat.com>
3391130561Sobrien
3392130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
3393130561Sobrien	error message for mixing different-endian files.  Check for ABI
3394130561Sobrien	compatibility of input files with the selected emulation.
3395130561Sobrien
3396130561Sobrien2003-05-05  Alan Modra  <amodra@bigpond.net.au>
3397130561Sobrien
3398130561Sobrien	* elf32-i386.c (allocate_dynrelocs): For undef weak syms with
3399130561Sobrien	non-default visibility, a) don't make them dynamic, b) discard
3400130561Sobrien	space for dynamic relocs.
3401130561Sobrien	* elf64-x86-64.c (allocate_dynrelocs): Likewise.
3402130561Sobrien
3403130561Sobrien	* elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
3404130561Sobrien	non-default visibility, a) don't allocate plt entries, b) don't
3405130561Sobrien	allocate .got relocs, c) discard dyn rel space,
3406130561Sobrien	(ppc_elf_relocate_section): d) don't generate .got relocs, e)
3407130561Sobrien	don't generate dynamic relocs.
3408130561Sobrien	* elf64-ppc.c (allocate_dynrelocs): As above.
3409130561Sobrien	(ppc64_elf_relocate_section): As above.
3410130561Sobrien
3411130561Sobrien2003-05-05  Andreas Jaeger  <aj@suse.de>
3412130561Sobrien
3413130561Sobrien	* elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
3414130561Sobrien	relocation entries for weak undefined symbols with non-default
3415130561Sobrien	visibility.
3416130561Sobrien	(elf64_x86_64_relocate_section): Initialize the GOT entries and
3417130561Sobrien	skip R_386_32/R_386_PC32 for weak undefined symbols with
3418130561Sobrien	non-default visibility.
3419130561Sobrien
3420130561Sobrien2003-05-04  H.J. Lu <hjl@gnu.org>
3421130561Sobrien
3422130561Sobrien	* elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
3423130561Sobrien	relocation entries for weak undefined symbols with non-default
3424130561Sobrien	visibility.
3425130561Sobrien	(elf_i386_relocate_section): Initialize the GOT entries and
3426130561Sobrien	skip R_386_32/R_386_PC32 for weak undefined symbols with
3427130561Sobrien	non-default visibility.
3428130561Sobrien
3429130561Sobrien	* elfxx-ia64.c (allocate_fptr): Don't allocate function
3430130561Sobrien	descriptors for weak undefined symbols with non-default
3431130561Sobrien	visibility.
3432130561Sobrien	(allocate_dynrel_entries): Don't allocate relocation entries
3433130561Sobrien	for symbols resolved to 0.
3434130561Sobrien	(set_got_entry): Don't install dynamic relocation for weak
3435130561Sobrien	undefined symbols with non-default visibility.
3436130561Sobrien	(set_pltoff_entry): Likewise.
3437130561Sobrien
3438130561Sobrien	* elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
3439130561Sobrien	with non-default visibility.
3440130561Sobrien	(elf_link_output_extsym): Don't make weak undefined symbols
3441130561Sobrien	with non-default visibility dynamic.
3442130561Sobrien
3443130561Sobrien2003-05-04  H.J. Lu <hjl@gnu.org>
3444130561Sobrien
3445130561Sobrien	* elflink.h (elf_merge_symbol): Correctly handle weak definition.
3446130561Sobrien
3447130561Sobrien2003-05-04  H.J. Lu <hjl@gnu.org>
3448130561Sobrien
3449130561Sobrien	* elflink.h (elf_merge_symbol): Don't record a hidden/internal
3450130561Sobrien	symbol dynamic. Check indirection when removing the old
3451130561Sobrien	definition for symbols with non-default visibility.
3452130561Sobrien	(elf_add_default_symbol): Skip when told by elf_merge_symbol.
3453130561Sobrien
3454130561Sobrien2003-05-02  Nick Clifton  <nickc@redhat.com>
3455130561Sobrien
3456130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
3457130561Sobrien	R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
3458130561Sobrien	unsigned overflow.
3459130561Sobrien
3460130561Sobrien2003-05-02  Andreas Jaeger  <aj@suse.de>
3461130561Sobrien
3462130561Sobrien	* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
3463130561Sobrien	ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
3464130561Sobrien	(ELIMINATE_COPY_RELOCS): Define as one.  Use throughout.
3465130561Sobrien	(elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
3466130561Sobrien	ELF_LINK_NON_GOT_REF from weakdef.
3467130561Sobrien
3468130561Sobrien2003-05-02  Charles Lepple <clepple@ghz.cc>
3469130561Sobrien	    Nick Clifton <nickc@redhat.com>
3470130561Sobrien
3471130561Sobrien	* acinclude.m4: Fix name of --enable-install-libbfd switch.
3472130561Sobrien	* aclocal.m4: Regenerate.
3473130561Sobrien	* configure: Regenerate.
3474130561Sobrien	* Makefile.in: Regenerate.
3475130561Sobrien
3476130561Sobrien2003-05-01  Alan Modra  <amodra@bigpond.net.au>
3477130561Sobrien
3478130561Sobrien	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
3479130561Sobrien	weakdef sym has already been adjusted before treating it specially.
3480130561Sobrien	* elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
3481130561Sobrien	ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
3482130561Sobrien	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
3483130561Sobrien	(ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
3484130561Sobrien
3485130561Sobrien2003-04-28  H.J. Lu <hjl@gnu.org>
3486130561Sobrien
3487130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
3488130561Sobrien	the relax finalize pass.
3489130561Sobrien
3490130561Sobrien	* section.c (struct sec): Add need_finalize_relax and remove
3491130561Sobrien	flag11.
3492130561Sobrien	(STD_SECTION): Update struct sec initializer.
3493130561Sobrien	* bfd-in2.h: Regenerated.
3494130561Sobrien
3495130561Sobrien2003-04-28  H.J. Lu <hjl@gnu.org>
3496130561Sobrien
3497130561Sobrien	* elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
3498130561Sobrien	to copy any information related to dynamic linking when we flip
3499130561Sobrien	the indirection.
3500130561Sobrien
3501130561Sobrien2003-04-27  H.J. Lu <hjl@gnu.org>
3502130561Sobrien
3503130561Sobrien	* elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
3504130561Sobrien	(ELF_LINK_DYNAMIC_WEAK): New.
3505130561Sobrien
3506130561Sobrien	* elflink.h (elf_merge_symbol): Add one argument to indicate if
3507130561Sobrien	a symbol should be skipped. Ignore definitions in dynamic
3508130561Sobrien	objects for symbols with non-default visibility.
3509130561Sobrien	(elf_add_default_symbol): Adjusted.
3510130561Sobrien	(elf_link_add_object_symbols): Check if a symbol should be
3511130561Sobrien	skipped. Don't merge the visibility field with the one from
3512130561Sobrien	a dynamic object.
3513130561Sobrien	(elf_link_check_versioned_symbol): Use undef_bfd.
3514130561Sobrien	(elf_link_output_extsym): Warn if a forced local symbol is
3515130561Sobrien	referenced from dynamic objects. Make non-weak undefined symbol
3516130561Sobrien	with non-default visibility a fatal error.
3517130561Sobrien
3518130561Sobrien2003-04-27  Daniel Jacobowitz  <drow@mvista.com>
3519130561Sobrien
3520130561Sobrien	* configure.in: Bump version on HEAD to 2.14.90.
3521130561Sobrien	* configure: Regenerated.
3522130561Sobrien
3523130561Sobrien2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
3524130561Sobrien
3525130561Sobrien	PR savannah/3331:
3526130561Sobrien	* elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
3527130561Sobrien	when we couldn't relax something.
3528130561Sobrien
3529130561Sobrien2003-04-25  Alan Modra  <amodra@bigpond.net.au>
3530130561Sobrien
3531130561Sobrien	* elflink.h (elf_merge_symbol): When we find a regular definition
3532130561Sobrien	for an indirect symbol, flip the indirection so that the old
3533130561Sobrien	direct symbol now points to the new definition.
3534130561Sobrien
3535130561Sobrien2003-04-24  Roland McGrath  <roland@redhat.com>
3536130561Sobrien
3537130561Sobrien	* elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
3538130561Sobrien
3539130561Sobrien2003-04-24  Alan Modra  <amodra@bigpond.net.au>
3540130561Sobrien
3541130561Sobrien	* elf32-ppc.c: Formatting and comment fixes.
3542130561Sobrien	(ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
3543130561Sobrien	(ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
3544130561Sobrien
3545130561Sobrien2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
3546130561Sobrien
3547130561Sobrien	* archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
3548130561Sobrien	* bfd-in2.h: Rebuilt.
3549130561Sobrien	* coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
3550130561Sobrien	* coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
3551130561Sobrien	& H8300SNMAGIC.
3552130561Sobrien	(coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
3553130561Sobrien	* cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
3554130561Sobrien	(h8300sn_info_struct, h8300hn_info_struct): New.
3555130561Sobrien	* elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
3556130561Sobrien	(elf32_h8_final_write_processing): Likewise.
3557130561Sobrien
3558130561Sobrien2003-04-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3559130561Sobrien
3560130561Sobrien	* elf32-sh.c (tpoff): New.
3561130561Sobrien	(struct elf_sh_dyn_relocs): Remove tls_tpoff32.
3562130561Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3563130561Sobrien	(allocate_dynrelocs): Don't make unnecessary dynamic TLS
3564130561Sobrien	relocations.  Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
3565130561Sobrien	(sh_elf_relocate_section): Likewise. Remove unnecessary tests.
3566130561Sobrien	(dtpoff_base): Fix wrong indentation.
3567130561Sobrien	(sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
3568130561Sobrien	relocations.  Don't set tls_tpoff32 flag.  Don't make unnecessary
3569130561Sobrien	R_SH_TLS_TPOFF32 relocations.
3570130561Sobrien
3571130561Sobrien2003-04-23  J"orn Rennecke <joern.rennecke@superh.com>
3572130561Sobrien
3573130561Sobrien	* archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
3574130561Sobrien	* cpu-sh.c: Likewise.
3575130561Sobrien	* elf32-sh.c: Likewise.
3576130561Sobrien	* reloc.c (bfd_reloc_code_real): Likewise.
3577130561Sobrien	* elf32-sh64-com.c: Change comment to refer to SuperH.
3578130561Sobrien	* elf32-sh64.c: Likewise.
3579130561Sobrien	* elf64-sh64.c: Likewise.
3580130561Sobrien	* bfd-in2.h (enum bfd_architecture): Regenerate.
3581130561Sobrien
3582130561Sobrien2003-04-23  Alan Modra  <amodra@bigpond.net.au>
3583130561Sobrien
3584130561Sobrien	From Julien LEMOINE <speedblue@debian.org>
3585130561Sobrien	* elf32-i386.c (elf_i386_info_to_howto): Delete.
3586130561Sobrien	(elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
3587130561Sobrien
3588130561Sobrien2003-04-22  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
3589130561Sobrien
3590130561Sobrien	* archures.c: Replace references to Mitsubishi M32R with references
3591130561Sobrien	to Renesas M32R.
3592130561Sobrien	* relocs.c: Likewise.
3593130561Sobrien	* bfd-in2.h: Regenerate.
3594130561Sobrien
3595130561Sobrien2003-04-21  Richard Henderson  <rth@redhat.com>
3596130561Sobrien
3597130561Sobrien	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
3598130561Sobrien	executable when a symbol is defined both regular and dynamic.
3599130561Sobrien
3600130561Sobrien2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
3601130561Sobrien
3602130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
3603130561Sobrien	(elf32-m68hc1x.lo): Update dependencies
3604130561Sobrien	* configure.in: Add elf32-m68hc1x.lo.
3605130561Sobrien	* configure: Rebuild.
3606130561Sobrien	* Makefile.in: Rebuild.
3607130561Sobrien
3608130561Sobrien2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
3609130561Sobrien
3610130561Sobrien	* elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
3611130561Sobrien	(m68hc11_elf_hash_table_create): New function.
3612130561Sobrien	(elf32_m68hc11_link_hash_table_free): New function.
3613130561Sobrien	(stub_hash_newfunc): New function.
3614130561Sobrien	(m68hc11_add_stub): New function.
3615130561Sobrien	(elf32_m68hc11_add_symbol_hook): New function.
3616130561Sobrien	(elf32_m68hc11_setup_section_lists): New function.
3617130561Sobrien	(elf32_m68hc11_next_input_section): New function.
3618130561Sobrien	(elf32_m68hc11_size_stubs): New function.
3619130561Sobrien	(elf32_m68hc11_build_stubs): New function.
3620130561Sobrien	(m68hc11_get_relocation_value): New function.
3621130561Sobrien	(elf32_m68hc11_relocate_section): Call the above to redirect
3622130561Sobrien	some relocations to the trampoline code.
3623130561Sobrien	(m68hc11_elf_export_one_stub): New function.
3624130561Sobrien	(m68hc11_elf_set_symbol): New function.
3625130561Sobrien	(elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
3626130561Sobrien	(m68hc11_elf_get_bank_parameters): Get parameters only when the info
3627130561Sobrien	is not yet initialized.
3628130561Sobrien
3629130561Sobrien	* elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
3630130561Sobrien	(elf32_m68hc11_stub_hash_entry): New struct.
3631130561Sobrien	(m68hc11_page_info): Add trampoline handler address.
3632130561Sobrien	(m68hc11_elf_link_hash_table): Add stubs generation members.
3633130561Sobrien	(elf32_m68hc11_add_symbol_hook): Declare.
3634130561Sobrien	(elf32_m68hc11_setup_section_lists): Declare.
3635130561Sobrien	(elf32_m68hc11_size_stubs): Declare.
3636130561Sobrien	(elf32_m68hc11_build_stubs): Declare.
3637130561Sobrien
3638130561Sobrien	* elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
3639130561Sobrien	(elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
3640130561Sobrien	(elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
3641130561Sobrien	(_bfd_m68hc11_elf_set_private_flags): Ditto.
3642130561Sobrien	(_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
3643130561Sobrien	(_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
3644130561Sobrien	(bfd_elf32_bfd_link_hash_table_create): Define.
3645130561Sobrien	(elf_backend_add_symbol_hook): Define.
3646130561Sobrien	(m68hc11_elf_bfd_link_hash_table_create): New function.
3647130561Sobrien	(m68hc11_elf_build_one_stub): New function.
3648130561Sobrien	(m68hc11_elf_size_one_stub): New function.
3649130561Sobrien	(m68hc11_elf_bfd_link_hash_table_create): Install the above.
3650130561Sobrien	(bfd_elf32_bfd_link_hash_table_create): Define.
3651130561Sobrien
3652130561Sobrien	* elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
3653130561Sobrien	(m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
3654130561Sobrien	(m68hc12_phys_addr): Ditto.
3655130561Sobrien	(m68hc12_phys_page): Ditto.
3656130561Sobrien	(m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
3657130561Sobrien	(elf32_m68hc11_gc_mark_hook): Likewise.
3658130561Sobrien	(elf32_m68hc11_gc_sweep_hook): Likewise.
3659130561Sobrien	(elf32_m68hc11_check_relocs): Likewise.
3660130561Sobrien	(elf32_m68hc11_relocate_section): Likewise.
3661130561Sobrien	(_bfd_m68hc12_elf_set_private_flags): Likewise.
3662130561Sobrien	(_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
3663130561Sobrien	(_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
3664130561Sobrien	(m68hc12_elf_build_one_stub): New function.
3665130561Sobrien	(m68hc12_elf_size_one_stub): New function.
3666130561Sobrien	(m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
3667130561Sobrien	(elf_backend_add_symbol_hook): Define.
3668130561Sobrien	(elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
3669130561Sobrien
3670130561Sobrien2003-04-18  Nick Clifton  <nickc@redhat.com>
3671130561Sobrien
3672130561Sobrien	* format.c (bfd_check_format_matches): Only check associated
3673130561Sobrien	vector if the matching_vector has been created.
3674130561Sobrien
3675130561Sobrien2003-04-15  Alexandre Oliva  <aoliva@redhat.com>
3676130561Sobrien
3677130561Sobrien	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
3678130561Sobrien	2003-04-09's change.
3679130561Sobrien
3680130561Sobrien2003-04-15  Brian Ford  <ford@vss.fsi.com>
3681130561Sobrien
3682130561Sobrien	* peicode.h (coff_swap_scnhdr_in): If a section holds
3683130561Sobrien	uninitialized data and is from an object file or from an
3684130561Sobrien	executable image that has not initialized the s_size field, or if
3685130561Sobrien	the physical size is padded, use the virtual size (stored in
3686130561Sobrien	s_paddr) instead.
3687130561Sobrien
3688130561Sobrien2003-04-15  H.J. Lu <hjl@gnu.org>
3689130561Sobrien
3690130561Sobrien	* elflink.h (elf_link_add_object_symbols): Properly report
3691130561Sobrien	filename for alignment reduction.
3692130561Sobrien
3693130561Sobrien2003-04-15  Rohit Kumar Srivastava <rohits@kpitcummins.com>
3694130561Sobrien
3695130561Sobrien	* archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
3696130561Sobrien	* reloc.c: Likewise.
3697130561Sobrien	* coff-h8300.c: Likewise.
3698130561Sobrien	* coff-h8500.c: Likewise.
3699130561Sobrien	* coff-sh.c: Likewise.
3700130561Sobrien	* cpu-h8300.c: Likewise.
3701130561Sobrien	* cpu-sh.c: Likewise.
3702130561Sobrien	* elf32-h8300.c: Likewise.
3703130561Sobrien	* elf32-sh.c: Likewise.
3704130561Sobrien	* elf32-sh64-com.c: Likewise.
3705130561Sobrien	* elf32-sh64.c: Likewise.
3706130561Sobrien	* elf64-sh64.c: Likewise.
3707130561Sobrien	* bfd-in2.h: Regenerate.
3708130561Sobrien
3709130561Sobrien2003-04-14  H.J. Lu <hjl@gnu.org>
3710130561Sobrien
3711130561Sobrien	* elflink.h (elf_link_add_object_symbols): Maintain maximum
3712130561Sobrien	alignment for common symbols. Warn reducing alignment for
3713130561Sobrien	common symbols. Report old filename when symbol size changes.
3714130561Sobrien
3715130561Sobrien2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
3716130561Sobrien
3717130561Sobrien	* elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
3718130561Sobrien	occurrences of the same test changed in the previous patch.
3719130561Sobrien	Optimize.
3720130561Sobrien
3721130561Sobrien2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
3722130561Sobrien
3723130561Sobrien	* elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
3724130561Sobrien	(mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
3725130561Sobrien	GOT_DISP/addend only if the symbol got a global GOT entry.
3726130561Sobrien
3727130561Sobrien2003-04-10  Alexandre Oliva  <aoliva@redhat.com>
3728130561Sobrien
3729130561Sobrien	* elfxx-mips.c (mips_elf_calculate_relocation): Decay
3730130561Sobrien	GOT_PAGE/GOT_OFST referencing overridable symbol to
3731130561Sobrien	GOT_DISP/addend.
3732130561Sobrien	(_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
3733130561Sobrien	global symbol as GOT_DISP.
3734130561Sobrien
3735130561Sobrien2003-04-10  Bob Wilson  <bob.wilson@acm.org>
3736130561Sobrien
3737130561Sobrien	* elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
3738130561Sobrien	next relocation on an undefined symbol.
3739130561Sobrien
3740130561Sobrien2003-04-09  Richard Henderson  <rth@redhat.com>
3741130561Sobrien
3742130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
3743130561Sobrien	Ignore relocations against r_symndx == 0.
3744130561Sobrien
3745130561Sobrien2003-04-09  H.J. Lu <hjl@gnu.org>
3746130561Sobrien
3747130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Don't return
3748130561Sobrien	FALSE for undefined symbols.
3749130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
3750130561Sobrien
3751130561Sobrien2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
3752130561Sobrien
3753130561Sobrien	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
3754130561Sobrien	and IRIX-specific shift-to-64-bit 4-byte lengths before following
3755130561Sobrien	addr_size.
3756130561Sobrien
3757130561Sobrien2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
3758130561Sobrien
3759130561Sobrien	* elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
3760130561Sobrien	pointer size from ABI, not arch_bits_per_address.
3761130561Sobrien
3762130561Sobrien2003-04-07  Kevin Buettner  <kevinb@redhat.com>
3763130561Sobrien
3764130561Sobrien	* elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
3765130561Sobrien	constants for n32 ABI.
3766130561Sobrien
3767130561Sobrien2003-04-06  Andrew Cagney  <cagney@redhat.com>
3768130561Sobrien
3769130561Sobrien	* simple.c (bfd_simple_get_relocated_section_contents): Disable
3770130561Sobrien	free that leads to GDB vs BFD memory corruption.
3771130561Sobrien
3772130561Sobrien2003-04-04  Stephane Carrez  <stcarrez@nerim.fr>
3773130561Sobrien
3774130561Sobrien	* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
3775130561Sobrien	symbols that mark the end of the section.
3776130561Sobrien	(m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
3777130561Sobrien	converting to a relative branch so that the offset is computed after
3778130561Sobrien	the relaxation; also relocate a jsr into a bsr if possible but don't
3779130561Sobrien	relax them if they are to a far symbol as we need to call the
3780130561Sobrien	trampoline code.
3781130561Sobrien	(elf_m68hc11_howto_table): Set pcrel_offset to true.
3782130561Sobrien
3783130561Sobrien2003-04-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
3784130561Sobrien
3785130561Sobrien	* archures.c: Namespace cleanup. Rename bfd_mach_c3x to
3786130561Sobrien	bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
3787130561Sobrien	* bfd-in2.h: Regenerate
3788130561Sobrien	* coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
3789130561Sobrien	* cpu-tic4x.c: Ditto
3790130561Sobrien
3791130561Sobrien2003-04-03  Nick Clifton  <nickc@redhat.com>
3792130561Sobrien
3793130561Sobrien	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
3794130561Sobrien	differently for object files and executables.
3795130561Sobrien	* peicode.h (coff_swap_scnhdr_in): Only set the s_size field
3796130561Sobrien	for object files or for executables who have not already
3797130561Sobrien	initialised the field.
3798130561Sobrien	* libpei.h (bfd_pe_executable_p): New macro.  Return true if
3799130561Sobrien	the PE format bfd is an executable.
3800130561Sobrien
3801130561Sobrien2003-04-03  Alan Modra  <amodra@bigpond.net.au>
3802130561Sobrien
3803130561Sobrien	* elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
3804130561Sobrien	here as it's too early to reliably determine locality.
3805130561Sobrien	(ppc_elf_gc_sweep_hook): Likewise.
3806130561Sobrien	(SYMBOL_REFERENCES_LOCAL): Expand comment.
3807130561Sobrien
3808130561Sobrien2003-04-02  Bob Wilson  <bob.wilson@acm.org>
3809130561Sobrien
3810130561Sobrien	* xtensa-modules.c: Remove comment indicating that this is a
3811130561Sobrien	generated file.
3812130561Sobrien
3813130561Sobrien2003-04-02  Alan Modra  <amodra@bigpond.net.au>
3814130561Sobrien
3815130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
3816130561Sobrien
3817130561Sobrien2003-04-01  Bob Wilson  <bob.wilson@acm.org>
3818130561Sobrien
3819130561Sobrien	* Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
3820130561Sobrien	(ALL_MACHINES_CFILES): Add cpu-xtensa.c.
3821130561Sobrien	(BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
3822130561Sobrien	xtensa-modules.lo.
3823130561Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
3824130561Sobrien	xtensa-modules.c.
3825130561Sobrien	(cpu-xtensa.lo): New target.
3826130561Sobrien	(elf32-xtensa.lo): Likewise.
3827130561Sobrien	(xtensa-isa.lo): Likewise.
3828130561Sobrien	(xtensa-modules.lo): Likewise.
3829130561Sobrien	* Makefile.in: Regenerate.
3830130561Sobrien	* archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
3831130561Sobrien	(bfd_archures_list): Add bfd_xtensa_arch.
3832130561Sobrien	* config.bfd: Handle xtensa-*-*.
3833130561Sobrien	* configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
3834130561Sobrien	* configure: Regenerate.
3835130561Sobrien	* reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
3836130561Sobrien	PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
3837130561Sobrien	* targets.c (bfd_elf32_xtensa_be_vec): Declare.
3838130561Sobrien	(bfd_elf32_xtensa_le_vec): Likewise.
3839130561Sobrien	(bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
3840130561Sobrien	* cpu-xtensa.c: New file.
3841130561Sobrien	* elf32-xtensa.c: Likewise.
3842130561Sobrien	* xtensa-isa.c: Likewise.
3843130561Sobrien	* xtensa-modules.c: Likewise.
3844130561Sobrien	* libbfd.h: Regenerate.
3845130561Sobrien	* bfd-in2.h: Likewise.
3846130561Sobrien
3847130561Sobrien2003-04-01  Nick Clifton  <nickc@redhat.com>
3848130561Sobrien
3849130561Sobrien	* archures.c (bfd_mach_arm_unknown): Define.
3850130561Sobrien	* bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
3851130561Sobrien	bfd_arm_get_mach_from_notes): Prototype.
3852130561Sobrien	* bfd-in2.h: Regenerate.
3853130561Sobrien	* coff-arm.c (coff_arm_merge_private_bfd_data): Call
3854130561Sobrien	bfd_arm_merge_machines.
3855130561Sobrien	(coff_arm_final_link_postscript): Call bfd_arm_update_notes.
3856130561Sobrien	* coffcode.h (coff_set_arch_mach_hook): Call
3857130561Sobrien	bfd_arm_get_mach_from_notes.
3858130561Sobrien	* coffgen.c (coff_real_object_p): Revert previous delta.
3859130561Sobrien	* cpu_arm.c (arm_check_note): New function.  Examine a note in a
3860130561Sobrien	.note section.
3861130561Sobrien	(bfd_arm_merge_machines): New function: Handle the merging of ARM
3862130561Sobrien	binaries compiled for different architectures..
3863130561Sobrien	(bfd_arm_update_notes): New function: Update an ARM note section.
3864130561Sobrien	(bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
3865130561Sobrien	number from an ARM note section.
3866130561Sobrien	* elf32-arm.h (elf32_arm_object_p): Use
3867130561Sobrien	bfd_arm_get_mach_from_notes.
3868130561Sobrien	(elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
3869130561Sobrien	(elf32_arm_final_write_processing): Use bfd_arm_update_notes.
3870130561Sobrien
3871130561Sobrien2003-04-01  Ben Elliston  <bje@wasabisystems.com>
3872130561Sobrien
3873130561Sobrien	* dwarf2.c (read_attribute_value): Correct typo in comment.
3874130561Sobrien
3875130561Sobrien2003-04-01  Nick Clifton  <nickc@redhat.com>
3876130561Sobrien
3877130561Sobrien	* dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
3878130561Sobrien	instead of concat().
3879130561Sobrien	(decode_line_info): Only free filename if it is not NULL.
3880130561Sobrien	(add_line_info): Make a copy of the filename when storing it into
3881130561Sobrien	the info structure.
3882130561Sobrien
3883130561Sobrien2003-03-31  Andreas Schwab  <schwab@suse.de>
3884130561Sobrien	    Daniel Jacobowitz  <drow@mvista.com>
3885130561Sobrien
3886130561Sobrien	* simple.c (bfd_simple_get_relocated_section_contents): Add
3887130561Sobrien	parameter symbol_table.  Optionally use it instead of the symbol
3888130561Sobrien	table from the bfd.  Save and restore output offsets and output
3889130561Sobrien	sections  around bfd_get_relocated_section_contents.  Fix a memory
3890130561Sobrien	leak.
3891130561Sobrien	(simple_save_output_info, simple_restore_output_info): New
3892130561Sobrien	functions.
3893130561Sobrien	* bfd-in2.h: Regenerate.
3894130561Sobrien	* dwarf2.c (read_abbrevs): Use
3895130561Sobrien	bfd_simple_get_relocated_section_contents instead of
3896130561Sobrien	bfd_get_section_contents.
3897130561Sobrien	(decode_line_info): Likewise.
3898130561Sobrien	(_bfd_dwarf2_find_nearest_line): Likewise.  Don't call
3899130561Sobrien	find_rela_addend.
3900130561Sobrien	(find_rela_addend): Remove.
3901130561Sobrien	* elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
3902130561Sobrien	debugging sections.
3903130561Sobrien	(elfNN_ia64_hash_table_create): Create the hash table with malloc,
3904130561Sobrien	not bfd_zalloc.
3905130561Sobrien
3906130561Sobrien2003-03-31  David Heine  <dlheine@suif.stanford.edu>
3907130561Sobrien
3908130561Sobrien	* aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
3909130561Sobrien	bfd_alloc.
3910130561Sobrien	* dwarf2.c (concat_filename): Always allocate space for the
3911130561Sobrien	returned filename.
3912130561Sobrien	(decode_line_info): Free the allocated filename returned by
3913130561Sobrien	concat_filename.
3914130561Sobrien	* elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
3915130561Sobrien	* elf.c (copy_private_bfd_data): Likewise.
3916130561Sobrien	(_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
3917130561Sobrien	* elflink.h (elf_link_sort_relocs): Fix memory leak.
3918130561Sobrien	* format.c (bfd_check_format_matches): Likewise.
3919130561Sobrien	* linker.c (bfd_generic_final_link): Likewise.
3920130561Sobrien	* opncls.c (find_separate_debug_info): Likewise.
3921130561Sobrien	* simple.c (bfd_simple_get_relocated_section_contents): Likewise.
3922130561Sobrien
3923130561Sobrien2003-03-28  H.J. Lu <hjl@gnu.org>
3924130561Sobrien
3925130561Sobrien	* elflink.h (elf_link_add_object_symbols): Correctly combine
3926130561Sobrien	visibilities.
3927130561Sobrien
3928130561Sobrien2003-03-27  Jakub Jelinek  <jakub@redhat.com>
3929130561Sobrien
3930130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
3931130561Sobrien	to -1 before recomputing got offsets.
3932130561Sobrien
3933130561Sobrien2003-03-26  Andreas Schwab  <schwab@suse.de>
3934130561Sobrien
3935130561Sobrien	* elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
3936130561Sobrien	(elf_m68k_relocate_section): Use it to correctly handle symbols
3937130561Sobrien	forced to be local.
3938130561Sobrien	(elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
3939130561Sobrien	entries for symbols that are forced to be local.
3940130561Sobrien
3941130561Sobrien2003-03-25  Alexandre Oliva  <aoliva@redhat.com>
3942130561Sobrien
3943130561Sobrien	* elfxx-mips.c (_bfd_mips_relax_section): New function.
3944130561Sobrien	* elfxx-mips.h (_bfd_mips_relax_section): Declare.
3945130561Sobrien	* elfn32-mips.c, elf64-mips.c: Use it.
3946130561Sobrien
3947130561Sobrien2003-03-25  Stan Cox   <scox@redhat.com>
3948130561Sobrien	    Nick Clifton  <nickc@redhat.com>
3949130561Sobrien
3950130561Sobrien	Contribute support for Intel's iWMMXt chip - an ARM variant:
3951130561Sobrien
3952130561Sobrien	* archures.c: Add bfd_mach_arm_iWMMXt.
3953130561Sobrien	* reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
3954130561Sobrien	* bfd-in2.h: Regenerate.
3955130561Sobrien	* libbfd.h: Regenerate.
3956130561Sobrien	* coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
3957130561Sobrien	object files to be linked with XScale ones.
3958130561Sobrien	(coff_arm_final_link_postscript): Update note section.
3959130561Sobrien	* coffcode.h (coff_set_arch_mach_hook): Handle note section.
3960130561Sobrien	* coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
3961130561Sobrien	after identifying a coff binary.
3962130561Sobrien	* cpu-arm.c (processors): Add iWMMXt.
3963130561Sobrien	(arch_inf): Likewise.
3964130561Sobrien	* elf32-arm.h (arm_object_p): Handle note section.
3965130561Sobrien	(elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
3966130561Sobrien	be linked with XScale ones.
3967130561Sobrien	(elf32_arm_section_flags): New function: Set flags on note section.
3968130561Sobrien	(elf32_arm_final_write_processing): Handle note section.
3969130561Sobrien
3970130561Sobrien2003-03-21  DJ Delorie  <dj@redhat.com>
3971130561Sobrien
3972130561Sobrien	* elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
3973130561Sobrien	_bfd_elf_rela_local_sym.
3974130561Sobrien
3975130561Sobrien2003-03-20  H.J. Lu <hjl@gnu.org>
3976130561Sobrien
3977130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
3978130561Sobrien	non-ELF outputs.
3979130561Sobrien
3980130561Sobrien2003-03-20  Nick Clifton  <nickc@redhat.com>
3981130561Sobrien
3982130561Sobrien	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
3983130561Sobrien	$idata5 in case bfd_coff_final_link is not called.
3984130561Sobrien
3985130561Sobrien2003-03-19  Jakub Jelinek  <jakub@redhat.com>
3986130561Sobrien
3987130561Sobrien	* elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
3988130561Sobrien	field.
3989130561Sobrien	(canon_reloc_count): Define.
3990130561Sobrien	(sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
3991130561Sobrien	sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
3992130561Sobrien	reloc_count.
3993130561Sobrien	(sparc64_elf_canonicalize_reloc): New routine.
3994130561Sobrien	(bfd_elf64_canonicalize_reloc): Define.
3995130561Sobrien
3996130561Sobrien2003-03-18  Jakub Jelinek  <jakub@redhat.com>
3997130561Sobrien
3998130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
3999130561Sobrien	againt mergeable sections.  Take r_addend into account when caching
4000130561Sobrien	trampolines.
4001130561Sobrien
4002130561Sobrien2003-03-18  Richard Henderson  <rth@redhat.com>
4003130561Sobrien
4004130561Sobrien	* elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
4005130561Sobrien	local symbols that have no dyninfo.
4006130561Sobrien
4007130561Sobrien2003-03-14  Gene Smith  <gene.smith@siemens.com>
4008130561Sobrien
4009130561Sobrien	* ieee.c (ieee_write_expression): Handle the case where symbol is
4010130561Sobrien	NULL.
4011130561Sobrien	General formatting improvements.
4012130561Sobrien
4013130561Sobrien2003-03-13  Nick Clifton  <nickc@redhat.com>
4014130561Sobrien
4015130561Sobrien	* configure.in (LINGUAS): Add zh_CN.
4016130561Sobrien	* configure: Regenerate.
4017130561Sobrien	* po/zh_CN.po: New file.
4018130561Sobrien
4019130561Sobrien2003-03-13  Elias Athanasopoulos  <elathan@phys.uoa.gr>
4020130561Sobrien
4021130561Sobrien	* aout-cris.c (BYTES_IN_WORD): Don't define.
4022130561Sobrien	aout-encap.c: Likewise.
4023130561Sobrien	aout-ns32k.c: Likewise.
4024130561Sobrien	aout-tic30.c: Likewise.
4025130561Sobrien	hp300bsd.c: Likewise.
4026130561Sobrien	i386aout.c: Likewise.
4027130561Sobrien	i386dynix.c: Likewise.
4028130561Sobrien	i386linux.c: Likewise.
4029130561Sobrien	i386lynx.c: Likewise.
4030130561Sobrien	i386mach3.c: Likewise.
4031130561Sobrien	m68k4knetbsd.c: Likewise.
4032130561Sobrien	m68klinux.c: Likewise.
4033130561Sobrien	m68klynx.c: Likewise.
4034130561Sobrien	m68knetbsd.c: Likewise.
4035130561Sobrien	m88kmach3.c: Likewise.
4036130561Sobrien	mipsbsd.c: Likewise.
4037130561Sobrien	newsos3.c: Likewise.
4038130561Sobrien	sparclinux.c: Likewise.
4039130561Sobrien	sparclynx.c: Likewise.
4040130561Sobrien	sparcnetbsd.c: Likewise.
4041130561Sobrien	vaxbsd.c: Likewise. Fix comment formatting.
4042130561Sobrien
4043130561Sobrien2003-03-12  Alexandre Oliva  <aoliva@redhat.com>
4044130561Sobrien
4045130561Sobrien	* Reverted 2003-03-02's patch.
4046130561Sobrien
4047130561Sobrien	* elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
4048130561Sobrien	overridable.
4049130561Sobrien	* elf64-mips.c (mips_elf64_canonicalize_reloc,
4050130561Sobrien	mips_elf64_get_dynamic_reloc_upper_bound,
4051130561Sobrien	mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
4052130561Sobrien	(bfd_elf64_get_canonicalize_reloc,
4053130561Sobrien	bfd_elf64_get_dynamic_reloc_upper_bound,
4054130561Sobrien	bfd_elf64_canonicalize_dynamic_reloc): Define.
4055130561Sobrien	(mips_elf64_slurp_reloc_table): Support dynamic.
4056130561Sobrien	(mips_elf64_slurp_one_reloc_table): Adjust.
4057130561Sobrien
4058130561Sobrien2003-03-12  Nick Clifton  <nickc@redhat.com>
4059130561Sobrien
4060130561Sobrien	* xsym.c (bfd_sym_fetch_type_information_table_entry): Change
4061130561Sobrien	'index' to 'offset' in test for zero value.
4062130561Sobrien
4063130561Sobrien2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
4064130561Sobrien
4065130561Sobrien	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
4066130561Sobrien	dynamic relocations pointing to local or section symbols, use the
4067130561Sobrien	NULL symbol instead.  Document the choice to not emit an
4068130561Sobrien	additional R_MIPS_64 relocation.
4069130561Sobrien
4070130561Sobrien2003-03-11  Alan Modra  <amodra@bigpond.net.au>
4071130561Sobrien
4072130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
4073130561Sobrien	zero index dynamic tls relocs generated for the GOT.  Tidy code.
4074130561Sobrien	Set "relocation" to 1 on DTPMOD32 relocs.  Optimize HA adjustment.
4075130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
4076130561Sobrien
4077130561Sobrien2003-03-07  Alan Modra  <amodra@bigpond.net.au>
4078130561Sobrien
4079130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
4080130561Sobrien	a tls_get_addr call.
4081130561Sobrien
4082130561Sobrien	* elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
4083130561Sobrien	(ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
4084130561Sobrien	ELF_LINK_NON_GOT_REF from weakdef.
4085130561Sobrien	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
4086130561Sobrien	(ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
4087130561Sobrien	ELF_LINK_NON_GOT_REF from weakdef.
4088130561Sobrien	* elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one.  Use throughout.
4089130561Sobrien	(elf_i386_adjust_dynamic_symbol): For weak symbols, copy
4090130561Sobrien	ELF_LINK_NON_GOT_REF from weakdef.
4091130561Sobrien
4092130561Sobrien2003-03-06  Jakub Jelinek <jakub@redhat.com>
4093130561Sobrien	Andrew Haley  <aph@redhat.com>
4094130561Sobrien
4095130561Sobrien	* elflink.h (elf_bfd_discard_info): Don't process eh frames if
4096130561Sobrien	output is relocateable.
4097130561Sobrien
4098130561Sobrien2003-03-06  Steven Konopa <skonopa@kgo.csc.com>
4099130561Sobrien
4100130561Sobrien	* som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
4101130561Sobrien	R_COMMENT.
4102130561Sobrien
4103130561Sobrien2003-03-06  Alan Modra  <amodra@bigpond.net.au>
4104130561Sobrien
4105130561Sobrien	* elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
4106130561Sobrien	error messages.
4107130561Sobrien	(ELIMINATE_COPY_RELOCS): Define to zero.
4108130561Sobrien	(ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
4109130561Sobrien	TLSLD relocs.  Report reloc types on a number of errors.  Optimize
4110130561Sobrien	LOCAL24PC check for non-local syms.  Don't capitalize error messages.
4111130561Sobrien	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
4112130561Sobrien	(ppc64_elf_relocate_section): Don't deref htab->tls_sec when
4113130561Sobrien	calculating TLSLD relocs.  Report reloc types on a number of errors.
4114130561Sobrien	Don't capitalize error messages.
4115130561Sobrien
4116130561Sobrien2003-03-03  H.J. Lu <hjl@gnu.org>
4117130561Sobrien
4118130561Sobrien	* elfxx-ia64.c (USE_BRL): Removed.
4119130561Sobrien	(oor_ip): Removed.
4120130561Sobrien
4121130561Sobrien2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
4122130561Sobrien
4123130561Sobrien	* elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
4124130561Sobrien	relocation (no special function), and make it non-partial_inplace.
4125130561Sobrien	(sh_elf_relax_section): When creating a bsr, use a consistent value
4126130561Sobrien	no matter if the symbol is extern or not;  set addend to -4.
4127130561Sobrien	Don't swap load / non-load instructions for SH4.
4128130561Sobrien	(sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
4129130561Sobrien	rather than if the symbol is external to determine if adjusting the
4130130561Sobrien	offset makes sense.  Adjust the addend too if appropriate.
4131130561Sobrien	(sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
4132130561Sobrien	relocation.
4133130561Sobrien
4134130561Sobrien2003-03-03  Nick Clifton  <nickc@redhat.com>
4135130561Sobrien
4136130561Sobrien	* po/da.po: Installed latest translation.
4137130561Sobrien
4138130561Sobrien2003-03-02  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4139130561Sobrien
4140130561Sobrien	* elf32-mips.c (elf_mips_howto_table_rel): Change definition of
4141130561Sobrien	R_MIPS_PC16 to rightshift 2.
4142130561Sobrien	(elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
4143130561Sobrien	(bfd_elf32_bfd_reloc_type_lookup): Support
4144130561Sobrien	BFD_RELOC_MIPSEMB_16_PCREL_S2.
4145130561Sobrien	* elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
4146130561Sobrien	R_MIPS_PC16 to rightshift 2.
4147130561Sobrien	(mips_elf64_howto_table_rela): Likewise.
4148130561Sobrien	(mips_reloc_map): Map to rightshifted BFD reloc.
4149130561Sobrien	* elfn32-mips.c: The same as in elf64-mips.c.
4150130561Sobrien	* elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
4151130561Sobrien	(mips_elf_calculate_relocation): Handle rightshifted addends for
4152130561Sobrien	R_MIPS_PC16.
4153130561Sobrien	* reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
4154130561Sobrien	MIPS Embedded PIC. Remove superfluous empty COMMENT.
4155130561Sobrien	* libbfd.h: Regenerate.
4156130561Sobrien	* bfd-in2.h: Regenerate.
4157130561Sobrien
4158130561Sobrien2003-02-28  Richard Henderson  <rth@redhat.com>
4159130561Sobrien
4160130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
4161130561Sobrien	for ltoff22x relaxation.
4162130561Sobrien
4163130561Sobrien2003-03-01  Alan Modra  <amodra@bigpond.net.au>
4164130561Sobrien
4165130561Sobrien	* bfd-in.h (_bfd): Don't define.
4166130561Sobrien	* bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
4167130561Sobrien	* syms.c: Likewise.
4168130561Sobrien	* bfd-in2.h: Regenerate.
4169130561Sobrien
4170130561Sobrien2003-02-27  Richard Henderson  <rth@redhat.com>
4171130561Sobrien
4172130561Sobrien	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
4173130561Sobrien	(elfNN_ia64_check_relocs): Set it.
4174130561Sobrien	(allocate_global_data_got): Check it.
4175130561Sobrien	(allocate_local_got): Likewise.
4176130561Sobrien	(allocate_dynrel_entries): Likewise.
4177130561Sobrien	(elfNN_ia64_relax_ldxmov): New.
4178130561Sobrien	(elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
4179130561Sobrien	(elfNN_ia64_choose_gp): Split out from ...
4180130561Sobrien	(elfNN_ia64_final_link): ... here.
4181130561Sobrien
4182130561Sobrien2003-02-27  Andrew Cagney  <cagney@redhat.com>
4183130561Sobrien
4184130561Sobrien	* bfd.c (struct bfd): Rename "struct _bfd".
4185130561Sobrien	* bfd-in.h: Update copyright.
4186130561Sobrien	(struct bfd): Rename "struct _bfd".
4187130561Sobrien	(_bfd): Define for backward compatibility.
4188130561Sobrien	* bfd-in2.h: Regenerate.
4189130561Sobrien
4190130561Sobrien2003-02-25  Alan Modra  <amodra@bigpond.net.au>
4191130561Sobrien
4192130561Sobrien	* elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
4193130561Sobrien	and rel_hdr2 when initially counting input relocs rather than after
4194130561Sobrien	creating output reloc sections.
4195130561Sobrien	(elf_link_read_relocs_from_section): Don't abort with wrong reloc
4196130561Sobrien	sizes.
4197130561Sobrien
4198130561Sobrien	* Makefile.am: Run "make dep-am".
4199130561Sobrien	* Makefile.in: Regenerate.
4200130561Sobrien
4201130561Sobrien2003-02-24  Kris Warkentin  <kewarken@qnx.com>
4202130561Sobrien
4203130561Sobrien	* elf.c (elfcore_read_notes): Add check for QNX style core file.
4204130561Sobrien	(elfcore_grog_nto_note): New function.
4205130561Sobrien	(elfcore_grog_nto_gregs): New function.
4206130561Sobrien	(elfcore_grog_nto_status): New function.
4207130561Sobrien
4208130561Sobrien2003-02-24  Alan Modra  <amodra@bigpond.net.au>
4209130561Sobrien
4210130561Sobrien	* elflink.c (_bfd_elf_create_got_section): Check existing .got
4211130561Sobrien	section flags before concluding that we've already been called.
4212130561Sobrien	Don't use register keyword.
4213130561Sobrien	(_bfd_elf_create_dynamic_sections): Don't use register keyword.
4214130561Sobrien	(_bfd_elf_create_linker_section): Formatting.
4215130561Sobrien
4216130561Sobrien2003-02-20  jmc  <jmc@prioris.mini.pw.edu.pl>
4217130561Sobrien
4218130561Sobrien	* coff-h8300.c: Fix typo: intial -> initial.
4219130561Sobrien	* coff-ppc.c: Likewise.
4220130561Sobrien
4221130561Sobrien2003-02-20  Alan Modra  <amodra@bigpond.net.au>
4222130561Sobrien
4223130561Sobrien	* elf32-ppc.c: Formatting.
4224130561Sobrien	(allocate_dynrelocs): LD and GD relocs against the same sym need
4225130561Sobrien	separate GOT entries.
4226130561Sobrien	(ppc_elf_relocate_section): Correct GOT handling for multiple GOT
4227130561Sobrien	entries per symbol.
4228130561Sobrien
4229130561Sobrien2003-02-19  Alan Modra  <amodra@bigpond.net.au>
4230130561Sobrien
4231130561Sobrien	* elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
4232130561Sobrien	removal.  Localize vars.  Remove unnecessary dynobj test.
4233130561Sobrien	* elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
4234130561Sobrien	of INFO.
4235130561Sobrien	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
4236130561Sobrien	and optimize.
4237130561Sobrien	(elf_i386_relocate_section): Likewise.
4238130561Sobrien	(elf_i386_gc_sweep_hook): Simplify dyn reloc removal.  Localize vars.
4239130561Sobrien	* elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
4240130561Sobrien	* elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
4241130561Sobrien	* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
4242130561Sobrien	* elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
4243130561Sobrien	* elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.  Remove
4244130561Sobrien	local_dynrel for section too.  Don't touch HIPLT22, LOPLT10, PCPLT32
4245130561Sobrien	or PCPLT10 relocs.  Don't subtract twice on PLT32 relocs.
4246130561Sobrien	Formatting.
4247130561Sobrien
4248130561Sobrien	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
4249130561Sobrien	(ppc64_elf_check_relocs): Use it.  Correct comment.  Move SEC_ALLOC
4250130561Sobrien	test.
4251130561Sobrien	(ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
4252130561Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
4253130561Sobrien	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
4254130561Sobrien	and optimize.  Use ELIMINATE_COPY_RELOCS.
4255130561Sobrien	(ppc64_elf_relocate_section): Likewise.
4256130561Sobrien
4257130561Sobrien	* elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
4258130561Sobrien	(ppc_elf_copy_indirect_symbol): Copy pc_count field.
4259130561Sobrien	(ELIMINATE_COPY_RELOCS): Define.
4260130561Sobrien	(ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
4261130561Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
4262130561Sobrien	(MUST_BE_DYN_RELOC): Define.
4263130561Sobrien	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
4264130561Sobrien	and optimize.  Trim dyn_relocs.
4265130561Sobrien	(ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
4266130561Sobrien	not be used.  Do generate dyn_relocs for copy reloc avoidance.  Keep
4267130561Sobrien	track of pc_rel dyn relocs.
4268130561Sobrien	(ppc_elf_relocate_section): Remove "will_become_local".  Adjust
4269130561Sobrien	WILL_CALL_FINISH_DYNAMIC_SYMBOL use.  Trim dyn relocs as per
4270130561Sobrien	allocate_dynrelocs.  Don't recalculate "sec".
4271130561Sobrien
4272130561Sobrien2003-02-18  Alan Modra  <amodra@bigpond.net.au>
4273130561Sobrien
4274130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
4275130561Sobrien	* elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
4276130561Sobrien	on invalid LD relocs.
4277130561Sobrien	(allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
4278130561Sobrien	(ppc64_elf_relocate_section): Unify new handling of LD relocs and
4279130561Sobrien	tlsld_got entry.  Use IS_PPC64_TLS_RELOC.
4280130561Sobrien
4281130561Sobrien	* elf32-ppc.h: New file.
4282130561Sobrien	* elf32-ppc.c: Include elf32-ppc.h.
4283130561Sobrien	(NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
4284130561Sobrien	(struct ppc_elf_link_hash_entry): Rename "root" to "elf".  Adjust uses.
4285130561Sobrien	Add "tls_mask" field.
4286130561Sobrien	(TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
4287130561Sobrien	(struct ppc_elf_link_hash_table): Rename "root" to "elf".  Adjust uses.
4288130561Sobrien	Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
4289130561Sobrien	sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
4290130561Sobrien	Make use of htab shortcuts throughout file.
4291130561Sobrien	(ppc_elf_link_hash_newfunc): Init tls_mask field.
4292130561Sobrien	(ppc_elf_link_hash_table_create): Init new fields.
4293130561Sobrien	(ppc_elf_copy_indirect_symbol): Copy tls_mask.
4294130561Sobrien	(ppc_elf_howto_raw): Add tls relocs.
4295130561Sobrien	(ppc_elf_reloc_type_lookup): Handle them.
4296130561Sobrien	(ppc_elf_unhandled_reloc): New function.
4297130561Sobrien	(ppc_elf_create_got): Stash got section pointer in hash table,
4298130561Sobrien	return status.  Make .rela.got too.
4299130561Sobrien	(ppc_elf_create_dynamic_sections): Stash section pointers in htab.
4300130561Sobrien	(ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
4301130561Sobrien	NON_GOT_REF set.  Don't allocate space in .plt here..
4302130561Sobrien	(allocate_dynrelocs): ..do so here instead, properly ref-counting and
4303130561Sobrien	not allocating plt entries unnecessarily.  Allocate got entries here.
4304130561Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
4305130561Sobrien	(ppc_elf_size_dynamic_sections): Allocate local got entries.  Pass
4306130561Sobrien	"info" during allocate_dynrelocs hash traversal.  Use htab section
4307130561Sobrien	shortcuts rather than searching for named sections.  Get rid of
4308130561Sobrien	"plt" and "strip" booleans.
4309130561Sobrien	(update_local_sym_info, bad_shared_reloc): New functions.
4310130561Sobrien	(ppc_elf_check_relocs): Handle TLS relocs.  Move .rela.got creation to
4311130561Sobrien	ppc_elf_create_got.  Don't mark got or plt reloc syms dynamic, do so
4312130561Sobrien	in allocate_dynreloc.  Use update_local_sym_info and bad_shared_reloc.
4313130561Sobrien	Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
4314130561Sobrien	R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
4315130561Sobrien	in shared libs.  R_PPC_PLTREL32 is a plt reloc too.  Refcount all
4316130561Sobrien	relocs that might use a plt entry.  Set NON_GOT_REF too.
4317130561Sobrien	Enumerate all do-nothing relocs.
4318130561Sobrien	(ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs.  Handle
4319130561Sobrien	tls relocs and all plt relocs.
4320130561Sobrien	(ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
4321130561Sobrien	(ppc_elf_finish_dynamic_symbol): Don't build got entries here.
4322130561Sobrien	(ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
4323130561Sobrien	shortcuts.
4324130561Sobrien	(ppc_elf_relocate_section): Tidy.  Handle TLS relocs.  Use
4325130561Sobrien	bfd_elf_local_sym_name.  Simplify unresolved reloc code.  Build got
4326130561Sobrien	entries and got relocs here.  Warn on non-zero got reloc addend.
4327130561Sobrien	Split out branch taken/not taken reloc code into a separate switch
4328130561Sobrien	and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
4329130561Sobrien	Split out HA reloc adjustments to separate switch statement.  Don't
4330130561Sobrien	warn on reloc overflow if we've already warned about undefined.
4331130561Sobrien	Don't rebuild sym name when reporting errors.  Report all possible
4332130561Sobrien	errors from _bfd_final_link_relocate.
4333130561Sobrien	(bfd_elf32_bfd_final_link): Don't define.
4334130561Sobrien
4335130561Sobrien2003-02-18  Alan Modra  <amodra@bigpond.net.au>
4336130561Sobrien
4337130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r".  Don't
4338130561Sobrien	rebuild sym name when reporting errors.
4339130561Sobrien
4340130561Sobrien2003-02-17  Nick Clifton  <nickc@redhat.com>
4341130561Sobrien
4342130561Sobrien	* elflink.h (elf_link_output_extsym): Only check
4343130561Sobrien	allow_shlib_undefined for shared libraries.
4344130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Remove bogus check
4345130561Sobrien	of allow_shlib_undefined.
4346130561Sobrien	* elf32-cris.c (cris_elf_relocate_section): Likewise.
4347130561Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
4348130561Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
4349130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
4350130561Sobrien	* elf32-s390.c (elf_s390_relocate_section): Likewise.
4351130561Sobrien	* elf32-sh.c (sh_elf_relocate_section): Likewise.
4352130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
4353130561Sobrien	* elf32-vax.c (elf_vax_relocate_section): Likewise.
4354130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
4355130561Sobrien	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
4356130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
4357130561Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
4358130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
4359130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
4360130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
4361130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
4362130561Sobrien
4363130561Sobrien2003-02-17  Nick Clifton  <nickc@redhat.com>
4364130561Sobrien
4365130561Sobrien	* elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
4366130561Sobrien	address field to use in the comparison.
4367130561Sobrien	(SEGMENT_OVERLAPS): Check that LMAs overlap as well.
4368130561Sobrien
4369130561Sobrien2003-02-14  Bob Wilson  <bob.wilson@acm.org>
4370130561Sobrien
4371130561Sobrien	* elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
4372130561Sobrien	backends when checking if the generic ELF target should be used.
4373130561Sobrien
4374130561Sobrien	* syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
4375130561Sobrien	outside of functions, treat values as absolute addresses.
4376130561Sobrien
4377130561Sobrien	* bfd.c: Change embedded documentation to use consistent indentation
4378130561Sobrien	and to split up long lines.  Change informal style of description
4379130561Sobrien	for functions lacking real documentation.
4380130561Sobrien	* coffcode.h: Break up long lines in embedded documentation.
4381130561Sobrien	* format.c: Likewise.
4382130561Sobrien	* targets.c: Likewise.
4383130561Sobrien	* libcoff.h: Regenerate.
4384130561Sobrien	* bfd-in2.h: Regenerate.
4385130561Sobrien
4386130561Sobrien2003-02-14  Alan Modra  <amodra@bigpond.net.au>
4387130561Sobrien
4388130561Sobrien	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
4389130561Sobrien	(ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
4390130561Sobrien	(ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
4391130561Sobrien	(allocate_dynrelocs): Don't treat undefined and undefweak specially.
4392130561Sobrien	(ppc_size_one_stub): Fix warning, and tighten plt entry check.
4393130561Sobrien	(group_sections): Don't share a stub section if stubs are for a large
4394130561Sobrien	section.  Adjust comment.
4395130561Sobrien	(ppc64_elf_size_stubs): Roughly double the size left for stubs if
4396130561Sobrien	!stubs_always_before_branch.
4397130561Sobrien	(ppc64_elf_relocate_section): Initialize tlsld GOT entry once.  Don't
4398130561Sobrien	treat undefined and undefweak specially when processing dyn relocs.
4399130561Sobrien
4400130561Sobrien2003-02-13  Jakub Jelinek  <jakub@redhat.com>
4401130561Sobrien
4402130561Sobrien	* elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
4403130561Sobrien
4404130561Sobrien2003-02-13  Nick Clifton  <nickc@redhat.com>
4405130561Sobrien
4406130561Sobrien	* elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
4407130561Sobrien	in computation of offset to insert into BL instruction.
4408130561Sobrien
4409130561Sobrien2003-02-11  Uwe Stieber  <uwe@wwws.de>
4410130561Sobrien
4411130561Sobrien	* config.bfd: Add support for kaOS as cross build target system.
4412130561Sobrien
4413130561Sobrien2003-02-11  Alan Modra  <amodra@bigpond.net.au>
4414130561Sobrien
4415130561Sobrien	* elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
4416130561Sobrien	.__tls_get_addr too.
4417130561Sobrien	(ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
4418130561Sobrien
4419130561Sobrien2003-02-10  Kaz kojima  <kkojima@rr.iij4u.or.jp>
4420130561Sobrien
4421130561Sobrien	* elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
4422130561Sobrien	(elf_sh_link_hash_entry): Remove tls_tpoff32 field.
4423130561Sobrien	(sh_elf_link_hash_newfunc): Remove the initialization of
4424130561Sobrien	tls_tpoff32 field.
4425130561Sobrien	(allocate_dynrelocs): Keep dyn_relocs if it includes the entry
4426130561Sobrien	for which tls_tpoff32 flag is set.
4427130561Sobrien	(sh_elf_relocate_section): Covert to LE only if the dyn_relocs
4428130561Sobrien	of the symbol includes the entry matched with the input_section
4429130561Sobrien	and having tls_tpoff32 flag on.  When linking statically, set
4430130561Sobrien	symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
4431130561Sobrien	is defined in this executable.
4432130561Sobrien	(sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
4433130561Sobrien
4434130561Sobrien2003-02-10  Jakub Jelinek  <jakub@redhat.com>
4435130561Sobrien
4436130561Sobrien	* elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
4437130561Sobrien	even if there is just non-empty .rela.plt.
4438130561Sobrien
4439130561Sobrien2003-02-10  Nick Clifton  <nickc@redhat.com>
4440130561Sobrien
4441130561Sobrien	* archures.c (bfd_mach_arm_ep9312): Define.
4442130561Sobrien	* bfd-in2.h: Regenerate.
4443130561Sobrien	* cpu-arm.c (processors[]): Add ep9312.
4444130561Sobrien	(bfd_arm_arch): Add ep9312.
4445130561Sobrien	* elf32-arm.h (elf32_arm_merge_private_data): Update error
4446130561Sobrien	messages and add test for Maverick floating point support.
4447130561Sobrien	(elf32_arm_print_private_bfd_data): Handle
4448130561Sobrien	EF_ARM_MAVERICK_FLOAT flag.
4449130561Sobrien	(elf32_arm_object_p): New function.
4450130561Sobrien	(elf_backend_object_p): Define.
4451130561Sobrien
4452130561Sobrien2003-02-10  Alan Modra  <amodra@bigpond.net.au>
4453130561Sobrien
4454130561Sobrien	* elf64-ppc.c: Rename assorted occurrences of tls_type and similar
4455130561Sobrien	variables, structure fields or function params to tls_mask or
4456130561Sobrien	similar to better reflect usage.
4457130561Sobrien	(struct got_entry): Comment.
4458130561Sobrien	(struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
4459130561Sobrien	(get_tls_mask): Rename from get_tls_type.
4460130561Sobrien
4461130561Sobrien2003-02-09  Alan Modra  <amodra@bigpond.net.au>
4462130561Sobrien
4463130561Sobrien	* elf64-ppc.c (TLS_GD_LD): Don't define..
4464130561Sobrien	(TLS_GD): ..define this instead and update all uses.
4465130561Sobrien	(TLS_TPRELGD): Define.
4466130561Sobrien	(ppc64_elf_link_hash_table_create): Tweak initialization of
4467130561Sobrien	init_refcount and init_offset.
4468130561Sobrien	(ppc64_elf_check_relocs): Add one extra element to t_symndx array.
4469130561Sobrien	Mark second slot of GD or LD toc entries.
4470130561Sobrien	(get_tls_type): Return an int.  Distinguish toc GD and LD entries
4471130561Sobrien	from other tls types.
4472130561Sobrien	(ppc64_elf_tls_setup): New function, split out from..
4473130561Sobrien	(ppc64_elf_tls_optimize): ..here.  Don't optimize when symbols are
4474130561Sobrien	defined in a dynamic object.  Fix LD optimization.  Don't set TLS_TPREL
4475130561Sobrien	on GD->IE optimization, use TLS_TPRELGD instead.  Use get_tls_type
4476130561Sobrien	return value to properly decide whether toc GD and LD entries can
4477130561Sobrien	optimize away __tls_get_addr call.  Check next reloc after DTPMOD64
4478130561Sobrien	to determine GD or LD rather than looking at TLS_LD flag.  Don't
4479130561Sobrien	attempt to adjust got entry tls_type here..
4480130561Sobrien	(allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
4481130561Sobrien	look for possible merges.
4482130561Sobrien	(ppc64_elf_size_dynamic_sections): Adjust local got entries for
4483130561Sobrien	optimization.
4484130561Sobrien	(ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
4485130561Sobrien	(ppc64_elf_relocate_section): Rename some vars to better reflect usage.
4486130561Sobrien	Make use of return value from get_tls_type to properly detect GD and
4487130561Sobrien	LD optimizations.  Split tlsld/gd hi/ha from lo/ds case.  Don't
4488130561Sobrien	handle tls_get_addr removal when looking at REL24 relocs, do it when
4489130561Sobrien	looking at the previous reloc.  Check reloc after DTPMOD64 to determine
4490130561Sobrien	GD or LD.
4491130561Sobrien	* elf64-ppc.h (ppc64_elf_tls_setup): Declare.
4492130561Sobrien
4493130561Sobrien2003-02-08  Alan Modra  <amodra@bigpond.net.au>
4494130561Sobrien
4495130561Sobrien	* elf32-hppa.c (group_sections): Don't share a stub section if
4496130561Sobrien	stubs are for a large section.
4497130561Sobrien
4498130561Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
4499130561Sobrien	stubs if !stubs_always_before_branch.
4500130561Sobrien
4501130561Sobrien2003-02-07  Nick Clifton  <nickc@redhat.com>
4502130561Sobrien
4503130561Sobrien	* elf.c (swap_out_syms): Generate an error message if an
4504130561Sobrien	equivalent output section cannot be found for a symbol.
4505130561Sobrien
4506130561Sobrien2003-02-07  Jakub Jelinek  <jakub@redhat.com>
4507130561Sobrien
4508130561Sobrien	* elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
4509130561Sobrien	local_got_entries is NULL.
4510130561Sobrien
4511130561Sobrien2003-02-06  Andreas Schwab  <schwab@suse.de>
4512130561Sobrien
4513130561Sobrien	* elf-eh-frame.c (get_DW_EH_PE_signed): Define.
4514130561Sobrien	(read_value): Add parameter is_signed, use signed extraction if
4515130561Sobrien	the value is signed.
4516130561Sobrien	(_bfd_elf_write_section_eh_frame): Pass signed flag of the
4517130561Sobrien	encoding to read_value.
4518130561Sobrien
4519130561Sobrien2003-02-06  Alan Modra  <amodra@bigpond.net.au>
4520130561Sobrien
4521130561Sobrien	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
4522130561Sobrien	plt info when called to transfer weak sym info.
4523130561Sobrien
4524130561Sobrien2003-02-05  Alan Modra  <amodra@bigpond.net.au>
4525130561Sobrien
4526130561Sobrien	* reloc.c: Add PPC and PPC64 TLS relocs.
4527130561Sobrien	* libbfd.h: Regenerate.
4528130561Sobrien	* bfd-in2.h: Regenerate.
4529130561Sobrien	* elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
4530130561Sobrien	(ppc64_elf_howto_raw): Add TLS howto's.  Adjust R_PPC64_NONE to be
4531130561Sobrien	against a 32 bit field.
4532130561Sobrien	(ppc64_elf_reloc_type_lookup): Handle TLS relocs.
4533130561Sobrien	(_ppc64_elf_section_data): Add t_symndx and comments.
4534130561Sobrien	(ppc64_elf_section_data): Use elf_section_data macro.
4535130561Sobrien	(ppc64_elf_new_section_hook): American spelling.
4536130561Sobrien	(struct got_entry, struct plt_entry): New.
4537130561Sobrien	(MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
4538130561Sobrien	(struct ppc_stub_hash_entry): Add "addend" field.
4539130561Sobrien	(struct ppc_link_hash_entry): Add "tls_type".
4540130561Sobrien	(TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
4541130561Sobrien	TLS_EXPLICIT): Define.
4542130561Sobrien	(struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
4543130561Sobrien	(link_hash_newfunc): Init new fields.
4544130561Sobrien	(ppc64_elf_link_hash_table_create): Likewise.  Set init_refcount and
4545130561Sobrien	init_offset to NULL.
4546130561Sobrien	(ppc64_elf_copy_indirect_symbol): Copy got and plt info.  Don't call
4547130561Sobrien	_bfd_elf_link_hash_copy_indirect, rather insert relevant code from
4548130561Sobrien	there.
4549130561Sobrien	(update_local_sym_info, update_plt_info): New functions.
4550130561Sobrien	(ppc64_elf_check_relocs): Use them.  Handle TLS relocs.  Adjust GOT
4551130561Sobrien	handling to use got.glist rather than got.refcount.  Likewise for PLT.
4552130561Sobrien	(ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
4553130561Sobrien	(func_desc_adjust): Adjust for new PLT list.
4554130561Sobrien	(ppc64_elf_adjust_dynamic_symbol): Likewise.
4555130561Sobrien	(get_sym_h, get_tls_type): New functions.
4556130561Sobrien	(ppc64_elf_edit_opd): Remove unused variable.  Use get_sym_h.
4557130561Sobrien	(ppc64_elf_tls_optimize): New function.
4558130561Sobrien	(allocate_dynrelocs): Adjust for new PLT and GOT lists.  Allocate
4559130561Sobrien	TLS relocs.
4560130561Sobrien	(ppc64_elf_size_dynamic_sections): Likewise.
4561130561Sobrien	(ppc_type_of_stub): Adjust for new PLT list.
4562130561Sobrien	(ppc_build_one_stub): Likewise.
4563130561Sobrien	(ppc64_elf_size_stubs): Likewise.  Use get_sym_h.  Treat __tls_get_addr
4564130561Sobrien	calls specially.
4565130561Sobrien	(ppc64_elf_relocate_section): Adjust for new GOT and PLT lists.  Handle
4566130561Sobrien	TLS relocs.  Report local syms using bfd_elf_local_sym_name.  Don't
4567130561Sobrien	init GOT entries that have a reloc.  Generate GOT relocs here..
4568130561Sobrien	(ppc64_elf_finish_dynamic_symbol): ..not here.  Adjust for PLT list.
4569130561Sobrien	* elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
4570130561Sobrien
4571130561Sobrien2003-02-04  Andreas Schwab  <schwab@suse.de>
4572130561Sobrien
4573130561Sobrien	* elf32-m68k.c (elf_m68k_hash_entry): Define.
4574130561Sobrien	(elf_m68k_link_hash_traverse): Remove.
4575130561Sobrien	(elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
4576130561Sobrien	elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
4577130561Sobrien	reduce casting.
4578130561Sobrien	(elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
4579130561Sobrien	casting.
4580130561Sobrien	(elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
4581130561Sobrien	instead of elf_m68k_link_hash_traverse.
4582130561Sobrien	(elf_m68k_discard_copies): Change first parameter to pointer to
4583130561Sobrien	struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
4584130561Sobrien	elf_m68k_link_hash_entry is needed.
4585130561Sobrien
4586130561Sobrien2003-02-04  Alan Modra  <amodra@bigpond.net.au>
4587130561Sobrien
4588130561Sobrien	* elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
4589130561Sobrien	(struct elf_link_hash_entry): Add "glist" and "plist" fields to
4590130561Sobrien	"got" union, and declare as gotplt_union.  Use gotplt_uinion for
4591130561Sobrien	"plt" field.
4592130561Sobrien	(struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
4593130561Sobrien	Add "init_offset" field.
4594130561Sobrien	(struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
4595130561Sobrien	(elf_local_got_ents): Declare.
4596130561Sobrien	* elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
4597130561Sobrien	and "plt".
4598130561Sobrien	(_bfd_elf_link_hash_hide_symbol): Use "init_offset".
4599130561Sobrien	(_bfd_elf_link_hash_table_init): Set "init_offset".
4600130561Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
4601130561Sobrien	from init_offset.
4602130561Sobrien	(elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
4603130561Sobrien
4604130561Sobrien	* elf.c (bfd_elf_local_sym_name): Split out from..
4605130561Sobrien	(group_signature): ..here.
4606130561Sobrien	* elf-bfd.h (bfd_elf_local_sym_name): Declare.
4607130561Sobrien
4608130561Sobrien2003-02-04  Alan Modra  <amodra@bigpond.net.au>
4609130561Sobrien
4610130561Sobrien	* elf-bfd.h (enum elf_link_info_type): Remove.
4611130561Sobrien	(struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
4612130561Sobrien	to struct sec.  Remove linkonce_p field.
4613130561Sobrien	(elf_linkonce_p): Delete.
4614130561Sobrien	(elf_discarded_section): Update for sec_info_type change.
4615130561Sobrien	* section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
4616130561Sobrien	flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
4617130561Sobrien	(ELF_INFO_TYPE_NONE): Define.
4618130561Sobrien	(ELF_INFO_TYPE_STABS): Define.
4619130561Sobrien	(ELF_INFO_TYPE_MERGE): Define.
4620130561Sobrien	(ELF_INFO_TYPE_EH_FRAME): Define.
4621130561Sobrien	(ELF_INFO_TYPE_JUST_SYMS): Define.
4622130561Sobrien	(STD_SECTION): Update struct sec initializer.
4623130561Sobrien	* ecoff.c (bfd_debug_section): Likewise.
4624130561Sobrien	* elf.c: Likewise.  Update occurrences of sec_info_type and use_rela_p.
4625130561Sobrien	* elflink.h: Likewise.
4626130561Sobrien	* elf-eh-frame.c: Likewise.
4627130561Sobrien	* elf64-alpha.c: Likewise.
4628130561Sobrien	* elfxx-ia64.c: Likewise.
4629130561Sobrien	* elfxx-mips.c: Likewise.
4630130561Sobrien	* bfd-in2.h: Regenerate.
4631130561Sobrien
4632130561Sobrien	* elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
4633130561Sobrien	referring to used_by_bfd.
4634130561Sobrien	* elf64-sparc.c (sec_do_relax): Likewise.
4635130561Sobrien	* elf64-mmix.c (mmix_elf_section_data): Likewise.
4636130561Sobrien	* elfxx-mips.c (mips_elf_section_data): Likewise.
4637130561Sobrien	* ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
4638130561Sobrien	(ieee_get_section_contents): Likewise.
4639130561Sobrien	(ieee_new_section_hook): Formatting.
4640130561Sobrien	(ieee_canonicalize_reloc): Remove commented out code.
4641130561Sobrien	* mmo.c (mmo_section_data): Define.  Use throughout file.
4642130561Sobrien	* oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
4643130561Sobrien
4644130561Sobrien2003-01-31  Graydon Hoare <graydon@redhat.com>
4645130561Sobrien
4646130561Sobrien	* Makefile.am (opncls.lo): Add dependency upon libiberty.h.
4647130561Sobrien	* Makefile.in: Regenerate.
4648130561Sobrien	* opncls.c (calc_crc32, get_debug_link_info,
4649130561Sobrien	seperate_debug_file_exists, find_seperate_debug_file): New
4650130561Sobrien	internal functions.
4651130561Sobrien	(bfd_follow_gnu_debuglink): New function.  Follow the pointer
4652130561Sobrien	contained inside a .gnu_debuglink section.
4653130561Sobrien	* bfd-in2.h: Regenerate.
4654130561Sobrien
4655130561Sobrien2003-01-29  Alexandre Oliva  <aoliva@redhat.com>
4656130561Sobrien
4657130561Sobrien	* elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
4658130561Sobrien	entry->abfd when it's NULL.
4659130561Sobrien
4660130561Sobrien2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
4661130561Sobrien
4662130561Sobrien	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
4663130561Sobrien	_bfd_elf_section_offset returning -2 the same way as -1.
4664130561Sobrien
4665130561Sobrien	* elfxx-mips.c (mips_elf_multi_got): New function.
4666130561Sobrien	(struct mips_got_entry): Make symndx and gotidx signed.  Moved
4667130561Sobrien	addend into union along with address and link hash entry.
4668130561Sobrien	(struct mips_got_info): Added bfd2got and next.
4669130561Sobrien	(struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
4670130561Sobrien	(mips_elf_got_section, mips_elf_create_got_section): Use
4671130561Sobrien	SEC_EXCLUDE bit to tell whether we really need the got
4672130561Sobrien	section.  Take boolean arguments to disregard an excluded
4673130561Sobrien	section, or to create it as excluded.  Adjust all callers.
4674130561Sobrien	Use mips_elf_got_section all over.
4675130561Sobrien	(mips_elf_local_got_index, mips_elf_got_page,
4676130561Sobrien	mips_elf_got16_entry): Take input bfd as argument, and pass it
4677130561Sobrien	on to mips_elf_create_local_got_entry.
4678130561Sobrien	(mips_elf_global_got_index, mips_elf_create_local_got_entry):
4679130561Sobrien	Take input bfd as argument, and manage entries in the
4680130561Sobrien	appropriate GOT.
4681130561Sobrien	(mips_elf_got_offset_from_index): Take input bfd as argument,
4682130561Sobrien	and use it to adjust the GP offset of the bfd.
4683130561Sobrien	(mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
4684130561Sobrien	unreferenced GOT entries of global symbols to the end.
4685130561Sobrien	(mips_elf_record_global_got_symbol): Take input bfd as
4686130561Sobrien	argument.  Add entries to the master GOT hash table.
4687130561Sobrien	(struct mips_elf_bfd2got_hash): New.
4688130561Sobrien	(struct mips_elf_got_per_bfd_arg): New.
4689130561Sobrien	(struct mips_elf_set_global_got_offset_arg): New.
4690130561Sobrien	(mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
4691130561Sobrien	mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
4692130561Sobrien	mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
4693130561Sobrien	mips_elf_merge_gots, mips_elf_set_global_got_offset,
4694130561Sobrien	mips_elf_resolve_final_got_entry,
4695130561Sobrien	mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
4696130561Sobrien	mips_elf_got_for_ibfd): New functions.
4697130561Sobrien	(ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
4698130561Sobrien	(MIPS_ELF_GOT_MAX_SIZE): New macro.
4699130561Sobrien	(STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
4700130561Sobrien	(mips_elf_got_entry_hash): Take new fields into account.  Use
4701130561Sobrien	mips_elf_hash_bfd_vma.
4702130561Sobrien	(mips_elf_got_entry_eq): Take new fields into account.
4703130561Sobrien	(mips_elf_create_got_section): Initialize new fields.
4704130561Sobrien	(mips_elf_calculate_relocation): Pass input_bfd to functions
4705130561Sobrien	that now take it.  Adjust gp for the input_bfd.
4706130561Sobrien	(mips_elf_allocate_dynamic_relocation,
4707130561Sobrien	mips_elf_create_dynamic_relocation,
4708130561Sobrien	_bfd_mips_elf_create_dynamic_sections): Use...
4709130561Sobrien	(mips_elf_rel_dyn_section): New function.  Borrow code from...
4710130561Sobrien	(_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
4711130561Sobrien	now take it.  Create the got section if needed, even if
4712130561Sobrien	excluded, before recording a global got symbol.  Move some
4713130561Sobrien	code to...
4714130561Sobrien	(mips_elf_record_local_got_symbol): New fn.
4715130561Sobrien	(_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
4716130561Sobrien	Compute multi-got global entries offsets.  Move GOT code to...
4717130561Sobrien	(_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
4718130561Sobrien	if the GOT is too big.
4719130561Sobrien	(_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
4720130561Sobrien	undefweak symbol to zero.  Generate dynamic relocations for
4721130561Sobrien	non-primary GOT entries for global symbols.
4722130561Sobrien	(_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
4723130561Sobrien	case.  Generate dynamic relocations for local got entries.
4724130561Sobrien	Sort dynamic relocations on N64 too, using...
4725130561Sobrien	(sort_dynamic_relocs_64): New fns.
4726130561Sobrien	(_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
4727130561Sobrien	(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
4728130561Sobrien
4729130561Sobrien2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
4730130561Sobrien
4731130561Sobrien	* bfd.c (struct _bfd): Added id field.
4732130561Sobrien	* opncls.c (_bfd_id_counter): New static variable.
4733130561Sobrien	(_bfd_new_bfd): Use it.
4734130561Sobrien	* bfd-in2.h: Rebuilt.
4735130561Sobrien
4736130561Sobrien2003-01-25  Alan Modra  <amodra@bigpond.net.au>
4737130561Sobrien
4738130561Sobrien	* elf32-sparc.c (bfd_elf32_new_section_hook): Define.
4739130561Sobrien
4740130561Sobrien2003-01-25  Jakub Jelinek  <jakub@redhat.com>
4741130561Sobrien
4742130561Sobrien	* elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
4743130561Sobrien	(elf32_sparc_rev32_howto): New variable.
4744130561Sobrien	(sparc_reloc_map): Add TLS relocs.
4745130561Sobrien	(elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
4746130561Sobrien	Handle REV32.
4747130561Sobrien	(sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
4748130561Sobrien	New functions.
4749130561Sobrien	(struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
4750130561Sobrien	struct elf32_sparc_link_hash_table):
4751130561Sobrien	New structures.
4752130561Sobrien	(elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
4753130561Sobrien	elf32_sparc_hash_table): Define.
4754130561Sobrien	(link_hash_newfunc, elf32_sparc_link_hash_table_create,
4755130561Sobrien	create_got_section, elf32_sparc_create_dynamic_sections,
4756130561Sobrien	elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
4757130561Sobrien	functions.
4758130561Sobrien	(elf32_sparc_check_relocs): Handle TLS relocs.  Add dynamic reloc
4759130561Sobrien	reference counting.
4760130561Sobrien	(elf32_sparc_gc_sweep_hook): Likewise.
4761130561Sobrien	(elf32_sparc_adjust_dynamic_symbol): Likewise.
4762130561Sobrien	(elf32_sparc_size_dynamic_sections): Likewise.
4763130561Sobrien	(elf32_sparc_relocate_section): Likewise.
4764130561Sobrien	(allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
4765130561Sobrien	New functions.
4766130561Sobrien	(elf32_sparc_object_p): Allocate backend private object data.
4767130561Sobrien	(bfd_elf32_bfd_link_hash_table_create,
4768130561Sobrien	elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
4769130561Sobrien	elf_backend_can_refcount): Define.
4770130561Sobrien	(elf_backend_create_dynamic_sections): Define to
4771130561Sobrien	elf32_sparc_create_dynamic_sections.
4772130561Sobrien	* reloc.c: Add SPARC TLS relocs.
4773130561Sobrien	* bfd-in2.h, libbfd.h: Rebuilt.
4774130561Sobrien	* elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
4775130561Sobrien	(sparc_reloc_map): Likewise.
4776130561Sobrien
4777130561Sobrien2003-01-24  Martin Schwidefsky  <schwidefsky@de.ibm.com>
4778130561Sobrien
4779130561Sobrien	* bfd-in2.h: Regenerate.
4780130561Sobrien	* elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
4781130561Sobrien	s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
4782130561Sobrien	(elf_howto_table): Add TLS relocs.
4783130561Sobrien	(elf_s390_reloc_type_lookup): Likewise.
4784130561Sobrien	(elf_s390_link_hash_entry): Add tls_type.
4785130561Sobrien	(elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
4786130561Sobrien	New macros.
4787130561Sobrien	(elf_s390_link_hash_table): Add tls_ldm_got.
4788130561Sobrien	(link_hash_newfunc): Initialize tls_type.
4789130561Sobrien	(elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
4790130561Sobrien	(elf_s390_copy_indirect_symbol): Copy tls_type information.
4791130561Sobrien	(elf_s390_check_relocs): Support TLS relocs.
4792130561Sobrien	(elf_s390_gc_sweep_hook): Likewise.
4793130561Sobrien	(allocate_dynrelocs): Likewise.
4794130561Sobrien	(elf_s390_size_dynamic_sections): Likewise.
4795130561Sobrien	(elf_s390_relocate_section): Likewise.
4796130561Sobrien	(elf_s390_finish_dynamic_symbol): Likewise.
4797130561Sobrien	(bfd_elf32_mkobject): Define for TLS.
4798130561Sobrien	* elf64-s390.c: Same changes as for elf32-s390.c.
4799130561Sobrien	* libbfd.h: Regenerate.
4800130561Sobrien	* reloc.c: Add s390 TLS relocations.
4801130561Sobrien
4802130561Sobrien2003-01-24  Charles Lepple  <clepple@ghz.cc>
4803130561Sobrien
4804130561Sobrien	* aclocal.m4: Fix name of --enable-install-libbfd switch.
4805130561Sobrien
4806130561Sobrien2003-01-23  Nick Clifton  <nickc@redhat.com>
4807130561Sobrien
4808130561Sobrien	* Add sh2e support:
4809130561Sobrien	2002-04-02  Elena Zannoni  <ezannoni@redhat.com>
4810130561Sobrien	* archures.c (bfd_mach_sh2e): Added.
4811130561Sobrien	* bfd-in2.h: Rebuilt.
4812130561Sobrien	* cpu-sh.c (arch_info_struct): Added SH2e.
4813130561Sobrien	* elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
4814130561Sobrien
4815130561Sobrien2003-01-23  Alan Modra  <amodra@bigpond.net.au>
4816130561Sobrien
4817130561Sobrien	* elf-bfd.h (struct bfd_elf_section_data): Remove tdata.  Change
4818130561Sobrien	dynindx to an int.  Rearrange for better packing.
4819130561Sobrien	* elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
4820130561Sobrien	* elf32-mips.c (bfd_elf32_new_section_hook): Define.
4821130561Sobrien	* elf32-sh64.h: New.  Split out from include/elf/sh.h.
4822130561Sobrien	(struct _sh64_elf_section_data): New struct.
4823130561Sobrien	(sh64_elf_section_data): Don't dereference sh64_info (was tdata).
4824130561Sobrien	* elf32-sh64-com.c: Include elf32-sh64.h.
4825130561Sobrien	* elf32-sh64.c: Likewise.
4826130561Sobrien	(sh64_elf_new_section_hook): New function.
4827130561Sobrien	(bfd_elf32_new_section_hook): Define.
4828130561Sobrien	(sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
4829130561Sobrien	(sh64_bfd_elf_copy_private_section_data): Likewise.
4830130561Sobrien	(sh64_elf_final_write_processing): Likewise.
4831130561Sobrien	* elf32-sparc.c (struct elf32_sparc_section_data): New.
4832130561Sobrien	(elf32_sparc_new_section_hook): New function.
4833130561Sobrien	(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
4834130561Sobrien	(sec_do_relax): Define.
4835130561Sobrien	(elf32_sparc_relax_section): Adjust to use sec_do_relax.
4836130561Sobrien	(elf32_sparc_relocate_section): Likewise.
4837130561Sobrien	* elf64-mips.c (bfd_elf64_new_section_hook): Define.
4838130561Sobrien	* elf64-mmix.c (struct _mmix_elf_section_data): New.
4839130561Sobrien	(mmix_elf_section_data): Define.  Use throughout file.
4840130561Sobrien	(mmix_elf_new_section_hook): New function.
4841130561Sobrien	(bfd_elf64_new_section_hook): Define.
4842130561Sobrien	* elf64-ppc.c (struct _ppc64_elf_section_data): New.
4843130561Sobrien	(ppc64_elf_section_data): Define.  Use throughout.
4844130561Sobrien	(ppc64_elf_new_section_hook): New function.
4845130561Sobrien	(bfd_elf64_new_section_hook): Define.
4846130561Sobrien	* elf64-sparc.c (struct sparc64_elf_section_data): New.
4847130561Sobrien	(sparc64_elf_new_section_hook): New function.
4848130561Sobrien	(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
4849130561Sobrien	(sec_do_relax): Define.
4850130561Sobrien	(sparc64_elf_relax_section): Adjust to use sec_do_relax.
4851130561Sobrien	(sparc64_elf_relocate_section): Likewise.
4852130561Sobrien	(bfd_elf64_new_section_hook): Define.
4853130561Sobrien	* elfn32-mips.c (bfd_elf32_new_section_hook): Define.
4854130561Sobrien	* elfxx-mips.c (struct _mips_elf_section_data): New.
4855130561Sobrien	(mips_elf_section_data): Define.  Use throughout.
4856130561Sobrien	(_bfd_mips_elf_new_section_hook): New function.
4857130561Sobrien	(mips_elf_create_got_section): Don't alloc used_by_bfd.
4858130561Sobrien	* elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
4859130561Sobrien	* elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
4860130561Sobrien	* Makefile.am: Run "make dep-am".
4861130561Sobrien	* Makefile.in: Regenerate.
4862130561Sobrien
4863130561Sobrien2003-01-21  Richard Henderson  <rth@redhat.com>
4864130561Sobrien
4865130561Sobrien	* elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
4866130561Sobrien	(struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
4867130561Sobrien	(elf64_alpha_adjust_dynamic_symbol): Set them.
4868130561Sobrien	(elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
4869130561Sobrien	(elf64_alpha_relax_tls_get_addr): Handle LDM relocs.  Frob the
4870130561Sobrien	symbol index when relaxing LDM to TPREL.
4871130561Sobrien	(elf64_alpha_relax_section): Likewise.  Allow relaxation of GD
4872130561Sobrien	relocs, even if the target isn't locally defined.
4873130561Sobrien	(elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
4874130561Sobrien	(elf64_alpha_relocate_section): Likewise.  Force TP-relative
4875130561Sobrien	relocs vs symndx 0 to the tp base.
4876130561Sobrien
4877130561Sobrien2003-01-21  Fabio Alemagna  <falemagn@aros.org>
4878130561Sobrien
4879130561Sobrien	* config.bfd: Handle i[3456]86-*-aros*.
4880130561Sobrien
4881130561Sobrien2003-01-21  Andreas Schwab  <schwab@suse.de>
4882130561Sobrien
4883130561Sobrien	* elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
4884130561Sobrien	(struct ppc_elf_link_hash_entry): Define.
4885130561Sobrien	(ppc_elf_hash_entry): New function.
4886130561Sobrien	(struct ppc_elf_link_hash_table): Define.
4887130561Sobrien	(ppc_elf_hash_table): New function.
4888130561Sobrien	(ppc_elf_link_hash_newfunc): New function.
4889130561Sobrien	(ppc_elf_link_hash_table_create): New function.
4890130561Sobrien	(ppc_elf_copy_indirect_symbol): New function.
4891130561Sobrien	(allocate_dynrelocs): New function.
4892130561Sobrien	(readonly_dynrelocs): New function.
4893130561Sobrien	(ppc_elf_size_dynamic_sections): Allocate space for dynamic
4894130561Sobrien	relocs and determine DT_TEXTREL.
4895130561Sobrien	(ppc_elf_check_relocs): Don't do that here, just count the
4896130561Sobrien	dynamic relocs.
4897130561Sobrien	(ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
4898130561Sobrien	removed section.
4899130561Sobrien	(bfd_elf32_bfd_link_hash_table_create): Define.
4900130561Sobrien	(elf_backend_copy_indirect_symbol): Define.
4901130561Sobrien
4902130561Sobrien2003-01-21  Richard Henderson  <rth@redhat.com>
4903130561Sobrien
4904130561Sobrien	* elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
4905130561Sobrien	TPREL also get a reloc if shared.  Remove SREL support.
4906130561Sobrien	(elf64_alpha_emit_dynrel): New.
4907130561Sobrien	(elf64_alpha_relocate_section): Use it.  Resolve dynamic TPREL
4908130561Sobrien	and GOTTPREL relocs to local symbols against the tp base.
4909130561Sobrien	(elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
4910130561Sobrien
4911130561Sobrien	* elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
4912130561Sobrien	use count before clobbering r_type.
4913130561Sobrien	(elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
4914130561Sobrien	ordering would mean dataflow inspection is necessary.
4915130561Sobrien
4916130561Sobrien2003-01-20  Svein E. Seldal  <Svein.Seldal@solidas.com>
4917130561Sobrien
4918130561Sobrien	* coffcode.h (coff_set_flags): Added get/set arch hooks.
4919130561Sobrien
4920130561Sobrien2003-01-20  Fabio Alemagna  <falemagn@aros.org>
4921130561Sobrien
4922130561Sobrien	* elf32-sh.c: Treat elfNN_bed like other macros defined in
4923130561Sobrien	  elfxx-target.h and #undef it before #define'ing it.
4924130561Sobrien	* elf32-i386.c: Likewise.
4925130561Sobrien	* elf32-sh64.c: Likewise.
4926130561Sobrien	* elf64-alpha.c: Likewise.
4927130561Sobrien	* elf64-sh64.c: Likewise.
4928130561Sobrien
4929130561Sobrien2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
4930130561Sobrien
4931130561Sobrien	* bfd-in2.h: Regenerate.
4932130561Sobrien	* elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
4933130561Sobrien	(elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
4934130561Sobrien	R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
4935130561Sobrien	R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
4936130561Sobrien	R_390_PLTOFF32 and R_390_PLTOFF64.
4937130561Sobrien	(elf_s390_reloc_type_lookup): Likewise.
4938130561Sobrien	(struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
4939130561Sobrien	of GOTPLT references to a function.
4940130561Sobrien	(link_hash_newfunc): Initialize gotplt_refcount.
4941130561Sobrien	(elf_s390_check_relocs): Move allocation of local_got_refcounts array
4942130561Sobrien	and creation of the got section out of the main switch. Add support
4943130561Sobrien	for the gotoff, gotplt and pltoff relocations.
4944130561Sobrien	(elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
4945130561Sobrien	and pltoff.
4946130561Sobrien	(elf_s390_adjust_gotplt): New function.
4947130561Sobrien	(elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
4948130561Sobrien	plt entries.
4949130561Sobrien	(allocate_dynrelocs): Add comment.
4950130561Sobrien	(elf_s390_relocate_section): Change r_type to unsigned. Add support
4951130561Sobrien	for gotoff, gotplt and pltoff relocations.
4952130561Sobrien	* elf64-s390.c: Same changes as for elf32-s390.c.
4953130561Sobrien	* libbfd.h: Regenerate.
4954130561Sobrien	* reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
4955130561Sobrien	BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
4956130561Sobrien	BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
4957130561Sobrien	and BFD_RELOC_390_PLTOFF64.
4958130561Sobrien
4959130561Sobrien2003-01-18  Jakub Jelinek  <jakub@redhat.com>
4960130561Sobrien
4961130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
4962130561Sobrien	R_IA64_TPREL64[LM]SB against non-global symbol properly.
4963130561Sobrien
4964130561Sobrien2003-01-16  Jakub Jelinek  <jakub@redhat.com>
4965130561Sobrien
4966130561Sobrien	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
4967130561Sobrien	self_dtpmod_done and self_dtpmod_offset.
4968130561Sobrien	(allocate_global_data_got): Only use one got entry for all
4969130561Sobrien	dtpmod relocs against local symbols.
4970130561Sobrien	(allocate_dynrel_entries): Only need .rela.got entry for
4971130561Sobrien	dtpmod against global symbol.
4972130561Sobrien	(elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
4973130561Sobrien	Reserve space in .rela.got for the local dtpmod entry.
4974130561Sobrien	(set_got_entry): Initialize the common local dtpmod .got entry.
4975130561Sobrien	(elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
4976130561Sobrien	and R_IA_64_DTPREL64MSB.
4977130561Sobrien
4978130561Sobrien2003-01-16  Alan Modra  <amodra@bigpond.net.au>
4979130561Sobrien
4980130561Sobrien	* elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
4981130561Sobrien	(R_PPC_*): Rename all occurrences to R_PPC64_*.
4982130561Sobrien	(R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
4983130561Sobrien	(enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
4984130561Sobrien	(ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
4985130561Sobrien	relative relocs, not with absolute ones.
4986130561Sobrien	* Makefile.am: Run "make dep-am".
4987130561Sobrien	* Makefile.in: Regenerate.
4988130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
4989130561Sobrien
4990130561Sobrien2003-01-15  Andreas Schwab  <schwab@suse.de>
4991130561Sobrien
4992130561Sobrien	* elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
4993130561Sobrien	relocation against a non-allocated readonly section.
4994130561Sobrien
4995130561Sobrien2003-01-10  Alan Modra  <amodra@bigpond.net.au>
4996130561Sobrien
4997130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
4998130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.  PLTGOT16_HA too.
4999130561Sobrien
5000130561Sobrien2002-01-08  Klee Dienes  <kdienes@apple.com>
5001130561Sobrien
5002130561Sobrien	* Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
5003130561Sobrien	(BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
5004130561Sobrien	* Makefile.in: Regenerate.
5005130561Sobrien
5006130561Sobrien2003-01-08  Alexandre Oliva  <aoliva@redhat.com>
5007130561Sobrien
5008130561Sobrien	* elfn32-mips.c (prev_reloc_section): New.
5009130561Sobrien	(GET_RELOC_ADDEND): Use it.  Parenthesize macro arguments.
5010130561Sobrien	(SET_RELOC_ADDEND): Parenthesize macro argument.
5011130561Sobrien
5012130561Sobrien2003-01-07  John David Anglin  <dave.anglin@nrc.gc.ca>
5013130561Sobrien
5014130561Sobrien	* elf32-hppa.c (final_link_relocate): For all DP relative relocations,
5015130561Sobrien	adjust addil instructions if the symbol has no section.
5016130561Sobrien
5017130561Sobrien2003-01-07  DJ Delorie  <dj@redhat.com>
5018130561Sobrien
5019130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
5020130561Sobrien	partial_inplace.
5021130561Sobrien
5022130561Sobrien2003-01-07  Andreas Schwab  <schwab@suse.de>
5023130561Sobrien
5024130561Sobrien	* elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
5025130561Sobrien	PC relative relocations.
5026130561Sobrien	(elf_m68k_discard_copies): Set it here instead.
5027130561Sobrien
5028130561Sobrien2002-01-02  Ben Elliston  <bje@redhat.com>
5029130561Sobrien	    Jeff Johnston  <jjohnstn@redhat.com>
5030130561Sobrien
5031130561Sobrien	* Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
5032130561Sobrien	(ALL_MACHINES_CFILES): Add cpu-iq2000.c.
5033130561Sobrien	(BFD32_BACKENDS): Add elf32-iq2000.lo.
5034130561Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
5035130561Sobrien	(cpu-iq2000.lo): New target.
5036130561Sobrien	* Makefile.in: Regenerate.
5037130561Sobrien	* config.bfd: Handle iq2000-*-elf.
5038130561Sobrien	* archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
5039130561Sobrien	(bfd_archures_list): Add bfd_iq2000_arch.
5040130561Sobrien	* configure.in: Handle bfd_elf32_iq2000_vec.
5041130561Sobrien	* configure: Regenerate.
5042130561Sobrien	* reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
5043130561Sobrien	and BFD_RELOC_IQ2000_UHI16.
5044130561Sobrien	* targets.c (bfd_elf32_iq2000_vec): Declare.
5045130561Sobrien	(bfd_target_vector): Add bfd_elf32_iq2000_vec.
5046130561Sobrien	* elf.c (prep_headers): Set e_machine to EM_IQ2000.
5047130561Sobrien	* cpu-iq2000.c: New file.
5048130561Sobrien	* elf32-iq2000.c: Likewise.
5049130561Sobrien	* libbfd.h: Regenerate.
5050130561Sobrien	* bfd-in2.h: Likewise.
5051130561Sobrien
5052130561Sobrien2003-01-02  Richard Sandiford  <rsandifo@redhat.com>
5053130561Sobrien
5054130561Sobrien	* elfxx-mips.c: Include libiberty.h.
5055130561Sobrien	(elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
5056130561Sobrien	(mips_set_isa_flags): New function, split out from...
5057130561Sobrien	(_bfd_mips_elf_final_write_processing): ...here.  Only call
5058130561Sobrien	mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
5059130561Sobrien	(mips_mach_extensions): New array.
5060130561Sobrien	(mips_32bit_flags_p): New function.
5061130561Sobrien	(_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
5062130561Sobrien	Use mips_32bit_flags_p to check if one binary is 32-bit and the
5063130561Sobrien	other is 64-bit.  When adopting IBFD's architecture, adopt the
5064130561Sobrien	bfd_mach as well as the flags.
5065130561Sobrien
5066130561Sobrien2003-01-02  Nick Kelsey  <nickk@ubicom.com>
5067130561Sobrien
5068130561Sobrien	* elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
5069130561Sobrien	fix internal errors, fix bad code generation, fix incorrect stabs
5070130561Sobrien	information, and improve ability to eliminate redundant page
5071130561Sobrien	instructions. Added code to ip2k_final_link_relocate to self-verify
5072130561Sobrien	the linker relaxation.  Fix formatting problems.
5073130561Sobrien
5074130561Sobrien2002-12-30  Chris Demetriou  <cgd@broadcom.com>
5075130561Sobrien
5076130561Sobrien	* aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
5077130561Sobrien	* archures.c (bfd_mach_mipsisa32r2): New define.
5078130561Sobrien	* bfd-in2.h: Regenerate.
5079130561Sobrien	* cpu-mips.c (I_mipsisa32r2): New enum value.
5080130561Sobrien	(arch_info_struct): Add entry for I_mipsisa32r2.
5081130561Sobrien	* elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
5082130561Sobrien	(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
5083130561Sobrien	(_bfd_mips_elf_final_write_processing): Add
5084130561Sobrien	bfd_mach_mipsisa32r2 case.
5085130561Sobrien	(_bfd_mips_elf_merge_private_bfd_data): Handle merging of
5086130561Sobrien	binaries marked as using MIPS32 Release 2.
5087130561Sobrien
5088130561Sobrien2002-12-30    Dmitry Diky <diwil@mail.ru>
5089130561Sobrien
5090130561Sobrien	* Makefile.am: Add msp430 target.
5091130561Sobrien	* configure.in: Likewise.
5092130561Sobrien	* Makefile.in: Regenerate.
5093130561Sobrien	* configure: Regenerate.
5094130561Sobrien	* archures.c: Add msp430 architecture vector.
5095130561Sobrien	* config.bfd: Likewise.
5096130561Sobrien	* reloc.c: Add msp430 relocs.
5097130561Sobrien	* targets.c: Add msp320 target.
5098130561Sobrien	* cpu-msp430.c: New file: msp430 cpu detection.
5099130561Sobrien	* elf32-msp430.c: New file: msp430 reloc processing.
5100130561Sobrien	* bfd-in2.h: Regenerate.
5101130561Sobrien	* libbfd.h: Regenerate.
5102130561Sobrien
5103130561Sobrien2002-12-28  Jakub Jelinek  <jakub@redhat.com>
5104130561Sobrien
5105130561Sobrien	* elf.c (elf_sort_sections): Don't reorder .tbss.
5106130561Sobrien	(assign_file_positions_for_segments): Only adjust off/voff
5107130561Sobrien	for increased alignment in PT_LOAD or PT_NOTE segment,
5108130561Sobrien	but adjust p_filesz for .tbss too.  in PT_LOAD consider
5109130561Sobrien	.tbss to have zero memory size.
5110130561Sobrien	(copy_private_bfd_data) [SECTION_SIZE]: Define.
5111130561Sobrien	[IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
5112130561Sobrien	[INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
5113130561Sobrien	into PT_TLS segment.  Never put SHF_TLS sections in
5114130561Sobrien	segments other than PT_TLS or PT_LOAD.
5115130561Sobrien
5116130561Sobrien	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
5117130561Sobrien	sh_entsize.
5118130561Sobrien
5119130561Sobrien2002-12-23  DJ Delorie  <dj@redhat.com>
5120130561Sobrien
5121130561Sobrien	* coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
5122130561Sobrien
5123130561Sobrien2002-12-23  Alan Modra  <amodra@bigpond.net.au>
5124130561Sobrien
5125130561Sobrien	* elflink.h (elf_link_output_extsym): Heed strip_discarded.
5126130561Sobrien
5127130561Sobrien2002-12-23  Nick Clifton  <nickc@redhat.com>
5128130561Sobrien
5129130561Sobrien	* archures.c (bfd_arch_get_compatible): Add third parameter
5130130561Sobrien	'accept_unknowns'.  Only accept unknown format BFDs if
5131130561Sobrien	accept_unknowns is true, or if the format is "binary".
5132130561Sobrien	* bfd-in2.h: Regenerate.
5133130561Sobrien
5134130561Sobrien2002-12-21  Nick Clifton  <nickc@redhat.com>
5135130561Sobrien
5136130561Sobrien	* coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
5137130561Sobrien	that subtracted 8 from pc relative relocations.
5138130561Sobrien
5139130561Sobrien2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
5140130561Sobrien
5141130561Sobrien	* coff-h8300.c: Fix comment typos.
5142130561Sobrien	* coffcode.h: Likewise.
5143130561Sobrien	* cpu-cris.c: Likewise.
5144130561Sobrien	* elf32-vax.c: Likewise.
5145130561Sobrien	* genlink.h: Likewise.
5146130561Sobrien	* linker.c: Likewise.
5147130561Sobrien	* som.c: Likewise.
5148130561Sobrien	* tekhex.c: Likewise.
5149130561Sobrien	* vms-misc.c: Likewise.
5150130561Sobrien
5151130561Sobrien2002-12-20  DJ Delorie  <dj@redhat.com>
5152130561Sobrien
5153130561Sobrien	* reloc.c: Add BFD_RELOC_XSTORMY16_12.
5154130561Sobrien	* libbfd.h: Regenerate.
5155130561Sobrien	* bfd-in2.h: Regenerate.
5156130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
5157130561Sobrien	(xstormy16_reloc_map): Add R_XSTORMY16_12.
5158130561Sobrien
5159130561Sobrien2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5160130561Sobrien
5161130561Sobrien	* doc/bfdint.texi: Fix typos.
5162130561Sobrien
5163130561Sobrien2002-12-20  Paul Eggert  <eggert@twinsun.com>
5164130561Sobrien
5165130561Sobrien	Port to POSIX 1003.1-2001.
5166130561Sobrien	* acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
5167130561Sobrien	* configure.in (build-warnings): Likewise.
5168130561Sobrien	(Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
5169130561Sobrien	* aclocal.m4: Regenerate.
5170130561Sobrien	* config.in: Regenerate.
5171130561Sobrien	* configure: Regenerate.
5172130561Sobrien
5173130561Sobrien2002-12-19  Alan Modra  <amodra@bigpond.net.au>
5174130561Sobrien
5175130561Sobrien	* coff-h8300.c: Include libiberty.h.
5176130561Sobrien	(h8300_reloc16_extra_cases): Check the hash table creator before
5177130561Sobrien	referencing h8300 specific fields.  Stash the hash table pointer
5178130561Sobrien	in a local var.  Comment typo fixes.
5179130561Sobrien	(h8300_bfd_link_add_symbols): Likewise.
5180130561Sobrien
5181130561Sobrien	* reloc.c (struct reloc_howto_struct): Revise src_mask and
5182130561Sobrien	dst_mask comments.
5183130561Sobrien	* bfd-in2.h: Regenerate.
5184130561Sobrien
5185130561Sobrien2002-12-18  Alan Modra  <amodra@bigpond.net.au>
5186130561Sobrien
5187130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
5188130561Sobrien	code a little.  Comment on dynamic relocs against section symbols.
5189130561Sobrien
5190130561Sobrien2002-12-17  Roger Sayle  <roger@eyesopen.com>
5191130561Sobrien
5192130561Sobrien	* configure.host (ia64-*-hpux*): Support 64 bit targets using
5193130561Sobrien	the HP compiler's "long long".
5194130561Sobrien
5195130561Sobrien2002-12-16  Andrew MacLeod  <amacleod@redhat.com>
5196130561Sobrien
5197130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
5198130561Sobrien	and R_XSTORMY16_HI16) howto entries.
5199130561Sobrien	(xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
5200130561Sobrien	(xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
5201130561Sobrien	determine the start of the second reloc table.
5202130561Sobrien
5203130561Sobrien2002-12-16  Nathan Tallent  <eraxxon@alumni.rice.edu>
5204130561Sobrien
5205130561Sobrien	* ecofflink.c: Fix the reading of the debugging information
5206130561Sobrien	of Tru64/Alpha binaries that are produced by recent Compaq
5207130561Sobrien	compilers.
5208130561Sobrien	(mk_fdrtab): Fix error in creating the FDR (file descriptor)
5209130561Sobrien	table.
5210130561Sobrien	(lookup_line): Because of the strange information sometimes
5211130561Sobrien	generated by Compaq's recent compilers, change how the FDR
5212130561Sobrien	table is searched so that PDRs (procedure descriptors) are
5213130561Sobrien	correctly found.  Note that this change is really more of a hack;
5214130561Sobrien	however, I have included extensive documentation as to why
5215130561Sobrien	this is the best solution short of an extensive rewrite or
5216130561Sobrien	another hack.
5217130561Sobrien	(fdrtab_lookup): Add comments to explain the algorithm.
5218130561Sobrien
5219130561Sobrien2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5220130561Sobrien
5221130561Sobrien	* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
5222130561Sobrien	initializers to match struct declaration.
5223130561Sobrien
5224130561Sobrien2002-12-12  Alan Modra  <amodra@bigpond.net.au>
5225130561Sobrien
5226130561Sobrien	* dwarf2.c (comp_unit_contains_address): Comment typo fix.
5227130561Sobrien	* elf.c (get_program_header_size): Likewise.
5228130561Sobrien	* elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
5229130561Sobrien	(m32r_elf_generic_reloc): Likewise.
5230130561Sobrien	* elf32-ppc.c (ppc_elf_howto_init): Likewise.
5231130561Sobrien	* elflink.h (elf_bfd_discard_info): Likewise.
5232130561Sobrien
5233130561Sobrien2002-12-12  Alan Modra  <amodra@bigpond.net.au>
5234130561Sobrien
5235130561Sobrien	* elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
5236130561Sobrien	to DT_JMPREL.  Use srelplt input section size for DT_PLTRELSZ and
5237130561Sobrien	DT_RELSZ adjustment, not output section.  Avoid writing tags when
5238130561Sobrien	unchanged.  Don't assume linker script is sane, adjust DT_REL too.
5239130561Sobrien	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
5240130561Sobrien	size of srelplt for DT_PLTRELSZ.  Use srelplt input section size for
5241130561Sobrien	DT_RELASZ adjustment, not output section.  Avoid writing tags when
5242130561Sobrien	unchanged.  Adjust DT_RELA.
5243130561Sobrien	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
5244130561Sobrien	formatting.  Avoid writing tags when unchanged.  Adjust DT_RELA.
5245130561Sobrien
5246130561Sobrien2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5247130561Sobrien
5248130561Sobrien	* elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
5249130561Sobrien	addend by 4.
5250130561Sobrien
5251130561Sobrien2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5252130561Sobrien
5253130561Sobrien	* elfxx-mips.c (struct mips_got_entry): New.
5254130561Sobrien	(struct mips_got_info): Added got_entries field.
5255130561Sobrien	(mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
5256130561Sobrien	(mips_elf_local_got_index, mips_elf_got_page,
5257130561Sobrien	mips_elf_got16_entry): Re-implement in terms of new...
5258130561Sobrien	(mips_elf_create_local_got_entry): Rewrite to use got_entries.
5259130561Sobrien	Change return type.
5260130561Sobrien	(mips_elf_highest): Warning clean-up.
5261130561Sobrien	(mips_elf_create_got_section): Initialize got_entries.
5262130561Sobrien	(_bfd_mips_elf_check_relocs): Use got_entries to estimate
5263130561Sobrien	local got size.
5264130561Sobrien	(_bfd_mips_elf_size_dynamic_sections): Do not account for
5265130561Sobrien	GOT_PAGE entries, since we now reuse GOT16 entries.
5266130561Sobrien
5267130561Sobrien2002-12-10  Jason Thorpe  <thorpej@wasabisystems.com>
5268130561Sobrien
5269130561Sobrien	* aoutx.h (set_section_contents): Allow an otherwise unrepresentable
5270130561Sobrien	read-only section that lies after .text and before .data to be
5271130561Sobrien	written into the output file and included in a_text.
5272130561Sobrien	(translate_to_native_sym_flags): If an otherwise unrepresentable
5273130561Sobrien	section was merged with .text, convert its symbols to N_TEXT
5274130561Sobrien	symbols.
5275130561Sobrien	* libaout.h (aout_section_merge_with_text_p): New macro.
5276130561Sobrien
5277130561Sobrien2002-12-08  Alan Modra  <amodra@bigpond.net.au>
5278130561Sobrien
5279130561Sobrien	* bfd-in.h: Comment typo fix.  Formatting.
5280130561Sobrien	* bfd-in2.h: Regenerate.
5281130561Sobrien	* coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
5282130561Sobrien	* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
5283130561Sobrien	* elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
5284130561Sobrien
5285130561Sobrien2002-12-05  Richard Henderson  <rth@redhat.com>
5286130561Sobrien
5287130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
5288130561Sobrien	Only send PCREL21B though the plt.  Fix installed reloc type.
5289130561Sobrien	(elfNN_ia64_relocate_section): Give error for dynamic reloc
5290130561Sobrien	against PCREL22 or PCREL64I; clean up error messages for
5291130561Sobrien	branch relocs.
5292130561Sobrien
5293130561Sobrien2002-12-04  Kevin Buettner  <kevinb@redhat.com>
5294130561Sobrien
5295130561Sobrien	* elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
5296130561Sobrien	New functions.
5297130561Sobrien	(elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
5298130561Sobrien
5299130561Sobrien2002-12-04  David Mosberger  <davidm@hpl.hp.com>
5300130561Sobrien
5301130561Sobrien	* cpu-ia64-opc.c: Add operand constant "ar.csd".
5302130561Sobrien
5303130561Sobrien2002-12-04  H.J. Lu <hjl@gnu.org>
5304130561Sobrien
5305130561Sobrien	* elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
5306130561Sobrien	BFD address when constructing local name.
5307130561Sobrien
5308130561Sobrien2002-12-04  Andreas Schwab  <schwab@suse.de>
5309130561Sobrien
5310130561Sobrien	* elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
5311130561Sobrien	member.
5312130561Sobrien	(elf_m68k_link_hash_table_create): Initialize it.
5313130561Sobrien	(elf_m68k_check_relocs): Handle symbols that are forced to be
5314130561Sobrien	local due to visibility changes.
5315130561Sobrien	(elf_m68k_adjust_dynamic_symbol): Likewise.
5316130561Sobrien	(elf_m68k_size_dynamic_sections): Likewise.
5317130561Sobrien	(elf_m68k_discard_copies): Likewise.
5318130561Sobrien	(elf_m68k_relocate_section): Likewise.
5319130561Sobrien
5320130561Sobrien2002-12-04  Alan Modra  <amodra@bigpond.net.au>
5321130561Sobrien
5322130561Sobrien	* elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
5323130561Sobrien
5324130561Sobrien2002-12-04  Alan Modra  <amodra@bigpond.net.au>
5325130561Sobrien
5326130561Sobrien	* srec.c (srec_write_symbols): Restore '$' prefix to address
5327130561Sobrien	accidentally removed in 2002-04-04 change.
5328130561Sobrien	(srec_get_symtab): Use 0 instead of `(long) FALSE'.
5329130561Sobrien
5330130561Sobrien2002-12-03  Nick Clifton  <nickc@redhat.com>
5331130561Sobrien
5332130561Sobrien	* elf32-ppc.c (apuinfo_list_init): New function.
5333130561Sobrien	(apuinfo_list_add): New function: Add a value to the list.
5334130561Sobrien	(apuinfo_list_length): New function: Return the number of
5335130561Sobrien	values on the list.
5336130561Sobrien	(apuinfo_list_element): New function: Return a value on the
5337130561Sobrien	list.
5338130561Sobrien	(apuinfo_list_finish): New function: Free the resources used
5339130561Sobrien	by the list.
5340130561Sobrien	(ppc_elf_begin_write_processing): New function.  Scan the
5341130561Sobrien	input bfds for apuinfo sections.
5342130561Sobrien	(ppc_elf_write_section): New function: Delay the creation of
5343130561Sobrien	the contents of an apuinfo section in an output bfd.
5344130561Sobrien	(ppc_elf_final_write_processing): New function.  Create the
5345130561Sobrien	contents of an apuinfo section in an output bfd.
5346130561Sobrien	(elf_backend_begin_write_processing): Define.
5347130561Sobrien	(elf_backend_final_write_processing): Define.
5348130561Sobrien	(elf_backend_write_section): Define.
5349130561Sobrien
5350130561Sobrien2002-12-03  Richard Henderson  <rth@redhat.com>
5351130561Sobrien
5352130561Sobrien	* cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
5353130561Sobrien
5354130561Sobrien2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
5355130561Sobrien
5356130561Sobrien	Fix PR savannah/1417:
5357130561Sobrien	* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
5358130561Sobrien	branch if it goes to the start of the deleted region.
5359130561Sobrien
5360130561Sobrien2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
5361130561Sobrien
5362130561Sobrien	* bfd-in2.h (bfd_mach_m6812): Rebuild.
5363130561Sobrien	* archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
5364130561Sobrien	bfd_mach_m6812s): Declare.
5365130561Sobrien
5366130561Sobrien	* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
5367130561Sobrien	(_bfd_m68hc12_elf_set_private_flags): Call it.
5368130561Sobrien	(_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
5369130561Sobrien	(_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
5370130561Sobrien	report microcontroller incompatibilities (HC12 vs HCS12).
5371130561Sobrien	(elf_backend_object_p): Update.
5372130561Sobrien
5373130561Sobrien2002-11-30  Alan Modra  <amodra@bigpond.net.au>
5374130561Sobrien
5375130561Sobrien	* bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
5376130561Sobrien	(enum bfd_boolean, boolean): Delete.
5377130561Sobrien	(bfd_boolean): Typedef to an int.
5378130561Sobrien	(FALSE, TRUE): Define.
5379130561Sobrien	* aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
5380130561Sobrien	aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
5381130561Sobrien	aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
5382130561Sobrien	binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
5383130561Sobrien	coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
5384130561Sobrien	coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
5385130561Sobrien	coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
5386130561Sobrien	coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
5387130561Sobrien	coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
5388130561Sobrien	coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
5389130561Sobrien	corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
5390130561Sobrien	cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
5391130561Sobrien	cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
5392130561Sobrien	cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
5393130561Sobrien	cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
5394130561Sobrien	cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
5395130561Sobrien	cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
5396130561Sobrien	cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
5397130561Sobrien	cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
5398130561Sobrien	cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
5399130561Sobrien	dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
5400130561Sobrien	elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
5401130561Sobrien	elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
5402130561Sobrien	elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
5403130561Sobrien	elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
5404130561Sobrien	elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
5405130561Sobrien	elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
5406130561Sobrien	elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
5407130561Sobrien	elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
5408130561Sobrien	elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
5409130561Sobrien	elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
5410130561Sobrien	elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
5411130561Sobrien	elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
5412130561Sobrien	elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
5413130561Sobrien	elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
5414130561Sobrien	elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
5415130561Sobrien	hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
5416130561Sobrien	i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
5417130561Sobrien	libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
5418130561Sobrien	libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
5419130561Sobrien	m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
5420130561Sobrien	mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
5421130561Sobrien	nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
5422130561Sobrien	pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
5423130561Sobrien	pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
5424130561Sobrien	pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
5425130561Sobrien	reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
5426130561Sobrien	som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
5427130561Sobrien	syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
5428130561Sobrien	vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
5429130561Sobrien	xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
5430130561Sobrien	bfd_boolean, true with TRUE, false with FALSE.  Simplify comparisons
5431130561Sobrien	of bfd_boolean vars with TRUE/FALSE.  Formatting.
5432130561Sobrien	* bfd-in2.h, libbfd.h, libcoff.h: Regenerate
5433130561Sobrien
5434130561Sobrien2002-11-28  Alan Modra  <amodra@bigpond.net.au>
5435130561Sobrien
5436130561Sobrien	* elf-bfd.h: Replace occurrences of Elf32_Internal_* and
5437130561Sobrien	Elf64_Internal_* with Elf_Internal_*.  Replace Elf_Internal_Rel
5438130561Sobrien	with Elf_Internal_Rela.
5439130561Sobrien	* elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
5440130561Sobrien	elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
5441130561Sobrien	elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
5442130561Sobrien	elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
5443130561Sobrien	elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
5444130561Sobrien	elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
5445130561Sobrien	elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
5446130561Sobrien	elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
5447130561Sobrien	elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
5448130561Sobrien	elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
5449130561Sobrien	elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
5450130561Sobrien	* elf-hppa.h (elf_hppa_internal_shdr): Delete.  Use Elf_Internal_Shdr
5451130561Sobrien	throughout instead.
5452130561Sobrien	* elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
5453130561Sobrien	* elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
5454130561Sobrien	Remove INLINE keyword.
5455130561Sobrien	(elf_swap_reloc_in): Likewise.  Also clear r_addend.
5456130561Sobrien	(elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
5457130561Sobrien	as a bfd_byte *.
5458130561Sobrien	(elf_write_relocs): Consolidate REL and RELA code.
5459130561Sobrien	(elf_slurp_reloc_table_from_section): Simplify REL code.
5460130561Sobrien	(NAME(_bfd_elf,size_info)): Populate reloc swap entries.
5461130561Sobrien	* elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
5462130561Sobrien	* elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
5463130561Sobrien	RELA code.
5464130561Sobrien	(elf_link_adjust_relocs): Likewise.  Don't malloc space for temp
5465130561Sobrien	reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
5466130561Sobrien	(elf_link_output_relocs): Likewise.
5467130561Sobrien	(elf_reloc_link_order): Likewise.
5468130561Sobrien	(elf_finish_pointer_linker_section): Likewise.
5469130561Sobrien	(struct elf_link_sort_rela): Remove union.
5470130561Sobrien	(elf_link_sort_cmp1): Update to suit.
5471130561Sobrien	(elf_link_sort_cmp2): Here too.
5472130561Sobrien	(elf_link_sort_relocs): Consolidate REL and RELA code.  Fix memory
5473130561Sobrien	over-allocation for int_rels_per_ext_rel != 1 case.
5474130561Sobrien	* elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
5475130561Sobrien	* elf32-i386.c: Likewise.
5476130561Sobrien	* elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
5477130561Sobrien	* elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
5478130561Sobrien	elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
5479130561Sobrien	* elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
5480130561Sobrien	* elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
5481130561Sobrien	elf64-sparc.c, elf64-x86-64.c: Likewise.
5482130561Sobrien	* elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
5483130561Sobrien	* elfxx-mips.c (sort_dynamic_relocs): Likewise for
5484130561Sobrien	bfd_elf32_swap_reloc_in.
5485130561Sobrien
5486130561Sobrien	* elf32-arm.h: Update elf32_arm_info_to_howto calls.
5487130561Sobrien	* elf32-mips.c: Likewise for mips_info_to_howto_rel.
5488130561Sobrien	(mips_elf64_swap_reloc_in): Zero r_addend.
5489130561Sobrien	(mips_elf64_be_swap_reloc_in): Likewise.
5490130561Sobrien	(mips_elf64_slurp_one_reloc_table): Simplify.
5491130561Sobrien
5492130561Sobrien	* elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
5493130561Sobrien	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
5494130561Sobrien	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
5495130561Sobrien
5496130561Sobrien2002-11-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5497130561Sobrien
5498130561Sobrien	* elf32-sh.c (sh_elf_relocate_section): Don't complain about
5499130561Sobrien	unresolved debugging relocs in dynamic applications.
5500130561Sobrien	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
5501130561Sobrien
5502130561Sobrien2002-11-26  Alan Modra  <amodra@bigpond.net.au>
5503130561Sobrien
5504130561Sobrien	* elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
5505130561Sobrien	(_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
5506130561Sobrien	on a relocatable link.  Comment typos.
5507130561Sobrien	* elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
5508130561Sobrien	in the order they are declared.  Clear elf_hash_value too.
5509130561Sobrien	(_bfd_elf_link_hash_table_init): Likewise assign in order.  Clear
5510130561Sobrien	eh_info and tls_segment.
5511130561Sobrien	* elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
5512130561Sobrien	sorted when discarding relocs by turning them into R_*_NONE.
5513130561Sobrien
5514130561Sobrien	* libbfd.c (warn_deprecated): Comment spelling.
5515130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
5516130561Sobrien
5517130561Sobrien2002-11-21  Richard Henderson  <rth@redhat.com>
5518130561Sobrien
5519130561Sobrien	* elflink.h (elf_link_add_object_symbols): Don't overwrite the
5520130561Sobrien	arch's st_other bits when merging visibilities.
5521130561Sobrien	(elf_link_output_extsym): Tidy clearing of visibility field.
5522130561Sobrien
5523130561Sobrien2002-11-21  Alan Modra  <amodra@bigpond.net.au>
5524130561Sobrien
5525130561Sobrien	* coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
5526130561Sobrien	(SWAP_OUT_RELOC_OFFSET): Define.
5527130561Sobrien
5528130561Sobrien2002-11-20  Alexandre Oliva  <aoliva@redhat.com>
5529130561Sobrien
5530130561Sobrien	* elf.c (_bfd_elf_link_hash_table_init): Make sure
5531130561Sobrien	can_refcount is properly extended to the type of
5532130561Sobrien	init_refcount.
5533130561Sobrien
5534130561Sobrien2002-11-19  Alexandre Oliva  <aoliva@redhat.com>
5535130561Sobrien
5536130561Sobrien	* elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
5537130561Sobrien	(_bfd_mips_elf_relocate_section): Use it.
5538130561Sobrien
5539130561Sobrien	* elfxx-mips.c (MNAME): New macro.
5540130561Sobrien	(_bfd_mips_elf_check_relocs): Use it.
5541130561Sobrien	(_bfd_mips_elf_discard_info): Likewise.
5542130561Sobrien	(_bfd_mips_elf_final_link): Likewise.
5543130561Sobrien
5544130561Sobrien2002-11-19  Alan Modra  <amodra@bigpond.net.au>
5545130561Sobrien
5546130561Sobrien	* elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
5547130561Sobrien	rel_hdr.sh_size too.
5548130561Sobrien
5549130561Sobrien2002-11-18  Klee Dienes  <kdienes@apple.com>
5550130561Sobrien
5551130561Sobrien	* Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
5552130561Sobrien	(BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
5553130561Sobrien	(BFD_H_FILES): Add bfdwin.c, bfdio.c.
5554130561Sobrien	(LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
5555130561Sobrien	Add dependencies for bfdwin.c, bfdio.c.
5556130561Sobrien	* bfd.c: Remove bfd_get_mtime, bfd_get_size.
5557130561Sobrien	* libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
5558130561Sobrien	bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
5559130561Sobrien	bfd_tell, bfd_flush, bfd_stat, bfd_seek.
5560130561Sobrien	* bfdio.c: New file.  Contains real_read, bfd_bread, bfd_write,
5561130561Sobrien	bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
5562130561Sobrien	bfd_get_size (moved from libbfd.c and bfd.c).
5563130561Sobrien	* bfdwin.c New file.  Contains _bfd_window_internal,
5564130561Sobrien	bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
5565130561Sobrien	libbfd.c and bfd.c).
5566130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
5567130561Sobrien	* po/bfd.pot: Regenerate.
5568130561Sobrien	* libbfd.h: Regenerate.
5569130561Sobrien	* bfd-in2.h: Regenerate.
5570130561Sobrien	* aclocal.m4: Regenerate.
5571130561Sobrien	* Makefile.in: Regenerate.
5572130561Sobrien	* configure: Regenerate.
5573130561Sobrien
5574130561Sobrien2002-11-18  Klee Dienes  <kdienes@apple.com>
5575130561Sobrien
5576130561Sobrien	* bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
5577130561Sobrien
5578130561Sobrien2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5579130561Sobrien
5580130561Sobrien	* coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
5581130561Sobrien	jsr after a short jump.
5582130561Sobrien	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
5583130561Sobrien
5584130561Sobrien2002-11-15  Klee Dienes  <kdienes@apple.com>
5585130561Sobrien
5586130561Sobrien	* pef.c (bfd_pef_convert_architecture): Move declaration of
5587130561Sobrien	ARCH_POWERPC and ARCH_M68K to the start of the function.
5588130561Sobrien
5589130561Sobrien2002-11-14  Svein E. Seldal  <Svein.Seldal@solidas.com>
5590130561Sobrien
5591130561Sobrien	* coff-tic4x.c (tic4x_howto_table): Formatting fixup
5592130561Sobrien
5593130561Sobrien2002-11-14  Hans-Peter Nilsson  <hp@bitrange.com>
5594130561Sobrien
5595130561Sobrien	* elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
5596130561Sobrien	For bpo_gregs_section->contents, allocate _raw_size, not
5597130561Sobrien	_cooked_size.
5598130561Sobrien
5599130561Sobrien2002-11-13  Klee Dienes  <kdienes@apple.com>
5600130561Sobrien
5601130561Sobrien	* config.bfd: Add entries for powerpc-*-darwin and cousins.
5602130561Sobrien
5603130561Sobrien2002-11-13  H.J. Lu <hjl@gnu.org>
5604130561Sobrien
5605130561Sobrien	* elfcode.h (elf_object_p): Don't restore abfd->arch_info.
5606130561Sobrien
5607130561Sobrien2002-11-13  Klee Dienes  <kdienes@apple.com>
5608130561Sobrien	    Alan Modra  <amodra@bigpond.net.au>
5609130561Sobrien
5610130561Sobrien	* bfd.c (struct bfd_preserve): New.
5611130561Sobrien	(bfd_preserve_save): New function.
5612130561Sobrien	(bfd_preserve_restore): Ditto.
5613130561Sobrien	(bfd_preserve_finish): Ditto.
5614130561Sobrien	* bfd-in2.h: Regenerate.
5615130561Sobrien	* mach-o.c: Formatting.
5616130561Sobrien	(bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
5617130561Sobrien	(bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
5618130561Sobrien	(bfd_mach_o_core_p): Ditto.
5619130561Sobrien	(bfd_mach_o_scan): Pass in mdata.
5620130561Sobrien	* mach-o.h (bfd_mach_o_scan): Update prototype.
5621130561Sobrien	* pef.c: Formatting.
5622130561Sobrien	(bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
5623130561Sobrien	(bfd_pef_xlib_object_p): Ditto.
5624130561Sobrien	(bfd_pef_scan): Pass in mdata.  Move version check to bfd_pef_object_p.
5625130561Sobrien	* pef.h (bfd_pef_scan): Update prototype.
5626130561Sobrien	* xsym.c: Formatting, K&R fixes.
5627130561Sobrien	(bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
5628130561Sobrien	(bfd_sym_scan): New function split out from bfd_sym_object_p.
5629130561Sobrien	* xsym.h (bfd_sym_scan): Declare.
5630130561Sobrien	* elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
5631130561Sobrien	* elfcore.h (elf_core_file_p): Likewise.
5632130561Sobrien	* targets.c (_bfd_target_vector): Revert 2002-11-08 change.
5633130561Sobrien
5634130561Sobrien2002-11-12  Nick Clifton  <nickc@redhat.com>
5635130561Sobrien
5636130561Sobrien	* po/da.po: Updated Danish translation.
5637130561Sobrien
5638130561Sobrien2002-11-12  Alan Modra  <amodra@bigpond.net.au>
5639130561Sobrien
5640130561Sobrien	* elflink.h (elf_link_add_object_symbols): Optimize stabs for
5641130561Sobrien	relocatable link too.
5642130561Sobrien	(elf_link_input_bfd): When emitting relocs, adjust offsets for
5643130561Sobrien	eh_frame and stab sections.  Zap deleted relocs.
5644130561Sobrien	(elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
5645130561Sobrien	(elf_bfd_discard_info): Run for relocatable link too.
5646130561Sobrien	* elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd.  Make global.
5647130561Sobrien	Handle ld -r case.
5648130561Sobrien	(ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
5649130561Sobrien	* elf64-ppc.h (ppc64_elf_edit_opd): Declare.
5650130561Sobrien
5651130561Sobrien	* elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
5652130561Sobrien	(struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
5653130561Sobrien	(struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
5654130561Sobrien	(enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
5655130561Sobrien	(struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
5656130561Sobrien	(struct elf_link_hash_table): Add eh_info.
5657130561Sobrien	(struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
5658130561Sobrien	(_bfd_elf_discard_section_eh_frame): Update prototype.
5659130561Sobrien	(_bfd_elf_discard_section_eh_frame_hdr): Likewise.
5660130561Sobrien	(_bfd_elf_write_section_eh_frame): Likewise.
5661130561Sobrien	(_bfd_elf_write_section_eh_frame_hdr): Likewise.
5662130561Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
5663130561Sobrien	param.  Get "hdr_info" from link hash table.
5664130561Sobrien	(_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param.  Get
5665130561Sobrien	header section from link hash table.  Save header section to elf_tdata.
5666130561Sobrien	(_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec".  Use
5667130561Sobrien	header section from link hash table.  Don't alloc hdr_info.  Clear
5668130561Sobrien	hdr_sec instead of setting "strip".
5669130561Sobrien	(_bfd_elf_eh_frame_section_offset): Formatting.
5670130561Sobrien	(_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
5671130561Sobrien	Get header section from link hash table.
5672130561Sobrien	(_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
5673130561Sobrien	Get header section from link hash table.
5674130561Sobrien	* elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
5675130561Sobrien	(get_program_header_size): Likewise.
5676130561Sobrien	(_bfd_elf_section_offset): Formatting.
5677130561Sobrien	* elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
5678130561Sobrien	section pointer in link hash table.
5679130561Sobrien	(elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
5680130561Sobrien	and _bfd_elf_write_section_eh_frame calls.  Update comment about
5681130561Sobrien	eh_frame entries.
5682130561Sobrien	(elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
5683130561Sobrien	_bfd_elf_discard_section_eh_frame_hdr calls.  Remove "ehdr".
5684130561Sobrien
5685130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
5686130561Sobrien
5687130561Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
5688130561Sobrien	relocs for discarded FDEs.  Remove dead code.
5689130561Sobrien	(_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
5690130561Sobrien	* elflink.h (elf_bfd_discard_info): Don't save edited relocs.
5691130561Sobrien	Tidy conditions under which stabs are edited.  Formatting.
5692130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
5693130561Sobrien	from discarded relocs.
5694130561Sobrien	* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
5695130561Sobrien	section adjustments after testing magic values.
5696130561Sobrien
5697130561Sobrien2002-11-12  Thomas Moestl <tmm@FreeBSD.org>
5698130561Sobrien
5699130561Sobrien	* elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
5700130561Sobrien	references to large plt symbols.
5701130561Sobrien
5702130561Sobrien2002-11-12  Klee Dienes  <kdienes@apple.com>
5703130561Sobrien
5704130561Sobrien	* mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
5705130561Sobrien	looking for an unused section name.
5706130561Sobrien
5707130561Sobrien2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5708130561Sobrien
5709130561Sobrien	* coff-h8300.c: Fix formatting.
5710130561Sobrien	* elf32-h8300.c: Likewise.
5711130561Sobrien	* reloc16.c: Likewise.
5712130561Sobrien
5713130561Sobrien2002-11-09  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5714130561Sobrien
5715130561Sobrien	* elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
5716130561Sobrien	section when dynamic section unused;  _bfd_strip_section_from_output
5717130561Sobrien	instead.
5718130561Sobrien
5719130561Sobrien2002-11-08  Alan Modra  <amodra@bigpond.net.au>
5720130561Sobrien
5721130561Sobrien	* targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
5722130561Sobrien	and sym_vec.
5723130561Sobrien
5724130561Sobrien	* dwarf2.c: Revert last change.
5725130561Sobrien
5726130561Sobrien2002-11-07  Michal Ludvig  <mludvig@suse.cz>
5727130561Sobrien
5728130561Sobrien	* dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
5729130561Sobrien	_bfd_dwarf2_find_nearest_line): Use
5730130561Sobrien	bfd_simple_get_relocated_section_contents() instead of
5731130561Sobrien	bfd_get_section_contents().
5732130561Sobrien	* reloc.c (bfd_perform_relocation): Add sanity check.
5733130561Sobrien	* simple.c (simple_get_relocated_section_contents): If the section
5734130561Sobrien	does not have any relocs associated with it, just return the
5735130561Sobrien	unadjusted contents.
5736130561Sobrien
5737130561Sobrien2002-11-07  Hans-Peter Nilsson  <hp@axis.com>
5738130561Sobrien
5739130561Sobrien	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
5740130561Sobrien	case R_CRIS_32_GOT>: Correct test for filling in constant .got
5741130561Sobrien	contents, enabling for a non-DSO, for symbols defined in the
5742130561Sobrien	program with --export-dynamic.
5743130561Sobrien
5744130561Sobrien2002-11-07  Alan Modra  <amodra@bigpond.net.au>
5745130561Sobrien
5746130561Sobrien	* elf64-ppc.c: Comment typo fixes.
5747130561Sobrien	(ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
5748130561Sobrien
5749130561Sobrien2002-11-07  Nick Clifton  <nickc@redhat.com>
5750130561Sobrien
5751130561Sobrien	* po/da.po: Updated Danish translation.
5752130561Sobrien
5753130561Sobrien2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5754130561Sobrien
5755130561Sobrien	* elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
5756130561Sobrien	exactly three internal relocs per external reloc.  Set reloc_count
5757130561Sobrien	to the external reloc count.
5758130561Sobrien
5759130561Sobrien2002-11-06  Klee Dienes  <kdienes@apple.com>
5760130561Sobrien
5761130561Sobrien	 * coff-stgo32.c (stub_bytes): Mark as const.
5762130561Sobrien	 Fix comment formatting.
5763130561Sobrien
5764130561Sobrien2002-11-06  Klee Dienes  <kdienes@apple.com>
5765130561Sobrien
5766130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
5767130561Sobrien	xsym.lo.
5768130561Sobrien	(BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
5769130561Sobrien	(SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
5770130561Sobrien	* archures.c (enum bfd_architecture): Add bfd_arch_m98k.
5771130561Sobrien	* bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
5772130561Sobrien	* targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
5773130561Sobrien	sym.
5774130561Sobrien	(_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
5775130561Sobrien	* Makefile.in: Regenerate.
5776130561Sobrien	* doc/Makefile.in: Regenerate.
5777130561Sobrien	* bfd-in2.h: Regenerate.
5778130561Sobrien	* xsym.c: New file.  Contains support for the Apple/Metrowerks
5779130561Sobrien	xSYM debugging format.
5780130561Sobrien	* xsym.h: New file.
5781130561Sobrien	* pef.c: New file.  Contains support for the Apple Code Fragment
5782130561Sobrien	Manager Preferred Executable Format
5783130561Sobrien	* pef.h: New file.
5784130561Sobrien	* pef-traceback.h: New file.  Contains support for parsing PowerPC
5785130561Sobrien	traceback tables as used by PEF executables (and perhaps other
5786130561Sobrien	systems as well).
5787130561Sobrien	* mach-o.c: New file.  Contains support for the Mach-O object file
5788130561Sobrien	format.
5789130561Sobrien	* mach-o.h: New file.
5790130561Sobrien	* mach-o-target.c: New file.  Declares the mach-o targets
5791130561Sobrien	themselves.  Included three times by mach-o.c; each time with a
5792130561Sobrien	different set of macros set.
5793130561Sobrien
5794130561Sobrien2002-11-06  Graeme Peterson  <gp@qnx.com>
5795130561Sobrien
5796130561Sobrien	* Makefile.am: Remove entries for elf32-qnx.[ch].
5797130561Sobrien	* Makefile.in: Regenerate.
5798130561Sobrien	* config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
5799130561Sobrien	ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
5800130561Sobrien	bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
5801130561Sobrien	* configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
5802130561Sobrien	bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
5803130561Sobrien	and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
5804130561Sobrien	bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
5805130561Sobrien	* configure: Regenerate.
5806130561Sobrien	* elf32-qnx.c: Remove.
5807130561Sobrien	* elf32-qnx.h: Remove.
5808130561Sobrien	* elf.c: Remove calls to QNX specific set_nonloadable_filepos,
5809130561Sobrien	is_contained_by_filepos, and copy_private_bfd_data_p.
5810130561Sobrien	* elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
5811130561Sobrien	is_contained_by_filepos, and copy_private_bfd_data_p.
5812130561Sobrien	* elf32-i386.c: Remove QNX extended bfd support.
5813130561Sobrien	* elf32-ppc.c: Remove QNX extended bfd support.
5814130561Sobrien	* elf32-sh.c: Remove QNX extended bfd support.
5815130561Sobrien	* elfarm-nabi.c: Remove QNX extended bfd support.
5816130561Sobrien	* targets.c: Remove qnx vectors.
5817130561Sobrien	* elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
5818130561Sobrien	(elf_backend_is_contained_by_filepos): Remove.
5819130561Sobrien	(elf_backend_copy_private_bfd_data_p): Remove.
5820130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
5821130561Sobrien
5822130561Sobrien2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5823130561Sobrien	    Alan Modra  <amodra@bigpond.net.au>
5824130561Sobrien
5825130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
5826130561Sobrien	dynamic relocs against section symbols for the output section vma.
5827130561Sobrien
5828130561Sobrien2002-11-05  Alan Modra  <amodra@bigpond.net.au>
5829130561Sobrien
5830130561Sobrien	* elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
5831130561Sobrien	t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
5832130561Sobrien
5833130561Sobrien2002-11-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5834130561Sobrien	    Alan Modra  <amodra@bigpond.net.au>
5835130561Sobrien
5836130561Sobrien	* config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
5837130561Sobrien	vectors in target_selvecs.
5838130561Sobrien	(shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
5839130561Sobrien	in target_selvecs.
5840130561Sobrien	(sh-*-netbsdelf*): Likewise.
5841130561Sobrien	* configure.in (assocvecs): New variable.  Handle assocvecs like
5842130561Sobrien	selvecs.
5843130561Sobrien	* configure: Regenerate.
5844130561Sobrien	* format.c (bfd_check_format_matches): Store bfd_target pointers
5845130561Sobrien	in matching_vector instead of target names.  Select first target
5846130561Sobrien	from bfd_associated_vector that matches a list of ambiguous targets.
5847130561Sobrien	* targets.c (_bfd_associated_vector): New array.
5848130561Sobrien	(bfd_associated_vector): New variable.
5849130561Sobrien	(_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
5850130561Sobrien	* libbfd-in.h (bfd_associated_vector): Declare.
5851130561Sobrien	* libbfd.h: Regenerate.
5852130561Sobrien
5853130561Sobrien2002-11-05  Elias Athanasopoulos  <eathan@otenet.gr>
5854130561Sobrien
5855130561Sobrien	* vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
5856130561Sobrien	non-NULL before dereferencing.
5857130561Sobrien
5858130561Sobrien2002-11-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5859130561Sobrien
5860130561Sobrien	* vms.c (vms_object_p): Restore the start address when returning
5861130561Sobrien	NULL.
5862130561Sobrien
5863130561Sobrien2002-11-04  Alan Modra  <amodra@bigpond.net.au>
5864130561Sobrien	    Hans-Peter Nilsson  <hp@axis.com>
5865130561Sobrien
5866130561Sobrien	* elflink.h (struct elf_final_link_info): Add shndxbuf_size.
5867130561Sobrien	(elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
5868130561Sobrien	Set up a larger symshndxbuf, and write it out.  Free it on
5869130561Sobrien	exit rather than freeing symbuf twice.  Correct section index
5870130561Sobrien	on output section symbol loop.
5871130561Sobrien	(elf_link_output_sym): Accumulate symbol extension section
5872130561Sobrien	indices, reallocating symshndxbuf rather than writing it out.
5873130561Sobrien	(elf_link_flush_output_syms): Don't flush symshndxbuf.
5874130561Sobrien	* elf.c (assign_section_numbers): Init i_shdrp to all zero.
5875130561Sobrien	Use bfd_zalloc to clear i_shdrp[0] too.
5876130561Sobrien
5877130561Sobrien2002-11-03  Stephen Clarke <stephen.clarke@earthling.net>
5878130561Sobrien
5879130561Sobrien	 * elf32-sh64-com.c (sh64_address_in_cranges): Use
5880130561Sobrien	_raw_size of cranges section if _cooked_size not yet set.
5881130561Sobrien
5882130561Sobrien2002-11-03  Hans-Peter Nilsson  <hp@axis.com>
5883130561Sobrien
5884130561Sobrien	* elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
5885130561Sobrien	for bfd_elf32_swap_symbol_out.
5886130561Sobrien
5887130561Sobrien2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5888130561Sobrien
5889130561Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
5890130561Sobrien	signed and unsigned in comparison.
5891130561Sobrien
5892130561Sobrien2002-10-30  Daniel Jacobowitz  <drow@mvista.com>
5893130561Sobrien
5894130561Sobrien	* coffcode.h: Remove extraneous '\'.
5895130561Sobrien
5896130561Sobrien2002-10-28  H.J. Lu <hjl@gnu.org>
5897130561Sobrien
5898130561Sobrien	* Makefile.am (targets.lo): Depend on Makefile instead of
5899130561Sobrien	config.status.
5900130561Sobrien	(archures.lo): Likewise.
5901130561Sobrien	* Makefile.in: Regenerated.
5902130561Sobrien
5903130561Sobrien2002-10-25  Jason Thorpe  <thorpej@wasabisystems.com>
5904130561Sobrien
5905130561Sobrien	* config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
5906130561Sobrien	bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
5907130561Sobrien	targ_selvecs.
5908130561Sobrien
5909130561Sobrien2002-10-25  Jim Wilson  <wilson@redhat.com>
5910130561Sobrien
5911130561Sobrien	* elf64-sh64.c (sh_elf64_relocate_section): Call
5912130561Sobrien	_bfd_elf_rela_local_sym.  Handle relocs against STT_SECTION symbol
5913130561Sobrien	of SHF_MERGE section.
5914130561Sobrien
5915130561Sobrien2002-10-25  Hans-Peter Nilsson  <hp@axis.com>
5916130561Sobrien
5917130561Sobrien	* simple.c: Correct placement of ATTRIBUTE_UNUSED.
5918130561Sobrien
5919130561Sobrien2002-10-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5920130561Sobrien
5921130561Sobrien	* aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
5922130561Sobrien	unsigned int.  Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
5923130561Sobrien	unsigned int.
5924130561Sobrien	(NAME(aout,final_link)): Cast enum used in assignment.
5925130561Sobrien	(aout_link_write_symbols): Cast enums in comparisons, int values to
5926130561Sobrien	boolean, enums in assignments to int.
5927130561Sobrien	(aout_link_input_section_std): Cast rel->r_index to unsigned int.
5928130561Sobrien	(aout_link_input_section_ext): Likewise.  Cast enums used in
5929130561Sobrien	comparisons with unsigned ints.
5930130561Sobrien	(aout_link_reloc_link_order): Cast enum to int in assignment.
5931130561Sobrien	* archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
5932130561Sobrien	calls to char *.
5933130561Sobrien	* bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
5934130561Sobrien	assignment.
5935130561Sobrien	* bfd-in2.h (bfd_set_section_vma): Likewise.
5936130561Sobrien	* bfd.c (bfd_record_phdr): Cast enums in assignments.
5937130561Sobrien	* binary.c (bfd_alloc): Cast enum to long.
5938130561Sobrien	* coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
5939130561Sobrien	* dwarf2.c (read_abbrevs): Add casts to enum types.
5940130561Sobrien	(read_attribute_value): Likewise.
5941130561Sobrien	(arange_add): Cast result of bfd_zalloc call.
5942130561Sobrien	(comp_unit_contains_address): Return true and false.
5943130561Sobrien	(comp_unit_find_nearest_line): Cast return to boolean.
5944130561Sobrien	* format.c (bfd_check_format_matches, bfd_set_format): Likewise.
5945130561Sobrien	* gen-aout.c: define macro '_' if not defined.
5946130561Sobrien	* libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
5947130561Sobrien	(bfd_bwrite): Cast bfd_realloc to bfd_byte *.
5948130561Sobrien	(bfd_write_bigendian_4byte_int): Cast return to boolean.
5949130561Sobrien	(bfd_seek): Cast bfd_realloc to bfd_byte *.
5950130561Sobrien	(bfd_generic_is_local_label_name): Cast return to boolean.
5951130561Sobrien	* libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
5952130561Sobrien	* linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
5953130561Sobrien	struct bfd_hash_entry *.
5954130561Sobrien	(_bfd_generic_link_hash_newfunc): likewise.
5955130561Sobrien	(_bfd_generic_final_link): Cast enum to unsigned int.
5956130561Sobrien	* merge.c (sec_merge_emit): Cast return to boolean.
5957130561Sobrien	(merge_strings): Add casts to const unsigned char *.
5958130561Sobrien	* reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
5959130561Sobrien	(bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
5960130561Sobrien	* section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
5961130561Sobrien	to struct bfd_hash_entry *.
5962130561Sobrien	(bfd_set_section_content): Add cast to PTR in comparison.
5963130561Sobrien	* simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
5964130561Sobrien	simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
5965130561Sobrien	simple_dummy_unattached_reloc,
5966130561Sobrien	bfd_simple_get_relocated_section_contents): Add K&R declarations and
5967130561Sobrien	function definitions.
5968130561Sobrien	* srec.c (S3Forced): Initialize to false.
5969130561Sobrien	(srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
5970130561Sobrien	* stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
5971130561Sobrien	(_bfd_discard_section_stabs): Likewise.  Also cast return to boolean.
5972130561Sobrien	* syms.c (bfd_is_undefined_symclass): Cast return to boolean.
5973130561Sobrien	(_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
5974130561Sobrien	comparisons.
5975130561Sobrien
5976130561Sobrien2002-10-23  Jakub Jelinek  <jakub@redhat.com>
5977130561Sobrien
5978130561Sobrien	* elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
5979130561Sobrien	relocs into shared lib non-allocated reloc sections.
5980130561Sobrien
5981130561Sobrien2002-10-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
5982130561Sobrien
5983130561Sobrien	* dwarf2.c (add_line_info): Ensure that the line_info_table is
5984130561Sobrien	sorted even when given an out-of-order line sequence.
5985130561Sobrien	(lookup_address_in_line_info_table): When an exact VMA match is
5986130561Sobrien	not found, return line information with the closest VMA.
5987130561Sobrien
5988130561Sobrien2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
5989130561Sobrien
5990130561Sobrien	* elf64-hppa.c: Force DT_FLAGS to always be set.  Required by
5991130561Sobrien	HPUX 11.00 patch PHSS_26559.
5992130561Sobrien
5993130561Sobrien2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
5994130561Sobrien
5995130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
5996130561Sobrien	the options section into a separate section unless IRIX 6
5997130561Sobrien	compatibility is enabled.
5998130561Sobrien
5999130561Sobrien2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
6000130561Sobrien
6001130561Sobrien	* elflink.h (struct elf_link_sort_rela): Turn rel and rela
6002130561Sobrien	into arrays.
6003130561Sobrien	(elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
6004130561Sobrien	(elf_link_sort_relocs): Likewise.  Take int_rels_per_ext_rel
6005130561Sobrien	into account.
6006130561Sobrien	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
6007130561Sobrien	R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
6008130561Sobrien
6009130561Sobrien2002-10-21  Graeme Peterson  <gp@qnx.com>
6010130561Sobrien
6011130561Sobrien	* targets.c (_bfd_target_vector): Add missing qnx vectors.
6012130561Sobrien
6013130561Sobrien2002-10-21  Alan Modra  <amodra@bigpond.net.au>
6014130561Sobrien
6015130561Sobrien	* targets.c (bfd_target_list): Don't return the default target twice.
6016130561Sobrien
6017130561Sobrien2002-10-21  Elias Athanasopoulos  <eathan@otenet.gr>
6018130561Sobrien
6019130561Sobrien	* archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
6020130561Sobrien	perror with bfd_perror.
6021130561Sobrien
6022130561Sobrien2002-10-19  H.J. Lu <hjl@gnu.org>
6023130561Sobrien
6024130561Sobrien	* elflink.h (elf_link_add_object_symbols): Correctly handle
6025130561Sobrien	DT_RPATH and DT_RUNPATH.
6026130561Sobrien
6027130561Sobrien2002-10-19  Mark Kettenis  <kettenis@gnu.org>
6028130561Sobrien
6029130561Sobrien	* elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
6030130561Sobrien
6031130561Sobrien2002-10-17  Denis Chertykov  <denisc@overta.ru>
6032130561Sobrien
6033130561Sobrien	* elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
6034130561Sobrien	for ip2k port.
6035130561Sobrien
6036130561Sobrien2002-10-17  Alan Modra  <amodra@bigpond.net.au>
6037130561Sobrien
6038130561Sobrien	* elfxx-target.h (USE_REL): Don't define as 1.
6039130561Sobrien	* elf32-arm.h (USE_REL): Provide a default define of 0.
6040130561Sobrien	Use #if rather than #ifdef when testing USE_REL.
6041130561Sobrien	* elf32-m32r.c: Likewise.
6042130561Sobrien
6043130561Sobrien	* elf32-arc.c (USE_REL): Define as 1.
6044130561Sobrien	* elf32-d10v.c (USE_REL): Likewise.
6045130561Sobrien	* elf32-m32r.c (USE_REL): Likewise.
6046130561Sobrien	* elf32-m68hc11.c (USE_REL): Likewise.
6047130561Sobrien	* elf32-m68hc12.c (USE_REL): Likewise.
6048130561Sobrien	* elf32-or32.c (USE_REL): Likewise.
6049130561Sobrien	* elfarm-nabi.c (USE_REL): Likewise.
6050130561Sobrien
6051130561Sobrien2002-10-16  Jakub Jelinek  <jakub@redhat.com>
6052130561Sobrien
6053130561Sobrien	* config.bfd (s390-*-linux*): Add targ64_selvecs.
6054130561Sobrien	(s390x-*-linux*): Add targ_selvecs.
6055130561Sobrien
6056130561Sobrien2002-10-16  Alan Modra  <amodra@bigpond.net.au>
6057130561Sobrien
6058130561Sobrien	* Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
6059130561Sobrien	elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
6060130561Sobrien	elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
6061130561Sobrien	elf32-sh64-nbsd.lo, elf32-shqnx.lo.  Add elf32-qnx.lo.
6062130561Sobrien	(BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
6063130561Sobrien	(BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
6064130561Sobrien	(BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
6065130561Sobrien	(SOURCE_HFILES): Add elf32-qnx.h.
6066130561Sobrien	(BUILD_HFILES): Add bfdver.h.
6067130561Sobrien	Run "make dep-am".
6068130561Sobrien	* Makefile.in: Regenerate.
6069130561Sobrien	* configure.in Update bfd vector dependencies.
6070130561Sobrien	* configure: Regenerate.
6071130561Sobrien	* elf32-i386-fbsd.c: Delete.  Move code to elf32-i386.c.
6072130561Sobrien	* elf32-i386qnx.c: Likewise.
6073130561Sobrien	* elf32-ppcqnx.c: Delete.  Move code to elf32-ppc.c.
6074130561Sobrien	* elf32-sh-nbsd.c: Delete.  Move code to elf32-sh.c.
6075130561Sobrien	* elf32-sh-lin.c: Likewise.
6076130561Sobrien	* elf32-shqnx.c: Likewise.
6077130561Sobrien	* elf32-sh64-lin.c: Delete.  Move code to elf32-sh64.c.
6078130561Sobrien	* elf32-sh64-nbsd.c: Likewise.
6079130561Sobrien	* elf64-sh64-lin.c: Delete.  Move code to elf64-sh64.c.
6080130561Sobrien	* elf64-sh64-nbsd.c: Likewise.
6081130561Sobrien	* elfarmqnx-nabi.c: Delete.  Move code to elfarm-nabi.c.
6082130561Sobrien	* elf32-arm.h (ELF_MAXPAGESIZE): Always define.
6083130561Sobrien	* elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
6084130561Sobrien	* elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
6085130561Sobrien	* elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
6086130561Sobrien	(elf_backend_is_contained_by_filepos): Likewise.
6087130561Sobrien	(elf_backend_copy_private_bfd_data_p): Likewise.
6088130561Sobrien	Globalize and move functions to..
6089130561Sobrien	* elf32-qnx.c: ..here.  New file.
6090130561Sobrien	* elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests.  Don't
6091130561Sobrien	emit target vectors when INCLUDE_SHMEDIA.
6092130561Sobrien	* elf32-sh64.c: Remove ELF_ARCH test.  Move TARGET_* etc. defines to
6093130561Sobrien	end of file.
6094130561Sobrien	* elf64-sh64.c: Remove ELF_ARCH test.
6095130561Sobrien	* elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
6096130561Sobrien	* po/BLD-POTFILES.in: Regenerate.
6097130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
6098130561Sobrien
6099130561Sobrien2002-10-16  Alan Modra  <amodra@bigpond.net.au>
6100130561Sobrien
6101130561Sobrien	* elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
6102130561Sobrien	loaded with --just-symbols.
6103130561Sobrien
6104130561Sobrien	* elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
6105130561Sobrien	* elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
6106130561Sobrien	* elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
6107130561Sobrien	* elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
6108130561Sobrien
6109130561Sobrien2002-10-15  Richard Henderson  <rth@redhat.com>
6110130561Sobrien
6111130561Sobrien	* Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
6112130561Sobrien	(BFD64_BACKENDS_CFILES): Likewise.
6113130561Sobrien	* configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
6114130561Sobrien	* elf64-alpha-fbsd.c: Remove file, move code ...
6115130561Sobrien	* elf64-alpha.c: ... here.
6116130561Sobrien	* Makefile.in, configure: Rebuild.
6117130561Sobrien
6118130561Sobrien2002-10-14  Richard Henderson  <rth@redhat.com>
6119130561Sobrien
6120130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
6121130561Sobrien	VALUE, not ADDEND.
6122130561Sobrien
6123130561Sobrien2002-10-14  Stephen Clarke <stephen.clarke@superh.com>
6124130561Sobrien
6125130561Sobrien	* elf32-sh.c (elf_sh_link_hash_entry): Replace
6126130561Sobrien	datalabel_got_offset with union of datalabel_got
6127130561Sobrien	offset and refcount.
6128130561Sobrien	(sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
6129130561Sobrien	(allocate_dynrelocs): Delete unnecessary code for
6130130561Sobrien	STT_DATALABEL type.  Create entry in got for
6131130561Sobrien	datalabel version of symbol if datalabel_got.refcount > 0.
6132130561Sobrien	(sh_elf_relocate_section): Use datalabel_got union.
6133130561Sobrien	(sh_elf_gc_sweep_hook): Pull common code to initialize
6134130561Sobrien	h and eh out of switch statement.  Declare seen_stt_datalabel.
6135130561Sobrien	Initialize it.  Decrement datalabel_got.refcount for
6136130561Sobrien	got relocs when seen_stt_datalabel is true.
6137130561Sobrien	Decrement local_got_refcounts entry for datalabel got relocs
6138130561Sobrien	of local symbols.
6139130561Sobrien	(sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
6140130561Sobrien	(sh_elf_check_relocs): Declare seen_stt_datalabel.
6141130561Sobrien	Initialize it.  When seen_stt_datalabel is true, increment
6142130561Sobrien	datalabel_got refcount rather than got.refcount.
6143130561Sobrien	(sh_elf_finish_dynamic_symbol): Create relocs to
6144130561Sobrien	initialize got entry for datalabel version of symbol.
6145130561Sobrien
6146130561Sobrien2002-10-14  Alan Modra  <amodra@bigpond.net.au>
6147130561Sobrien
6148130561Sobrien	* Makefile.am: Run "make dep-am".
6149130561Sobrien	(BFD_H_FILES): Remove version.h.
6150130561Sobrien	* bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
6151130561Sobrien	* version.h: ..to here.
6152130561Sobrien	* configure.in (bfd_version_date): Remove.
6153130561Sobrien	(AC_OUTPUT): Make bfdver.h from version.h.
6154130561Sobrien	* bfd.c: #include "bfdver.h".
6155130561Sobrien	* vms-hdr.c: Likewise.
6156130561Sobrien	* Makefile.in: Regenerate.
6157130561Sobrien	* bfd-in2.h: Regenerate.
6158130561Sobrien	* configure: Regenerate.
6159130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
6160130561Sobrien
6161130561Sobrien2002-10-14  Alan Modra  <amodra@bigpond.net.au>
6162130561Sobrien
6163130561Sobrien	* archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
6164130561Sobrien	bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
6165130561Sobrien	bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
6166130561Sobrien	bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
6167130561Sobrien	bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
6168130561Sobrien	bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
6169130561Sobrien	bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
6170130561Sobrien	bfd_mach_ip2022, bfd_mach_ip2022ext,
6171130561Sobrien	bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
6172130561Sobrien	* bfd-in2.h: Regenerate.
6173130561Sobrien
6174130561Sobrien2002-10-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
6175130561Sobrien
6176130561Sobrien	* config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
6177130561Sobrien	endian vector to targ_selvecs.
6178130561Sobrien
6179130561Sobrien2002-10-13  Alexandre Oliva  <aoliva@redhat.com>
6180130561Sobrien
6181130561Sobrien	* elfxx-mips.c (mips_elf_calculate_relocation): Take
6182130561Sobrien	save_addend argument.  Don't apply the 32-bit mask to a
6183130561Sobrien	GPREL32 value if it's to be used in another relocation.  Don't
6184130561Sobrien	use forced-check computation of local_p to decide whether to
6185130561Sobrien	add gp0 to GPREL16 value.  Don't use only the lowest 16 bits
6186130561Sobrien	of the addend of a non-in-place GPREL16 relocation.
6187130561Sobrien	(_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
6188130561Sobrien	mips_elf_calculate_relocation().
6189130561Sobrien
6190130561Sobrien2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
6191130561Sobrien
6192130561Sobrien	* elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
6193130561Sobrien	with symbols in other sections if we relaxed something;  the sections
6194130561Sobrien	output offsets must be re-computed before.
6195130561Sobrien
6196130561Sobrien2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
6197130561Sobrien
6198130561Sobrien	* elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
6199130561Sobrien	handling to use Elf_Internal_Sym.
6200130561Sobrien	(m68hc11_elf_relax_delete_bytes): Likewise.
6201130561Sobrien
6202130561Sobrien2002-10-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
6203130561Sobrien
6204130561Sobrien	* elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
6205130561Sobrien	sh_elf_object_p, dtpoff_base): New functions.
6206130561Sobrien	(sh_elf_howto_table): Add TLS relocs.
6207130561Sobrien	(sh_reloc_map): Likewise.
6208130561Sobrien	(sh_elf_info_to_howto): Support TLS relocs.
6209130561Sobrien	(elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
6210130561Sobrien	(sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
6211130561Sobrien	New macros.
6212130561Sobrien	(sh_elf_obj_tdata): New.
6213130561Sobrien	(elf_sh_link_hash_table): Add tls_ldm_got.
6214130561Sobrien	(sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
6215130561Sobrien	(allocate_dynrelocs): Support TLS relocs.
6216130561Sobrien	(sh_elf_size_dynamic_sections): Likewise.
6217130561Sobrien	(sh_elf_relocate_section): Support TLS relocs.  Don't try to find
6218130561Sobrien	.rela.got section when found already.  Return false after printing
6219130561Sobrien	error about unresolvable relocation.
6220130561Sobrien	(sh_elf_gc_sweep_hook): Support TLS relocs.
6221130561Sobrien	(sh_elf_check_relocs): Likewise.
6222130561Sobrien	(sh_elf_finish_dynamic_symbol): Likewise.
6223130561Sobrien	(bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
6224130561Sobrien	* reloc.c: Add SH TLS relocs.
6225130561Sobrien	* bfd-in2.h, libbfd.h: Regenerate.
6226130561Sobrien
6227130561Sobrien2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
6228130561Sobrien
6229130561Sobrien	* Makefile.in: Regenerated.
6230130561Sobrien
6231130561Sobrien2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
6232130561Sobrien
6233130561Sobrien	* Makefile.am: Run dep-am.
6234130561Sobrien	(BFD_H_DEP): Add simple.c and linker.c.
6235130561Sobrien	(BFD32_LIBS): Add simple.lo.
6236130561Sobrien	(BFD32_LIBS_CFILES): Add simple.c.
6237130561Sobrien	* Makefile.in: Regenerated.
6238130561Sobrien	* bfd-in2.h: Regenerated.
6239130561Sobrien	* simple.c: New file.
6240130561Sobrien
6241130561Sobrien2002-10-11  Alan Modra  <amodra@bigpond.net.au>
6242130561Sobrien
6243130561Sobrien	* coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
6244130561Sobrien	(record_thumb_to_arm_glue): Likewise.
6245130561Sobrien	* ecoff.c (ecoff_link_add_externals): Likewise.
6246130561Sobrien	* elf32-arm.h (record_arm_to_thumb_glue): Likewise.
6247130561Sobrien	(record_thumb_to_arm_glue): Likewise.
6248130561Sobrien	* elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
6249130561Sobrien	* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
6250130561Sobrien	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
6251130561Sobrien	* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
6252130561Sobrien	* elf64-ppc.c (func_desc_adjust): Likewise.
6253130561Sobrien	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
6254130561Sobrien	(sh64_elf64_create_dynamic_sections): Likewise.
6255130561Sobrien	* elflink.c (_bfd_elf_create_got_section): Likewise.
6256130561Sobrien	(_bfd_elf_create_dynamic_sections): Likewise.
6257130561Sobrien	(_bfd_elf_create_linker_section): Likewise.
6258130561Sobrien	* elflink.h (elf_add_default_symbol): Likewise.
6259130561Sobrien	(elf_link_create_dynamic_sections): Likewise.
6260130561Sobrien	(NAME(bfd_elf,size_dynamic_sections)): Likewise.
6261130561Sobrien	* elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
6262130561Sobrien	* elfxx-mips.c (mips_elf_create_got_section): Likewise.
6263130561Sobrien	(_bfd_mips_elf_add_symbol_hook): Likewise.
6264130561Sobrien	(_bfd_mips_elf_create_dynamic_sections): Likewise.
6265130561Sobrien	* linker.c (generic_link_add_symbol_list): Likewise.
6266130561Sobrien	* xcofflink.c (xcoff_link_add_symbols): Likewise.
6267130561Sobrien
6268130561Sobrien	* elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
6269130561Sobrien
6270130561Sobrien	* elf64-ppc.c (edit_opd): Only zero opd syms when function is
6271130561Sobrien	completely removed.  Correct local sym adjustment.
6272130561Sobrien
6273130561Sobrien2002-10-10  Stephen Clarke <stephen.clarke@superh.com>
6274130561Sobrien
6275130561Sobrien	* elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
6276130561Sobrien	Correct mistake in calculation of address of .got.
6277130561Sobrien	* elf64-sh64.c (elf_sh64_pic_plt_entry_be,
6278130561Sobrien	elf_sh64_pic_plt_entry_le): Likewise.
6279130561Sobrien
6280130561Sobrien2002-10-09  Richard Shann <richard.shann@superh.com>
6281130561Sobrien	    Stephen Clarke <stephen.clarke@superh.com>
6282130561Sobrien
6283130561Sobrien	* Makefile.am: Add entries for elf32-sh64-lin.c and
6284130561Sobrien	elf64-sh64-lin.c. Regenerate.
6285130561Sobrien	* Makefile.in: Regenerate.
6286130561Sobrien	* config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
6287130561Sobrien	to use sh64 vectors rather than sh vectors.
6288130561Sobrien	* configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
6289130561Sobrien	bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
6290130561Sobrien	* configure: Regenerate.
6291130561Sobrien	* elf32-sh64-lin.c: New file.
6292130561Sobrien	* elf64-sh64-lin.c: New file.
6293130561Sobrien	* targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
6294130561Sobrien	bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
6295130561Sobrien
6296130561Sobrien2002-10-08  H.J. Lu <hjl@gnu.org>
6297130561Sobrien
6298130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Re-arrange the
6299130561Sobrien	IE->LE transition for R_386_TLS_IE.
6300130561Sobrien
6301130561Sobrien2002-10-08  Alan Modra  <amodra@bigpond.net.au>
6302130561Sobrien
6303130561Sobrien	* elf64-ppc.c (edit_opd): Correct test for discarded sections.
6304130561Sobrien
6305130561Sobrien2002-10-07  Mark Elbrecht  <snowball3@softhome.net>
6306130561Sobrien
6307130561Sobrien	* cofflink.c (mark_relocs): Don't mark relocations in excluded
6308130561Sobrien	sections.
6309130561Sobrien
6310130561Sobrien2002-10-07  Alan Modra  <amodra@bigpond.net.au>
6311130561Sobrien
6312130561Sobrien	* elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
6313130561Sobrien	code.
6314130561Sobrien
6315130561Sobrien	* elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
6316130561Sobrien
6317130561Sobrien2002-10-06  Alan Modra  <amodra@bigpond.net.au>
6318130561Sobrien
6319130561Sobrien	* opncls.c: Formatting.
6320130561Sobrien	(_bfd_new_bfd): Use a smaller section hash table.
6321130561Sobrien
6322130561Sobrien2002-10-05  Alexandre Oliva  <aoliva@redhat.com>
6323130561Sobrien
6324130561Sobrien	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
6325130561Sobrien	of the other two relocations packed with a REL32 to NONE.
6326130561Sobrien
6327130561Sobrien2002-10-02  Stephen Clarke <stephen.clarke@superh.com>
6328130561Sobrien
6329130561Sobrien	* elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
6330130561Sobrien	(sh_elf_link_hash_newfunc): Initialize it.
6331130561Sobrien	(allocate_dynrelocs): Transfer gotplt refs from plt.refcount
6332130561Sobrien	to got.refcount for symbols that are forced local or when
6333130561Sobrien	we have direct got refs.
6334130561Sobrien	(sh_elf_gc_sweep_hook): Adjust gotplt_refcount.  Use it
6335130561Sobrien	to correctly adjust got.refcount and plt.refcount.
6336130561Sobrien	(sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
6337130561Sobrien	(sh_elf_check_relocs): Increment gotplt_refcount.
6338130561Sobrien
6339130561Sobrien2002-10-01  Jakub Jelinek  <jakub@redhat.com>
6340130561Sobrien
6341130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Fix
6342130561Sobrien	movl foo@indntpoff, %eax IE->LE transition.
6343130561Sobrien
6344130561Sobrien2002-10-01  Jakub Jelinek  <jakub@redhat.com>
6345130561Sobrien
6346130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
6347130561Sobrien	sequence and its transitions.
6348130561Sobrien
6349130561Sobrien2002-10-01  Jakub Jelinek  <jakub@redhat.com>
6350130561Sobrien
6351130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
6352130561Sobrien	to st_value + addend in non-code sections.
6353130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
6354130561Sobrien	R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
6355130561Sobrien
6356130561Sobrien2002-09-30  Gavin Romig-Koch  <gavin@redhat.com>
6357130561Sobrien	    Ken Raeburn  <raeburn@cygnus.com>
6358130561Sobrien	    Aldy Hernandez  <aldyh@redhat.com>
6359130561Sobrien	    Eric Christopher  <echristo@redhat.com>
6360130561Sobrien	    Richard Sandiford  <rsandifo@redhat.com>
6361130561Sobrien
6362130561Sobrien	* archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
6363130561Sobrien	(bfd_mach_mips5500): New.
6364130561Sobrien	* cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
6365130561Sobrien	(arch_info_struct): Add corresponding entries here.
6366130561Sobrien	* elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
6367130561Sobrien	E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
6368130561Sobrien	(_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
6369130561Sobrien	bfd_mach_mips5400 and bfd_mach_mips5500.
6370130561Sobrien	(_bfd_mips_elf_mach_extends_p): New function.
6371130561Sobrien	(_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
6372130561Sobrien	the EF_MIPS_MACH flags.
6373130561Sobrien	* bfd-in2.h: Regenerate.
6374130561Sobrien
6375130561Sobrien2002-09-28  Jason Thorpe  <thorpej@wasabisystems.com>
6376130561Sobrien
6377130561Sobrien	* elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
6378130561Sobrien	.got sections.
6379130561Sobrien
6380130561Sobrien2002-09-28  Alan Modra  <amodra@bigpond.net.au>
6381130561Sobrien
6382130561Sobrien	* elf.c (map_sections_to_segments): Correct test for start of
6383130561Sobrien	writable section in the same page as end of read-only section.
6384130561Sobrien
6385130561Sobrien2002-09-27  Matt Thomas  <matt@3am-software.com>
6386130561Sobrien
6387130561Sobrien	* elf32-vax.c (elf_vax_check_relocs): Remove unused
6388130561Sobrien	local_got_refcounts usage.  Remove allocation of got slot.
6389130561Sobrien	(elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
6390130561Sobrien	Remove de-allocation of got slot.
6391130561Sobrien	(elf_vax_size_dynamic_section): Fix some indentation.  Add hash
6392130561Sobrien	traversal for elf_vax_instantiate_got_entries.  Allow empty .got
6393130561Sobrien	sections to be GC'ed.
6394130561Sobrien	(elf_vax_instantiate_got_entries): New function.
6395130561Sobrien	(elf_vax_relocate_section): Simplify R_VAX_GOT32 handling.  Remove
6396130561Sobrien	tests that are now handled by elf_vax_instantiate_got_entries.
6397130561Sobrien	Assert GOT entry falls within .got section size.  Remove redundant
6398130561Sobrien	comparisions.  Fix comments.
6399130561Sobrien
6400130561Sobrien2002-09-27  Jakub Jelinek  <jakub@redhat.com>
6401130561Sobrien
6402130561Sobrien	* reloc.c: Add x86-64 TLS relocs.
6403130561Sobrien	* bfd-in2.h, libbfd.h: Rebuilt.
6404130561Sobrien	* elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
6405130561Sobrien	relocs.  Add TLS relocs.
6406130561Sobrien	(x86_64_reloc_map): Add TLS relocs.
6407130561Sobrien	(elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
6408130561Sobrien	(struct elf64_x86_64_link_hash_entry): Add tls_type field.
6409130561Sobrien	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
6410130561Sobrien	(elf64_x86_64_hash_entry): Define.
6411130561Sobrien	(struct elf64_x86_64_obj_tdata): New.
6412130561Sobrien	(elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
6413130561Sobrien	(struct elf64_x86_64_link_hash_table): Add tls_ld_got.
6414130561Sobrien	(link_hash_newfunc): Initialize tls_type.
6415130561Sobrien	(elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
6416130561Sobrien	(elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
6417130561Sobrien	(elf64_x86_64_mkobject): New.
6418130561Sobrien	(elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
6419130561Sobrien	(elf64_x86_64_tls_transition): New.
6420130561Sobrien	(elf64_x86_64_check_relocs): Add r_type variable and use it.
6421130561Sobrien	Handle TLS relocs.
6422130561Sobrien	(elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
6423130561Sobrien	(allocate_dynrelocs): Allocate GOT space for TLS relocs.
6424130561Sobrien	(elf64_x86_64_size_dynamic_sections): Likewise.
6425130561Sobrien	(dtpoff_base, tpoff): New.
6426130561Sobrien	(elf64_x86_64_relocate_section): Handle TLS relocs.
6427130561Sobrien	(elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
6428130561Sobrien	entries.
6429130561Sobrien	(bfd_elf64_mkobject): Define.
6430130561Sobrien
6431130561Sobrien	* elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
6432130561Sobrien	DF_STATIC_TLS if shared.
6433130561Sobrien
6434130561Sobrien2002-09-26  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6435130561Sobrien
6436130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
6437130561Sobrien	empty relocation sections.
6438130561Sobrien
6439130561Sobrien2002-09-26  Alan Modra  <amodra@bigpond.net.au>
6440130561Sobrien
6441130561Sobrien	* elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
6442130561Sobrien	(ppc64_elf_build_stubs): Build them here instead.
6443130561Sobrien
6444130561Sobrien2002-09-24  Jakub Jelinek  <jakub@redhat.com>
6445130561Sobrien
6446130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
6447130561Sobrien	addend into r_addend, not *r_offset.
6448130561Sobrien	(elf32_sparc_finish_dynamic_symbol): Likewise.
6449130561Sobrien	* elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
6450130561Sobrien	R_SPARC_RELATIVE's r_offset.
6451130561Sobrien
6452130561Sobrien2002-09-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
6453130561Sobrien
6454130561Sobrien	* dwarf2.c (decode_line_info): Update to correctly decode
6455130561Sobrien	the (non-standard DWARF2) out-of-order address sequences
6456130561Sobrien	generated by the Intel C++ 6.0 compiler for ia64-Linux.
6457130561Sobrien
6458130561Sobrien2002-09-23  Mark Elbrecht  <snowball3@softhome.net>
6459130561Sobrien
6460130561Sobrien	* config.bfd: For DJGPP targets, match with any cpu and any machine.
6461130561Sobrien
6462130561Sobrien2002-09-23  Alan Modra  <amodra@bigpond.net.au>
6463130561Sobrien
6464130561Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
6465130561Sobrien	for discarded FDEs.  Remove redundant assignment.
6466130561Sobrien	* elflink.h (elf_bfd_discard_info): Save edited relocs.
6467130561Sobrien
6468130561Sobrien2002-09-22  H.J. Lu <hjl@gnu.org>
6469130561Sobrien
6470130561Sobrien	* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
6471130561Sobrien	the relocation count between different .reloc sections.
6472130561Sobrien
6473130561Sobrien2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6474130561Sobrien
6475130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
6476130561Sobrien	".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
6477130561Sobrien	R_PPC_EMB_SDA2REL.  Similarly for R_PPC_EMB_SDA21 and
6478130561Sobrien	R_PPC_EMB_RELSDA.
6479130561Sobrien
6480130561Sobrien	* elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
6481130561Sobrien	unsigned.  Move "symcount" assignment out of loop.
6482130561Sobrien	* Makefile.am: Run "make dep-am".
6483130561Sobrien	* Makefile.in: Regenerate.
6484130561Sobrien	* configure: Regenerate.
6485130561Sobrien	* po/SRC-POTFILES.in: Regnerate.
6486130561Sobrien
6487130561Sobrien2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
6488130561Sobrien
6489130561Sobrien	* dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
6490130561Sobrien	zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
6491130561Sobrien	(e.g. IRIX64).
6492130561Sobrien
6493130561Sobrien2002-09-19  Jakub Jelinek  <jakub@redhat.com>
6494130561Sobrien
6495130561Sobrien	* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
6496130561Sobrien	even if generating R_PPC_RELATIVE reloc.
6497130561Sobrien	(ppc_elf_relocate_section): Make sure relocation is performed
6498130561Sobrien	if skip == -2.  Clear memory at r_offset when creating dynamic
6499130561Sobrien	relocation.
6500130561Sobrien
6501130561Sobrien2002-09-19  Jakub Jelinek  <jakub@redhat.com>
6502130561Sobrien
6503130561Sobrien	* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
6504130561Sobrien	BFD_RELOC_386_TLS_GOTIE): Add.
6505130561Sobrien	* bfd-in2.h, libbfd.h: Rebuilt.
6506130561Sobrien	* elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
6507130561Sobrien	and R_386_TLS_GOTIE.
6508130561Sobrien	(elf_i386_reloc_type_lookup): Handle it.
6509130561Sobrien	(struct elf_i386_link_hash_entry): Change tls_type type to unsigned
6510130561Sobrien	char instead of enum, change GOT_* into defines.
6511130561Sobrien	(GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
6512130561Sobrien	(elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
6513130561Sobrien	(elf_i386_check_relocs): Likewise.  Avoid crash if local symbol is
6514130561Sobrien	accessed both as normal and TLS symbol.  Move R_386_TLS_LDM and
6515130561Sobrien	R_386_PLT32 cases so that R_386_TLS_IE can fall through.
6516130561Sobrien	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
6517130561Sobrien	(elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
6518130561Sobrien	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
6519130561Sobrien	(allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
6520130561Sobrien	tls_type is GOT_TLS_IE_BOTH.
6521130561Sobrien	(elf_i386_size_dynamic_sections): Likewise.
6522130561Sobrien	(elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
6523130561Sobrien	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
6524130561Sobrien	(elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
6525130561Sobrien	all 4 GOT_TLS_* TLS types.
6526130561Sobrien
6527130561Sobrien2002-09-19  Nick Clifton  <nickc@redhat.com>
6528130561Sobrien
6529130561Sobrien	* elflink.h (elf_fix_symbol_flags): When examining weak symbols,
6530130561Sobrien	follow indirect links.
6531130561Sobrien
6532130561Sobrien2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
6533130561Sobrien
6534130561Sobrien	* ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
6535130561Sobrien	correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
6536130561Sobrien	on 64 bit machines.
6537130561Sobrien	(ecoff_swap_sym_in) <iss>: Likewise.
6538130561Sobrien	* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
6539130561Sobrien	ECOFF information: 'ioptMax' refers to the actual *size*
6540130561Sobrien	of the optimization symtab, not the number of entries.
6541130561Sobrien
6542130561Sobrien2002-09-19  Daniel Jacobowitz  <drow@mvista.com>
6543130561Sobrien
6544130561Sobrien	* elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
6545130561Sobrien	ELF_LINK_HASH_NEEDS_PLT logic.
6546130561Sobrien
6547130561Sobrien2002-09-18  Daniel Jacobowitz  <drow@mvista.com>
6548130561Sobrien
6549130561Sobrien	* elfcode.h (elf_slurp_reloc_table_from_section): Check
6550130561Sobrien	correct relocation count.
6551130561Sobrien
6552130561Sobrien2002-09-17  Daniel Jacobowitz  <drow@mvista.com>
6553130561Sobrien
6554130561Sobrien	* bfd-in.h (bfd_get_dynamic_symcount): Define.
6555130561Sobrien	* bfd.c (struct _bfd): Add dynsymcount.
6556130561Sobrien	* bfd-in2.h: Regenerated.
6557130561Sobrien	* elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
6558130561Sobrien	abfd->dynsymcount.
6559130561Sobrien	* elfcode.h (elf_slurp_reloc_table_from_section): Check
6560130561Sobrien	for overflow.
6561130561Sobrien
6562130561Sobrien2002-09-17  Stan Cox <scox@redhat.com>
6563130561Sobrien
6564130561Sobrien	* elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
6565130561Sobrien	(mips_elf64_final_gp): Don't make up gp value.
6566130561Sobrien	* elfn32-mips.c (mips_elf_final_gp): Likewise.
6567130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_final_link): Always create
6568130561Sobrien	.MIPS.options/.options section.
6569130561Sobrien
6570130561Sobrien2002-09-17  David O'Brien  <obrien@FreeBSD.org>
6571130561Sobrien
6572130561Sobrien	* elf32-i386-fbsd.c: Always label using the EI_OSABI method.
6573130561Sobrien	It is benign for FreeBSD < 4.1.  Minor reformatting.
6574130561Sobrien	* elf64-alpha-fbsd.c: Likewise.
6575130561Sobrien
6576130561Sobrien2002-09-17  Jakub Jelinek  <jakub@redhat.com>
6577130561Sobrien
6578130561Sobrien	* elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
6579130561Sobrien	addend.
6580130561Sobrien
6581130561Sobrien2002-09-17  Alan Modra  <amodra@bigpond.net.au>
6582130561Sobrien
6583130561Sobrien	* elf64-alpha.c (alpha_elf_size_info): Make static.
6584130561Sobrien
6585130561Sobrien2002-09-17  Svein E. Seldal  <Svein.Seldal@solidas.com>
6586130561Sobrien
6587130561Sobrien	* coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
6588130561Sobrien	* cpu-tic4x.c: Ditto.
6589130561Sobrien
6590130561Sobrien2002-09-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6591130561Sobrien
6592130561Sobrien	* elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
6593130561Sobrien	duplicate define.
6594130561Sobrien
6595130561Sobrien2002-09-16  Bruno Haible  <bruno@clisp.org>
6596130561Sobrien
6597130561Sobrien	* elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
6598130561Sobrien	by a target variant implementation.
6599130561Sobrien	* elf64-alpha.c: Likewise.
6600130561Sobrien	* elf32-i386-fbsd.c: New file.
6601130561Sobrien	* elf64-alpha-fbsd.c: New file.
6602130561Sobrien	* targets.c: Support bfd_elf32_i386_freebsd_vec and
6603130561Sobrien	bfd_elf64_alpha_freebsd_vec.
6604130561Sobrien	* configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
6605130561Sobrien	bfd_elf64_alpha_freebsd_vec.
6606130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
6607130561Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
6608130561Sobrien	(BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
6609130561Sobrien	(BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
6610130561Sobrien	(elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
6611130561Sobrien	* config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
6612130561Sobrien	specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
6613130561Sobrien
6614130561Sobrien2002-09-12  Jakub Jelinek  <jakub@redhat.com>
6615130561Sobrien
6616130561Sobrien	* elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
6617130561Sobrien	NULL.
6618130561Sobrien	(elf_i386_relocate_section): Return false after printing error about
6619130561Sobrien	unresolvable relocation.
6620130561Sobrien
6621130561Sobrien2002-09-12  Nick Clifton  <nickc@redhat.com>
6622130561Sobrien
6623130561Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
6624130561Sobrien	R_ARM_THM_PC11.
6625130561Sobrien
6626130561Sobrien2002-09-11  Jeffrey Law  <law@redhat.com>
6627130561Sobrien
6628130561Sobrien	* elf32-h8300.c (elf32_h8_relax_section): Fix typo.
6629130561Sobrien
6630130561Sobrien2002-09-11  Andrew Haley  <aph@cambridge.redhat.com>
6631130561Sobrien
6632130561Sobrien	* elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
6633130561Sobrien	line_ptr before deciding we've found a symbol.
6634130561Sobrien
6635130561Sobrien2002-09-11  Nick Clifton  <nickc@redhat.com>
6636130561Sobrien
6637130561Sobrien	* po/da.po: New Danish translation file.
6638130561Sobrien	* configure.in (LINGUAS): Add 'da'.
6639130561Sobrien	* configure: Regenerate.
6640130561Sobrien
6641130561Sobrien2002-09-10  Michael Snyder  <msnyder@redhat.com>
6642130561Sobrien
6643130561Sobrien	* irix-core.c (do_sections, do_sections64): New functions.
6644130561Sobrien	(irix_core_core_file_p): Call new functions do_sections,
6645130561Sobrien	do_sections64, depending on corefile (32-bit or 64-bit).
6646130561Sobrien
6647130561Sobrien2002-09-09  Richard Henderson  <rth@redhat.com>
6648130561Sobrien
6649130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
6650130561Sobrien	and PCREL21F like PCREL21B.
6651130561Sobrien
6652130561Sobrien2002-09-04  Kevin Buettner  <kevinb@redhat.com>
6653130561Sobrien
6654130561Sobrien	* config.bfd (mips*-*-irix6*): Add new ABI vectors.  Make n32 default
6655130561Sobrien	vector.
6656130561Sobrien
6657130561Sobrien2002-09-02  Nick Clifton  <nickc@redhat.com>
6658130561Sobrien
6659130561Sobrien	* elf32-v850.c (v850_elf_final_link_relocate): Use helpful
6660130561Sobrien	names instead of cryptically overloaded bfd_reloc error
6661130561Sobrien	codes.
6662130561Sobrien	(v850_elf_relocate_section): Likewise.
6663130561Sobrien	(v850_elf_relax_section): Replace caching of external symbols
6664130561Sobrien	with caching of internal symbols obtained from calling
6665130561Sobrien	bfd_elf_get_elf_syms().
6666130561Sobrien	Fixup problems with freeing cached allocated memory blocks.
6667130561Sobrien
6668130561Sobrien2002-09-02  Alan Modra  <amodra@bigpond.net.au>
6669130561Sobrien
6670130561Sobrien	* cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
6671130561Sobrien	(bfd_pj_arch): Use bfd_default_scan.
6672130561Sobrien	* cpu-v850.c (scan): Remove.
6673130561Sobrien	(N): Use bfd_default_scan.
6674130561Sobrien	* cpu-z8k.c (scan_mach): Remove.
6675130561Sobrien	(arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
6676130561Sobrien	first.  Use bfd_default_scan.
6677130561Sobrien
6678130561Sobrien	* ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
6679130561Sobrien	bfd_mach constants.
6680130561Sobrien	(ecoff_get_magic): Likewise.
6681130561Sobrien	* elf32-v850.c (v850_elf_object_p): Likewise.
6682130561Sobrien	(v850_elf_final_write_processing): Likewise.
6683130561Sobrien	* mipsbsd.c (MY(set_arch_mach)): Likewise.
6684130561Sobrien	(MY(write_object_contents)): Likewise.
6685130561Sobrien	* coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
6686130561Sobrien	* coffcode.h (coff_write_object_contents): Likewise.
6687130561Sobrien	(coff_set_arch_mach_hook): Add comment describing machine == 0.
6688130561Sobrien	Remove unnecessary "machine" assignments.
6689130561Sobrien	(coff_write_relocs): Test for the absolute section sym by testing
6690130561Sobrien	section and flags.
6691130561Sobrien
6692130561Sobrien	* aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
6693130561Sobrien	and bfd_mach_i386_i386_intel_syntax.
6694130561Sobrien	* pdp11.c (NAME(aout,machine_type)): Likewise.
6695130561Sobrien
6696130561Sobrien2002-08-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6697130561Sobrien
6698130561Sobrien	* bfd-in.h (align_power): Cast constants to bfd_vma type.
6699130561Sobrien	* bfd-in2.h (align_power): Likewise.
6700130561Sobrien
6701130561Sobrien2002-08-30  Alan Modra  <amodra@bigpond.net.au>
6702130561Sobrien
6703130561Sobrien	* Makefile.am: Run "make dep-am".
6704130561Sobrien	* Makefile.in: Regenerate.
6705130561Sobrien
6706130561Sobrien	* cpu-avr.c (compatible): Don't use hard-coded mach constants.
6707130561Sobrien	* cpu-powerpc.c (powerpc_compatible): Likewise.
6708130561Sobrien	* cpu-rs6000.c (rs6000_compatible): Likewise.
6709130561Sobrien
6710130561Sobrien2002-08-28  Catherine Moore  <clm@redhat.com>
6711130561Sobrien
6712130561Sobrien	* elf32-v850.c (v850_elf_reloc_map): Add new relocs.
6713130561Sobrien	(v850-elf-reloc): Don't resolve pc relative relocs.
6714130561Sobrien	(v850_elf_ignore_reloc): New routine.
6715130561Sobrien	(v850_elf_final_link_relocate): Handle new relocs.
6716130561Sobrien	(v850_elf_relax_delete_bytes ): New routine.
6717130561Sobrien	(v850_elf_relax_section): New routine.
6718130561Sobrien	(bfd_elf32_bfd_relax_section): Define.
6719130561Sobrien	(HOWTO): New entries for new relocs.
6720130561Sobrien	* reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
6721130561Sobrien	(BFD_RELOC_V850_LONGJUMP): New reloc.
6722130561Sobrien	(BFD_RELOC_V850_ALIGN): New reloc.
6723130561Sobrien	* archures.c: Remove redundant v850ea architecture.
6724130561Sobrien	* cpu-v850.c: Remove redundant v850ea support.
6725130561Sobrien	* libbfd.h: Regenerate.
6726130561Sobrien	* bfd-in2.h: Regenerated.
6727130561Sobrien
6728130561Sobrien2002-08-28  Svein E. Seldal  <Svein.Seldal@solidas.com>
6729130561Sobrien
6730130561Sobrien	* config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
6731130561Sobrien	* configure.in: Add tic4x_coff vector files.
6732130561Sobrien	* configure: Regenerate.
6733130561Sobrien	* Makefile.am: Add tic4x target.
6734130561Sobrien	* Makefile.in: Regenerate.
6735130561Sobrien
6736130561Sobrien2002-08-27  Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6737130561Sobrien
6738130561Sobrien	* archures.c: Add the BFD arch type tic4x.
6739130561Sobrien	* bfd-in.h: Add BFD_IN_MEMORY flag.
6740130561Sobrien	* coff-tic4x.c: New file.
6741130561Sobrien	* coffswap.h (coff_swap_sym_out): Add preadjuster.
6742130561Sobrien	* cpu-tic4x.c: New file.
6743130561Sobrien	* targets.c: Added tic4x- in list of xvecs.
6744130561Sobrien	* ticoff.h: New file.
6745130561Sobrien	* bfd-in2.h: Regenerate.
6746130561Sobrien
6747130561Sobrien2002-08-27  Adam Nemet  <anemet@lnxw.com>
6748130561Sobrien
6749130561Sobrien	* elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
6750130561Sobrien	bit of DT_INIT and DT_FINI for Thumb functions.
6751130561Sobrien
6752130561Sobrien2002-08-26  Alan Modra  <amodra@bigpond.net.au>
6753130561Sobrien
6754130561Sobrien	* coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
6755130561Sobrien
6756130561Sobrien2002-08-26  Alan Modra  <amodra@bigpond.net.au>
6757130561Sobrien
6758130561Sobrien	* aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
6759130561Sobrien
6760130561Sobrien2002-08-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
6761130561Sobrien
6762130561Sobrien	* elf32-sh.c (sh_elf_copy_indirect_symbol): New.
6763130561Sobrien	(create_got_section, allocate_dynrelocs, readonly_dynrelocs):
6764130561Sobrien	Likewise.
6765130561Sobrien	(struct elf_sh_pcrel_relocs_copied): Removed.
6766130561Sobrien	(struct elf_sh_dyn_relocs): New.
6767130561Sobrien	(struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
6768130561Sobrien	field with dyn_relocs.
6769130561Sobrien	(struct elf_sh_link_hash_table): Add short-cuts to get dynamic
6770130561Sobrien	sections and sym_sec.
6771130561Sobrien	(sh_elf_link_hash_newfunc): Clear dyn_relocs.
6772130561Sobrien	(sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
6773130561Sobrien	(sh_elf_create_dynamic_sections): Use create_got_section instead
6774130561Sobrien	of _bfd_elf_create_got_section.
6775130561Sobrien	(sh_elf_check_relocs): Likewise.
6776130561Sobrien	(sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
6777130561Sobrien	sections.
6778130561Sobrien	(sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
6779130561Sobrien	sh_elf_relocate_section, sh_elf_check_relocs,
6780130561Sobrien	sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
6781130561Sobrien	Likewise.
6782130561Sobrien	(sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
6783130561Sobrien	dynamic relocations and avoiding the copy relocation when we
6784130561Sobrien	didn't find any dynamic relocations in the section which has
6785130561Sobrien	contents or is read-only.
6786130561Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
6787130561Sobrien	(sh_elf_size_dynamic_sections): Don't reset the size of
6788130561Sobrien	.rela.got section even if dynamic_sections_created flag is off.
6789130561Sobrien	Don't use sh_elf_discard_copies. Scan all input bfd and use
6790130561Sobrien	allocate_dynrelocs. Call readonly_dynrelocs to determine
6791130561Sobrien	whether we need DT_TEXTREL.
6792130561Sobrien	(sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
6793130561Sobrien	whether the symbol was never referred to.
6794130561Sobrien	(sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
6795130561Sobrien	(sh_elf_gc_sweep_hook): Fill with the real sweep function.
6796130561Sobrien	(sh_elf_check_relocs): Call create_got_section if the short-cut
6797130561Sobrien	to .got is null. Increment reference counters only instead of
6798130561Sobrien	allocating space on dynamic sections here. Don't conditionalize
6799130561Sobrien	uninitialized got.offset value when marking the symbol as a
6800130561Sobrien	global offset table entry. Keep relocations for symbols satisfied
6801130561Sobrien	by a dynamic library to avoid copy relocations for the symbol.
6802130561Sobrien	Set dynobj field of an elf hash table if needed.
6803130561Sobrien	(sh_elf_finish_dynamic_sections): Handle null section pointer
6804130561Sobrien	correctly.
6805130561Sobrien	(elf_backend_copy_indirect_symbol): Defined.
6806130561Sobrien	(elf_backend_can_refcount): Defined.
6807130561Sobrien
6808130561Sobrien2002-08-23  Nick Clifton  <nickc@redhat.com>
6809130561Sobrien
6810130561Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
6811130561Sobrien	previous change.  Add comment explaining why.
6812130561Sobrien
6813130561Sobrien2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
6814130561Sobrien
6815130561Sobrien	* elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
6816130561Sobrien	contents of .got.plt[2] to tr0, not address of .got.plt.
6817130561Sobrien	(sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
6818130561Sobrien	patching absolute plt entry. For shmedia plt entry, set bottom bit
6819130561Sobrien	of branch to plt0 as this is a branch to an shmedia instruction.
6820130561Sobrien	* elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
6821130561Sobrien	Copy contents of .got.plt[2] to tr0, not address of .got.plt.
6822130561Sobrien	(elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
6823130561Sobrien	branch to plt0.
6824130561Sobrien	(sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
6825130561Sobrien	patching absolute plt entry. For shmedia plt entry, branch to
6826130561Sobrien	plt0 is now ptrel, so use relative offset.  Set bottom bit of
6827130561Sobrien	branch target as it is a branch to an shmedia instruction.
6828130561Sobrien
6829130561Sobrien2002-08-23  Stephen Clarke <stephen.clarke@superh.com>,
6830130561Sobrien	    Richard Shann <richard.shann@superh.com>
6831130561Sobrien
6832130561Sobrien	* elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
6833130561Sobrien	value if .init is an SHmedia function.  Similarly for DT_FINI.
6834130561Sobrien	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
6835130561Sobrien
6836130561Sobrien2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
6837130561Sobrien
6838130561Sobrien	* elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
6839130561Sobrien	dynamic section.
6840130561Sobrien	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
6841130561Sobrien
6842130561Sobrien2002-08-22  Kaz Kojima <kkojima@rr.iij4u.or.jp>
6843130561Sobrien
6844130561Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
6845130561Sobrien	byte read when reading the return address register column.
6846130561Sobrien
6847130561Sobrien2002-08-22  Nick Clifton  <nickc@redhat.com>
6848130561Sobrien
6849130561Sobrien	* config.bfd: Add powepc64-*-*bsd* target.
6850130561Sobrien
6851130561Sobrien2002-08-22  Graeme Peterson  <gp@qnx.com>
6852130561Sobrien
6853130561Sobrien	* Makefile.am: Add entries for elf32-shqnx.c
6854130561Sobrien	* Makefile.in: Regenerate.
6855130561Sobrien	* config.bfd: Add support sh-*-nto* target.
6856130561Sobrien	* configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
6857130561Sobrien	* configure: Regenerate.
6858130561Sobrien	* elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
6859130561Sobrien	* elf32-sh.c: Do not include elf32-target.h if
6860130561Sobrien	ELF32_SH_C_INCLUDED is defined.
6861130561Sobrien	* elf32-shqnx.c: New file: Support for QNX.
6862130561Sobrien	* targets.c: Add bfd_elf32_sh{l}qnx_vec.
6863130561Sobrien
6864130561Sobrien2002-08-22  Nick Clifton  <nickc@redhat.com>
6865130561Sobrien
6866130561Sobrien	* po/tr.po: Updated Turkish translation.
6867130561Sobrien
6868130561Sobrien	* syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
6869130561Sobrien	symbols are not read.
6870130561Sobrien
6871130561Sobrien2002-08-22  Alan Modra  <amodra@bigpond.net.au>
6872130561Sobrien
6873130561Sobrien	* elf32-m68hc11.c: Formatting fixes.
6874130561Sobrien	(elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
6875130561Sobrien	* elf32-m68hc12.c: Formatting fixes.
6876130561Sobrien	(elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
6877130561Sobrien
6878130561Sobrien2002-08-22  Alan Modra  <amodra@bigpond.net.au>
6879130561Sobrien
6880130561Sobrien	* coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
6881130561Sobrien	SEC_DATA.
6882130561Sobrien	(pmac_xcoff_vec): Likewise.
6883130561Sobrien	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
6884130561Sobrien	(aix5coff64_vec): Likewise.
6885130561Sobrien
6886130561Sobrien2002-08-22  Alan Modra  <amodra@bigpond.net.au>
6887130561Sobrien
6888130561Sobrien	* elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
6889130561Sobrien	param to elf_backend_copy_indirect_symbol.
6890130561Sobrien	(_bfd_elf_link_hash_copy_indirect): Likewise.
6891130561Sobrien	* elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
6892130561Sobrien	calls to copy_indirect_symbol.
6893130561Sobrien	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
6894130561Sobrien	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
6895130561Sobrien	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
6896130561Sobrien	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
6897130561Sobrien	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
6898130561Sobrien	* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
6899130561Sobrien	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
6900130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
6901130561Sobrien	* elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
6902130561Sobrien	* elf.c (_bfd_elf_link_hash_copy_indirect): Likewise.  Properly
6903130561Sobrien	test refcounts for "used" values.
6904130561Sobrien
6905130561Sobrien2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6906130561Sobrien
6907130561Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
6908130561Sobrien	argument declaration.
6909130561Sobrien
6910130561Sobrien2002-08-19  Elena Zannoni <ezannoni@redhat.com>
6911130561Sobrien
6912130561Sobrien	* archures.c (bfd_mach_ppc_e500): Added.
6913130561Sobrien	* bfd-in2.h: Rebuilt.
6914130561Sobrien	* cpu-powerpc.c (bfd_powerpc_archs): Added e500.
6915130561Sobrien
6916130561Sobrien2002-08-19  Alan Modra  <amodra@bigpond.net.au>
6917130561Sobrien
6918130561Sobrien	* elf32-m68hc12.c (elf_backend_can_gc_sections): False.
6919130561Sobrien
6920130561Sobrien2002-08-17  Andrew Cagney  <ac131313@redhat.com>
6921130561Sobrien
6922130561Sobrien	* elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
6923130561Sobrien	`bfd_byte'.
6924130561Sobrien
6925130561Sobrien2002-08-17  Stan Cox  <scox@redhat.com>
6926130561Sobrien
6927130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
6928130561Sobrien	IRIX 6 segment layout for NEWABI.
6929130561Sobrien
6930130561Sobrien2002-08-16  Stephen Clarke <stephen.clarke@superh.com>
6931130561Sobrien
6932130561Sobrien	* elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
6933130561Sobrien	symbols when looking for section referred to by a relocation.
6934130561Sobrien	* elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
6935130561Sobrien
6936130561Sobrien2002-08-15  Alan Modra  <amodra@bigpond.net.au>
6937130561Sobrien
6938130561Sobrien	* elf32-i370.c: Move reloc enum to include/elf/i370.h.
6939130561Sobrien
6940130561Sobrien2002-08-15  Hans-Peter Nilsson  <hp@axis.com>
6941130561Sobrien
6942130561Sobrien	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
6943130561Sobrien	missing check for whether the symbol is referenced by DSO before
6944130561Sobrien	unexporting it as an unneeded dynamic symbol.
6945130561Sobrien
6946130561Sobrien2002-08-14  H.J. Lu <hjl@gnu.org>
6947130561Sobrien
6948130561Sobrien	* libbfd.h: Regenerate.
6949130561Sobrien
6950130561Sobrien2002-08-14  H.J. Lu <hjl@gnu.org>
6951130561Sobrien
6952130561Sobrien	* config.bfd: Always add 64bit vectors to 32bit Linux/mips.
6953130561Sobrien
6954130561Sobrien2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
6955130561Sobrien
6956130561Sobrien	* elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
6957130561Sobrien	instructions.
6958130561Sobrien	(m68hc11_direct_relax): New to define table of relaxable instructions.
6959130561Sobrien	(find_relaxable_insn): New, find a relaxable insn.
6960130561Sobrien	(compare_reloc): New to compare two relocs.
6961130561Sobrien	(m68hc11_elf_relax_section): New, relax text sections.
6962130561Sobrien	(m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
6963130561Sobrien	(elf32_m68hc11_check_relocs): New function for GC support.
6964130561Sobrien	(elf32_m68hc11_relocate_section): New function for GC support.
6965130561Sobrien	(bfd_elf32_bfd_relax_section): Define to support linker relaxation.
6966130561Sobrien	(elf_backend_check_relocs): Likewise.
6967130561Sobrien	(elf_backend_relocate_section): Likewise.
6968130561Sobrien
6969130561Sobrien2002-08-13  H.J. Lu <hjl@gnu.org>
6970130561Sobrien
6971130561Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
6972130561Sobrien	definitions in shared objects when checking symbol with
6973130561Sobrien	undefined version.
6974130561Sobrien
6975130561Sobrien2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
6976130561Sobrien
6977130561Sobrien	* elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
6978130561Sobrien	(elf32_m68hc11_gc_sweep_hook): Likewise.
6979130561Sobrien	(elf_backend_gc_mark_hook): Define for GC section support.
6980130561Sobrien	(elf_backend_gc_sweep_hook): Likewise.
6981130561Sobrien	(elf_backend_can_gc_sections): Likewise.
6982130561Sobrien
6983130561Sobrien	* elf32-m68hc12.c: Likewise.
6984130561Sobrien
6985130561Sobrien2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
6986130561Sobrien
6987130561Sobrien	* elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
6988130561Sobrien	(_bfd_m68hc11_elf_merge_private_bfd_data): New function.
6989130561Sobrien	(_bfd_m68hc11_elf_set_private_flags): New function.
6990130561Sobrien	Use them to set/check/print ELF flags specific to 68HC11.
6991130561Sobrien
6992130561Sobrien	* elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
6993130561Sobrien	(_bfd_m68hc12_elf_merge_private_bfd_data): New function.
6994130561Sobrien	(_bfd_m68hc12_elf_set_private_flags): New function.
6995130561Sobrien	Use them to set/check/print ELF flags specific to 68HC12.
6996130561Sobrien
6997130561Sobrien2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
6998130561Sobrien
6999130561Sobrien	* elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
7000130561Sobrien	fix masks for PC-rel relocs.
7001130561Sobrien	(m68hc11_elf_ignore_reloc): New function.
7002130561Sobrien
7003130561Sobrien	* elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
7004130561Sobrien	68HC12 banked addressing relocs.
7005130561Sobrien	(m68hc12_phys_addr): New to compute physical address of banked memory.
7006130561Sobrien	(m68hc12_phys_page): Likewise for page.
7007130561Sobrien	(m68hc12_addr_is_banked): New to see if address is in banked area.
7008130561Sobrien	(elf_m68hc12_howto_table): Add new relocs and rename to xx12.
7009130561Sobrien
7010130561Sobrien2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
7011130561Sobrien
7012130561Sobrien	* reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
7013130561Sobrien	BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
7014130561Sobrien	BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
7015130561Sobrien	* bfd-in2.h: Regenerate.
7016130561Sobrien
7017130561Sobrien2002-08-12  H.J. Lu <hjl@gnu.org>
7018130561Sobrien
7019130561Sobrien	* elflink.h (elf_add_default_symbol): Preserve section across
7020130561Sobrien	elf_merge_symbol.
7021130561Sobrien
7022130561Sobrien2002-08-09  Graeme Peterson  <gp@qnx.com>
7023130561Sobrien
7024130561Sobrien	* Makefile.am: Add entries for elf32-ppcqnx.c, and add
7025130561Sobrien	elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
7026130561Sobrien	* Makefile.in: Regenerate.
7027130561Sobrien	* config.bfd: Add support for powerpc{le}-*-nto targets.
7028130561Sobrien	* configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
7029130561Sobrien	* configure: Regenerate.
7030130561Sobrien	* elf32-i386qnx.c: Moved backend functions into a QNX specific
7031130561Sobrien	common file "elf32-qnx.h", and now include that file.
7032130561Sobrien	* elf32-qnx.h: New file: QNX specific common elf backend.
7033130561Sobrien	* elf32-ppc.c: Do not include elf32-target.h if
7034130561Sobrien	ELF32_PPC_C_INCLUDED is defined.
7035130561Sobrien	* elf32-ppcqnx.c: New file: Support for QNX.
7036130561Sobrien	* elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
7037130561Sobrien	* targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
7038130561Sobrien
7039130561Sobrien2002-08-09  Nick Clifton  <nickc@redhat.com>
7040130561Sobrien
7041130561Sobrien	* po/sv.po: Updated Swedish translation.
7042130561Sobrien
7043130561Sobrien2002-08-09  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7044130561Sobrien
7045130561Sobrien	* elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
7046130561Sobrien	g->global_gotsym is NULL.
7047130561Sobrien
7048130561Sobrien2002-08-08  H.J. Lu <hjl@gnu.org>
7049130561Sobrien
7050130561Sobrien	* elflink.h (elf_add_default_symbol): Don't warn if a definition
7051130561Sobrien	overrides an indirect versioned symbol.
7052130561Sobrien
7053130561Sobrien2002-08-08  Jakub Jelinek  <jakub@redhat.com>
7054130561Sobrien
7055130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
7056130561Sobrien	for R_386_TLS_TPOFF32 relocs against symndx 0.
7057130561Sobrien
7058130561Sobrien2002-08-07  H.J. Lu <hjl@gnu.org>
7059130561Sobrien
7060130561Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
7061130561Sobrien	with undefined version if needed.
7062130561Sobrien	(elf_link_assign_sym_version): Match a default symbol with a
7063130561Sobrien	version without definition. No need to hide the default
7064130561Sobrien	definition separately.
7065130561Sobrien
7066130561Sobrien2002-08-08  Alan Modra  <amodra@bigpond.net.au>
7067130561Sobrien
7068130561Sobrien	* elflink.h (elf_link_output_extsym): Don't output symbols from
7069130561Sobrien	SEC_EXCLUDE sections.
7070130561Sobrien
7071130561Sobrien	* aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
7072130561Sobrien
7073130561Sobrien2002-08-07  Alan Modra  <amodra@bigpond.net.au>
7074130561Sobrien
7075130561Sobrien	* elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
7076130561Sobrien	entries.
7077130561Sobrien
7078130561Sobrien2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7079130561Sobrien
7080130561Sobrien	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
7081130561Sobrien	mismatch.
7082130561Sobrien
7083130561Sobrien2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7084130561Sobrien
7085130561Sobrien	* elfxx-mips.c (ABI_64_P): Remove superfluous check.
7086130561Sobrien
7087130561Sobrien2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7088130561Sobrien
7089130561Sobrien	* elf32-mips.c (mips_reloc_map): Fix typo.
7090130561Sobrien
7091130561Sobrien2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7092130561Sobrien
7093130561Sobrien	* xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
7094130561Sobrien
7095130561Sobrien2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7096130561Sobrien
7097130561Sobrien	* elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
7098130561Sobrien
7099130561Sobrien2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7100130561Sobrien
7101130561Sobrien	* libxcoff.h: Use PARAMS on function declarations.
7102130561Sobrien	* coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
7103130561Sobrien	* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
7104130561Sobrien
7105130561Sobrien	* coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
7106130561Sobrien	addend.
7107130561Sobrien	* coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
7108130561Sobrien
7109130561Sobrien2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7110130561Sobrien
7111130561Sobrien	* coff-rs6000.c: Formatting fixes.
7112130561Sobrien	(xcoff_calculate_relocation): Use PARAMS in declaration.
7113130561Sobrien	(xcoff_complain_overflow): Likewise.
7114130561Sobrien	(xcoff_ppc_relocate_section): Use old-style function pointer call.
7115130561Sobrien	(bfd_xcoff_backend_data): Remove useless comments.
7116130561Sobrien	(rs6000coff_vec): Likewise.
7117130561Sobrien	(bfd_pmac_xcoff_backend_data): Likewise.
7118130561Sobrien	(pmac_xcoff_vec): Likewise.
7119130561Sobrien
7120130561Sobrien	* coff64-rs6000.c: Formatting fixes.
7121130561Sobrien	(xcoff64_calculate_relocation): Use PARAMS in declaration.
7122130561Sobrien	(xcoff64_ppc_relocate_section): Use old-style function pointer call.
7123130561Sobrien	(bfd_xcoff_backend_data): Remove useless comments.
7124130561Sobrien	(rs6000coff64_vec): Likewise.
7125130561Sobrien	(bfd_xcoff_aix5_backend_data): Likewise.
7126130561Sobrien	(aix5coff64_vec): Likewise.
7127130561Sobrien
7128130561Sobrien2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7129130561Sobrien
7130130561Sobrien	* coff-rs6000.c (xcoff_howto_table): Revert some of last change to
7131130561Sobrien	mask entries.  Use complain_overflow_dont for R_REF.
7132130561Sobrien	(xcoff_reloc_type_ba): Revert last change.
7133130561Sobrien	(xcoff_reloc_type_br): Likewise.
7134130561Sobrien	(xcoff_reloc_type_crel): Likewise.
7135130561Sobrien	(xcoff_ppc_relocate_section): Likewise.
7136130561Sobrien	* coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
7137130561Sobrien	(xcoff64_ppc_relocate_section): Likewise.
7138130561Sobrien	(xcoff64_howto_table): Revert some of last change to mask entries.
7139130561Sobrien	Use complain_overflow_dont for R_REF.
7140130561Sobrien
7141130561Sobrien	* coff-rs6000.c (xcoff_howto_table): Fix src_mask entries.  Make all
7142130561Sobrien	relocs with bitsize == 16 have size = 1.
7143130561Sobrien	(xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
7144130561Sobrien	(xcoff_reloc_type_br): Likewise.
7145130561Sobrien	(xcoff_reloc_type_crel): Likewise.
7146130561Sobrien	(xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
7147130561Sobrien	* coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
7148130561Sobrien	dst_mask adjustment.
7149130561Sobrien	(xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
7150130561Sobrien	(xcoff64_howto_table): Fix src_mask entries.  Make all relocs with
7151130561Sobrien	bitsize == 16 have size = 1.
7152130561Sobrien
7153130561Sobrien2002-08-01  Denis Chertykov  <denisc@overta.ru>
7154130561Sobrien
7155130561Sobrien	* elf32-ip2k.c: Processor manufacturer changed to Ubicom.
7156130561Sobrien	(struct misc): New field isymbuf. All free_* fields removed.
7157130561Sobrien	(symbol_value): Pass in internal syms. No need to swap syms in.
7158130561Sobrien	(ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
7159130561Sobrien	possibly cached info.
7160130561Sobrien	(tidyup_after_error): Removed.
7161130561Sobrien	(ip2k_elf_relax_section_pass1): Don't use removed fields of struct
7162130561Sobrien	misc. Use new field.
7163130561Sobrien	(adjust_all_relocations): Use internal syms. No need to swap syms
7164130561Sobrien	in and out.
7165130561Sobrien	(add_page_insn): Don't use removed fields of struct misc.
7166130561Sobrien
7167130561Sobrien2002-08-01  Nick Clifton  <nickc@redhat.com>
7168130561Sobrien
7169130561Sobrien	* elf32-arm.h: Revert previous delta.
7170130561Sobrien
7171130561Sobrien2002-08-01  Nick Clifton  <nickc@redhat.com>
7172130561Sobrien
7173130561Sobrien	* configure.in (AM_INIT_AUTOMAKE): Bump version number.
7174130561Sobrien	* configure: Regenerate.
7175130561Sobrien
7176130561Sobrien2002-07-31  H.J. Lu <hjl@gnu.org>
7177130561Sobrien
7178130561Sobrien	* config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
7179130561Sobrien	selected.
7180130561Sobrien
7181130561Sobrien2002-07-31  H.J. Lu <hjl@gnu.org>
7182130561Sobrien
7183130561Sobrien	* config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
7184130561Sobrien	is selected.
7185130561Sobrien
7186130561Sobrien2002-07-31  Jakub Jelinek  <jakub@redhat.com>
7187130561Sobrien
7188130561Sobrien	* elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
7189130561Sobrien	if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
7190130561Sobrien
7191130561Sobrien2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
7192130561Sobrien
7193130561Sobrien	* cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
7194130561Sobrien	There is no 8 byte relocation type for this architecture.
7195130561Sobrien	(do_ns32k_reloc): Use bfd_vma instead of native types.
7196130561Sobrien	(bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
7197130561Sobrien	returns void.
7198130561Sobrien	(_bfd_ns32k_put_displacement): Don't check for overflow. We can
7199130561Sobrien	rely on generic code to do that.
7200130561Sobrien	* aout-ns32k.c (howto_table): Add appropriate overflow detection
7201130561Sobrien	to all table entries.
7202130561Sobrien	(_bfd_ns32k_relocate_contents): put_data returns void.
7203130561Sobrien	* ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
7204130561Sobrien	(_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
7205130561Sobrien	return void.
7206130561Sobrien
7207130561Sobrien2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
7208130561Sobrien
7209130561Sobrien	* aoutx.h (aout_link_check_ar_symbols): Whether to include an
7210130561Sobrien	archive object is target dependant.
7211130561Sobrien
7212130561Sobrien2002-07-31  Adam Nemet  <anemet@lnxw.com>
7213130561Sobrien
7214130561Sobrien	* elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
7215130561Sobrien	(THUMB_PLT_ENTRY_SIZE): New macro.
7216130561Sobrien	(PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
7217130561Sobrien	(elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
7218130561Sobrien	ARM_PLT_ENTRY_SIZE.
7219130561Sobrien	(elf32_arm_plt_entry): Likewise.
7220130561Sobrien	(elf_backend_plt_header_size): Likewise.
7221130561Sobrien	(elf32_thumb_plt0_entry): New global.
7222130561Sobrien	(elf32_arm_finish_dynamic_sections): Use it.  Put Thumb entries
7223130561Sobrien	into .plt.thumb.
7224130561Sobrien	(elf32_thumb_plt_entry): New global.
7225130561Sobrien	(elf32_arm_finish_dynamic_symbol): Use it.  Use .thumb.plt for
7226130561Sobrien	Thumb entries.  Set the bottom bit of the corresponding GOT entry
7227130561Sobrien	for a Thumb PLT entry.
7228130561Sobrien	(struct elf32_arm_plt_entry_info): New structure.
7229130561Sobrien	(struct elf32_arm_link_hash_entry, plt_info): New member of this
7230130561Sobrien	type.
7231130561Sobrien	(elf32_arm_link_hash_newfunc): Initialize new member.
7232130561Sobrien	(elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
7233130561Sobrien	relocations against the PLT.
7234130561Sobrien	(elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
7235130561Sobrien	first_rel_type if this is the first time we encounter the symbol.
7236130561Sobrien	(elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
7237130561Sobrien	Determine if relocation needs a PLT entry.  Set first_rel_type if
7238130561Sobrien	this is the first time we encounter the symbol
7239130561Sobrien	(elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
7240130561Sobrien	functions as well.
7241130561Sobrien	(elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
7242130561Sobrien	(elf32_arm_create_dynamic_sections): New function.  Create the
7243130561Sobrien	.plt.thumb section.
7244130561Sobrien	(elf_backend_create_dynamic_sections): Call it.
7245130561Sobrien
7246130561Sobrien2002-07-31  Nick Clifton  <nickc@redhat.com>
7247130561Sobrien
7248130561Sobrien	* bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
7249130561Sobrien	'alternative' in order to avoid shadowing global symbol of the
7250130561Sobrien	same name.
7251130561Sobrien	* bfd-in2.h: Regenerate.
7252130561Sobrien	* libbfd.h: Regenerate.
7253130561Sobrien	* libcoff.h: Regenerate.
7254130561Sobrien
7255130561Sobrien2002-07-31  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7256130561Sobrien
7257130561Sobrien	* Makefile.am: Add n32 ABI support.
7258130561Sobrien	* Makefile.in: Regenerate.
7259130561Sobrien	* config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
7260130561Sobrien	bit vectors for mips*-*-linux targets as optional.
7261130561Sobrien	* configure.in: Add n32 ABI vectors.
7262130561Sobrien	* configure: Regenerate.
7263130561Sobrien	* elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
7264130561Sobrien	* elfn32-mips.c: New file, n32 ABI support.
7265130561Sobrien	* targets.c: Add n32 ABI vectors.
7266130561Sobrien
7267130561Sobrien2002-07-30  Graeme Peterson  <gp@qnx.com>
7268130561Sobrien
7269130561Sobrien	* elfarmqnx-nabi.c: New file: Support for QNX.
7270130561Sobrien	* config.bfd: Add support for arm-*-nto target.
7271130561Sobrien	* configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
7272130561Sobrien	* configure: Regenerate.
7273130561Sobrien	* Makefile.am: Add entries for elfarmqnx-nabi.c.
7274130561Sobrien	* Makefile.in: Regenerate.
7275130561Sobrien	* elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
7276130561Sobrien	Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
7277130561Sobrien	* elfarm-nabi.c: Do not include elf32-arm.h if
7278130561Sobrien	ELFARM_NABI_C_INCLUDED is defined.
7279130561Sobrien	* targets.c: Add bfd_elf32_{big|little}armqnx_vec.
7280130561Sobrien
7281130561Sobrien2002-07-30  Nick Clifton  <nickc@redhat.com>
7282130561Sobrien
7283130561Sobrien	* po/sv.po: Updated Swedish translation.
7284130561Sobrien
7285130561Sobrien2002-07-30  Jakub Jelinek  <jakub@redhat.com>
7286130561Sobrien
7287130561Sobrien	* elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
7288130561Sobrien
7289130561Sobrien2002-07-30  Alan Modra  <amodra@bigpond.net.au>
7290130561Sobrien
7291130561Sobrien	* aoutx.h (some_aout_object_p): Clean up tdata properly on error.
7292130561Sobrien	* archive.c (bfd_generic_archive_p): Likewise.
7293130561Sobrien	* coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
7294130561Sobrien	(_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
7295130561Sobrien	* coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
7296130561Sobrien	(xcoff64_archive_p): Likewise.
7297130561Sobrien	(xcoff64_openr_next_archived_file): Likewise.
7298130561Sobrien	(xcoff64_archive_p): Clean up tdata properly on error.
7299130561Sobrien	* coffgen.c (coff_real_object_p): Likewise.
7300130561Sobrien	(coff_object_p): Release filehdr and opthdr.
7301130561Sobrien	* ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
7302130561Sobrien	* ieee.c (ieee_archive_p): Likewise.
7303130561Sobrien	* ihex.c (ihex_object_p): Likewise.
7304130561Sobrien	(ihex_mkobject): Always allocate tdata.
7305130561Sobrien	* peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
7306130561Sobrien	* srec.c (srec_mkobject): Always allocate tdata.
7307130561Sobrien	(srec_object_p): Clean up tdata properly on error.
7308130561Sobrien	(symbolsrec_object_p): Likewise.
7309130561Sobrien	* versados.c (versados_object_p): Likewise.
7310130561Sobrien	* vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
7311130561Sobrien	and bfd_realloc instead of realloc.
7312130561Sobrien	(add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
7313130561Sobrien	* vms.c (vms_initialize): Always allocate tdata.  Use bfd_alloc in
7314130561Sobrien	place of bfd_malloc, simplifying error freeing.  Free hash table too.
7315130561Sobrien	(vms_object_p): Clean up tdata on error.
7316130561Sobrien	(vms_mkobject): Don't complain on stderr if vms_initialize fails.
7317130561Sobrien	(vms_close_and_cleanup): Adjust for bfd_alloc use.
7318130561Sobrien
7319130561Sobrien2002-07-30  Alan Modra  <amodra@bigpond.net.au>
7320130561Sobrien
7321130561Sobrien	* elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
7322130561Sobrien
7323130561Sobrien2002-07-26  Chris Demetriou  <cgd@broadcom.com>
7324130561Sobrien
7325130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
7326130561Sobrien	flags into resulting BFD.
7327130561Sobrien
7328130561Sobrien2002-07-26  Alan Modra  <amodra@bigpond.net.au>
7329130561Sobrien
7330130561Sobrien	From John Reiser <jreiser@BitWagon.com>
7331130561Sobrien	* elf32-i386.c (elf_i386_link_hash_table_create): Clear
7332130561Sobrien	tls_ldm_got.refcount.
7333130561Sobrien
7334130561Sobrien2002-07-25  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7335130561Sobrien
7336130561Sobrien	* elf64-mips.c: Update TODO comment.
7337130561Sobrien	(mips_elf64_higher_reloc,mips_elf64_highest_reloc,
7338130561Sobrien	mips_elf64_gprel16_reloca): Remove prototypes.
7339130561Sobrien	(mips16_jump_reloc,mips16_gprel_reloc): Add functions.
7340130561Sobrien	(UNUSED_RELOC): Replace by EMPTY_RELOC.
7341130561Sobrien	(mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
7342130561Sobrien	wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
7343130561Sobrien	R_MIPS_HIGHEST.
7344130561Sobrien	(mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
7345130561Sobrien	R_MIPS_GOT16. Remove wrong comments.
7346130561Sobrien	(elf_mips16_jump_howto,elf_mips16_gprel_howto,
7347130561Sobrien	elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
7348130561Sobrien	from elf32-mips.c.
7349130561Sobrien	(mips_elf64_hi16_reloc): Fix formatting.
7350130561Sobrien	(mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
7351130561Sobrien	(mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
7352130561Sobrien	Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
7353130561Sobrien	(mips_elf64_gprel16_reloc): Make static. Add check for
7354130561Sobrien	partial_inplace.
7355130561Sobrien	(mips_elf64_gprel16_reloca): Remove.
7356130561Sobrien	(mips_elf64_literal_reloc): New function.
7357130561Sobrien	(mips_elf64_gprel32_reloc): Fix formatting.
7358130561Sobrien	(mips_elf64_shift6_reloc): Fix comment. Make static.
7359130561Sobrien	(mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
7360130561Sobrien	elf32-mips.c.
7361130561Sobrien	(elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
7362130561Sobrien	elf32-mips.c
7363130561Sobrien	(bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
7364130561Sobrien	specific relocations.
7365130561Sobrien	(mips_elf64_rtype_to_howto): Enable GNU specific relocations.
7366130561Sobrien	(mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
7367130561Sobrien	(ELF_MAXPAGESIZE): Add comment.
7368130561Sobrien
7369130561Sobrien2002-07-25  Nick Clifton  <nickc@redhat.com>
7370130561Sobrien
7371130561Sobrien	* po/sv.po: Updated Swedish translation.
7372130561Sobrien	* po/es.po: Updated Spanish translation.
7373130561Sobrien	* po/fr.po: Updated French translation.
7374130561Sobrien
7375130561Sobrien2002-07-25  Alan Modra  <amodra@bigpond.net.au>
7376130561Sobrien
7377130561Sobrien	* elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
7378130561Sobrien	as elf_link_record_local_dynamic_symbol.
7379130561Sobrien	(_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
7380130561Sobrien	(elf_link_record_local_dynamic_symbol): Declare.  Now returns int.
7381130561Sobrien	* elflink.h (elf_link_record_local_dynamic_symbol): Move to..
7382130561Sobrien	* elflink.c: .. here.  Use bfd_elf_get_elf_syms.  Check whether an
7383130561Sobrien	attempt is made to record a symbol in a discarded section, and
7384130561Sobrien	return `2' in that case.
7385130561Sobrien
7386130561Sobrien2002-07-24  Nick Clifton  <nickc@redhat.com>
7387130561Sobrien
7388130561Sobrien	* po/sv.po: Updated Swedish translation.
7389130561Sobrien	* po/es.po: Updated Spanish translation.
7390130561Sobrien
7391130561Sobrien2002-07-23  Alan Modra  <amodra@bigpond.net.au>
7392130561Sobrien
7393130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
7394130561Sobrien
7395130561Sobrien	* elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
7396130561Sobrien	immediately.  Remove code handling relocatable linking.
7397130561Sobrien	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
7398130561Sobrien	* elf32-cris.c (cris_elf_relocate_section): Likewise.
7399130561Sobrien	* elf32-fr30.c (elf32_frv_relocate_section): Likewise.
7400130561Sobrien	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
7401130561Sobrien	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
7402130561Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
7403130561Sobrien	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
7404130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
7405130561Sobrien	* elf32-v850.c (v850_elf_relocate_section): Likewise.
7406130561Sobrien	* elf32-vax.c (elf_vax_relocate_section): Likewise.
7407130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
7408130561Sobrien	* elf32-avr.c (elf_backend_rela_normal): Define.
7409130561Sobrien	* elf32-cris.c: Likewise.
7410130561Sobrien	* elf32-fr30.c: Likewise.
7411130561Sobrien	* elf32-frv.c: Likewise.
7412130561Sobrien	* elf32-h8300.c: Likewise.
7413130561Sobrien	* elf32-hppa.c: Likewise.
7414130561Sobrien	* elf32-ip2k.c: Likewise.
7415130561Sobrien	* elf32-sparc.c: Likewise.
7416130561Sobrien	* elf32-v850.c: Likewise.
7417130561Sobrien	* elf32-vax.c: Likewise.
7418130561Sobrien	* elf64-hppa.c: Likewise.
7419130561Sobrien	* elf64-sparc.c: Likewise.
7420130561Sobrien	* elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
7421130561Sobrien	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
7422130561Sobrien	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
7423130561Sobrien	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
7424130561Sobrien	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
7425130561Sobrien	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
7426130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
7427130561Sobrien	* elf-m10200.c (USE_RELA): Don't define.
7428130561Sobrien	* elf-m10300.c: Likewise.
7429130561Sobrien	* elfarm-oabi.c: Likewise.
7430130561Sobrien	* elf32-i370.c: Likewise.
7431130561Sobrien	* elf32-ip2k.c: Likewise.
7432130561Sobrien	* elf32-m68k.c: Likewise.
7433130561Sobrien	* elf32-mcore.c: Likewise.
7434130561Sobrien	* elf32-ppc.c: Likewise.
7435130561Sobrien	* elf32-s390.c: Likewise.
7436130561Sobrien	* elf32-vax.c: Likewise.
7437130561Sobrien	* elf64-ppc.c: Likewise.
7438130561Sobrien	* elf64-s390.c: Likewise.
7439130561Sobrien	* elf64-x86-64.c: Likewise.
7440130561Sobrien	* elfxx-ia64.c: Likewise.
7441130561Sobrien	* elf32-avr.c (USE_REL): Don't undef.
7442130561Sobrien	* elf32-ip2k.c: Likewise.
7443130561Sobrien
7444130561Sobrien2002-07-23  Nick Clifton  <nickc@redhat.com>
7445130561Sobrien
7446130561Sobrien	* elf-bfd.h (struct elf_backend_data): Add new bitfield
7447130561Sobrien	'want_p_paddr_set_to_zero'.
7448130561Sobrien	* elfxx-target.h: Set default value for want_p_paddr_set_to_zero
7449130561Sobrien	to false;
7450130561Sobrien	* elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
7451130561Sobrien	* elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
7452130561Sobrien
7453130561Sobrien2002-07-23  Gabor Keresztfalvi  <keresztg@mail.com>
7454130561Sobrien
7455130561Sobrien	* nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
7456130561Sobrien	the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
7457130561Sobrien	show the Copyright string.
7458130561Sobrien	Minor formatting tidy ups.
7459130561Sobrien
7460130561Sobrien2002-07-23  Nick Clifton  <nickc@redhat.com>
7461130561Sobrien
7462130561Sobrien	* po/fr.po: Updated French translation.
7463130561Sobrien	* po/sv.po: Updated Swedish translation.
7464130561Sobrien
7465130561Sobrien2002-07-23  Alan Modra  <amodra@bigpond.net.au>
7466130561Sobrien
7467130561Sobrien	* elflink.h (elf_link_input_bfd): Don't change internal symbols
7468130561Sobrien	when outputting relocs.
7469130561Sobrien
7470130561Sobrien2002-07-20  Jason Thorpe  <thorpej@wasabisystems.com>
7471130561Sobrien
7472130561Sobrien	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
7473130561Sobrien	DT_PLTGOT into the dynamic section if there is a PLT.
7474130561Sobrien
7475130561Sobrien2002-07-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7476130561Sobrien
7477130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
7478130561Sobrien	elf32-mips.c.
7479130561Sobrien	(_bfd_mips_elf_write_section): Likewise.
7480130561Sobrien	* elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
7481130561Sobrien	(_bfd_mips_elf_write_section): Likewise.
7482130561Sobrien	* elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
7483130561Sobrien	(elf32_mips_write_section): Likewise.
7484130561Sobrien	* elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
7485130561Sobrien	(_bfd_mips_elf_write_section): Likewise.
7486130561Sobrien
7487130561Sobrien2002-07-19  Alan Modra  <amodra@bigpond.net.au>
7488130561Sobrien
7489130561Sobrien	* elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
7490130561Sobrien	PT_IA_64_UNWIND segments for a given section.
7491130561Sobrien
7492130561Sobrien2002-07-17  H.J. Lu <hjl@gnu.org>
7493130561Sobrien
7494130561Sobrien	* Makefile.am: Fix a typo.
7495130561Sobrien	* Makefile.in: Regenerate.
7496130561Sobrien
7497130561Sobrien2002-07-15  Denis Chertykov  <denisc@overta.ru>
7498130561Sobrien	    Frank Ch. Eigler  <fche@redhat.com>
7499130561Sobrien	    Ben Elliston  <bje@redhat.com>
7500130561Sobrien	    Alan Lehotsky  <alehotsky@cygnus.com>
7501130561Sobrien	    John Healy  <jhealy@redhat.com>
7502130561Sobrien	    Graham Stott  <grahams@redhat.com>
7503130561Sobrien	    Jeff Johnston  <jjohnstn@redhat.com>
7504130561Sobrien
7505130561Sobrien	* Makefile.am: Add support for ip2k.
7506130561Sobrien	* Makefile.in: Regenerate.
7507130561Sobrien	* doc/Makefile.in: Regenerate.
7508130561Sobrien	* archures.c: Add support for ip2k.
7509130561Sobrien	* config.bfd: Add support for ip2k.
7510130561Sobrien	* configure.in: Add support for ip2k.
7511130561Sobrien	* configure: Regenerate.
7512130561Sobrien	* reloc.c: Add support for ip2k.
7513130561Sobrien	* targets.c: Add support for ip2k.
7514130561Sobrien	* bfd-in2.h: Regenerate.
7515130561Sobrien	* libbfd.h: Regenerate.
7516130561Sobrien	* cpu-ip2k.c: New file.
7517130561Sobrien	* elf32-ip2k.c: New file.
7518130561Sobrien
7519130561Sobrien2002-07-17  Ian Rickards  <irickard@arm.com>
7520130561Sobrien
7521130561Sobrien	* dwarf2.c (concat_filename): If we can't establish the directory
7522130561Sobrien	just return the filename.
7523130561Sobrien
7524130561Sobrien2002-07-16  Moritz Jodeit  <moritz@jodeit.org>
7525130561Sobrien
7526130561Sobrien	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
7527130561Sobrien
7528130561Sobrien2002-07-16  Alan Modra  <amodra@bigpond.net.au>
7529130561Sobrien
7530130561Sobrien	* elflink.h: Formatting fixes, tidy prototypes.
7531130561Sobrien	(elf_link_assign_sym_version): Move common code out of loop.
7532130561Sobrien
7533130561Sobrien2002-07-16  Alan Modra  <amodra@bigpond.net.au>
7534130561Sobrien
7535130561Sobrien	* elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
7536130561Sobrien	reloc section size is zero.  Correct reloc output location.
7537130561Sobrien
7538130561Sobrien2002-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7539130561Sobrien
7540130561Sobrien	* elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
7541130561Sobrien	the final type for the e_fsel selector when generating PA2.0W code.
7542130561Sobrien	(elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
7543130561Sobrien	relocations.
7544130561Sobrien
7545130561Sobrien2002-07-14  H.J. Lu <hjl@gnu.org>
7546130561Sobrien
7547130561Sobrien	* elflink.h (elf_link_assign_sym_version): Hide the default
7548130561Sobrien	definition if there is a hidden versioned definition.
7549130561Sobrien
7550130561Sobrien2002-07-12  Hans-Peter Nilsson  <hp@axis.com>
7551130561Sobrien
7552130561Sobrien	* elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
7553130561Sobrien	dynamic reference test in assertion when initializing GOT with
7554130561Sobrien	static contents.  Just assert that there are either no dynamic
7555130561Sobrien	sections, the symbol is defined in the regular objects or that the
7556130561Sobrien	symbol is undef weak.  Tweak comment.
7557130561Sobrien	(elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
7558130561Sobrien	only if the symbol isn't defined in the program and isn't undef
7559130561Sobrien	weak.
7560130561Sobrien	(elf_cris_adjust_dynamic_symbol): Simplify condition for getting
7561130561Sobrien	rid of PLT entry: only do it if the symbol isn't defined in a DSO.
7562130561Sobrien	When doing so, clear ELF_LINK_HASH_NEEDS_PLT.  Tweak comments.
7563130561Sobrien	(elf_cris_discard_excess_program_dynamics): Don't consider
7564130561Sobrien	ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
7565130561Sobrien
7566130561Sobrien2002-07-11  Alan Modra  <amodra@bigpond.net.au>
7567130561Sobrien
7568130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Don't complain about
7569130561Sobrien	unresolved debugging relocs in dynamic applications.
7570130561Sobrien	* elf32-s390.c (elf_s390_relocate_section): Likewise.
7571130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
7572130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
7573130561Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
7574130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
7575130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
7576130561Sobrien
7577130561Sobrien2002-07-10  Alan Modra  <amodra@bigpond.net.au>
7578130561Sobrien
7579130561Sobrien	* elf64-ppc.c (ONES): Define.
7580130561Sobrien	(ppc64_elf_howto_table): Use ONES here to avoid warnings.  Fill in
7581130561Sobrien	missing src_mask fields.  Tweak R_PPC64_NONE, R_PPC64_COPY.  Fill
7582130561Sobrien	in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
7583130561Sobrien
7584130561Sobrien	* elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
7585130561Sobrien	(ppc64_elf_set_private_flags): Delete.
7586130561Sobrien	(ppc64_elf_section_from_shdr): Delete.
7587130561Sobrien	(ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
7588130561Sobrien	(ppc64_elf_fake_sections): Delete.
7589130561Sobrien	(bfd_elf64_bfd_set_private_flags): Don't define.
7590130561Sobrien	(bfd_elf64_get_symbol_info): Likewise.
7591130561Sobrien	(elf_backend_section_from_shdr): Likewise.
7592130561Sobrien	(elf_backend_fake_sections): Likewise.
7593130561Sobrien
7594130561Sobrien2002-07-10  Marco Walther  <Marco.Walther@sun.com>
7595130561Sobrien
7596130561Sobrien	* elf.c: (assign_section_numbers) Set sh_entsize for .stab only
7597130561Sobrien	when not already set.
7598130561Sobrien	* elf64-sparc.c: (sparc64_elf_fake_sections): New function.
7599130561Sobrien	(elf_backend_fake_sections): Define.
7600130561Sobrien
7601130561Sobrien2002-07-10  Alan Modra  <amodra@bigpond.net.au>
7602130561Sobrien
7603130561Sobrien	* merge.c (_bfd_merge_section): Remove redundant output_section check.
7604130561Sobrien	Formatting.
7605130561Sobrien	(_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
7606130561Sobrien
7607130561Sobrien2002-07-09  Hans-Peter Nilsson  <hp@axis.com>
7608130561Sobrien
7609130561Sobrien	* elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
7610130561Sobrien	NULL sym_hashes to just before use.
7611130561Sobrien	<case R_CRIS_32_GOTREL>: In test for local symbol, accept also
7612130561Sobrien	symbol with non-default visibility.
7613130561Sobrien	<case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
7614130561Sobrien	<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
7615130561Sobrien	Ditto.
7616130561Sobrien	(cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
7617130561Sobrien	symbol with non-default visibility.
7618130561Sobrien	(cris_elf_check_relocs): At tests for local symbol before
7619130561Sobrien	increasing h->plt.refcount, also check for non-default
7620130561Sobrien	visibility.  Ditto when checking for local symbol to eliminate
7621130561Sobrien	pc-relative runtime relocs.
7622130561Sobrien
7623130561Sobrien2002-07-08  Alan Modra  <amodra@bigpond.net.au>
7624130561Sobrien
7625130561Sobrien	* elf.c: Formatting.
7626130561Sobrien	(IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
7627130561Sobrien	(INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
7628130561Sobrien	(copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
7629130561Sobrien	segments.
7630130561Sobrien
7631130561Sobrien2002-07-07  Mark Mitchell  <mark@codesourcery.com>
7632130561Sobrien	    Alan Modra  <amodra@bigpond.net.au>
7633130561Sobrien
7634130561Sobrien	* cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
7635130561Sobrien	account the impact of relocation count overflow when computing
7636130561Sobrien	section offsets.
7637130561Sobrien	* coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
7638130561Sobrien	or not to apply the PE COFF reloc overflow handling.  Fix a
7639130561Sobrien	fencepost error in deciding whether or not to use that technique.
7640130561Sobrien
7641130561Sobrien2002-07-07  Alan Modra  <amodra@bigpond.net.au>
7642130561Sobrien
7643130561Sobrien	* elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
7644130561Sobrien	change type of locsyms.
7645130561Sobrien	(bfd_elf_get_elf_syms): Declare.
7646130561Sobrien	* elf.c (bfd_elf_get_elf_syms): New function.
7647130561Sobrien	(group_signature): Use bfd_elf_get_elf_syms.
7648130561Sobrien	(bfd_section_from_r_symndx): Likewise.
7649130561Sobrien	* elfcode.h (elf_slurp_symbol_table): Likewise.
7650130561Sobrien	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
7651130561Sobrien	(elf_link_add_object_symbols): Likewise.  Reorganise to increase
7652130561Sobrien	locality of various data structures.  Properly free internal relocs.
7653130561Sobrien	(elf_bfd_final_link): Properly free internal relocs.
7654130561Sobrien	(elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
7655130561Sobrien	(elf_link_input_bfd): Likewise.
7656130561Sobrien	(elf_gc_mark): Likewise.  Properly free internal relocs.
7657130561Sobrien	(elf_gc_sweep): Properly free internal relocs.
7658130561Sobrien	(elf_reloc_symbol_deleted_p): No need to swap syms in.
7659130561Sobrien	(elf_bfd_discard_info): Use bfd_elf_get_elf_syms.  Properly free
7660130561Sobrien	internal relocs.
7661130561Sobrien	* elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
7662130561Sobrien	Properly free possibly cached info.
7663130561Sobrien	(mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
7664130561Sobrien	(mn10200_elf_symbol_address_p): Pass in internal syms.  Remove
7665130561Sobrien	symbol swapping code.
7666130561Sobrien	(mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
7667130561Sobrien	Properly free possibly cached info.
7668130561Sobrien	* elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
7669130561Sobrien	(mn10300_elf_relax_delete_bytes): Likewise.
7670130561Sobrien	(mn10300_elf_symbol_address_p): Likewise.
7671130561Sobrien	(mn10300_elf_get_relocated_section_contents): Likewise.
7672130561Sobrien	* elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
7673130561Sobrien	(elf32_h8_relax_delete_bytes): Likewise.
7674130561Sobrien	(elf32_h8_symbol_address_p): Likewise.
7675130561Sobrien	(elf32_h8_get_relocated_section_contents): Likewise.
7676130561Sobrien	* elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
7677130561Sobrien	(m32r_elf_relax_delete_bytes): Likewise.
7678130561Sobrien	(m32r_elf_get_relocated_section_contents): Likewise.
7679130561Sobrien	* elf32-sh.c (sh_elf_reloc_loop): Free section contents using
7680130561Sobrien	elf_section_data to determine whether cached.
7681130561Sobrien	(sh_elf_relax_section): As above for elf-m10200.c.
7682130561Sobrien	(sh_elf_relax_delete_bytes): Likewise.
7683130561Sobrien	(sh_elf_get_relocated_section_contents): Likewise.
7684130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
7685130561Sobrien	* elf64-alpha.c (elf64_alpha_relax_section): As above.  Also delay
7686130561Sobrien	reading of local syms.
7687130561Sobrien	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
7688130561Sobrien	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
7689130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): As above.
7690130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
7691130561Sobrien	relocs.
7692130561Sobrien	* elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
7693130561Sobrien	free internal relocs and section contents.  Don't read symbols.
7694130561Sobrien	* elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
7695130561Sobrien	(elf32_hppa_size_stubs): Don't free local syms.
7696130561Sobrien	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
7697130561Sobrien	reading of local syms.  Use bfd_elf_get_elf_syms.  Properly free
7698130561Sobrien	possibly cached info.
7699130561Sobrien	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
7700130561Sobrien	* elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
7701130561Sobrien	* elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
7702130561Sobrien	all_local_syms.
7703130561Sobrien	(get_local_syms): Delete function.
7704130561Sobrien	(edit_opd): Use bfd_elf_get_elf_syms.  Free on error exit.  Cache
7705130561Sobrien	on exit.
7706130561Sobrien	(ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms.  Free/cache on exit.
7707130561Sobrien
7708130561Sobrien2002-07-05  Jim Wilson  <wilson@redhat.com>
7709130561Sobrien
7710130561Sobrien	* syms.c (decode_section_type): New.
7711130561Sobrien	(bfd_decode_symclass): Call decode_section_type.
7712130561Sobrien
7713130561Sobrien2002-07-04  Jakub Jelinek  <jakub@redhat.com>
7714130561Sobrien
7715130561Sobrien	* merge.c (_bfd_merged_section_offset): Avoid accessing byte before
7716130561Sobrien	section content start.
7717130561Sobrien	Reported by Michael Schumacher <mike@hightec-rt.com>.
7718130561Sobrien
7719130561Sobrien2002-07-04  Alan Modra  <amodra@bigpond.net.au>
7720130561Sobrien
7721130561Sobrien	* section.c (_bfd_strip_section_from_output): Remove unnecessary
7722130561Sobrien	link order code.  Don't actually remove the output section here;
7723130561Sobrien	Just set a flag for the linker to do so.
7724130561Sobrien	* elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
7725130561Sobrien	sections when setting up output section dynsyms.
7726130561Sobrien
7727130561Sobrien2002-07-04  Alan Modra  <amodra@bigpond.net.au>
7728130561Sobrien
7729130561Sobrien	* elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
7730130561Sobrien	fudge.
7731130561Sobrien	* elf.c (bfd_section_from_shdr): Work around broken hpux shared
7732130561Sobrien	libs here instead.
7733130561Sobrien
7734130561Sobrien2002-07-02  Martin Schwidefsky  <schwidefsky@de.ibm.com>
7735130561Sobrien
7736130561Sobrien	* elf64-s390.c (create_got_section): Set .got section alignment to
7737130561Sobrien	8 bytes.
7738130561Sobrien	(elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
7739130561Sobrien
7740130561Sobrien2002-07-02  Alan Modra  <amodra@bigpond.net.au>
7741130561Sobrien
7742130561Sobrien	* elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
7743130561Sobrien
7744130561Sobrien2002-07-01  Matt Thomas  <matt@3am-software.com>
7745130561Sobrien
7746130561Sobrien	* elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
7747130561Sobrien	to EF_VAX_*.
7748130561Sobrien
7749130561Sobrien2002-07-01  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7750130561Sobrien
7751130561Sobrien	* elfxx-mips.c (ABI_64_P): Fix comment.
7752130561Sobrien	(MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
7753130561Sobrien	new section names for N64 ABI.
7754130561Sobrien	(mips_elf_output_extsym): No special _gp_disp handling for NewABI.
7755130561Sobrien	(mips_elf_calculate_relocation): Code formatting.
7756130561Sobrien	(mips_elf_create_dynamic_relocation): Likewise.
7757130561Sobrien	(_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
7758130561Sobrien	(_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
7759130561Sobrien	(_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
7760130561Sobrien	in any NewABI.
7761130561Sobrien	(_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
7762130561Sobrien	for NewABI.
7763130561Sobrien	(_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
7764130561Sobrien	(_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
7765130561Sobrien	here, too.
7766130561Sobrien
7767130561Sobrien2002-07-01  Andreas Schwab  <schwab@suse.de>
7768130561Sobrien
7769130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
7770130561Sobrien	R_X86_64_64 to R_X86_64_RELATIVE.
7771130561Sobrien
7772130561Sobrien2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7773130561Sobrien
7774130561Sobrien	* vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
7775130561Sobrien	* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
7776130561Sobrien	Run "make dep-am".
7777130561Sobrien	* config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
7778130561Sobrien	host_aout_vec.
7779130561Sobrien	* configure.in (vaxbsd_vec): Add.
7780130561Sobrien	* targets.c (vaxbsd_vec): Add.
7781130561Sobrien	* Makefile.in: Rebuild.
7782130561Sobrien	* configure: Rebuild.
7783130561Sobrien	* po/SRC-POTFILES.in: Rebuild.
7784130561Sobrien
7785130561Sobrien2002-07-01  Alan Modra  <amodra@bigpond.net.au>
7786130561Sobrien
7787130561Sobrien	* elflink.h (elf_gc_mark): Pass in the section whose relocs we are
7788130561Sobrien	examining to gc_mark_hook, rather than the bfd.
7789130561Sobrien	(elf_gc_sections): Adjust.
7790130561Sobrien	* elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
7791130561Sobrien	* elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
7792130561Sobrien	* elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
7793130561Sobrien	* elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
7794130561Sobrien	* elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
7795130561Sobrien	* elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
7796130561Sobrien	* elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
7797130561Sobrien	* elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
7798130561Sobrien	* elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
7799130561Sobrien	* elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
7800130561Sobrien	* elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
7801130561Sobrien	* elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
7802130561Sobrien	* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
7803130561Sobrien	* elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
7804130561Sobrien	* elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
7805130561Sobrien	* elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
7806130561Sobrien	* elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
7807130561Sobrien	* elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
7808130561Sobrien	* elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
7809130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
7810130561Sobrien	* elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
7811130561Sobrien	* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
7812130561Sobrien	* elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
7813130561Sobrien	* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
7814130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
7815130561Sobrien	* elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
7816130561Sobrien	* elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
7817130561Sobrien	* elf32-frv.c (elf32_frv_gc_mark_hook): Likewise.  Also remove
7818130561Sobrien	redundant local sym tests.
7819130561Sobrien	* elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
7820130561Sobrien	(link_hash_newfunc): Init is_entry.
7821130561Sobrien	(ppc64_elf_copy_indirect_symbol): Copy is_entry.
7822130561Sobrien	(ppc64_elf_link_hash_table_create): Init all_local_syms.
7823130561Sobrien	(create_linkage_sections): Use bfd_make_section_anyway rather than
7824130561Sobrien	bfd_make_section.
7825130561Sobrien	(ppc64_elf_mark_entry_syms): New function.
7826130561Sobrien	(ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab.  Set
7827130561Sobrien	up opd entry to function section map.
7828130561Sobrien	(ppc64_elf_gc_mark_hook): Special case opd section relocs, and
7829130561Sobrien	relocs that reference the opd section.
7830130561Sobrien	(edit_opd): New function.
7831130561Sobrien	(ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
7832130561Sobrien	(ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
7833130561Sobrien	(get_local_syms): Do so here.  Exit if we already have local syms.
7834130561Sobrien	Remove bogus comment imported from elf32-hppa.c.  Don't attempt to
7835130561Sobrien	read local syms on non-ELF input.
7836130561Sobrien	(ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
7837130561Sobrien	than duplicating it's function here.  Adjust free of internal
7838130561Sobrien	relocs to suit.
7839130561Sobrien	(ppc64_elf_relocate_section): Adjust local syms in opd section.
7840130561Sobrien	* elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
7841130561Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Call
7842130561Sobrien	_bfd_elf32_link_read_relocs rather than duplicating it's function
7843130561Sobrien	here.  Adjust free of internal relocs to suit.
7844130561Sobrien
7845130561Sobrien2002-07-01  Andreas Jaeger  <aj@suse.de>
7846130561Sobrien
7847130561Sobrien	* elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
7848130561Sobrien	are not allowed in shared libs code, enforce -fPIC.
7849130561Sobrien
7850130561Sobrien2002-06-29  Hans-Peter Nilsson  <hp@bitrange.com>
7851130561Sobrien
7852130561Sobrien	* mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
7853130561Sobrien	trailing zero-sequences when there's previous left-over data.
7854130561Sobrien
7855130561Sobrien2002-06-27  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7856130561Sobrien
7857130561Sobrien	* elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
7858130561Sobrien	(elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
7859130561Sobrien	and opd_rel_sec in order for starting rela section.  Check _raw_size.
7860130561Sobrien	(elf_backend_reloc_type_class): Define.
7861130561Sobrien
7862130561Sobrien2002-06-27  Kevin Buettner <kevinb@redhat.com>
7863130561Sobrien
7864130561Sobrien	* dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
7865130561Sobrien	DWARF2 formats.
7866130561Sobrien
7867130561Sobrien2002-06-27  Alan Modra  <amodra@bigpond.net.au>
7868130561Sobrien
7869130561Sobrien	* cpu-powerpc.c: Comment on ordering of arch_info.
7870130561Sobrien	* elf32-ppc.c (ppc_elf_object_p): New function.
7871130561Sobrien	(elf_backend_object_p): Define.
7872130561Sobrien	* elf64-ppc.c (ppc64_elf_object_p): New function.
7873130561Sobrien	(elf_backend_object_p): Define.
7874130561Sobrien
7875130561Sobrien2002-06-26  Jason Thorpe  <thorpej@wasabisystems.com>
7876130561Sobrien
7877130561Sobrien	* configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
7878130561Sobrien	* configure: Regenerate.
7879130561Sobrien
7880130561Sobrien2002-06-25  Jason Eckhardt  <jle@rice.edu>
7881130561Sobrien
7882130561Sobrien	* dwarf2.c (decode_line_info): Check unit->addr_size
7883130561Sobrien	to read in the proper number of prologue bytes.
7884130561Sobrien
7885130561Sobrien2002-06-25  Nick Clifton  <nickc@cambridge.redhat.com>
7886130561Sobrien
7887130561Sobrien	* config.bfd (powerpc-*-aix5*): Only create a selvecs for
7888130561Sobrien	aix5coff64_vec if 64-bit bfd support has been enabled.
7889130561Sobrien	(powerpc64-*-aix5*): Only define if 64-bit bfd support has
7890130561Sobrien	been enabled.
7891130561Sobrien
7892130561Sobrien	* targets.c (_bfd_target_vector[]): Only include
7893130561Sobrien	aix5coff64_vec if 64-bit bfd support has been enabled.
7894130561Sobrien
7895130561Sobrien2002-06-25  Alan Modra  <amodra@bigpond.net.au>
7896130561Sobrien
7897130561Sobrien	* elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
7898130561Sobrien	* elf32-hppa.c (hppa_add_stub): Likewise.
7899130561Sobrien	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
7900130561Sobrien	* elflink.h (elf_add_default_symbol): Fix comment typo.
7901130561Sobrien	(elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
7902130561Sobrien	(elf_link_add_object_symbols): Likewise.
7903130561Sobrien	(elf_link_assign_sym_version): Likewise.
7904130561Sobrien	* hash.c (bfd_hash_lookup): Likewise.
7905130561Sobrien	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
7906130561Sobrien	* section.c (bfd_get_unique_section_name): Likewise.
7907130561Sobrien	* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
7908130561Sobrien	* elf.c (_bfd_elf_make_section_from_phdr): Likewise.
7909130561Sobrien	(assign_section_numbers): Likewise.
7910130561Sobrien	(_bfd_elfcore_make_pseudosection): Likewise.
7911130561Sobrien	(elfcore_grok_lwpstatus): Likewise.
7912130561Sobrien	(elfcore_grok_win32pstatus): Likewise.
7913130561Sobrien	(elfcore_write_note): Constify input params.  Use PTR instead of
7914130561Sobrien	void *.  Include terminating NUL in namesz.  Correct padding.
7915130561Sobrien	Support NULL "name" param.  Use memcpy instead of strcpy.
7916130561Sobrien	(elfcore_write_prpsinfo): Constify input params.
7917130561Sobrien	(elfcore_write_prstatus): Likewise.  Use PTR instead of void *.
7918130561Sobrien	(elfcore_write_lwpstatus): Likewise.
7919130561Sobrien	(elfcore_write_pstatus): Likewise.
7920130561Sobrien	(elfcore_write_prfpreg): Likewise.
7921130561Sobrien	(elfcore_write_prxfpreg): Likewise.
7922130561Sobrien	* elf-bfd.h (elfcore_write_note): Update declaration.
7923130561Sobrien	(elfcore_write_prpsinfo): Likewise.
7924130561Sobrien	(elfcore_write_prstatus): Likewise.
7925130561Sobrien	(elfcore_write_pstatus): Likewise.
7926130561Sobrien	(elfcore_write_prfpreg): Likewise.
7927130561Sobrien	(elfcore_write_prxfpreg): Likewise.
7928130561Sobrien	(elfcore_write_lwpstatus): Likewise.
7929130561Sobrien
7930130561Sobrien2002-06-25  Jason Eckhardt  <jle@rice.edu>
7931130561Sobrien
7932130561Sobrien	* ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
7933130561Sobrien	symbols of type stProc and stStaticProc.
7934130561Sobrien
7935130561Sobrien2002-06-25  Nick Clifton  <nickc@redhat.com>
7936130561Sobrien
7937130561Sobrien	* ecoff.c: VArious formatting fixes.
7938130561Sobrien
7939130561Sobrien2002-06-25  Alan Modra  <amodra@bigpond.net.au>
7940130561Sobrien
7941130561Sobrien	* coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
7942130561Sobrien
7943130561Sobrien2002-06-25  Alan Modra  <amodra@bigpond.net.au>
7944130561Sobrien
7945130561Sobrien	* aout-adobe.c: Don't compare against "true" or "false.
7946130561Sobrien	* aout-target.h: Likewise.
7947130561Sobrien	* aoutx.h: Likewise.
7948130561Sobrien	* archive.c: Likewise.
7949130561Sobrien	* bout.c: Likewise.
7950130561Sobrien	* cache.c: Likewise.
7951130561Sobrien	* coff-a29k.c: Likewise.
7952130561Sobrien	* coff-alpha.c: Likewise.
7953130561Sobrien	* coff-i386.c: Likewise.
7954130561Sobrien	* coff-mips.c: Likewise.
7955130561Sobrien	* coff-or32.c: Likewise.
7956130561Sobrien	* coff64-rs6000.c: Likewise.
7957130561Sobrien	* coffcode.h: Likewise.
7958130561Sobrien	* coffgen.c: Likewise.
7959130561Sobrien	* cpu-ns32k.c: Likewise.
7960130561Sobrien	* ecoff.c: Likewise.
7961130561Sobrien	* ecofflink.c: Likewise.
7962130561Sobrien	* elf.c: Likewise.
7963130561Sobrien	* elf32-arm.h: Likewise.
7964130561Sobrien	* elf32-cris.c: Likewise.
7965130561Sobrien	* elf32-d30v.c: Likewise.
7966130561Sobrien	* elf32-i386.c: Likewise.
7967130561Sobrien	* elf32-mcore.c: Likewise.
7968130561Sobrien	* elf32-ppc.c: Likewise.
7969130561Sobrien	* elf32-sh.c: Likewise.
7970130561Sobrien	* elf32-sh64.c: Likewise.
7971130561Sobrien	* elf32-v850.c: Likewise.
7972130561Sobrien	* elf64-alpha.c: Likewise.
7973130561Sobrien	* elf64-sh64.c: Likewise.
7974130561Sobrien	* elfcode.h: Likewise.
7975130561Sobrien	* elfcore.h: Likewise.
7976130561Sobrien	* elflink.h: Likewise.
7977130561Sobrien	* elfxx-mips.c: Likewise.
7978130561Sobrien	* i386os9k.c: Likewise.
7979130561Sobrien	* ieee.c: Likewise.
7980130561Sobrien	* libbfd.c: Likewise.
7981130561Sobrien	* linker.c: Likewise.
7982130561Sobrien	* mmo.c: Likewise.
7983130561Sobrien	* nlm32-alpha.c: Likewise.
7984130561Sobrien	* nlm32-i386.c: Likewise.
7985130561Sobrien	* nlm32-ppc.c: Likewise.
7986130561Sobrien	* nlm32-sparc.c: Likewise.
7987130561Sobrien	* nlmcode.h: Likewise.
7988130561Sobrien	* oasys.c: Likewise.
7989130561Sobrien	* pdp11.c: Likewise.
7990130561Sobrien	* peicode.h: Likewise.
7991130561Sobrien	* reloc.c: Likewise.
7992130561Sobrien	* som.c: Likewise.
7993130561Sobrien	* srec.c: Likewise.
7994130561Sobrien	* tekhex.c: Likewise.
7995130561Sobrien	* vms.c: Likewise.
7996130561Sobrien	* xcofflink.c: Likewise.
7997130561Sobrien	* elf64-sparc.c: Edit comment to not use "== false".
7998130561Sobrien
7999130561Sobrien	* aoutf1.h: Don't use "? true : false".
8000130561Sobrien	* ecoff.c: Likewise.
8001130561Sobrien	* format.c: Likewise.
8002130561Sobrien	* ieee.c: Likewise.
8003130561Sobrien	* linker.c: Likewise.
8004130561Sobrien	* mmo.c: Likewise.
8005130561Sobrien	* oasys.c: Likewise.
8006130561Sobrien
8007130561Sobrien2002-06-23  H.J. Lu  <hjl@gnu.org>
8008130561Sobrien
8009130561Sobrien	* elflink.h (elf_link_add_archive_symbols): For the default
8010130561Sobrien	version, check references with only one `@' first.
8011130561Sobrien
8012130561Sobrien2002-06-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8013130561Sobrien
8014130561Sobrien	* elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
8015130561Sobrien	function.
8016130561Sobrien	(allocate_global_data_dlt): Don't add millicode symbols to dynamic
8017130561Sobrien	symbol table.
8018130561Sobrien	(allocate_global_data_opd, allocate_dynrel_entries): Likewise.
8019130561Sobrien	(elf64_hppa_size_dynamic_sections): Revise to use
8020130561Sobrien	elf64_hppa_mark_milli_and_exported_functions.
8021130561Sobrien	(elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
8022130561Sobrien	symbols out of dynamic symbol table.
8023130561Sobrien
8024130561Sobrien2002-06-23  Alan Modra  <amodra@bigpond.net.au>
8025130561Sobrien
8026130561Sobrien	* Makefile.in: Regenerate.
8027130561Sobrien	* libbfd.h: Regenerate.
8028130561Sobrien	* bfd-in2.h: Regenerate.
8029130561Sobrien	* configure: Regenerate.
8030130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
8031130561Sobrien
8032130561Sobrien	* elflink.h: Comment typo fixes.
8033130561Sobrien
8034130561Sobrien2002-06-23  H.J. Lu  <hjl@gnu.org>
8035130561Sobrien
8036130561Sobrien	* elf-bfd.h (elf_link_loaded_list): New structure.
8037130561Sobrien	(elf_link_hash_table): Add "loaded".
8038130561Sobrien	* elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
8039130561Sobrien	* elflink.h (elf_link_check_versioned_symbol): New function.
8040130561Sobrien	(elf_link_output_extsym): Call elf_link_check_versioned_symbol.
8041130561Sobrien
8042130561Sobrien2002-06-19  Nick Clifton  <nickc@cambridge.redhat.com>
8043130561Sobrien
8044130561Sobrien	* elflink.h (size_dynamic_sections): If the target does not
8045130561Sobrien	support an ELF style hash table, return true, indicating that
8046130561Sobrien	nothing needed to be done, rather than false, indicating that the
8047130561Sobrien	section's size could not be computed.
8048130561Sobrien
8049130561Sobrien2002-06-18  Dave Brolley  <brolley@redhat.com>
8050130561Sobrien
8051130561Sobrien	From Catherine Moore, Michael Meissner, Dave Brolley:
8052130561Sobrien	* po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
8053130561Sobrien	* targets.c: Support bfd_elf32_frv_vec.
8054130561Sobrien	* reloc.c: Add FRV relocs.
8055130561Sobrien	* configure.in: Add support for bfd-elf32-frv-vec.
8056130561Sobrien	* config.bfd (targ_cpu): Add support for frv-*-elf.
8057130561Sobrien	* archures.c: Add frv arch and machines.
8058130561Sobrien	* Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
8059130561Sobrien	(ALL_MACHINES_CFILES): Add cpu-frv.c.
8060130561Sobrien	(BFD32_BACKENDS): Add elf32-frv.lo.
8061130561Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-frv.c
8062130561Sobrien	(cpu-frv.lo): New target.
8063130561Sobrien	(elf32-frv.lo): New target.
8064130561Sobrien	* cpu-frv.c: New file.
8065130561Sobrien	* elf32-frv.c: New file.
8066130561Sobrien
8067130561Sobrien2002-06-18  Jakub Jelinek  <jakub@redhat.com>
8068130561Sobrien
8069130561Sobrien	* elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
8070130561Sobrien	e_shnum == 0.
8071130561Sobrien	Only read the first section header if e_shoff is non-zero.
8072130561Sobrien	Don't consider e_shstrndx if there are no sections.
8073130561Sobrien
8074130561Sobrien2002-06-17  Tom Rix <trix@redhat.com>
8075130561Sobrien
8076130561Sobrien	* elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
8077130561Sobrien	R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
8078130561Sobrien	complain_overflow_bitfield.
8079130561Sobrien
8080130561Sobrien2002-06-17  Alan Modra  <amodra@bigpond.net.au>
8081130561Sobrien
8082130561Sobrien	* opncls.c (bfd_openr): Remove redundant bfd_set_error.
8083130561Sobrien	(bfd_fdopenr): Likewise.
8084130561Sobrien	(bfd_openstreamr): Likewise.
8085130561Sobrien	(bfd_openw): Likewise.
8086130561Sobrien
8087130561Sobrien	* targets.c: Sort target vecs.
8088130561Sobrien	(_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
8089130561Sobrien	bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
8090130561Sobrien	bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
8091130561Sobrien	bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
8092130561Sobrien	* configure.in: Sort target vecs.  Add m88kmach3_vec.
8093130561Sobrien	* configure: Regenerate.
8094130561Sobrien
8095130561Sobrien2002-06-16  Hans-Peter Nilsson  <hp@bitrange.com>
8096130561Sobrien
8097130561Sobrien	* elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
8098130561Sobrien	bpo_reloc_no to break sort order ties, not address of items.
8099130561Sobrien
8100130561Sobrien2002-06-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8101130561Sobrien
8102130561Sobrien	* elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
8103130561Sobrien	Skip excluded sections in determing __gp value.
8104130561Sobrien	(elf_hppa_final_link_relocate): Use the symbol's address in
8105130561Sobrien	R_PARISC_FPTR64 relocations that don't need an opd entry.
8106130561Sobrien	* elf64-hppa.c (allocate_dynrel_entries): Simplify code.
8107130561Sobrien	(elf64_hppa_finalize_dynreloc): Likewise.
8108130561Sobrien	(elf64_hppa_size_dynamic_sections): Move comments and fix typo.
8109130561Sobrien	(elf64_hppa_finish_dynamic_symbol): Break up assert.
8110130561Sobrien
8111130561Sobrien2002-06-14  Sergey Grigoriev  <serge@leopold.Physik.Uni-Augsburg.DE>
8112130561Sobrien
8113130561Sobrien	* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
8114130561Sobrien	alignment for .bss, .data and .text sections so that sse and sse2
8115130561Sobrien	code will work.
8116130561Sobrien	* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
8117130561Sobrien
8118130561Sobrien2002-06013  J"orn Rennecke  <joern.rennecke@superh.com>
8119130561Sobrien
8120130561Sobrien	config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
8121130561Sobrien	sh[1234]*-elf*.
8122130561Sobrien
8123130561Sobrien2002-06-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8124130561Sobrien
8125130561Sobrien	* elflink.h (elf_bfd_final_link): Improve error handling for missing
8126130561Sobrien	dynamic sections.
8127130561Sobrien
8128130561Sobrien	* elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
8129130561Sobrien	for a symbol that has no output section.
8130130561Sobrien	(allocate_dynrel_entries): Correct comment.
8131130561Sobrien	(elf64_hppa_finalize_dynreloc): Likewise.  Don't create an opd entry
8132130561Sobrien	unless we want one.
8133130561Sobrien	(elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
8134130561Sobrien	(elf64_hppa_finalize_dlt): Likewise.  Prevent segfault for symbols
8135130561Sobrien	with no section.  Remove unnecessary parentheses.
8136130561Sobrien
8137130561Sobrien2002-06-11  Tom Rix  <trix@redhat.com>
8138130561Sobrien
8139130561Sobrien	* coffcode.h (coff_compute_section_file_positions): Add data
8140130561Sobrien	section to AIX loader alignment check.
8141130561Sobrien
8142130561Sobrien	* coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
8143130561Sobrien	alignment to 4 bytes.
8144130561Sobrien	(_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
8145130561Sobrien	power accessor macro.
8146130561Sobrien	(do_shared_object_padding): Remove invalid assertion.
8147130561Sobrien
8148130561Sobrien2002-06-10  Richard Sandiford  <rsandifo@redhat.com>
8149130561Sobrien
8150130561Sobrien	* section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
8151130561Sobrien	for removed output sections.
8152130561Sobrien
8153130561Sobrien2002-06-10  Geoffrey Keating  <geoffk@redhat.com>
8154130561Sobrien
8155130561Sobrien	* merge.c (merge_strings): Use htab_create_alloc with calloc, not
8156130561Sobrien	htab_alloc.
8157130561Sobrien	* elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
8158130561Sobrien
8159130561Sobrien2002-06-08  H.J. Lu <hjl@gnu.org>
8160130561Sobrien
8161130561Sobrien	* elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
8162130561Sobrien	work around a long long bug in gcc 2.96 on mips.
8163130561Sobrien
8164130561Sobrien2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
8165130561Sobrien
8166130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
8167130561Sobrien	(BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
8168130561Sobrien	Regenerate dependency lists.
8169130561Sobrien	* Makefile.in: Regenerate.
8170130561Sobrien	* config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
8171130561Sobrien	vax1knetbsd_vec to targ_selvecs.
8172130561Sobrien	* configure.in: Add vax1knetbsd_vec.
8173130561Sobrien	* configure: Regenerate.
8174130561Sobrien	* targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
8175130561Sobrien	* vax1knetbsd.c: New file.
8176130561Sobrien	* vaxnetbsd.c: Update copyright years.
8177130561Sobrien	(TARGET_PAGE_SIZE): Set to 0x1000.
8178130561Sobrien	(DEFAULT_MID): Set to M_VAX4K_NETBSD.
8179130561Sobrien
8180130561Sobrien2002-06-08  Matt Thomas  <matt@3am-software.com>
8181130561Sobrien
8182130561Sobrien	* libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
8183130561Sobrien
8184130561Sobrien2002-06-08  Alan Modra  <amodra@bigpond.net.au>
8185130561Sobrien
8186130561Sobrien	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
8187130561Sobrien
8188130561Sobrien2002-06-08  Alan Modra  <amodra@bigpond.net.au>
8189130561Sobrien
8190130561Sobrien	* Makefile.am: Run "make dep-am".
8191130561Sobrien	* Makefile.in: Regenerate.
8192130561Sobrien
8193130561Sobrien	* armnetbsd.c: Replace CONST with const.
8194130561Sobrien	* corefile.c: Likewise.
8195130561Sobrien	* elf32-dlx.c: Likewise.
8196130561Sobrien	* elf64-mips.c: Likewise.
8197130561Sobrien	* mmo.c: Likewise.
8198130561Sobrien	* ns32knetbsd.c: Likewise.
8199130561Sobrien
8200130561Sobrien	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
8201130561Sobrien	table is elf64-sparc.
8202130561Sobrien
8203130561Sobrien2002-06-08  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8204130561Sobrien
8205130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
8206130561Sobrien	Fix RELA addends to get not shifted in the result. Don't do special
8207130561Sobrien	handling of R_MIPS_64 for NewABI.
8208130561Sobrien
8209130561Sobrien2002-06-07  Alan Modra  <amodra@bigpond.net.au>
8210130561Sobrien
8211130561Sobrien	* aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
8212130561Sobrien	(NAME(aout,slurp_reloc_table)): Likewise.
8213130561Sobrien	* coff-mips.c (mips_relax_section): Use bfd_zalloc.
8214130561Sobrien	* coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
8215130561Sobrien	(xcoff_write_archive_contents_big): Likewise.
8216130561Sobrien	(xcoff_generate_rtinit): Likewise.
8217130561Sobrien	(xcoff_generate_rtinit): Likewise, and check error return.
8218130561Sobrien	* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
8219130561Sobrien	* coffgen.c (coff_section_symbol): Use bfd_zalloc.
8220130561Sobrien	(coff_get_normalized_symtab): Likewise.
8221130561Sobrien	(coff_make_empty_symbol): Likewise.
8222130561Sobrien	(bfd_coff_set_symbol_class): Likewise.
8223130561Sobrien	* cofflink.c (coff_link_add_symbols): Likewise.
8224130561Sobrien	* ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
8225130561Sobrien	* ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
8226130561Sobrien	(bfd_ecoff_write_accumulated_debug): Likewise.
8227130561Sobrien	* elf64-alpha.c (get_got_entry): Use bfd_zalloc.
8228130561Sobrien	* i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
8229130561Sobrien	* i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
8230130561Sobrien	* ieee.c (do_with_relocs): Use bfd_zalloc.
8231130561Sobrien	* m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
8232130561Sobrien	* pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
8233130561Sobrien	(NAME(aout,slurp_reloc_table)): Likewise.
8234130561Sobrien	(NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
8235130561Sobrien	* reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
8236130561Sobrien	* som.c (som_build_and_write_symbol_table): Likewise.
8237130561Sobrien	(som_slurp_string_table): Likewise.
8238130561Sobrien	(som_slurp_symbol_table): Likewise.
8239130561Sobrien	(som_bfd_ar_write_symbol_stuff): Likewise.
8240130561Sobrien	* sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
8241130561Sobrien	* sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
8242130561Sobrien	* tekhex.c (find_chunk): Likewise.  Get rid of unused "sname".
8243130561Sobrien	* vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
8244130561Sobrien	* xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
8245130561Sobrien
8246130561Sobrien2002-06-07  Alan Modra  <amodra@bigpond.net.au>
8247130561Sobrien
8248130561Sobrien	* elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
8249130561Sobrien	"group" union.
8250130561Sobrien	(elf_group_name): Update.
8251130561Sobrien	(elf_group_id): Define.
8252130561Sobrien	(bfd_elf_set_group_contents): Declare.
8253130561Sobrien	* elf.c (elf_fake_sections): Qualify use of elf_group_name.
8254130561Sobrien	(set_group_contents): Rename to bfd_elf_set_group_contents.  Remove
8255130561Sobrien	ATTRIBUTE_UNUSED from failedptrarg.  If elf_group_id is set, use
8256130561Sobrien	that sym for the signature.
8257130561Sobrien	(_bfd_elf_compute_section_file_positions): Don't call
8258130561Sobrien	set_group_contents for "ld -r" case.
8259130561Sobrien	(swap_out_syms): Use bfd_zalloc.
8260130561Sobrien	* elflink.h (elf_link_add_archive_symbols): Likewise.
8261130561Sobrien	(NAME(bfd_elf,size_dynamic_sections)): Likewise.
8262130561Sobrien	(elf_bfd_final_link): Call bfd_elf_set_group_contents.
8263130561Sobrien
8264130561Sobrien2002-06-07  Alan Modra  <amodra@bigpond.net.au>
8265130561Sobrien
8266130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
8267130561Sobrien	relocs in opd for non-shared too.
8268130561Sobrien
8269130561Sobrien2002-06-06  Jeffrey Law  <law@redhat.com>
8270130561Sobrien
8271130561Sobrien	* elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
8272130561Sobrien	relocations.
8273130561Sobrien
8274130561Sobrien2002-06-06  Nick Clifton  <nickc@cambridge.redhat.com>
8275130561Sobrien
8276130561Sobrien	* merge.c: Include libiberty.h.
8277130561Sobrien	* elf-strtab.c: Include libiberty.h.
8278130561Sobrien
8279130561Sobrien2002-06-06  Elias Athanasopoulos  <eathan@otenet.gr>
8280130561Sobrien
8281130561Sobrien	* peXXigen.c (pe_print_idata): Remove unused variable.
8282130561Sobrien
8283130561Sobrien2002-06-06  David Heine <dlheine@tensilica.com>
8284130561Sobrien
8285130561Sobrien	* elf.c (assign_file_positions_for_segments): Remove unallocated
8286130561Sobrien	sections from the section to segment mapping for PT_LOAD segments.
8287130561Sobrien	Update comment about empty loadable segments.
8288130561Sobrien
8289130561Sobrien2002-06-06  Richard Sandiford  <rsandifo@redhat.com>
8290130561Sobrien
8291130561Sobrien	* stabs.c (_bfd_link_section_stabs): Check that the symbol offset
8292130561Sobrien	is within the .stabstr section.
8293130561Sobrien
8294130561Sobrien2002-06-06  Alan Modra  <amodra@bigpond.net.au>
8295130561Sobrien
8296130561Sobrien	* elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
8297130561Sobrien	are "const PTR", not "const PTR *".
8298130561Sobrien	(bfd_elf32_swap_symbol_in): Likewise.
8299130561Sobrien	(bfd_elf64_swap_symbol_in): Likewise.
8300130561Sobrien	* elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
8301130561Sobrien	(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
8302130561Sobrien	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
8303130561Sobrien	(elf_link_add_object_symbols): Likewise.
8304130561Sobrien	(elf_link_record_local_dynamic_symbol): Likewise.
8305130561Sobrien	(elf_link_input_bfd): Likewise.
8306130561Sobrien	(elf_gc_mark): Likewise.
8307130561Sobrien	(elf_reloc_symbol_deleted_p): Likewise.
8308130561Sobrien	* elf-m10200.c (mn10200_elf_relax_section): Likewise.
8309130561Sobrien	(mn10200_elf_relax_delete_bytes): Likewise.
8310130561Sobrien	(mn10200_elf_symbol_address_p): Likewise.
8311130561Sobrien	(mn10200_elf_get_relocated_section_contents): Likewise.
8312130561Sobrien	* elf-m10300.c (mn10300_elf_relax_section): Likewise.
8313130561Sobrien	(mn10300_elf_relax_section): Likewise.
8314130561Sobrien	(mn10300_elf_relax_delete_bytes): Likewise.
8315130561Sobrien	(mn10300_elf_symbol_address_p): Likewise.
8316130561Sobrien	(mn10300_elf_get_relocated_section_contents): Likewise.
8317130561Sobrien	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
8318130561Sobrien	(elf32_h8_relax_delete_bytes): Likewise.
8319130561Sobrien	(elf32_h8_symbol_address_p): Likewise.
8320130561Sobrien	(elf32_h8_get_relocated_section_contents): Likewise.
8321130561Sobrien	* elf32-hppa.c (get_local_syms): Likewise.
8322130561Sobrien	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
8323130561Sobrien	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
8324130561Sobrien	* elf32-sh.c (sh_elf_relax_section): Likewise.
8325130561Sobrien	(sh_elf_relax_delete_bytes): Likewise.
8326130561Sobrien	(sh_elf_get_relocated_section_contents): Likewise.
8327130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
8328130561Sobrien	* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
8329130561Sobrien	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
8330130561Sobrien	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
8331130561Sobrien	* elf64-ppc.c (get_local_syms): Likewise.
8332130561Sobrien	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
8333130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
8334130561Sobrien
8335130561Sobrien2002-06-05  J"orn Rennecke <joern.rennecke@superh.com>
8336130561Sobrien
8337130561Sobrien	* config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
8338130561Sobrien
8339130561Sobrien2002-06-05  Alan Modra  <amodra@bigpond.net.au>
8340130561Sobrien
8341130561Sobrien	* elf.c (group_signature): Swap in the whole symbol, and handle
8342130561Sobrien	extracting section symbol names.
8343130561Sobrien	(setup_group): Add comment.
8344130561Sobrien	(set_group_contents): When called from objcopy or ld, arrange for
8345130561Sobrien	section contents to be written.  Write group member output section
8346130561Sobrien	indices to allow objcopy to reorganize sections.
8347130561Sobrien	(_bfd_elf_copy_private_section_data): Copy group info.
8348130561Sobrien
8349130561Sobrien	* elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
8350130561Sobrien	(bfd_elf32_swap_symbol_in): Update prototype.
8351130561Sobrien	(bfd_elf64_swap_symbol_in): Likewise.
8352130561Sobrien	* elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
8353130561Sobrien	(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
8354130561Sobrien	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
8355130561Sobrien	(elf_link_add_object_symbols): Likewise.
8356130561Sobrien	(elf_link_record_local_dynamic_symbol): Likewise.
8357130561Sobrien	(elf_link_input_bfd): Likewise.
8358130561Sobrien	(elf_gc_mark): Likewise.
8359130561Sobrien	(elf_reloc_symbol_deleted_p): Likewise.
8360130561Sobrien	* elf-m10200.c (mn10200_elf_relax_section): Likewise.
8361130561Sobrien	(mn10200_elf_relax_delete_bytes): Likewise.
8362130561Sobrien	(mn10200_elf_symbol_address_p): Likewise.
8363130561Sobrien	(mn10200_elf_get_relocated_section_contents): Likewise.
8364130561Sobrien	* elf-m10300.c (mn10300_elf_relax_section): Likewise.
8365130561Sobrien	(mn10300_elf_relax_section): Likewise.
8366130561Sobrien	(mn10300_elf_relax_delete_bytes): Likewise.
8367130561Sobrien	(mn10300_elf_symbol_address_p): Likewise.
8368130561Sobrien	(mn10300_elf_get_relocated_section_contents): Likewise.
8369130561Sobrien	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
8370130561Sobrien	(elf32_h8_relax_delete_bytes): Likewise.
8371130561Sobrien	(elf32_h8_symbol_address_p): Likewise.
8372130561Sobrien	(elf32_h8_get_relocated_section_contents): Likewise.
8373130561Sobrien	* elf32-hppa.c (get_local_syms): Likewise.
8374130561Sobrien	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
8375130561Sobrien	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
8376130561Sobrien	* elf32-sh.c (sh_elf_relax_section): Likewise.
8377130561Sobrien	(sh_elf_relax_delete_bytes): Likewise.
8378130561Sobrien	(sh_elf_get_relocated_section_contents): Likewise.
8379130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
8380130561Sobrien	* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
8381130561Sobrien	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
8382130561Sobrien	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
8383130561Sobrien	* elf64-ppc.c (get_local_syms): Likewise.
8384130561Sobrien	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
8385130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
8386130561Sobrien	* elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
8387130561Sobrien	* elf64-alpha.c (alpha_elf_size_info): Likewise.
8388130561Sobrien	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
8389130561Sobrien	* elf64-mips.c (mips_elf64_size_info): Likewise.
8390130561Sobrien	* elf64-s390.c (s390_elf64_size_info): Likewise.
8391130561Sobrien	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
8392130561Sobrien
8393130561Sobrien2002-06-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
8394130561Sobrien
8395130561Sobrien	* elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
8396130561Sobrien	elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
8397130561Sobrien	elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
8398130561Sobrien	_bfd_mips_elf_ignore_discarded_relocs.
8399130561Sobrien	elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
8400130561Sobrien
8401130561Sobrien2002-06-05  H.J. Lu <hjl@gnu.org>
8402130561Sobrien
8403130561Sobrien	* elfxx-mips.c (mips_elf_calculate_relocation): Call
8404130561Sobrien	_bfd_elf_rel_local_sym for STT_SECTION relocations against
8405130561Sobrien	the SEC_MERGE section.
8406130561Sobrien
8407130561Sobrien2002-06-05  Alan Modra  <amodra@bigpond.net.au>
8408130561Sobrien
8409130561Sobrien	* coff-alpha.c: Update copyright date.
8410130561Sobrien	* coff-mips.c: Likewise.
8411130561Sobrien	* xcoff-target.h: Likewise.
8412130561Sobrien
8413130561Sobrien	* bfd-in.h: Remove "taken from the source" comment.
8414130561Sobrien	* libbfd-in.h: Likewise.
8415130561Sobrien	* libcoff-in.h: Likewise.
8416130561Sobrien	* bfd-in2.h: Regenerate.
8417130561Sobrien	* libbfd.h: Regenerate.
8418130561Sobrien	* libcoff.h: Regenerate.
8419130561Sobrien
8420130561Sobrien	* elf.c (bfd_elf_discard_group): Return true.
8421130561Sobrien	* elf-bfd.h (bfd_elf_discard_group): Declare.
8422130561Sobrien	* bfd-in.h (bfd_elf_discard_group): Don't declare here.
8423130561Sobrien	* section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
8424130561Sobrien	* bfd.c (bfd_discard_group): Define.
8425130561Sobrien	* targets.c (struct bfd_target): Add _bfd_discard_group.
8426130561Sobrien	(BFD_JUMP_TABLE_LINK): Here too.
8427130561Sobrien	* libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
8428130561Sobrien	* aout-adobe.c (aout_32_bfd_discard_group): Define.
8429130561Sobrien	* aout-target.h (MY_bfd_discard_group): Define.
8430130561Sobrien	* aout-tic30.c (MY_bfd_discard_group): Define.
8431130561Sobrien	* binary.c (binary_bfd_discard_group): Define.
8432130561Sobrien	* bout.c (b_out_bfd_discard_group): Define.
8433130561Sobrien	* coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
8434130561Sobrien	* coffcode.h (coff_bfd_discard_group): Define.
8435130561Sobrien	* coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
8436130561Sobrien	* elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
8437130561Sobrien	* i386msdos.c (msdos_bfd_discard_group): Define.
8438130561Sobrien	* i386os9k.c (os9k_bfd_discard_group): Define.
8439130561Sobrien	* ieee.c (ieee_bfd_discard_group): Define.
8440130561Sobrien	* ihex.c (ihex_bfd_discard_group): Define.
8441130561Sobrien	* mmo.c (mmo_bfd_discard_group): Define.
8442130561Sobrien	* nlm-target.h (nlm_bfd_discard_group): Define.
8443130561Sobrien	* oasys.c (oasys_bfd_discard_group): Define.
8444130561Sobrien	* ppcboot.c (ppcboot_bfd_discard_group): Define.
8445130561Sobrien	* som.c (som_bfd_discard_group): Define.
8446130561Sobrien	* srec.c (srec_bfd_discard_group): Define.
8447130561Sobrien	* tekhex.c (tekhex_bfd_discard_group): Define.
8448130561Sobrien	* versados.c (versados_bfd_discard_group): Define.
8449130561Sobrien	* vms.c (vms_bfd_discard_group): Define.
8450130561Sobrien	* xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
8451130561Sobrien	* coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
8452130561Sobrien	(aix5coff64_vec): Likewise.
8453130561Sobrien	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
8454130561Sobrien
8455130561Sobrien2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
8456130561Sobrien
8457130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
8458130561Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
8459130561Sobrien	(elf32-sh64-com.lo): New dependency list.
8460130561Sobrien	* Makefile.in: Regenerate.
8461130561Sobrien	* configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
8462130561Sobrien	(bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
8463130561Sobrien	elf32-sh64-com.lo.
8464130561Sobrien	* configure: Regenerate.
8465130561Sobrien	* elf32-sh64.c (sh64_address_in_cranges)
8466130561Sobrien	(sh64_get_contents_type, sh64_address_is_shmedia): Move to...
8467130561Sobrien	(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
8468130561Sobrien	(crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
8469130561Sobrien	* elf32-sh64-com.c: ...here.  New file.
8470130561Sobrien
8471130561Sobrien2002-06-04  Alan Modra  <amodra@bigpond.net.au>
8472130561Sobrien
8473130561Sobrien	* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
8474130561Sobrien	ATTRIBUTE_UNUSED on used params.
8475130561Sobrien	* elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
8476130561Sobrien	before calling bfd_section_from_elf_index on local syms.
8477130561Sobrien	* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
8478130561Sobrien
8479130561Sobrien2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
8480130561Sobrien
8481130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
8482130561Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
8483130561Sobrien	(BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
8484130561Sobrien	(BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
8485130561Sobrien	(elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
8486130561Sobrien	* Makefile.in: Regenerate.
8487130561Sobrien	* config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
8488130561Sobrien	(sh64-*-netbsd*): New targets.
8489130561Sobrien	* configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
8490130561Sobrien	bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
8491130561Sobrien	* configure: Regenerate.
8492130561Sobrien	* elf32-sh64-nbsd.c: New file.
8493130561Sobrien	* elf64-sh64-nbsd.c: New file.
8494130561Sobrien	* targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
8495130561Sobrien	bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
8496130561Sobrien	bfd_elf64_sh64lnbsd_vec.
8497130561Sobrien
8498130561Sobrien2002-06-04  Alan Modra  <amodra@bigpond.net.au>
8499130561Sobrien
8500130561Sobrien	* elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
8501130561Sobrien	(bfd_section_from_shdr): Likewise.  Set section name of group
8502130561Sobrien	sections from signature.
8503130561Sobrien	(group_signature): Split out from setup_group.  Ensure symbol table
8504130561Sobrien	is available.
8505130561Sobrien	(bfd_elf_discard_group): New function.
8506130561Sobrien	(_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
8507130561Sobrien	.gnu.linkonce* sections if they are members of a group.
8508130561Sobrien	(set_group_contents): Set GRP_COMDAT flag.
8509130561Sobrien	* section.c (bfd_discard_group): New function.
8510130561Sobrien	* bfd-in.h (bfd_elf_discard_group): Declare.
8511130561Sobrien	* bfd-in2.h: Regenerate.
8512130561Sobrien	* elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
8513130561Sobrien	(elf_linkonce_p): Define.
8514130561Sobrien
8515130561Sobrien2002-06-04  Alan Modra  <amodra@bigpond.net.au>
8516130561Sobrien
8517130561Sobrien	* elf.c (bfd_section_from_shdr): Make "name" const.
8518130561Sobrien	* elf-bfd.h (elf_backend_section_from_shdr): Likewise.
8519130561Sobrien	* elf32-i370.c (i370_elf_section_from_shdr): Likewise.
8520130561Sobrien	* elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
8521130561Sobrien	* elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
8522130561Sobrien	* elf32-v850.c (v850_elf_section_from_shdr): Likewise.
8523130561Sobrien	* elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
8524130561Sobrien	* elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
8525130561Sobrien	* elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
8526130561Sobrien	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
8527130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
8528130561Sobrien	* elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
8529130561Sobrien
8530130561Sobrien2002-06-03  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
8531130561Sobrien
8532130561Sobrien	* elfxx-mips.c (ABI_64_P): Use backend's data to determine the
8533130561Sobrien	ABI.
8534130561Sobrien
8535130561Sobrien2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
8536130561Sobrien
8537130561Sobrien	* elf32-arc.c: Fix formatting.
8538130561Sobrien	* elf32-arm.h: Likewise.
8539130561Sobrien	* elf32-cris.c: Likewise.
8540130561Sobrien	* elf32-dlx.c: Likewise.
8541130561Sobrien	* elf32-hppa.c: Likewise.
8542130561Sobrien	* elf32-i386.c: Likewise.
8543130561Sobrien	* elf32-i386qnx.c: Likewise.
8544130561Sobrien	* elf32-or32.c: Likewise.
8545130561Sobrien	* elf32-s390.c: Likewise.
8546130561Sobrien	* elf32-sh64.c: Likewise.
8547130561Sobrien	* elf32-vax.c: Likewise.
8548130561Sobrien	* elf32-xstormy16.c: Likewise.
8549130561Sobrien	* elf64-alpha.c: Likewise.
8550130561Sobrien	* elf64-mmix.c: Likewise.
8551130561Sobrien	* elf64-ppc.c: Likewise.
8552130561Sobrien	* elf64-s390.c: Likewise.
8553130561Sobrien	* elf64-sh64.c: Likewise.
8554130561Sobrien	* elf64-x86-64.c: Likewise.
8555130561Sobrien
8556130561Sobrien2002-06-02  Richard Henderson  <rth@redhat.com>
8557130561Sobrien
8558130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
8559130561Sobrien	null when there are no got entries for a symbol.
8560130561Sobrien	(elf64_alpha_relax_find_tls_segment): Rearrange to avoid
8561130561Sobrien	uninitialized variable warning.
8562130561Sobrien
8563130561Sobrien2002-06-01  Richard Henderson  <rth@redhat.com>
8564130561Sobrien
8565130561Sobrien	* elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
8566130561Sobrien	undefined symbols here.
8567130561Sobrien	(elf64_alpha_relax_section): Do it here.  Also test for not
8568130561Sobrien	defined in the current module.
8569130561Sobrien	(elf64_alpha_relocate_section_r): Split out of ...
8570130561Sobrien	(elf64_alpha_relocate_section): ... here.  Don't dereference
8571130561Sobrien	NULL when looking up local got entries.
8572130561Sobrien
8573130561Sobrien2002-06-01  Richard Henderson  <rth@redhat.com>
8574130561Sobrien
8575130561Sobrien	* elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
8576130561Sobrien	symbols from JSR relaxation.
8577130561Sobrien	(elf64_alpha_size_plt_section_1): New.
8578130561Sobrien	(elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
8579130561Sobrien	(elf64_alpha_size_rela_got_1): ... here.
8580130561Sobrien	(elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
8581130561Sobrien	(elf64_alpha_size_rela_got_section): ... here.
8582130561Sobrien	(elf64_alpha_size_plt_section): New.
8583130561Sobrien	(elf64_alpha_relax_section): Call them.
8584130561Sobrien	(elf64_alpha_size_got_sections): Remove output_bfd arg.
8585130561Sobrien	(elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
8586130561Sobrien
8587130561Sobrien2002-06-01  Richard Henderson  <rth@redhat.com>
8588130561Sobrien
8589130561Sobrien	* elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
8590130561Sobrien	(elf64_alpha_relocate_section): Use them.  Reject LE TLS relocs
8591130561Sobrien	in shared libraries.  Fix DTPRELHI and TPRELHI value.
8592130561Sobrien	(INSN_ADDQ, INSN_RDUNIQ): New.
8593130561Sobrien	(struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
8594130561Sobrien	(elf64_alpha_relax_with_lituse): Return boolean.  Remove irelend
8595130561Sobrien	argument.  Reject dynamic symbols.  Use LITUSE symbolic constants.
8596130561Sobrien	(elf64_alpha_relax_got_load): Rename from relax_without_lituse.
8597130561Sobrien	Handle GOTDTPREL and GOTTPREL relocations.
8598130561Sobrien	(elf64_alpha_relax_gprelhilo): New.
8599130561Sobrien	(elf64_alpha_relax_tls_get_addr): New.
8600130561Sobrien	(elf64_alpha_relax_find_tls_segment): New.
8601130561Sobrien	(elf64_alpha_relax_section): Handle TLS relocations.
8602130561Sobrien	(ALPHA_ELF_LINK_HASH_TLS_IE): New.
8603130561Sobrien	(elf64_alpha_check_relocs): Set it.
8604130561Sobrien
8605130561Sobrien2002-06-01  Richard Henderson  <rth@redhat.com>
8606130561Sobrien
8607130561Sobrien	* elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
8608130561Sobrien
8609130561Sobrien	* elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
8610130561Sobrien	check; don't suppress dynamic relocs for non-allocated sections.
8611130561Sobrien
8612130561Sobrien	* elf64-alpha.c: Remove dead code.
8613130561Sobrien
8614130561Sobrien2002-05-31  Alan Modra  <amodra@bigpond.net.au>
8615130561Sobrien
8616130561Sobrien	* bfd-in2.h: Regenerate.
8617130561Sobrien	* libbfd.h: Regenerate.
8618130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
8619130561Sobrien
8620130561Sobrien	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
8621130561Sobrien	space for bss .plt.
8622130561Sobrien
8623130561Sobrien2002-05-31  Graeme Peterson  <gp@qnx.com>
8624130561Sobrien
8625130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
8626130561Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
8627130561Sobrien	Run "make dep-am".
8628130561Sobrien	* Makefile.in: Regenerate.
8629130561Sobrien	* config.bfd: Add i[3456]86-*-nto-qnx* support.
8630130561Sobrien	* configure.in: Add bfd_elf32_i386qnx_vec support.
8631130561Sobrien	* configure: Regenerate.
8632130561Sobrien	* elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
8633130561Sobrien	is_contained_by_filepos, and copy_private_bfd_data_p.
8634130561Sobrien	* elf.c (assign_file_positions_for_segments): Call backend
8635130561Sobrien	set_nonloadable_filepos.  Fix non-K&R call to _bfd_error_handler.
8636130561Sobrien	(IS_CONTAINED_BY_FILEPOS): Define.
8637130561Sobrien	(INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
8638130561Sobrien	(copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS.  Typo fix.
8639130561Sobrien	Fix non-K&R call to _bfd_error_handler.
8640130561Sobrien	(_bfd_elf_copy_private_section_data): Use backend
8641130561Sobrien	copy_private_bfd_data_p.
8642130561Sobrien	* elf32-i386.c: Don't include elfxx-target.h when
8643130561Sobrien	ELF32_I386_C_INCLUDED is defined.
8644130561Sobrien	* elf32-i386qnx.c: New QNX elf backend file.
8645130561Sobrien	* elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
8646130561Sobrien	elf_backend_is_contained_by_filepos, and
8647130561Sobrien	elf_backend_do_copy_private_bfd_data.
8648130561Sobrien	* targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
8649130561Sobrien
8650130561Sobrien2002-05-31  Alan Modra  <amodra@bigpond.net.au>
8651130561Sobrien
8652130561Sobrien	* elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
8653130561Sobrien	Move other similar defines to start of file.
8654130561Sobrien
8655130561Sobrien2002-05-30  Tom Rix  <trix@redhat.com>
8656130561Sobrien
8657130561Sobrien	* coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
8658130561Sobrien	* coff64-rs6000.c (xcoff64_rtype2howto): Same.
8659130561Sobrien
8660130561Sobrien2002-05-30  Richard Henderson  <rth@redhat.com>
8661130561Sobrien
8662130561Sobrien	* elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
8663130561Sobrien	ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
8664130561Sobrien	(ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
8665130561Sobrien	(ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
8666130561Sobrien	(struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
8667130561Sobrien	(struct alpha_elf_obj_tdata): Rename total_got_entries and
8668130561Sobrien	n_local_got_entries to total_got_size and local_got_size.
8669130561Sobrien	(elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
8670130561Sobrien	(alpha_got_entry_size): New.
8671130561Sobrien	(elf64_alpha_relax_with_lituse): Use it.
8672130561Sobrien	(elf64_alpha_relax_without_lituse): Likewise.
8673130561Sobrien	(MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
8674130561Sobrien	(get_got_entry): New.
8675130561Sobrien	(elf64_alpha_check_relocs): Handle TLS relocs.  Reorganize.
8676130561Sobrien	(elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
8677130561Sobrien	(elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
8678130561Sobrien	(elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
8679130561Sobrien	(elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
8680130561Sobrien	(elf64_alpha_calc_got_offsets): Likewise.
8681130561Sobrien	(alpha_dynamic_entries_for_reloc): New.
8682130561Sobrien	(elf64_alpha_calc_dynrel_sizes): Use it.
8683130561Sobrien	(elf64_alpha_size_dynamic_sections): Likewise.
8684130561Sobrien	(elf64_alpha_relocate_section): Handle TLS relocations.
8685130561Sobrien	* reloc.c: Add Alpha TLS relocations.
8686130561Sobrien	* bfd-in2.h, libbfd.h: Rebuild.
8687130561Sobrien
8688130561Sobrien2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
8689130561Sobrien
8690130561Sobrien	* peXXigen.c (pe_print_idata): Remove double printed
8691130561Sobrien	import table lines; add Bound-To comment.
8692130561Sobrien
8693130561Sobrien2002-05-29  Matt Thomas  <matt@3am-software.com>
8694130561Sobrien
8695130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
8696130561Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-vax.c.
8697130561Sobrien	(elf32-vax.lo): New rule.
8698130561Sobrien	* Makefile.in: Regenerate.
8699130561Sobrien	* configure.in (bfd_elf32_vax_vec)
8700130561Sobrien	(vaxnetbsd_vec): New vectors.
8701130561Sobrien	* configure: Regenerate.
8702130561Sobrien	* config.bfd (vax-*-netbsdelf*)
8703130561Sobrien	(vax-*-netbsdaout*)
8704130561Sobrien	(vax-*-netbsd*): New targets.
8705130561Sobrien	* elf32-vax.c: New file.
8706130561Sobrien	* reloc.c: Add VAX relocations.
8707130561Sobrien	* bfd-in2.h: Regenerate.
8708130561Sobrien	* targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
8709130561Sobrien
8710130561Sobrien2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
8711130561Sobrien
8712130561Sobrien	* config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
8713130561Sobrien	and bfd_elf32_bigarm_vec to targ_selvecs.
8714130561Sobrien
8715130561Sobrien2002-05-29  Ralf Habacker  <ralf.habacker@freenet.de>
8716130561Sobrien
8717130561Sobrien	* peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
8718130561Sobrien	with auto-imported symbols.
8719130561Sobrien
8720130561Sobrien2002-05-29  Adam Nemet  <anemet@lnxw.com>
8721130561Sobrien
8722130561Sobrien	* elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
8723130561Sobrien	sections only record bfd.
8724130561Sobrien	(bfd_elf32_arm_add_glue_sections_to_bfd): New function.
8725130561Sobrien	* bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
8726130561Sobrien	* bfd-in2.h: Regenerate.
8727130561Sobrien
8728130561Sobrien2002-05-28  Nick Clifton  <nickc@cambridge.redhat.com>
8729130561Sobrien
8730130561Sobrien	* syms.c (_bfd_stab_section_find_nearest_line): Move
8731130561Sobrien	declaration and initialisation of saw_line and saw_func out of
8732130561Sobrien	for loop.
8733130561Sobrien
8734130561Sobrien2002-05-29  Alan Modra  <amodra@bigpond.net.au>
8735130561Sobrien
8736130561Sobrien	* elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
8737130561Sobrien	(bfd_elf64_get_symbol_info): Define.
8738130561Sobrien	* elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
8739130561Sobrien
8740130561Sobrien2002-05-29  Andrey Volkov  <avolkov@transas.com>
8741130561Sobrien
8742130561Sobrien	* cpu-h8300.c: Make default h8300 machine first in machine list.
8743130561Sobrien
8744130561Sobrien2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
8745130561Sobrien
8746130561Sobrien	* config.bfd: Added DLX configuraton.
8747130561Sobrien	* Makefile.am: Added DLX configuraton.
8748130561Sobrien	* configure.in: Added DLX configuraton.
8749130561Sobrien	* archures.c: Add DLX architecture.
8750130561Sobrien	* reloc.c: Add DLX relocs.
8751130561Sobrien	* targets.c: Added DLX target vector.
8752130561Sobrien	* configure: Regenerate.
8753130561Sobrien	* Makefile.in: Regenreate.
8754130561Sobrien	* bfd-in2.h: Regenreate.
8755130561Sobrien	* elf32-dlx.c: New file: Support DLX target.
8756130561Sobrien	* cpu-dlx.c: New file: Support DLX target.
8757130561Sobrien
8758130561Sobrien2002-05-25  Alan Modra  <amodra@bigpond.net.au>
8759130561Sobrien
8760130561Sobrien	* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
8761130561Sobrien
8762130561Sobrien	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
8763130561Sobrien	(ppc64_elf_check_relocs): Don't set up function descriptor symbol
8764130561Sobrien	strings to point inside function code sym string.
8765130561Sobrien	(func_desc_adjust): Likewise.
8766130561Sobrien	(ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
8767130561Sobrien
8768130561Sobrien2002-05-24  Michal Ludvig  <mludvig@suse.cz>
8769130561Sobrien
8770130561Sobrien	* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
8771130561Sobrien	(elf64_x86_64_grok_psinfo): Added.
8772130561Sobrien
8773130561Sobrien2002-05-24  TAMURA Kent <kent@netbsd.org>
8774130561Sobrien
8775130561Sobrien	* config.bfd: Add a target for i386-netbsdpe.
8776130561Sobrien
8777130561Sobrien2002-05-24  Alan Modra  <amodra@bigpond.net.au>
8778130561Sobrien
8779130561Sobrien	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
8780130561Sobrien	and is_func_descriptor.
8781130561Sobrien	(func_desc_adjust): Hide function code sym in shared libs unless
8782130561Sobrien	there is a matching exported function descriptor sym.
8783130561Sobrien
8784130561Sobrien2002-05-23  Jakub Jelinek  <jakub@redhat.com>
8785130561Sobrien
8786130561Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
8787130561Sobrien	for symbols from SHF_TLS section.
8788130561Sobrien	(_bfd_elf_print_private_bfd_data): Add PT_TLS.
8789130561Sobrien	(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
8790130561Sobrien	(map_sections_to_segments): Build PT_TLS segment if necessary.
8791130561Sobrien	(assign_file_positions_for_segments): Likewise.
8792130561Sobrien	(get_program_header_size): Account for PT_TLS segment.
8793130561Sobrien	(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
8794130561Sobrien	SEC_THREAD_LOCAL sections to STT_TLS.
8795130561Sobrien	* reloc.c: Add 386 and IA-64 TLS relocs.
8796130561Sobrien	* section.c (SEC_THREAD_LOCAL): Define.
8797130561Sobrien	(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
8798130561Sobrien	Remove.
8799130561Sobrien	* elflink.h (elf_link_add_object_symbols): Support .tcommon.
8800130561Sobrien	(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
8801130561Sobrien	unconditionally.
8802130561Sobrien	(struct elf_final_link_info): Add first_tls_sec.
8803130561Sobrien	(elf_bfd_final_link): Set first_tls_sec.
8804130561Sobrien	Compute elf_hash_table (info)->tls_segment.
8805130561Sobrien	(elf_link_output_extsym): Handle STT_TLS symbols.
8806130561Sobrien	(elf_link_input_bfd): Likewise.
8807130561Sobrien	* syms.c (BSF_THREAD_LOCAL): Define.
8808130561Sobrien	* bfd-in2.h: Rebuilt.
8809130561Sobrien	* libbfd.h: Rebuilt.
8810130561Sobrien	* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
8811130561Sobrien	elf_i386_mkobject, elf_i386_object_p): New functions.
8812130561Sobrien	(elf_howto_table): Add TLS relocs.
8813130561Sobrien	(elf_i386_reloc_type_lookup): Support TLS relocs.
8814130561Sobrien	(elf_i386_info_to_howto_rel): Likewise.
8815130561Sobrien	(struct elf_i386_link_hash_entry): Add tls_type.
8816130561Sobrien	(struct elf_i386_obj_tdata): New.
8817130561Sobrien	(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
8818130561Sobrien	New macros.
8819130561Sobrien	(struct elf_i386_link_hash_table): Add tls_ldm_got.
8820130561Sobrien	(link_hash_newfunc): Clear tls_type.
8821130561Sobrien	(elf_i386_check_relocs): Support TLS relocs.
8822130561Sobrien	(elf_i386_gc_sweep_hook): Likewise.
8823130561Sobrien	(allocate_dynrelocs): Likewise.
8824130561Sobrien	(elf_i386_size_dynamic_sections): Likewise.
8825130561Sobrien	(elf_i386_relocate_section): Likewise.
8826130561Sobrien	(elf_i386_finish_dynamic_symbol): Likewise.
8827130561Sobrien	(bfd_elf32_mkobject, elf_backend_object_p): Define.
8828130561Sobrien	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
8829130561Sobrien	dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
8830130561Sobrien	want_tprel, want_dtpmod, want_dtprel.
8831130561Sobrien	(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
8832130561Sobrien	(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
8833130561Sobrien	R_IA64_LTOFF_TPREL22.
8834130561Sobrien	(elf_code_to_howto_index): Add TLS relocs.
8835130561Sobrien	(elfNN_ia64_check_relocs): Support TLS relocs.
8836130561Sobrien	(allocate_global_data_got): Account for TLS .got data.
8837130561Sobrien	(allocate_dynrel_entries): Account for TLS dynamic relocations.
8838130561Sobrien	(elfNN_ia64_install_value): Supprt TLS relocs.
8839130561Sobrien	(set_got_entry): Support TLS relocs.
8840130561Sobrien	(elfNN_ia64_relocate_section): Likewise.
8841130561Sobrien
8842130561Sobrien2002-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
8843130561Sobrien
8844130561Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
8845130561Sobrien	BLX reloc round the relocation up rather than down.
8846130561Sobrien	* coff-arm.c (coff_arm_relocate_section): Likewise.
8847130561Sobrien
8848130561Sobrien2002-05-21  H.J. Lu  (hjl@gnu.org)
8849130561Sobrien
8850130561Sobrien	* linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
8851130561Sobrien	definition.
8852130561Sobrien
8853130561Sobrien2002-05-22  Alan Modra  <amodra@bigpond.net.au>
8854130561Sobrien
8855130561Sobrien	* elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
8856130561Sobrien	(ppc64_elf_relocate_section): Handle unresolved relocs in opd.
8857130561Sobrien
8858130561Sobrien2002-05-22  Alan Modra  <amodra@bigpond.net.au>
8859130561Sobrien
8860130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Return false for
8861130561Sobrien	unresolved relocs.
8862130561Sobrien	(ppc64_elf_size_dynamic_sections): Check for splt NULL.
8863130561Sobrien
8864130561Sobrien2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8865130561Sobrien
8866130561Sobrien	* bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
8867130561Sobrien	non-ELF targets.
8868130561Sobrien
8869130561Sobrien2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8870130561Sobrien
8871130561Sobrien	* elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
8872130561Sobrien	an error value.
8873130561Sobrien	* elflink.h (elf_link_output_relocs): Likewise. Improve error message.
8874130561Sobrien	return with false on error.
8875130561Sobrien	(elf_link_input_bfd): Check reloc_emitter return value.
8876130561Sobrien
8877130561Sobrien2002-05-21  Jason Thorpe  <thorpej@wasabisystems.com>
8878130561Sobrien
8879130561Sobrien	* config.bfd (armeb-*-netbsdelf*): New target.
8880130561Sobrien
8881130561Sobrien2002-05-20  Alan Modra  <amodra@bigpond.net.au>
8882130561Sobrien
8883130561Sobrien	* elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
8884130561Sobrien	at the plt call stub.
8885130561Sobrien
8886130561Sobrien2002-05-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8887130561Sobrien
8888130561Sobrien	* cpu-mips.c (mips_compatible): Don't try to check machine
8889130561Sobrien	compatibility.
8890130561Sobrien
8891130561Sobrien2002-05-18  Tom Rix  <trix@redhat.com>
8892130561Sobrien
8893130561Sobrien	* coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
8894130561Sobrien
8895130561Sobrien2002-05-17  Alan Modra  <amodra@bigpond.net.au>
8896130561Sobrien
8897130561Sobrien	* elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
8898130561Sobrien	(ppc64_elf_relocate_section): Don't warn about reloc overflow when
8899130561Sobrien	we've already warned about an undefined symbol.  Report more
8900130561Sobrien	detail on reloc errors.
8901130561Sobrien
8902130561Sobrien2002-05-17  Alan Modra  <amodra@bigpond.net.au>
8903130561Sobrien
8904130561Sobrien	* acinclude.m4 (AM_INSTALL_LIBBFD): New.
8905130561Sobrien	* configure.in: Invoke AM_INSTALL_LIBBFD.
8906130561Sobrien	* Makefile.am (install-data-local): Revert 2002-05-13.  Move to..
8907130561Sobrien	(install_libbfd): .. New target.
8908130561Sobrien	(uninstall_libbfd): Likewise.
8909130561Sobrien	(install-bfdlibLTLIBRARIES): Likewise.
8910130561Sobrien	(uninstall-bfdlibLTLIBRARIES): Likewise.
8911130561Sobrien	(bfdlibdir): New.
8912130561Sobrien	(bfdincludedir): New.
8913130561Sobrien	(lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
8914130561Sobrien	* aclocal.m4: Regenerate.
8915130561Sobrien	* configure: Regenerate.
8916130561Sobrien	* Makefile.in: Regenerate.
8917130561Sobrien
8918130561Sobrien2002-05-17  Stuart Balfour <sbalfour@cisco.com>
8919130561Sobrien
8920130561Sobrien	* hash.c (bfd_hash_lookup): Remove computation of len from inside
8921130561Sobrien	hash loop.
8922130561Sobrien
8923130561Sobrien2002-05-16  Nick Clifton  <nickc@cambridge.redhat.com>
8924130561Sobrien
8925130561Sobrien	* config.bfd: Add targets for sh64-linux (little endian and
8926130561Sobrien	big endian).
8927130561Sobrien
8928130561Sobrien2002-05-15  Laurent Pinchart <laurent.pinchart@skynet.be>
8929130561Sobrien
8930130561Sobrien	* peXXigen.c (pe_print_idata): Do not assume that the first thunk
8931130561Sobrien	is located in the same section as the import table.  Instead
8932130561Sobrien	check, and if necessary load the section containing the thunk.
8933130561Sobrien
8934130561Sobrien2002-05-15  Nick Clifton  <nickc@cambridge.redhat.com>
8935130561Sobrien
8936130561Sobrien	* aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
8937130561Sobrien	bfd_bread.
8938130561Sobrien	(xcoff64_core_file_matches_executable_p): Replace bfd_read
8939130561Sobrien	with bfd_bread.
8940130561Sobrien
8941130561Sobrien2002-05-15  Alan Modra  <amodra@bigpond.net.au>
8942130561Sobrien
8943130561Sobrien	* aix5ppc-core.c: Warning fixes.
8944130561Sobrien	* aout-adobe.c (aout_32_bfd_link_just_syms): Define.
8945130561Sobrien	* aout-target.h (MY_bfd_link_just_syms): Define.
8946130561Sobrien	* aout-tic30.c (MY_bfd_link_just_syms): Define.
8947130561Sobrien	* bfd.c (bfd_link_just_syms): Define.
8948130561Sobrien	* binary.c (binary_bfd_link_just_syms): Define.
8949130561Sobrien	* bout.c (b_out_bfd_link_just_syms): Define.
8950130561Sobrien	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
8951130561Sobrien	* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
8952130561Sobrien	* coffcode.h (coff_bfd_link_just_syms): Define.
8953130561Sobrien	* elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
8954130561Sobrien	(elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
8955130561Sobrien	(_bfd_elf_link_just_syms): Declare.
8956130561Sobrien	* elf.c (_bfd_elf_link_just_syms): New function.
8957130561Sobrien	* elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
8958130561Sobrien	sections haven't already been discarded by the linker.
8959130561Sobrien	* elflink.h (elf_link_add_object_symbols): Likewise for stab
8960130561Sobrien	sections and SEC_MERGE sections.
8961130561Sobrien	(elf_bfd_discard_info): Similarly here.
8962130561Sobrien	* elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
8963130561Sobrien	* i386msdos.c (msdos_bfd_link_just_syms): Define.
8964130561Sobrien	* i386os9k.c (os9k_bfd_link_just_syms): Define.
8965130561Sobrien	* ieee.c (ieee_bfd_link_just_syms): Define.
8966130561Sobrien	* ihex.c (ihex_bfd_link_just_syms): Define.
8967130561Sobrien	* libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
8968130561Sobrien	(_bfd_generic_link_just_syms): Declare.
8969130561Sobrien	* libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
8970130561Sobrien	* linker.c (_bfd_generic_link_just_syms): New function.
8971130561Sobrien	* mmo.c (mmo_bfd_link_just_syms): Define.
8972130561Sobrien	* nlm-target.h (nlm_bfd_link_just_syms): Define.
8973130561Sobrien	* oasys.c (oasys_bfd_link_just_syms): Define.
8974130561Sobrien	* ppcboot.c (ppcboot_bfd_link_just_syms): Define.
8975130561Sobrien	* som.c (som_bfd_link_just_syms): Define.
8976130561Sobrien	* srec.c (srec_bfd_link_just_syms): Define.
8977130561Sobrien	* targets.c (struct bfd_target): Add _bfd_link_just_syms.
8978130561Sobrien	(BFD_JUMP_TABLE_LINK): And here.
8979130561Sobrien	* tekhex.c (tekhex_bfd_link_just_syms): Define.
8980130561Sobrien	* versados.c (versados_bfd_link_just_syms): Define.
8981130561Sobrien	* vms.c (vms_bfd_link_just_syms): Define.
8982130561Sobrien	* libbfd.h: Regenerate.
8983130561Sobrien	* bfd-in2.h: Regenerate.
8984130561Sobrien
8985130561Sobrien2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8986130561Sobrien
8987130561Sobrien	* elf32-mips.c: Remove superfluous definitions copied from
8988130561Sobrien	elfxx-mips.c.
8989130561Sobrien	(bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
8990130561Sobrien	SGIish vectors to check the special case.
8991130561Sobrien	(mips_elf_hi16_reloc): Fix comment.
8992130561Sobrien	(mips_elf_got16_reloc): Likewise.
8993130561Sobrien	(_bfd_mips_elf32_gprel16_reloc): Likewise.
8994130561Sobrien	(elf_reloc_map): Code cleanup.
8995130561Sobrien	(mips_reloc_map): Add comment.
8996130561Sobrien	(bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
8997130561Sobrien	(mips_elf32_rtype_to_howto): Likewise.
8998130561Sobrien	(mips_elf32_discard_info): Likewise.
8999130561Sobrien	(elf32_mips_irix_compat): Invert logic: Only SGIish vectors
9000130561Sobrien	lead to IRIX compatibility now.
9001130561Sobrien
9002130561Sobrien2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
9003130561Sobrien
9004130561Sobrien	* elfxx-mips.c: Call it IRIX, not Irix in comments.
9005130561Sobrien
9006130561Sobrien2002-05-13  Jason Thorpe  <thorpej@wasabisystems.com>
9007130561Sobrien
9008130561Sobrien	* config.bfd (shle-*-netbsdelf*): Add target which includes
9009130561Sobrien	sh64 support.
9010130561Sobrien
9011130561Sobrien2002-05-13  David Edelsohn  <edelsohn@gnu.org>
9012130561Sobrien
9013130561Sobrien	* configure.in: Revert 2002-04-07.  Instead, auto-configure
9014130561Sobrien	HAVE_ST_C_IMPL.
9015130561Sobrien	* configure: Regenerate.
9016130561Sobrien	* config.in: Regenerate.
9017130561Sobrien	* rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
9018130561Sobrien	or AIX_5_CORE.
9019130561Sobrien
9020130561Sobrien2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
9021130561Sobrien
9022130561Sobrien	* configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
9023130561Sobrien	corefiles as well.2
9024130561Sobrien	* configure: Regenerate.
9025130561Sobrien
9026130561Sobrien2002-05-13  Alan Modra  <amodra@bigpond.net.au>
9027130561Sobrien
9028130561Sobrien	* Makefile.am (install-data-local): Install headers to
9029130561Sobrien	$(exec_prefix)/include.
9030130561Sobrien	* Makefile.in: Regenerate.
9031130561Sobrien
9032130561Sobrien2002-05-11  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
9033130561Sobrien	    Daniel Jacobowitz  <drow@mvista.com>
9034130561Sobrien
9035130561Sobrien	* coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE.  Don't
9036130561Sobrien	map BFD_RELOC_RVA.
9037130561Sobrien
9038130561Sobrien2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
9039130561Sobrien
9040130561Sobrien	* config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
9041130561Sobrien	hppa*-*-openbsd*): New targets.
9042130561Sobrien	* configure.in (alpha*-*-openbsd*): Set COREFILE.
9043130561Sobrien	* configure: Regenerate.
9044130561Sobrien
9045130561Sobrien2002-05-10  Tom Rix  <trix@redhat.com>
9046130561Sobrien
9047130561Sobrien	* coff64-rs6000.c (xcoff64_reloc_type_br): New function for
9048130561Sobrien	xcoff64_ppc_relocate_section.
9049130561Sobrien	* coff-rs6000.c : Extern common xcoff_reloc_type functions.
9050130561Sobrien	* libxcoff.h: Common xcoff_reloc_type function declaration.
9051130561Sobrien
9052130561Sobrien2002-05-10  Alan Modra  <amodra@bigpond.net.au>
9053130561Sobrien
9054130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
9055130561Sobrien	added in 2002-05-09 commit.
9056130561Sobrien
9057130561Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
9058130561Sobrien	don't look for stubs on all undefined syms.
9059130561Sobrien
9060130561Sobrien2002-05-09  Alan Modra  <amodra@bigpond.net.au>
9061130561Sobrien
9062130561Sobrien	* elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
9063130561Sobrien	(ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
9064130561Sobrien	pcrel_offset.
9065130561Sobrien
9066130561Sobrien	* elf32-i386.c (elf_howto_table): Comments.
9067130561Sobrien	(elf_i386_relocate_section): Handle more relocs for relocatable
9068130561Sobrien	linking and against SEC_MERGE sections.
9069130561Sobrien
9070130561Sobrien2002-05-08  Alan Modra  <amodra@bigpond.net.au>
9071130561Sobrien
9072130561Sobrien	* elf32-ppc.c (ppc_elf_create_got): New function.
9073130561Sobrien	(ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
9074130561Sobrien	_bfd_elf_create_dynamic_sections.  Correct .plt flags.
9075130561Sobrien	(ppc_elf_check_relocs): Use ppc_elf_create_got in place of
9076130561Sobrien	_bfd_elf_create_got_section.
9077130561Sobrien
9078130561Sobrien2002-05-07  Alan Modra  <amodra@bigpond.net.au>
9079130561Sobrien
9080130561Sobrien	* elf-bfd.h (struct elf_backend_data): Add rela_normal.
9081130561Sobrien	* elfxx-target.h (elf_backend_rela_normal): Define.
9082130561Sobrien	(elfNN_bed): Init rela_normal.
9083130561Sobrien	* elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
9084130561Sobrien	for section symbols here if rela_normal.  Simplify abs section test.
9085130561Sobrien	* elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
9086130561Sobrien	return immediately.  Remove code handling relocatable linking.
9087130561Sobrien	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
9088130561Sobrien	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
9089130561Sobrien	* elf32-i370.c (i370_elf_relocate_section): Likewise.
9090130561Sobrien	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
9091130561Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
9092130561Sobrien	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
9093130561Sobrien	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
9094130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
9095130561Sobrien	* elf32-s390.c (elf_s390_relocate_section): Likewise.
9096130561Sobrien	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
9097130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
9098130561Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
9099130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
9100130561Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
9101130561Sobrien	* elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
9102130561Sobrien	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
9103130561Sobrien	* elf-m10200.c (elf_backend_rela_normal): Define.
9104130561Sobrien	* elf-m10300.c (elf_backend_rela_normal): Define.
9105130561Sobrien	* elf32-fr30.c (elf_backend_rela_normal): Define.
9106130561Sobrien	* elf32-i370.c (elf_backend_rela_normal): Define.
9107130561Sobrien	* elf32-i860.c (elf_backend_rela_normal): Define.
9108130561Sobrien	* elf32-m68k.c (elf_backend_rela_normal): Define.
9109130561Sobrien	* elf32-mcore.c (elf_backend_rela_normal): Define.
9110130561Sobrien	* elf32-openrisc.c (elf_backend_rela_normal): Define.
9111130561Sobrien	* elf32-ppc.c (elf_backend_rela_normal): Define.
9112130561Sobrien	* elf32-s390.c (elf_backend_rela_normal): Define.
9113130561Sobrien	* elf32-xstormy16.c (elf_backend_rela_normal): Define.
9114130561Sobrien	* elf64-ppc.c (elf_backend_rela_normal): Define.
9115130561Sobrien	* elf64-s390.c (elf_backend_rela_normal): Define.
9116130561Sobrien	* elf64-x86-64.c (elf_backend_rela_normal): Define.
9117130561Sobrien	* elfxx-ia64.c (elf_backend_rela_normal): Define.
9118130561Sobrien	* elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
9119130561Sobrien	* elf32-m32r.c (elf_backend_rela_normal): Likewise.
9120130561Sobrien
9121130561Sobrien2002-05-06  Nick Clifton  <nickc@cambridge.redhat.com>
9122130561Sobrien
9123130561Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Convert
9124130561Sobrien	'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
9125130561Sobrien
9126130561Sobrien2002-05-06  Alan Modra  <amodra@bigpond.net.au>
9127130561Sobrien
9128130561Sobrien	* elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
9129130561Sobrien	when not relocatable.  Fix reloc_emitter call for K&R.
9130130561Sobrien
9131130561Sobrien2002-05-04  Alan Modra  <amodra@bigpond.net.au>
9132130561Sobrien
9133130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
9134130561Sobrien	reloading local sym addend mistakenly removed in 2002-05-01 change.
9135130561Sobrien
9136130561Sobrien	* dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
9137130561Sobrien	(read_abbrevs): Change "offset" param to bfd_vma.
9138130561Sobrien	(parse_comp_unit): Change "version" and addr_size to unsigned ints.
9139130561Sobrien	Change "abbrev_offset" to bfd_vma.
9140130561Sobrien	(read_indirect_string): Use correct conversion chars in error
9141130561Sobrien	message format string, cast bfd_vma's to unsigned long.
9142130561Sobrien	(read_abbrevs): Likewise.
9143130561Sobrien	(read_attribute_value): Likewise.
9144130561Sobrien	(decode_line_info): Likewise.
9145130561Sobrien	(scan_unit_for_functions): Likewise.
9146130561Sobrien	(parse_comp_unit): Likewise.
9147130561Sobrien
9148130561Sobrien2002-05-04  Tom Rix  <trix@redhat.com>
9149130561Sobrien
9150130561Sobrien	* coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
9151130561Sobrien	(coff_swap_reloc_out): Same.
9152130561Sobrien	* coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
9153130561Sobrien	(xcoff_swap_reloc_out): Same.
9154130561Sobrien	(xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
9155130561Sobrien	case some 16 bit relocs. Add reloc value to output.
9156130561Sobrien	(xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
9157130561Sobrien	R_RBR. Improve names.
9158130561Sobrien	(_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
9159130561Sobrien	(bfd_xcoff_backend_data): Update with new reloc swap names.
9160130561Sobrien	(bfd_pmac_xcoff_backend_data) : Same.
9161130561Sobrien	* coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
9162130561Sobrien	(xcoff64_swap_reloc_out): Same.
9163130561Sobrien	(xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
9164130561Sobrien	R_POS. Add reloc value to output.
9165130561Sobrien	(xcoff64_howto_table): Move 64 bit R_POS to first entry.  Add 16
9166130561Sobrien	bit R_RBR. Improve names, masks.
9167130561Sobrien	(xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
9168130561Sobrien	(bfd_xcoff_backend_data): Update with new reloc swap names.
9169130561Sobrien	(bfd_xcoff_aix5_backend_data) : Same.
9170130561Sobrien
9171130561Sobrien2002-05-04  Alan Modra  <amodra@bigpond.net.au>
9172130561Sobrien
9173130561Sobrien	* elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
9174130561Sobrien	bfd_count top_index, input_list, all_local_syms.
9175130561Sobrien	(elf32_hppa_setup_section_lists): New function, split from
9176130561Sobrien	elf32_hppa_size_stubs.
9177130561Sobrien	(elf32_hppa_next_input_section): Likewise.
9178130561Sobrien	(group_sections): Likewise.
9179130561Sobrien	(get_local_syms): Likewise.
9180130561Sobrien	(elf32_hppa_size_stubs): Adjust for split out functions.  Look for
9181130561Sobrien	stubs on undefined syms too.
9182130561Sobrien	(elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
9183130561Sobrien	Only access htab elf fields when we have an elf hash table.
9184130561Sobrien	* elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
9185130561Sobrien	(elf32_hppa_next_input_section): Declare.
9186130561Sobrien
9187130561Sobrien2002-05-04  Bob Byrnes  <byrnes@curl.com>
9188130561Sobrien
9189130561Sobrien	* opncls.c (_bfd_new_bfd_contained_in): Check return value of
9190130561Sobrien	_bfd_new_bfd.
9191130561Sobrien
9192130561Sobrien2002-05-03  H.J. Lu  (hjl@gnu.org)
9193130561Sobrien
9194130561Sobrien	* elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
9195130561Sobrien	(mips_elf_link_hash_newfunc): Initialize forced_local to false.
9196130561Sobrien	(mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
9197130561Sobrien	to hide a global symbol.
9198130561Sobrien	(_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
9199130561Sobrien	forced_local to true.
9200130561Sobrien
9201130561Sobrien2002-05-02  Richard Henderson  <rth@redhat.com>
9202130561Sobrien
9203130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
9204130561Sobrien	vs SHN_UNDEF to zero.
9205130561Sobrien
9206130561Sobrien2002-05-02  Alan Modra  <amodra@bigpond.net.au>
9207130561Sobrien
9208130561Sobrien	* elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
9209130561Sobrien	16 bit reloc.
9210130561Sobrien	<R_PPC64_SECTOFF_DS>: Likewise.
9211130561Sobrien	(ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
9212130561Sobrien	SECTOFF reloc.
9213130561Sobrien	* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
9214130561Sobrien	(ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
9215130561Sobrien	SECTOFF reloc.
9216130561Sobrien
9217130561Sobrien	* elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
9218130561Sobrien	(ppc64_elf_ha_reloc): New function.
9219130561Sobrien	(ppc64_elf_brtaken_reloc): New function.
9220130561Sobrien	(ppc64_elf_sectoff_reloc): New function.
9221130561Sobrien	(ppc64_elf_sectoff_ha_reloc): New function.
9222130561Sobrien	(ppc64_elf_toc_reloc): New function.
9223130561Sobrien	(ppc64_elf_toc_ha_reloc): New function.
9224130561Sobrien	(ppc64_elf_toc64_reloc): New function.
9225130561Sobrien	(ppc64_elf_unhandled_reloc): New function.
9226130561Sobrien	(ppc64_elf_howto_raw): Use the above.
9227130561Sobrien	<R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
9228130561Sobrien	<R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset.  Fix dst_mask.
9229130561Sobrien	<R_PPC64_SECTOFF_DS>: Likewise.
9230130561Sobrien	(IS_ABSOLUTE_RELOC): Update.
9231130561Sobrien	(struct ppc_link_hash_table): Add have_undefweak.
9232130561Sobrien	(ppc64_elf_link_hash_table_create): Init.
9233130561Sobrien	(func_desc_adjust): Set have_undefweak.
9234130561Sobrien	(ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier.  Only
9235130561Sobrien	add the .sfpr blr when have_undefweak.
9236130561Sobrien	(ppc64_elf_setup_section_lists): Check hash table flavour.
9237130561Sobrien	(ppc64_elf_next_input_section): Move output_section->owner test to
9238130561Sobrien	ppc64elf.em.
9239130561Sobrien	(ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
9240130561Sobrien	and relocatable test.  Return TOCstart and don't set elf_gp.
9241130561Sobrien	(ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
9242130561Sobrien	offset calculation.  Add assert on weak sym branch tweaks.
9243130561Sobrien	* elf64-ppc.h (ppc64_elf_set_toc): Delete.
9244130561Sobrien	(ppc64_elf_toc): Declare.
9245130561Sobrien	(ppc64_elf_next_input_section): Update.
9246130561Sobrien
9247130561Sobrien2002-05-01  Alan Modra  <amodra@bigpond.net.au>
9248130561Sobrien
9249130561Sobrien	* syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
9250130561Sobrien	file_name.
9251130561Sobrien
9252130561Sobrien2002-05-01  Alan Modra  <amodra@bigpond.net.au>
9253130561Sobrien
9254130561Sobrien	* elf64-ppc.c (CROR_151515, CROR_313131): Define.
9255130561Sobrien	(ppc64_elf_relocate_section): Use them.  Don't look for plt calls
9256130561Sobrien	on R_PPC64_ADDR24 relocs.  Require a nop or no link reg on plt
9257130561Sobrien	call branches.  Correct undefined weak destination.
9258130561Sobrien	(ppc64_elf_func_desc_adjust): Always create at least one blr in
9259130561Sobrien	.sfpr, and correct case where either only savef* or restf* is
9260130561Sobrien	needed.
9261130561Sobrien
9262130561Sobrien	Long branch stubs, multiple stub sections.
9263130561Sobrien	* elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
9264130561Sobrien	(ppc64_elf_next_input_section): Declare.
9265130561Sobrien	* elf64-ppc.c: Move linker-only prototypes.
9266130561Sobrien	(STUB_SUFFIX): Define.
9267130561Sobrien	(enum ppc_stub_type): New.
9268130561Sobrien	(struct ppc_stub_hash_entry): New.
9269130561Sobrien	(struct ppc_branch_hash_entry): New.
9270130561Sobrien	(struct ppc_link_hash_entry): Add stub_cache, oh.
9271130561Sobrien	(struct ppc_link_hash_table): Add stub_hash_table etc.  Remove
9272130561Sobrien	sstub.  Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
9273130561Sobrien	Rename plt_overflow to stub_error.
9274130561Sobrien	(ppc_stub_hash_lookup): Define.
9275130561Sobrien	(ppc_branch_hash_lookup): Define.
9276130561Sobrien	(stub_hash_newfunc): New function.
9277130561Sobrien	(branch_hash_newfunc): New function.
9278130561Sobrien	(link_hash_newfunc): Init new fields.
9279130561Sobrien	(ppc64_elf_link_hash_table_create): Likewise.
9280130561Sobrien	(ppc64_elf_link_hash_table_free): New function.
9281130561Sobrien	(ppc_stub_name): New function.
9282130561Sobrien	(ppc_get_stub_entry): New function.
9283130561Sobrien	(ppc_add_stub): New function.
9284130561Sobrien	(create_linkage_sections): Use bfd_make_section_anyway.  Create
9285130561Sobrien	.branch_lt and .rela.branch_lt sections.  Don't create .stub.
9286130561Sobrien	(ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
9287130561Sobrien	and set up for plt call stubs.  Link func and func desc syms.
9288130561Sobrien	(ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
9289130561Sobrien	(func_desc_adjust): Avoid hash lookup when func desc sym available
9290130561Sobrien	via shortcut, and set links when processing.
9291130561Sobrien	(ppc64_elf_hide_symbol): Likewise.
9292130561Sobrien	(allocate_dynrelocs): Don't allocate stub section here.
9293130561Sobrien	(ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
9294130561Sobrien	Remove sstub code.
9295130561Sobrien	(ppc_type_of_stub): New function.
9296130561Sobrien	(build_one_stub): Delete.
9297130561Sobrien	(ppc_build_one_stub): New function.
9298130561Sobrien	(ppc_size_one_stub): New function.
9299130561Sobrien	(ppc64_elf_setup_section_lists): New function.
9300130561Sobrien	(ppc64_elf_next_input_section): New function.
9301130561Sobrien	(group_sections): New function.
9302130561Sobrien	(get_local_syms): New function.
9303130561Sobrien	(ppc64_elf_size_stubs): Rewrite.
9304130561Sobrien	(ppc64_elf_build_stubs): Rewrite.
9305130561Sobrien	(ppc64_elf_relocate_section): Look up stub entry for REL24
9306130561Sobrien	relocs.  Don't propagate REL14* to dynamic objects.  Look for long
9307130561Sobrien	branch stubs if REL14* or REL24 relocs won't reach.
9308130561Sobrien	(bfd_elf64_bfd_link_hash_table_free): Define.
9309130561Sobrien
9310130561Sobrien2002-04-30  Mark Mitchell  <mark@codesourcery.com>
9311130561Sobrien
9312130561Sobrien	* config.bfd: Add support for powerpc-*-windiss.
9313130561Sobrien
9314130561Sobrien2002-04-30  Tom Rix  <trix@redhat.com>
9315130561Sobrien
9316130561Sobrien	* xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
9317130561Sobrien	symbol names into the hash table.
9318130561Sobrien
9319130561Sobrien2002-04-28  Tom Rix  <trix@redhat.com>
9320130561Sobrien
9321130561Sobrien	* coff-rs6000.c (xcoff_calculate_relocation) : Function table for
9322130561Sobrien	calulating relocations.
9323130561Sobrien	(xcoff_complain_overflow) : Function table for relocation errors.
9324130561Sobrien	(xcoff_ppc_relocate_section): Use relocation and complain function
9325130561Sobrien	tables.
9326130561Sobrien	(xcoff_complain_overflow_unsigned_func): New complain function.
9327130561Sobrien	(xcoff_complain_overflow_signed_func): Same.
9328130561Sobrien	(xcoff_complain_overflow_bitfield_func): Same.
9329130561Sobrien	(xcoff_complain_overflow_dont_func): Same.
9330130561Sobrien	(xcoff_reloc_type_crel): New recot function.
9331130561Sobrien	(xcoff_reloc_type_br): Same.
9332130561Sobrien	(xcoff_reloc_type_ba): Same.
9333130561Sobrien	(xcoff_reloc_type_toc): Same.
9334130561Sobrien	(xcoff_reloc_type_rel): Same.
9335130561Sobrien	(xcoff_reloc_type_neg): Same.
9336130561Sobrien	(xcoff_reloc_type_pos): Same.
9337130561Sobrien	(xcoff_reloc_type_fail): Same.
9338130561Sobrien	(xcoff_reloc_type_noop): Same.
9339130561Sobrien	* libxcoff.h : Declare common parts for xcoff64.
9340130561Sobrien	* coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
9341130561Sobrien	and complain function tables.
9342130561Sobrien
9343130561Sobrien2002-04-28  Alan Modra  <amodra@bigpond.net.au>
9344130561Sobrien
9345130561Sobrien	* elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
9346130561Sobrien	* elf32-hppa.c (elf32_hppa_final_link): Formatting.
9347130561Sobrien
9348130561Sobrien2002-04-26  Alan Modra  <amodra@bigpond.net.au>
9349130561Sobrien
9350130561Sobrien	* opncls.c (bfd_make_readable): Call bfd_section_list_clear.
9351130561Sobrien	* xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
9352130561Sobrien
9353130561Sobrien	* elflink.h (elf_bfd_final_link): Ensure input bfd class is the
9354130561Sobrien	same as the output before calling elf_link_input_bfd.
9355130561Sobrien
9356130561Sobrien	* coffcode.h (coff_compute_section_file_positions): Set
9357130561Sobrien	section_tail after shuffling section list.
9358130561Sobrien
9359130561Sobrien2002-04-24  Christian Groessler <chris@groessler.org>
9360130561Sobrien
9361130561Sobrien	* coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
9362130561Sobrien	addresses are 23bit with a special layout, not plain 32bit
9363130561Sobrien	values.  Prevent relocation of immediate values.
9364130561Sobrien
9365130561Sobrien2002-04-24  Chris G. Demetriou  <cgd@broadcom.com>
9366130561Sobrien
9367130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
9368130561Sobrien	MIPS-16 ASE flags are set, print something to indicate that.
9369130561Sobrien
9370130561Sobrien2002-04-23  Alan Modra  <amodra@bigpond.net.au>
9371130561Sobrien
9372130561Sobrien	* elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
9373130561Sobrien	under which a plt call stub is used.
9374130561Sobrien	(final_link_relocate): Similarly.
9375130561Sobrien	(allocate_plt_static): Clear h-plabel except when plt entry is
9376130561Sobrien	exclusively used for a plabel.
9377130561Sobrien	(allocate_dynrelocs): Use the above to simplify plt sizing.
9378130561Sobrien	(struct elf32_hppa_link_hash_table): Add has_22bit_branch.
9379130561Sobrien	(elf32_hppa_link_hash_table_create): Init.
9380130561Sobrien	(BL22_RP): Define.
9381130561Sobrien	(hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
9382130561Sobrien	(elf32_hppa_check_relocs): Set has_22bit_branch.
9383130561Sobrien
9384130561Sobrien	* elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
9385130561Sobrien	(final_link_relocate): Likewise.
9386130561Sobrien
9387130561Sobrien2002-04-22  Jakub Jelinek  <jakub@redhat.com>
9388130561Sobrien
9389130561Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
9390130561Sobrien	search table if some FDE is DW_EH_PE_aligned encoded either.
9391130561Sobrien	(_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
9392130561Sobrien
9393130561Sobrien2002-04-22  Richard Smith  <richard@ex-parrot.com>
9394130561Sobrien	    Jakub Jelinek  <jakub@redhat.com>
9395130561Sobrien
9396130561Sobrien	* elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
9397130561Sobrien	(_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
9398130561Sobrien	encoded personality.
9399130561Sobrien	(_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
9400130561Sobrien	for CIE/FDE removal.
9401130561Sobrien
9402130561Sobrien2002-04-20  Tom Rix  <trix@redhat.com>
9403130561Sobrien
9404130561Sobrien	* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
9405130561Sobrien
9406130561Sobrien2002-04-20  Alan Modra  <amodra@bigpond.net.au>
9407130561Sobrien
9408130561Sobrien	* archures.c (bfd_lookup_arch): Move the list order comment..
9409130561Sobrien	(struct bfd_arch_info): ..to where it belongs.
9410130561Sobrien	* bfd-in2.h: Regenerate.
9411130561Sobrien
9412130561Sobrien	* archures.c (bfd_lookup_arch): Add comment on list order.
9413130561Sobrien	(bfd_default_set_arch_mach): Use bfd_lookup_arch.
9414130561Sobrien	* cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
9415130561Sobrien	is always at head of list.
9416130561Sobrien
9417130561Sobrien2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
9418130561Sobrien
9419130561Sobrien	* coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
9420130561Sobrien	insert_thumb_branch, record_thumb_to_arm_glue): Suppress
9421130561Sobrien	definition of these functions for ARM_WINCE builds as they are
9422130561Sobrien	not used.
9423130561Sobrien	(SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
9424130561Sobrien	for ARM_WINCE builds.
9425130561Sobrien
9426130561Sobrien2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
9427130561Sobrien
9428130561Sobrien	* coff-arm.c (bfd_arm_process_before_allocation):
9429130561Sobrien
9430130561Sobrien2002-04-17  J"orn Rennecke <joern.rennecke@superh.com>
9431130561Sobrien
9432130561Sobrien	* cpu-sh.c (scan_mach): Delete.
9433130561Sobrien	(arch_info_struct): Replace scan_mach with bfd_default_scan.
9434130561Sobrien	(bfd_sh_arch): Likewise.
9435130561Sobrien
9436130561Sobrien2002-04-16  Nick Clifton  <nickc@cambridge.redhat.com>
9437130561Sobrien
9438130561Sobrien	* ihex.c (ihex_write_object_contents): Fix check for records
9439130561Sobrien	crossing 64K boundaries.
9440130561Sobrien
9441130561Sobrien2002-04-16  Alan Modra  <amodra@bigpond.net.au>
9442130561Sobrien
9443130561Sobrien	* elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
9444130561Sobrien	type rather than just assuming entries are ELF.
9445130561Sobrien	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
9446130561Sobrien	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
9447130561Sobrien	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
9448130561Sobrien	* elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
9449130561Sobrien	rather than elf_link_hash_entry.
9450130561Sobrien
9451130561Sobrien2002-04-15  Richard Henderson  <rth@redhat.com>
9452130561Sobrien
9453130561Sobrien	* elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
9454130561Sobrien	n32 binaries.
9455130561Sobrien
9456130561Sobrien2002-04-15  Michael Snyder  <msnyder@redhat.com>
9457130561Sobrien
9458130561Sobrien	* opncls.c (bfd_close): Write contents if writeable.
9459130561Sobrien	Minor formatting tidy-ups.
9460130561Sobrien
9461130561Sobrien2002-04-15  Alan Modra  <amodra@bigpond.net.au>
9462130561Sobrien
9463130561Sobrien	* elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
9464130561Sobrien
9465130561Sobrien2002-04-12  Michael Snyder  <msnyder@redhat.com>
9466130561Sobrien
9467130561Sobrien	* bfd-in.h (bfd_get_section_lma): New access macro.
9468130561Sobrien	Minor white-space fix-up.
9469130561Sobrien
9470130561Sobrien2002-04-12  Alan Modra  <amodra@bigpond.net.au>
9471130561Sobrien
9472130561Sobrien	* elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
9473130561Sobrien	header pad.
9474130561Sobrien
9475130561Sobrien2002-04-09  DJ Delorie  <dj@redhat.com>
9476130561Sobrien
9477130561Sobrien	* elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
9478130561Sobrien
9479130561Sobrien2002-04-09  Casper S. Hornstrup <chorns@users.sourceforge.net>
9480130561Sobrien
9481130561Sobrien	* coffcode.h (coff_read_word): New.
9482130561Sobrien	(coff_compute_checksum): New.
9483130561Sobrien	(coff_apply_checksum): New.
9484130561Sobrien	(coff_write_object_contents): Call coff_apply_checksum () to
9485130561Sobrien	apply checksum to PE image.
9486130561Sobrien
9487130561Sobrien2002-04-08  Randolph Chung  <tausq@debian.org>
9488130561Sobrien
9489130561Sobrien	* elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
9490130561Sobrien	(elf32_hppa_final_link): Split out sorting logic to..
9491130561Sobrien	* elf-hppa.h (elf_hppa_sort_unwind): ..here.
9492130561Sobrien	(elf_hppa_final_link): Call elf_hppa_sort_unwind.
9493130561Sobrien
9494130561Sobrien2002-04-07  Andrew Cagney  <ac131313@redhat.com>
9495130561Sobrien
9496130561Sobrien	* configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
9497130561Sobrien	pattern.
9498130561Sobrien	* configure: Re-generate.
9499130561Sobrien
9500130561Sobrien2002-04-07  Andrew Cagney  <ac131313@redhat.com>
9501130561Sobrien
9502130561Sobrien	* configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
9503130561Sobrien	is greater or equal to 4.3.3.
9504130561Sobrien	* configure: Regenerate.
9505130561Sobrien	Fix PR gdb/344.
9506130561Sobrien
9507130561Sobrien2002-04-05  Hans-Peter Nilsson  <hp@axis.com>
9508130561Sobrien
9509130561Sobrien	* elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
9510130561Sobrien	R_CRIS_32_PCREL>: Fix typo in name.
9511130561Sobrien	(cris_elf_check_relocs): Always create .rela.got here when
9512130561Sobrien	R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
9513130561Sobrien	(elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
9514130561Sobrien	assume it's created.
9515130561Sobrien
9516130561Sobrien2002-04-04  Daniel Jacobowitz  <drow@mvista.com>
9517130561Sobrien
9518130561Sobrien	* aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
9519130561Sobrien	* aout-target.h (MY_bfd_link_hash_table_free): Conditionally
9520130561Sobrien	define.
9521130561Sobrien	* aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
9522130561Sobrien	* bfd.c (bfd_link_hash_table_free): Define.
9523130561Sobrien	* binary.c (binary_bfd_link_hash_table_free): Define.
9524130561Sobrien	* bout.c (b_out_bfd_link_hash_table_free): Define.
9525130561Sobrien	* coff-rs6000.c (rs6000coff_vec): Include
9526130561Sobrien	_bfd_generic_link_hash_table_free.
9527130561Sobrien	(pmac_xcoff_vec): Likewise.
9528130561Sobrien	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
9529130561Sobrien	(aix5coff64_vec): Likewise.
9530130561Sobrien	* coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
9531130561Sobrien	* elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
9532130561Sobrien	(bfd_elf32_bfd_link_hash_table_free): Define.
9533130561Sobrien	* elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
9534130561Sobrien	(bfd_elf32_bfd_link_hash_table_free): Define.
9535130561Sobrien	* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
9536130561Sobrien	define.
9537130561Sobrien	* i386msdos.c (msdos_bfd_link_hash_table_free): Define.
9538130561Sobrien	* i386os9k.c (os9k_bfd_link_hash_table_free): Define.
9539130561Sobrien	* ieee.c (ieee_bfd_link_hash_table_free): Define.
9540130561Sobrien	* ihex.c (ihex_bfd_link_hash_table_free): Define.
9541130561Sobrien	* libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
9542130561Sobrien	(_bfd_generic_link_hash_table_free): Add prototype.
9543130561Sobrien	* libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
9544130561Sobrien	* libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
9545130561Sobrien	* linker.c (_bfd_generic_link_hash_table_free): New function.
9546130561Sobrien	* mmo.c (mmo_bfd_link_hash_table_free): Define.
9547130561Sobrien	* nlm-target.h (nlm_bfd_link_hash_table_free): Define.
9548130561Sobrien	* oasys.c (oasys_bfd_link_hash_table_free): Define.
9549130561Sobrien	* ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
9550130561Sobrien	* som.c (som_bfd_link_hash_table_free): Define.
9551130561Sobrien	* srec.c (srec_bfd_link_hash_table_free): Define.
9552130561Sobrien	* tekhex.c (tekhex_bfd_link_hash_table_free): Define.
9553130561Sobrien	* versados.c (versados_bfd_link_hash_table_free): Define.
9554130561Sobrien	* vms.c (vms_bfd_link_hash_table_free): New function.
9555130561Sobrien	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
9556130561Sobrien
9557130561Sobrien	* coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
9558130561Sobrien	instead of bfd_alloc.
9559130561Sobrien	* coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
9560130561Sobrien	* coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
9561130561Sobrien	* coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
9562130561Sobrien	* cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
9563130561Sobrien	* ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
9564130561Sobrien	* elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
9565130561Sobrien	* elf.c (_bfd_elf_link_hash_table_create): Likewise.
9566130561Sobrien	* elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
9567130561Sobrien	* elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
9568130561Sobrien	* elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
9569130561Sobrien	* elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
9570130561Sobrien	* elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
9571130561Sobrien	* elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
9572130561Sobrien	* elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
9573130561Sobrien	* elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
9574130561Sobrien	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
9575130561Sobrien	* elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
9576130561Sobrien	* elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
9577130561Sobrien	* elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
9578130561Sobrien	* elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
9579130561Sobrien	* elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
9580130561Sobrien	* linker.c (_bfd_generic_link_hash_table_create): Likewise.
9581130561Sobrien	* m68klinux.c (linux_link_hash_table_create): Likewise.
9582130561Sobrien	* sparclinux.c (linux_link_hash_table_create): Likewise.
9583130561Sobrien	* sunos.c (sunos_link_hash_table_create): Likewise.
9584130561Sobrien	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
9585130561Sobrien
9586130561Sobrien	* targets.c: Add _bfd_link_hash_table_free to xvec.
9587130561Sobrien
9588130561Sobrien	* bfd-in2.h: Regenerate.
9589130561Sobrien	* libbfd.h: Regenerate.
9590130561Sobrien	* libcoff.h: Regenerate.
9591130561Sobrien
9592130561Sobrien2002-04-04  Alan Modra  <amodra@bigpond.net.au>
9593130561Sobrien
9594130561Sobrien	* dep-in.sed: Cope with absolute paths.
9595130561Sobrien	* Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
9596130561Sobrien	Run "make dep-am".
9597130561Sobrien	* Makefile.in: Regenerate.
9598130561Sobrien	* coff-arm.c: Fix copyright date.
9599130561Sobrien	* cpu-h8300.c: Likewise.
9600130561Sobrien	* cpu-i370.c: Likewise.
9601130561Sobrien	* cpu-s390.c: Likewise.
9602130561Sobrien	* cpu-mips.c: Likewise.
9603130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
9604130561Sobrien
9605130561Sobrien2002-04-04  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
9606130561Sobrien
9607130561Sobrien	* Makefile.am: Add elfxx-mips.c to the known backends.
9608130561Sobrien	(elf32-mips.lo): remove dependency to coff/external.h.
9609130561Sobrien	* Makefile.in: Regenerate.
9610130561Sobrien	* configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
9611130561Sobrien	Remove elf32-mips.lo from 64 bit vectors. Update dependencies
9612130561Sobrien	accordingly.
9613130561Sobrien	* configure: Regenerate.
9614130561Sobrien	* elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
9615130561Sobrien	(irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
9616130561Sobrien	(elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
9617130561Sobrien	MIPS specific backend functions.
9618130561Sobrien	* elf32-mips.c: Moved most code to elfxx-mips.c.
9619130561Sobrien	(mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
9620130561Sobrien	static.
9621130561Sobrien	(mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
9622130561Sobrien	(mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
9623130561Sobrien	(mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
9624130561Sobrien	(mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
9625130561Sobrien	interface to allow selection of the right REL or RELA howto table.
9626130561Sobrien	(mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
9627130561Sobrien	static. Let it refuse n32 objects.
9628130561Sobrien	(elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
9629130561Sobrien	(elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
9630130561Sobrien	(elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
9631130561Sobrien	(elf32_mips_ignore_discarded_relocs): Rename from
9632130561Sobrien	_bfd_elf32_mips_ignore_discarded_relocs.
9633130561Sobrien	(elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
9634130561Sobrien	(elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
9635130561Sobrien	(elf_mips_howto_table_rela): Remove.
9636130561Sobrien	* elf64-mips.c: Moved most code to elfxx-mips.c.
9637130561Sobrien	(bfd_elf64_bfd_reloc_type_lookup): Make static.
9638130561Sobrien	(mips_elf64_rtype_to_howto): New function.
9639130561Sobrien	(mips_elf64_object_p): Likewise.
9640130561Sobrien	(elf64_mips_irix_compat): Likewise.
9641130561Sobrien	* elfxx-mips.c: New file containing common code merged together from
9642130561Sobrien	elf32-mips.c and elf64-mips.c.
9643130561Sobrien	* elfxx-mips.h: New file containing MIPS specific prototypes from
9644130561Sobrien	elf-bfd.h.
9645130561Sobrien	* elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
9646130561Sobrien	elf_backend_mips_rtype_to_howto.
9647130561Sobrien
9648130561Sobrien2002-04-04  Alan Modra  <amodra@bigpond.net.au>
9649130561Sobrien
9650130561Sobrien	* srec.c (MAXCHUNK, Chunk): Revise comments.
9651130561Sobrien	(srec_write_record): Correct buffer size.
9652130561Sobrien	(srec_write_header): Do without intermediate buffer.
9653130561Sobrien	(srec_write_section): Validate Chunk.
9654130561Sobrien	(srec_write_terminator): Pass NULL instead of dummy buffer.
9655130561Sobrien	(srec_write_symbols): Pass file and symbol names directly to
9656130561Sobrien	bfd_bwrite so sprintf won't overflow buffer.
9657130561Sobrien
9658130561Sobrien2002-04-03  Jakub Jelinek  <jakub@redhat.com>
9659130561Sobrien
9660130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
9661130561Sobrien	PC relative relocs against hidden symbols.
9662130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
9663130561Sobrien
9664130561Sobrien2002-04-03  Alan Modra  <amodra@bigpond.net.au>
9665130561Sobrien
9666130561Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): When setting section
9667130561Sobrien	LMAs, loop over segments until p_vaddr and p_memsz specify an
9668130561Sobrien	extent enclosing the section.
9669130561Sobrien
9670130561Sobrien2002-04-02  Nick Clifton  <nickc@cambridge.redhat.com>
9671130561Sobrien
9672130561Sobrien	* ihex.c (ihex_write_object_contents): Do not allow records to
9673130561Sobrien	cross a 64K boundary - wrap if necessary.
9674130561Sobrien
9675130561Sobrien2002-04-01  Nathan Williams  <nathanw@wasabisystems.com>
9676130561Sobrien
9677130561Sobrien	* elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
9678130561Sobrien	which caused the returned LWP ID to always be 0.
9679130561Sobrien
9680130561Sobrien2002-04-01  Richard Henderson  <rth@redhat.com>
9681130561Sobrien
9682130561Sobrien	* elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
9683130561Sobrien	(elf32_sparc_relocate_section): Use it to figure out when to
9684130561Sobrien	initialize .got entries.
9685130561Sobrien	* elf64-sparc.c: Similarly.
9686130561Sobrien
9687130561Sobrien2002-03-28  Alan Modra  <amodra@bigpond.net.au>
9688130561Sobrien
9689130561Sobrien	* linker.c (link_action): Ignore duplicate warning syms.
9690130561Sobrien	(_bfd_generic_link_write_global_symbol): Follow warning symbol link.
9691130561Sobrien	* elflink.h (elf_adjust_dynstr_offsets): Likewise.
9692130561Sobrien	(elf_adjust_dynamic_symbol): Likewise.
9693130561Sobrien	(elf_export_symbol): Likewise.
9694130561Sobrien	(elf_link_find_version_dependencies): Likewise.
9695130561Sobrien	(elf_link_assign_sym_version): Likewise.
9696130561Sobrien	(elf_link_sec_merge_syms): Likewise.
9697130561Sobrien	(elf_link_output_extsym): Likewise.
9698130561Sobrien	(elf_gc_sweep_symbol): Likewise.
9699130561Sobrien	(elf_gc_propagate_vtable_entries_used): Likewise.
9700130561Sobrien	(elf_gc_smash_unused_vtentry_relocs): Likewise.
9701130561Sobrien	(elf_gc_allocate_got_offsets): Likewise.
9702130561Sobrien	(elf_collect_hash_codes): Likewise.
9703130561Sobrien	* elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
9704130561Sobrien	* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
9705130561Sobrien	(elf_hppa_remark_useless_dynamic_symbols): Likewise.
9706130561Sobrien	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
9707130561Sobrien	* elf32-arm.h (elf32_arm_discard_copies): Likewise.
9708130561Sobrien	* elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
9709130561Sobrien	(elf_cris_discard_excess_dso_dynamics): Likewise.
9710130561Sobrien	* elf32-hppa.c (clobber_millicode_symbols): Likewise.
9711130561Sobrien	(mark_PIC_calls): Likewise.
9712130561Sobrien	(allocate_plt_static): Likewise.
9713130561Sobrien	(allocate_dynrelocs): Likewise.
9714130561Sobrien	(readonly_dynrelocs): Likewise.
9715130561Sobrien	* elf32-i386.c (allocate_dynrelocs): Likewise.
9716130561Sobrien	(readonly_dynrelocs): Likewise.
9717130561Sobrien	* elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
9718130561Sobrien	* elf32-m68k.c (elf_m68k_discard_copies): Likewise.
9719130561Sobrien	* elf32-mips.c (mips_elf_output_extsym): Likewise.
9720130561Sobrien	(mips_elf_sort_hash_table_f): Likewise.
9721130561Sobrien	(mips_elf_check_mips16_stubs): Likewise.
9722130561Sobrien	* elf32-s390.c (allocate_dynrelocs): Likewise.
9723130561Sobrien	(readonly_dynrelocs): Likewise.
9724130561Sobrien	* elf32-sh.c (sh_elf_discard_copies): Likewise.
9725130561Sobrien	* elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
9726130561Sobrien	(xstormy16_relax_plt_realloc): Likewise.
9727130561Sobrien	* elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
9728130561Sobrien	(elf64_alpha_output_extsym): Likewise.
9729130561Sobrien	* elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
9730130561Sobrien	* elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
9731130561Sobrien	(mips_elf64_check_mips16_stubs): Likewise.
9732130561Sobrien	(mips_elf64_output_extsym): Likewise.
9733130561Sobrien	* elf64-ppc.c (func_desc_adjust): Likewise.
9734130561Sobrien	(allocate_dynrelocs): Likewise.
9735130561Sobrien	(readonly_dynrelocs): Likewise.
9736130561Sobrien	* elf64-s390.c (allocate_dynrelocs): Likewise.
9737130561Sobrien	(readonly_dynrelocs): Likewise.
9738130561Sobrien	* elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
9739130561Sobrien	* elf64-x86-64.c (allocate_dynrelocs): Likewise.
9740130561Sobrien	(readonly_dynrelocs): Likewise.
9741130561Sobrien	* elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
9742130561Sobrien	* aoutx.h (aout_link_write_other_symbol): Likewise.
9743130561Sobrien	* cofflink.c (_bfd_coff_write_task_globals): Likewise.
9744130561Sobrien	(_bfd_coff_write_global_sym): Likewise.
9745130561Sobrien	* i386linux.c (linux_tally_symbols): Likewise.
9746130561Sobrien	* m68klinux.c (linux_tally_symbols): Likewise.
9747130561Sobrien	* sparclinux.c (linux_tally_symbols): Likewise.
9748130561Sobrien	* pdp11.c (aout_link_write_other_symbol): Likewise.
9749130561Sobrien	* sunos.c (sunos_scan_dynamic_symbol): Likewise.
9750130561Sobrien	* xcofflink.c (xcoff_build_ldsyms): Likewise.
9751130561Sobrien	(xcoff_write_global_symbol): Likewise.
9752130561Sobrien
9753130561Sobrien	* cofflink.c (_bfd_coff_final_link): Formatting.
9754130561Sobrien	* cpu-mips.c (mips_compatible): Make static, prototype.
9755130561Sobrien	* elf32-i386.c (elf_i386_check_relocs): Formatting.
9756130561Sobrien	* elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
9757130561Sobrien	* elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
9758130561Sobrien	* elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
9759130561Sobrien	(mips_elf64_final_link): Likewise.
9760130561Sobrien	* elflink.h (elf_link_find_version_dependencies): Remove duplicate
9761130561Sobrien	prototype.
9762130561Sobrien
9763130561Sobrien2002-03-27  Nick Clifton  <nickc@cambridge.redhat.com>
9764130561Sobrien
9765130561Sobrien	* coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
9766130561Sobrien	(SWAP_OUT_RELOC_OFFSET): Define.
9767130561Sobrien
9768130561Sobrien2002-03-27  Gregory Steuck <greg@nest.cx>
9769130561Sobrien
9770130561Sobrien	* elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
9771130561Sobrien	terminating NULL if empty symbol table.
9772130561Sobrien	(_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
9773130561Sobrien
9774130561Sobrien2002-03-26  H.J. Lu  (hjl@gnu.org)
9775130561Sobrien
9776130561Sobrien	* elflink.h (elf_link_input_bfd): Revert the last change since
9777130561Sobrien	the gcc exception handling isn't fixed yet.
9778130561Sobrien
9779130561Sobrien2002-03-26  H.J. Lu  (hjl@gnu.org)
9780130561Sobrien
9781130561Sobrien	* elflink.h (elf_link_input_bfd): Complain about relocations
9782130561Sobrien	against local symbols in discarded sections.
9783130561Sobrien
9784130561Sobrien2002-03-26  Alan Modra  <amodra@bigpond.net.au>
9785130561Sobrien
9786130561Sobrien	* elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
9787130561Sobrien
9788130561Sobrien2002-03-23  Alan Modra  <amodra@bigpond.net.au>
9789130561Sobrien
9790130561Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
9791130561Sobrien	section file offset for !SEC_LOAD sections.
9792130561Sobrien
9793130561Sobrien2002-03-21  Richard Earnshaw  <rearnsha@arm.com>
9794130561Sobrien
9795130561Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
9796130561Sobrien	<case R_ARM_GOT>): Handle relocations to Thumb functions.
9797130561Sobrien
9798130561Sobrien2002-03-21  Alan Modra  <amodra@bigpond.net.au>
9799130561Sobrien
9800130561Sobrien	* coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
9801130561Sobrien	Whitespace changes.
9802130561Sobrien	* archive.c: Update copyright date.
9803130561Sobrien	* bfd-in2.h: Regenerate.
9804130561Sobrien	* libbfd.h: Regenerate.
9805130561Sobrien	* Makefile.am: Run "make dep-am"
9806130561Sobrien	* Makefile.in: Regenerate.
9807130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
9808130561Sobrien
9809130561Sobrien2002-03-20  Daniel Jacobowitz  <drow@mvista.com>
9810130561Sobrien
9811130561Sobrien	* dwarf2.c (struct funcinfo): Move up.
9812130561Sobrien	(lookup_address_in_function_table): New argument function_ptr.
9813130561Sobrien	Set it.
9814130561Sobrien	(lookup_address_in_line_table): New argument function.  If function
9815130561Sobrien	is non-NULL, use it to handle ``addr'' before the first line note of
9816130561Sobrien	the function.
9817130561Sobrien	(comp_unit_find_nearest_line): Update and swap calls to
9818130561Sobrien	lookup_address_in_function_table and lookup_address_in_line_table.
9819130561Sobrien	* syms.c (_bfd_stab_section_find_nearest_line): Use the first
9820130561Sobrien	N_SLINE encountered if we see an N_FUN before any N_SLINE.
9821130561Sobrien
9822130561Sobrien2002-03-20  Tom Rix  <trix@redhat.com>
9823130561Sobrien
9824130561Sobrien	* coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
9825130561Sobrien	_bfd_xcoff_generic_stat_arch_elt.  Fix format check.
9826130561Sobrien	* coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
9827130561Sobrien
9828130561Sobrien2002-03-19  Tom Rix  <trix@redhat.com>
9829130561Sobrien
9830130561Sobrien	* xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
9831130561Sobrien	dynamic objects in archives.
9832130561Sobrien
9833130561Sobrien2002-03-19  Hans-Peter Nilsson  <hp@bitrange.com>
9834130561Sobrien
9835130561Sobrien	* elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
9836130561Sobrien	STT_NOTYPE symbols to STT_OBJECT.
9837130561Sobrien
9838130561Sobrien2002-03-18  Jan Hubicka  <jh@suse.cz>
9839130561Sobrien
9840130561Sobrien	* cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
9841130561Sobrien
9842130561Sobrien2002-03-18  Tom Rix  <trix@redhat.com>
9843130561Sobrien
9844130561Sobrien	* aix5ppc.core.c : New file for AIX 5 64 bit core support.
9845130561Sobrien	* bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
9846130561Sobrien	* coff-rs6000 (do_pad) : New function for archive padding.
9847130561Sobrien	(do_copy) : New function for object file copying in archives.
9848130561Sobrien	(do_shared_object_padding) : New function for padding shared
9849130561Sobrien	objects to their text section alignment in archives.
9850130561Sobrien	(bfd_xcoff_ar_achive_set_magic) : Stub.
9851130561Sobrien	(xcoff_write_armap_big) : Use do_copy and do_pad.
9852130561Sobrien	(xcoff_write_archive_contents_big) : Use do_shared_object_padding,
9853130561Sobrien	do_copy and do_pad.
9854130561Sobrien	* coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
9855130561Sobrien	bfd_xcoff_magic_number.
9856130561Sobrien	(xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
9857130561Sobrien	fop.
9858130561Sobrien	(xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
9859130561Sobrien	(bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
9860130561Sobrien	(aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
9861130561Sobrien	* rs6000-core.c : Update copyright date.
9862130561Sobrien	* xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
9863130561Sobrien	csectpp.
9864130561Sobrien	* coffcode.h (coff_new_section_hook) : Use new accessor macros.
9865130561Sobrien	(coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
9866130561Sobrien	(coff_set_flags) : Use bfd_xcoff_magic_number.
9867130561Sobrien	* libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
9868130561Sobrien	* configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
9869130561Sobrien	* Makefile.am : Same.
9870130561Sobrien	* config.bfd : Same.
9871130561Sobrien	* targets.c : Same.
9872130561Sobrien	* configure : Regnerate.
9873130561Sobrien	* Makefile.in : Same.
9874130561Sobrien	* bfd-in2.h : Same.
9875130561Sobrien
9876130561Sobrien2002-03-18  Nick Clifton  <nickc@cambridge.redhat.com>
9877130561Sobrien
9878130561Sobrien	* po/fr.po: Updated version.
9879130561Sobrien
9880130561Sobrien2002-03-18  Alan Modra  <amodra@bigpond.net.au>
9881130561Sobrien
9882130561Sobrien	* libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
9883130561Sobrien	* libbfd.h: Regenerate.
9884130561Sobrien	* archive.c (coff_write_armap): Pass on failures from
9885130561Sobrien	bfd_write_bigendian_4byte_int.
9886130561Sobrien
9887130561Sobrien2002-03-14  H.J. Lu <hjl@gnu.org>
9888130561Sobrien
9889130561Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
9890130561Sobrien	error to bfd_error_nonrepresentable_section for reinit_array
9891130561Sobrien	section in DSO.
9892130561Sobrien
9893130561Sobrien2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
9894130561Sobrien
9895130561Sobrien	* coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
9896130561Sobrien	OR it in rather than replacing previously selected flags.
9897130561Sobrien
9898130561Sobrien	* elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
9899130561Sobrien	(TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
9900130561Sobrien
9901130561Sobrien2002-03-14  Alan Modra  <amodra@bigpond.net.au>
9902130561Sobrien
9903130561Sobrien	* cpu-mips.c (mips_compatible): New.  Don't check bits_per_word.
9904130561Sobrien	(N): Use the above.
9905130561Sobrien	* elflink.h (elf_bfd_final_link): Revert last change.  Instead,
9906130561Sobrien	ensure reloc size matches before calling elf_link_input_bfd.
9907130561Sobrien	Add an assert to check reloc size when counting output relocs.
9908130561Sobrien
9909130561Sobrien2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
9910130561Sobrien
9911130561Sobrien	* mmo.c (mmo_get_loc): Return NULL rather than false.
9912130561Sobrien
9913130561Sobrien2002-03-13  Nick Clifton  <nickc@cambridge.redhat.com>
9914130561Sobrien
9915130561Sobrien	* po/fr.po: Updated version.
9916130561Sobrien
9917130561Sobrien2002-03-13  Alan Modra  <amodra@bigpond.net.au>
9918130561Sobrien
9919130561Sobrien	* archures.c (bfd_default_compatible): Test bits_per_word.
9920130561Sobrien	* cpu-i386.c (i386_compatible): Remove.  Replace occurrences with
9921130561Sobrien	bfd_default_compatible.
9922130561Sobrien	* cpu-i370.c (i370_compatible): Likewise.
9923130561Sobrien	* cpu-sparc.c (sparc_compatible): Likewise.
9924130561Sobrien	* cpu-h8300.c (compatible): Test in->arch == out->arch.
9925130561Sobrien
9926130561Sobrien	* elflink.h: Formatting fixes.
9927130561Sobrien	(elf_link_output_extsym): Merge undefined and undef weak cases.
9928130561Sobrien
9929130561Sobrien	* elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
9930130561Sobrien	when word size of input matches output word size.
9931130561Sobrien
9932130561Sobrien2002-03-12  Andreas Jaeger  <aj@suse.de>
9933130561Sobrien
9934130561Sobrien	* cpu-i386.c (i386_compatible): New.  Use it instead of
9935130561Sobrien	bfd_default_compatible.
9936130561Sobrien
9937130561Sobrien2002-03-07  H.J. Lu  (hjl@gnu.org)
9938130561Sobrien
9939130561Sobrien	* coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
9940130561Sobrien	as the type for bfd_reloc_val.
9941130561Sobrien
9942130561Sobrien2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9943130561Sobrien
9944130561Sobrien	* elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
9945130561Sobrien	(elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
9946130561Sobrien	(elf_hppa_final_link_relocate): Correct relocations for indirect
9947130561Sobrien	references to local data through the DLT.  Fix .opd creation for
9948130561Sobrien	local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
9949130561Sobrien	relocations.  Use e_lsel selector for R_PARISC_DLTIND21L,
9950130561Sobrien	R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
9951130561Sobrien	"Processor-Specific ELF for PA_RISC, Version 1.43" document.
9952130561Sobrien	Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
9953130561Sobrien	* elf32-hppa.c (final_link_relocate): Revise relocation selectors
9954130561Sobrien	as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
9955130561Sobrien
9956130561Sobrien2002-03-05  Jakub Jelinek  <jakub@redhat.com>
9957130561Sobrien
9958130561Sobrien	* merge.c (_bfd_merge_sections): Don't segfault if there
9959130561Sobrien	is nothing to merge due to GC.
9960130561Sobrien
9961130561Sobrien2002-03-05  Alan Modra  <amodra@bigpond.net.au>
9962130561Sobrien
9963130561Sobrien	* elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
9964130561Sobrien	symbols that have been forced local.
9965130561Sobrien
9966130561Sobrien	* elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
9967130561Sobrien	to output forced local syms for non-shared link.
9968130561Sobrien	(elf_link_output_extsym): Tweak condition for calling backend
9969130561Sobrien	adjust_dynamic_symbol so that previous behaviour is kept.
9970130561Sobrien	Whitespace changes throughout file.
9971130561Sobrien
9972130561Sobrien2002-03-04  H.J. Lu <hjl@gnu.org>
9973130561Sobrien
9974130561Sobrien	* elf.c (bfd_section_from_shdr): Handle special sections,
9975130561Sobrien	.init_array, .fini_array and .preinit_array.
9976130561Sobrien	(elf_fake_sections): Likewise.
9977130561Sobrien
9978130561Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
9979130561Sobrien	DT entry only if the section is in output for .init_array,
9980130561Sobrien	.fini_array and .preinit_array. Complain about .preinit_array
9981130561Sobrien	section in DSO.
9982130561Sobrien	(elf_bfd_final_link): Warn zero size for .init_array,
9983130561Sobrien	.fini_array and .preinit_array sections.
9984130561Sobrien
9985130561Sobrien	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
9986130561Sobrien	SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
9987130561Sobrien	(elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
9988130561Sobrien	.preinit_array.
9989130561Sobrien
9990130561Sobrien2002-03-04  Alan Modra  <amodra@bigpond.net.au>
9991130561Sobrien
9992130561Sobrien	* configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
9993130561Sobrien	* configure: Regenerate.
9994130561Sobrien
9995130561Sobrien2002-03-02  Tom Rix  <trix@redhat.com>
9996130561Sobrien
9997130561Sobrien	* coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
9998130561Sobrien	symbolic equiv.
9999130561Sobrien	* coff-rs6000.c (xcoff_howto_table): Same.
10000130561Sobrien
10001130561Sobrien2002-03-01  David Mosberger  <davidm@hpl.hp.com>
10002130561Sobrien
10003130561Sobrien	* elflink.h (size_dynamic_sections): If section named
10004130561Sobrien	".preinit_array" exists, create DT_PREINIT_ARRAY and
10005130561Sobrien	DT_PREINIT_ARRAYSZ entries in dynamic table.  Analogously for
10006130561Sobrien	".init_array" and ".fini_array".
10007130561Sobrien	(elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
10008130561Sobrien	DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
10009130561Sobrien	DT_FINI_ARRAY.
10010130561Sobrien
10011130561Sobrien2002-02-26  Andrew Macleod  <amacleod@cygnus.com>
10012130561Sobrien
10013130561Sobrien	* elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
10014130561Sobrien	dynsyms.
10015130561Sobrien
10016130561Sobrien2002-02-25  Alan Modra  <amodra@bigpond.net.au>
10017130561Sobrien
10018130561Sobrien	* elf64-hppa.h: Update copyright date.
10019130561Sobrien
10020130561Sobrien	* elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
10021130561Sobrien	(ppc64_elf_relocate_section): Don't generate power4 style branch
10022130561Sobrien	hints for *_BRTAKEN and *_BRNTAKEN relocs.
10023130561Sobrien
10024130561Sobrien2002-02-22  Jakub Jelinek  <jakub@redhat.com>
10025130561Sobrien
10026130561Sobrien	* elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
10027130561Sobrien	last patch.
10028130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
10029130561Sobrien
10030130561Sobrien2002-02-21  Andreas Jaeger  <aj@suse.de>
10031130561Sobrien
10032130561Sobrien	* elf64-x86-64.c: Major rework that introduces all recent changes
10033130561Sobrien	to the x86-64 backend.  Get a closer match to elf32-i386.
10034130561Sobrien	(struct elf64_x86_64_dyn_relocs): Rename from
10035130561Sobrien	elf64_x86_64_pcrel_relocs_copied, add additional fields.  Change
10036130561Sobrien	all users.
10037130561Sobrien	(struct elf64_x86_64_link_hash_table): Add short cuts to some
10038130561Sobrien	sections.
10039130561Sobrien	(link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
10040130561Sobrien	remove casts, initialize new hash members.
10041130561Sobrien	(create_got_section): New.
10042130561Sobrien	(elf64_x86_64_create_dynamic_sections): New.
10043130561Sobrien	(elf64_x86_64_copy_indirect_symbol): New.
10044130561Sobrien	(elf64_x86_64_check_relocs): Don't allocate space for dynamic
10045130561Sobrien	relocs, .got or .relgot here but do it in allocate_dynrelocs.
10046130561Sobrien	Reference count possible .plt and .got entries.  Don't test input
10047130561Sobrien	section SEC_READONLY here to try to avoid copy relocs, and keep
10048130561Sobrien	dyn_relocs regardless of ELF_LINK_NON_GOT_REF.  Don't set
10049130561Sobrien	DF_TEXTREL here.  Delay setting of variables until needed.  Cache
10050130561Sobrien	pointer to "sreloc" section in elf_section_data. Tweak condition
10051130561Sobrien	under which .got created.  Report files with bad relocation
10052130561Sobrien	section names.
10053130561Sobrien	(elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
10054130561Sobrien	Reference count possible .plt entries.  Don't deallocate .got and
10055130561Sobrien	.relgot space here.
10056130561Sobrien	(elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc.  Don't
10057130561Sobrien	do copy reloc processing for weakdefs.  Remove redundant casts and
10058130561Sobrien	aborts.  Delay setting of vars until needed.  Move creation of
10059130561Sobrien	dynamic symbols and allocation of .plt and .rela.plt to
10060130561Sobrien	allocate_dynrelocs.  Replace BFD_ASSERT with abort.
10061130561Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
10062130561Sobrien	(allocate_dynrelocs): New.
10063130561Sobrien	(readonly_dynrelocs): New.
10064130561Sobrien	(elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
10065130561Sobrien	Allocate space for dyn relocs.  Replace BFD_ASSERT with abort.
10066130561Sobrien	Zero out the dynamic allocated content space.
10067130561Sobrien	(elf64_x86_64_discard_copies): Removed.
10068130561Sobrien	(elf64_x86_64_relocate_section): Make use of dynamic section
10069130561Sobrien	short-cuts.  Localise vars, and delay setting.  Better error
10070130561Sobrien	reporting, replace BFD_ASSERT with abort.  Check
10071130561Sobrien	ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
10072130561Sobrien	regular object file and tread the weak definition as the normal
10073130561Sobrien	one.  Don't discard relocs for undefweak or undefined symbols and
10074130561Sobrien	check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
10075130561Sobrien	relocs.
10076130561Sobrien	(elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
10077130561Sobrien	symbols that have been forced local.  Use same test to decide if
10078130561Sobrien	we can use a relative reloc for got as relocate_section.  Expand
10079130561Sobrien	SHN_UNDEF comment.  Move expressions out of function calls.
10080130561Sobrien	Replace BFD_ASSERT with abort.
10081130561Sobrien	(bfd_elf64_bfd_final_link): Removed.
10082130561Sobrien	(elf_backend_copy_indirect_symbol): Define.
10083130561Sobrien
10084130561Sobrien2002-02-20  Tom Rix  <trix@redhat.com>
10085130561Sobrien
10086130561Sobrien	* coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
10087130561Sobrien	(_bfd_xcoff_reloc_type_lookup): Use it.
10088130561Sobrien	* coff64-rs6000.c (xcoff64_howto_table): Same.
10089130561Sobrien	(xcoff64_reloc_type_lookup): Same.
10090130561Sobrien
10091130561Sobrien2002-02-20  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
10092130561Sobrien
10093130561Sobrien	* osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
10094130561Sobrien	little endian.
10095130561Sobrien
10096130561Sobrien2002-02-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>
10097130561Sobrien
10098130561Sobrien	* archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
10099130561Sobrien	(bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
10100130561Sobrien	* bfd-in2.h: Regenerate.
10101130561Sobrien	* cpu-s390.c (arch_info_struct): Use renamed architecture defines.
10102130561Sobrien	Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
10103130561Sobrien	with "s390:64-bit".
10104130561Sobrien	* elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
10105130561Sobrien	(elf_s390_reloc_type_lookup): Likewise.
10106130561Sobrien	(elf_s390_check_relocs): Likewise.
10107130561Sobrien	(elf_s390_gc_sweep_hook): Likewise.
10108130561Sobrien	(elf_s390_relocate_section): Likewise.
10109130561Sobrien	(elf_s390_object_p): Use renamed architecture define.
10110130561Sobrien	* elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
10111130561Sobrien
10112130561Sobrien2002-02-19  Frank Ch. Eigler  <fche@redhat.com>
10113130561Sobrien
10114130561Sobrien	* syms.c (stt[]): Sorted.  Added .init/.fini -> "t" mapping.
10115130561Sobrien
10116130561Sobrien2002-02-19  Jakub Jelinek  <jakub@redhat.com>
10117130561Sobrien
10118130561Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
10119130561Sobrien	absptr -> pcrel optimization for shared libs.
10120130561Sobrien	Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
10121130561Sobrien	library cannot be converted to pcrel.
10122130561Sobrien	(_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
10123130561Sobrien	relative.
10124130561Sobrien	* elf32-i386.c (elf_i386_relocate_section): If
10125130561Sobrien	_bfd_elf_section_offset returned -2, skip, but make sure the
10126130561Sobrien	relocation is installed.
10127130561Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
10128130561Sobrien	* elf32-cris.c (cris_elf_relocate_section): Likewise.
10129130561Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
10130130561Sobrien	* elf32-i370.c (i370_elf_relocate_section): Likewise.
10131130561Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
10132130561Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
10133130561Sobrien	* elf32-s390.c (elf_s390_relocate_section): Likewise.
10134130561Sobrien	* elf32-sh.c (sh_elf_relocate_section): Likewise.
10135130561Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
10136130561Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
10137130561Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
10138130561Sobrien	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
10139130561Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
10140130561Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
10141130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Handle
10142130561Sobrien	_bfd_elf_section_offset returning -2 the same way as -1.
10143130561Sobrien	* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
10144130561Sobrien	* elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
10145130561Sobrien	and BFD_ASSERT.
10146130561Sobrien	* elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
10147130561Sobrien
10148130561Sobrien2002-02-18  Tom Rix  <trix@redhat.com>
10149130561Sobrien
10150130561Sobrien	* xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
10151130561Sobrien	(bfd_xcoff_size_dynamic_sections): Same.
10152130561Sobrien	* bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
10153130561Sobrien	(bfd_xcoff_size_dynamic_sections): Same.
10154130561Sobrien	* coff-rs6000.c (xcoff_generate_rtinit): Same.
10155130561Sobrien	* coff-rs646000.c (xcoff64_generate_rtinit): Same.
10156130561Sobrien	* libxcoff.h (struct xcoff_backend_data_rec): Same.
10157130561Sobrien	* xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
10158130561Sobrien	* bfd-in2.h: Regenerate.
10159130561Sobrien
10160130561Sobrien2002-02-18  Alan Modra  <amodra@bigpond.net.au>
10161130561Sobrien
10162130561Sobrien	* elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
10163130561Sobrien	(struct ppc_link_hash_table): Add sfpr.
10164130561Sobrien	(ppc64_elf_link_hash_table_create): Init it.
10165130561Sobrien	(ppc64_elf_create_dynamic_sections): Split creation of .stub and
10166130561Sobrien	.glink out to..
10167130561Sobrien	(create_linkage_sections): ..here.  Make .sfpr too.
10168130561Sobrien	(ppc64_elf_check_relocs): Call create_linkage_sections, and set
10169130561Sobrien	dynobj early.
10170130561Sobrien	(MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
10171130561Sobrien	(ppc64_elf_func_desc_adjust): Look for missing ._savef* and
10172130561Sobrien	._restf* functions, and create as needed.
10173130561Sobrien	(func_desc_adjust): Only force_local for shared libs.
10174130561Sobrien
10175130561Sobrien2002-02-18  David O'Brien  <obrien@FreeBSD.org>
10176130561Sobrien
10177130561Sobrien	* configure.in: Bump version number post 2.12 branching.
10178130561Sobrien	* configure: Regenerate.
10179130561Sobrien
10180130561Sobrien2002-02-17  Hans-Peter Nilsson  <hp@bitrange.com>
10181130561Sobrien
10182130561Sobrien	* mmo.c: Correct and improve comments.
10183130561Sobrien	(mmo_write_chunk): Store trailing byte in bfd buffer; don't
10184130561Sobrien	zero-pad.  Use input to fill up non-empty bfd buffer.
10185130561Sobrien	(mmo_flush_chunk): New function.
10186130561Sobrien	(mmo_write_loc_chunk): Add parameter last_vmap, all callers
10187130561Sobrien	changed.  Don't emit location specifier if VMA is same as
10188130561Sobrien	*LAST_VMAP after omitting leading zero contents.  Call
10189130561Sobrien	mmo_flush_chunk before emitting location specifier.
10190130561Sobrien	(mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
10191130561Sobrien	with mmo_write_loc_chunk calls.
10192130561Sobrien	(mmo_internal_write_section): Call mmo_flush_chunk after
10193130561Sobrien	mmo_write_chunk.
10194130561Sobrien	(mmo_write_symbols_and_terminator): Move :Main to first position
10195130561Sobrien	in symbol array.  Add faked one if it does not exist if there are
10196130561Sobrien	other symbols.  Don't add it if there are no symbols at all.  Move
10197130561Sobrien	out test for value of :Main from symbol loop.  Rename table
10198130561Sobrien	fakemain to maintable and variable mainsym to fakemain.
10199130561Sobrien
10200130561Sobrien2002-02-15  Richard Henderson  <rth@redhat.com>
10201130561Sobrien
10202130561Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
10203130561Sobrien	section with no got matches any got.  Simplify error generaion.
10204130561Sobrien
10205130561Sobrien2002-02-15  Alan Modra  <amodra@bigpond.net.au>
10206130561Sobrien
10207130561Sobrien	Support arbitrary length fill patterns.
10208130561Sobrien	* linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
10209130561Sobrien	(_bfd_default_link_order): Remove bfd_fill_link_order code.
10210130561Sobrien	Call default_data_link_order.
10211130561Sobrien	(default_fill_link_order): Delete.
10212130561Sobrien	(default_data_link_order): New function.
10213130561Sobrien	* elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
10214130561Sobrien	of bfd_fill_link_order with bfd_data_link_order.
10215130561Sobrien	* elf64-alpha.c (elf64_alpha_final_link): Likewise.
10216130561Sobrien	* elf64-mips.c (mips_elf64_final_link): Likewise.
10217130561Sobrien
10218130561Sobrien	* bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
10219130561Sobrien	Correct value returned in "end" for "0x<non-hex>".
10220130561Sobrien
10221130561Sobrien2002-02-14  Nick Clifton  <nickc@cambridge.redhat.com>
10222130561Sobrien
10223130561Sobrien	* cpu-arm.c (processors): Replace 'arch' field with 'mach'.
10224130561Sobrien	(scan): Test against 'mach' field in info structure.
10225130561Sobrien
10226130561Sobrien2002-02-14  Alan Modra  <amodra@bigpond.net.au>
10227130561Sobrien
10228130561Sobrien	* elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
10229130561Sobrien
10230130561Sobrien2002-02-14  Matt Fredette  <fredette@netbsd.org>
10231130561Sobrien
10232130561Sobrien	* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
10233130561Sobrien	EF_M68000.
10234130561Sobrien
10235130561Sobrien2002-02-13  Nick Clifton  <nickc@cambridge.redhat.com>
10236130561Sobrien
10237130561Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
10238130561Sobrien	non-zero physical addresses when adjusting the LMAs of new
10239130561Sobrien	sections.
10240130561Sobrien
10241130561Sobrien2002-02-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10242130561Sobrien
10243130561Sobrien	* elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
10244130561Sobrien	from _bfd_elf_hppa_gen_reloc_type.
10245130561Sobrien	(_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
10246130561Sobrien	* elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
10247130561Sobrien	* elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
10248130561Sobrien	* elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
10249130561Sobrien
10250130561Sobrien2002-02-12  Alexandre Oliva  <aoliva@redhat.com>
10251130561Sobrien
10252130561Sobrien	* elf-m10300.c (mn10300_elf_relax_section): Skip section before
10253130561Sobrien	loading its contents if there's nothing to do in it.
10254130561Sobrien
10255130561Sobrien2002-02-12  Alan Modra  <amodra@bigpond.net.au>
10256130561Sobrien
10257130561Sobrien	* elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
10258130561Sobrien	64k boundary.
10259130561Sobrien
10260130561Sobrien	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
10261130561Sobrien	DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
10262130561Sobrien	(ppc64_elf_finish_dynamic_sections): Set values for them.
10263130561Sobrien
10264130561Sobrien2002-02-11  Michael Snyder  <msnyder@redhat.com>
10265130561Sobrien
10266130561Sobrien	* elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
10267130561Sobrien	* elf.c (elfcore_grok_pstatus): Add prototype.
10268130561Sobrien	(elfcore_grok_lwpstatus): Add prototype.
10269130561Sobrien	(elfcore_write_lwpstatus): New function.
10270130561Sobrien	(elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
10271130561Sobrien
10272130561Sobrien2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
10273130561Sobrien
10274130561Sobrien	* elf32-sh.c: Added missing prototypes.
10275130561Sobrien	* elf32-sh64.c: Likewise.
10276130561Sobrien	(sh_elf_align_loads): Mark unused args as such.
10277130561Sobrien	* elf64-sh64.c: Added missing prototypes.
10278130561Sobrien	(struct elf_sh64_link_hash_entry): Fix typo.
10279130561Sobrien	(sh_elf64_relocate_section): Fix info argument passed to
10280130561Sobrien	_bfd_elf_section_offset.
10281130561Sobrien
10282130561Sobrien2002-02-11  Alan Modra  <amodra@bigpond.net.au>
10283130561Sobrien
10284130561Sobrien	* Makefile.am: "make dep-am".
10285130561Sobrien	* Makefile.in: Regenerate.
10286130561Sobrien	* aclocal.m4: Regenerate.
10287130561Sobrien	* config.in: Regenerate.
10288130561Sobrien	* configure: Regenerate.
10289130561Sobrien
10290130561Sobrien2002-02-10  Daniel Jacobowitz  <drow@mvista.com>
10291130561Sobrien
10292130561Sobrien	* coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
10293130561Sobrien	variable warnings.
10294130561Sobrien	* elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
10295130561Sobrien	comparison warning.
10296130561Sobrien	* trad-core.c (trad_unix_core_file_p): Silence pointer/integer
10297130561Sobrien	cast warnings for the common case.
10298130561Sobrien
10299130561Sobrien2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
10300130561Sobrien
10301130561Sobrien	* config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
10302130561Sobrien	vectors.
10303130561Sobrien	(sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
10304130561Sobrien	vectors.
10305130561Sobrien
10306130561Sobrien2002-02-09  Richard Henderson  <rth@redhat.com>
10307130561Sobrien
10308130561Sobrien	* elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
10309130561Sobrien	(elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
10310130561Sobrien	(elf64_alpha_relocate_section): Likewise.
10311130561Sobrien	* reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
10312130561Sobrien	* bfd-in2.h, libbfd.h: Rebuild.
10313130561Sobrien
10314130561Sobrien2002-02-09  Hans-Peter Nilsson  <hp@bitrange.com>
10315130561Sobrien
10316130561Sobrien	* elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
10317130561Sobrien	that base-plus-offset reloc accounting is consistent.
10318130561Sobrien	(mmix_elf_relax_section): Keep base-plus-offset reloc accounting
10319130561Sobrien	up to date for undefined symbols.
10320130561Sobrien
10321130561Sobrien2002-02-08  Eric Christopher  <echristo@redhat.com>
10322130561Sobrien
10323130561Sobrien	From Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10324130561Sobrien
10325130561Sobrien	* elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
10326130561Sobrien	sections for the O32 ABI.
10327130561Sobrien
10328130561Sobrien2002-02-08  Chris Demetriou  <cgd@broadcom.com>
10329130561Sobrien
10330130561Sobrien	* elf32-arm.h: Fix formatting of _("...").
10331130561Sobrien	* elf32-d10v.c: Likewise.
10332130561Sobrien	* elf32-m68k.c: Likewise.
10333130561Sobrien	* elf32-mips.c: Likewise.
10334130561Sobrien
10335130561Sobrien2002-02-08  Ivan Guzvinec <ivang@opencores.org>
10336130561Sobrien
10337130561Sobrien	* coff-or32.c: Fix compile time warning messages.
10338130561Sobrien
10339130561Sobrien2002-02-08  Alexandre Oliva  <aoliva@redhat.com>
10340130561Sobrien
10341130561Sobrien	Contribute sh64-elf.
10342130561Sobrien	2002-01-23  Alexandre Oliva  <aoliva@redhat.com>
10343130561Sobrien	* reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
10344130561Sobrien	R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
10345130561Sobrien	R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
10346130561Sobrien	R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
10347130561Sobrien	R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
10348130561Sobrien	R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
10349130561Sobrien	R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
10350130561Sobrien	R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
10351130561Sobrien	R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
10352130561Sobrien	New relocs.
10353130561Sobrien	* libbfd.h, bfd-in2.h: Rebuilt.
10354130561Sobrien	* elf32-sh.c (sh_elf_howto_table): Define new relocs.
10355130561Sobrien	(sh_reloc_map): Map them.
10356130561Sobrien	(PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
10357130561Sobrien	elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
10358130561Sobrien	elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
10359130561Sobrien	elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
10360130561Sobrien	elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
10361130561Sobrien	elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
10362130561Sobrien	movi_shori_putval) [INCLUDE_SHMEDIA]: New.
10363130561Sobrien	(elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
10364130561Sobrien	datalabel_got_offset.
10365130561Sobrien	(sh_elf_link_hash_newfunc): Initialize it.
10366130561Sobrien	(sh_elf_relocate_section): Augment the scope of
10367130561Sobrien	seen_stt_datalabel.  Introduce GOTPLT support.  Extend GOTPC, PLT,
10368130561Sobrien	GOT and GOTOFF handling to new SHmedia relocation types.  Support
10369130561Sobrien	GOT_BIAS.
10370130561Sobrien	(sh_elf_check_relocs): Likewise.
10371130561Sobrien	(sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
10372130561Sobrien	PLT entries using movi_shori_putval.  Support GOT_BIAS.
10373130561Sobrien	(sh_elf_finish_dynamic_sections): Likewise.
10374130561Sobrien	* elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
10375130561Sobrien	relocation, it's now done by the caller.
10376130561Sobrien	(GOT_BIAS): New.
10377130561Sobrien	* elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
10378130561Sobrien	elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
10379130561Sobrien	elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
10380130561Sobrien	elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
10381130561Sobrien	elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
10382130561Sobrien	elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
10383130561Sobrien	sh64_elf64_hash_table): New.
10384130561Sobrien	(sh_elf64_howto_table): Introduce new relocs.
10385130561Sobrien	(sh_elf64_info_to_howto): Accept new PIC relocs.
10386130561Sobrien	(sh_elf64_relocate_section): Augment the scope of
10387130561Sobrien	seen_stt_datalabel.  Support new PIC relocs.
10388130561Sobrien	(sh_elf64_check_relocs): Support new PIC relocs.
10389130561Sobrien	(elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
10390130561Sobrien	elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
10391130561Sobrien	elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
10392130561Sobrien	elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
10393130561Sobrien	sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
10394130561Sobrien	movi_shori_putval, movi_3shori_putval,
10395130561Sobrien	sh64_elf64_create_dynamic_sections,
10396130561Sobrien	sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
10397130561Sobrien	sh64_elf64_size_dynamic_sections,
10398130561Sobrien	sh64_elf64_finish_dynamic_symbol,
10399130561Sobrien	sh64_elf64_finish_dynamic_sections): New.
10400130561Sobrien	(elf_backend_create_dynamic-sections,
10401130561Sobrien	bfd_elf64_bfd_link_hash_table_create,
10402130561Sobrien	elf_backend_adjust_dynamic_symbol,
10403130561Sobrien	elf_backend_size_dynamic_sections,
10404130561Sobrien	elf_backend_finish_dynamic_symbol,
10405130561Sobrien	elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
10406130561Sobrien	elf_backend_plt_readonly, elf_backend_want_plt_sym,
10407130561Sobrien	elf_backend_got_header_size, elf_backend_plt_header_size):
10408130561Sobrien	Define.
10409130561Sobrien	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
10410130561Sobrien	* elf32-sh.c: Renumbered and renamed some SH5 relocations to
10411130561Sobrien	match official numbers and names; moved unmaching ones to the
10412130561Sobrien	range 0xf2-0xff.
10413130561Sobrien	* elf32-sh64.c, elf64-sh64.c: Likewise.
10414130561Sobrien	2001-03-12  DJ Delorie  <dj@redhat.com>
10415130561Sobrien	* elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
10416130561Sobrien	sections.
10417130561Sobrien	2001-03-12  DJ Delorie  <dj@redhat.com>
10418130561Sobrien	* elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
10419130561Sobrien	be aligned.
10420130561Sobrien	* elf64-sh64.c (sh_elf64_relocate_section): Ditto.
10421130561Sobrien	2001-01-14  Hans-Peter Nilsson  <hpn@cygnus.com>
10422130561Sobrien	* elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
10423130561Sobrien	(sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
10424130561Sobrien	.cranges section with SEC_SORT_ENTRIES set.
10425130561Sobrien	(sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
10426130561Sobrien	incoming sorted .cranges section.
10427130561Sobrien	(sh64_bfd_elf_copy_private_section_data): New.
10428130561Sobrien	(sh64_elf_final_write_processing): Only sort .cranges and modify
10429130561Sobrien	start address if called by linker.
10430130561Sobrien	2001-01-08  Ben Elliston  <bje@redhat.com>
10431130561Sobrien	* elf32-sh64.c (sh64_elf_final_write_processing): Activate
10432130561Sobrien	Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
10433130561Sobrien	* elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
10434130561Sobrien	2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
10435130561Sobrien	* elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
10436130561Sobrien	line.  Add comments before all entries.
10437130561Sobrien	<R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
10438130561Sobrien	comment.
10439130561Sobrien	(sh_elf64_reloc): Correct head comment.
10440130561Sobrien	(sh_elf64_relocate_section): Correct spacing.
10441130561Sobrien	<relocating for a local symbol>: Do not honour STO_SH5_ISA32;
10442130561Sobrien	instead call reloc_dangerous callback.
10443130561Sobrien	<case R_SH_SHMEDIA_CODE>: New case.
10444130561Sobrien	(sh_elf64_gc_mark_hook): Correct spacing.
10445130561Sobrien	(sh_elf64_check_relocs): Ditto.
10446130561Sobrien	* elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
10447130561Sobrien	New case.
10448130561Sobrien	* elf32-sh.c: Correct #endif comments for #ifndef-wrapped
10449130561Sobrien	functions.
10450130561Sobrien	(sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
10451130561Sobrien	clarify describing comment.  Add comments before all entries.
10452130561Sobrien	(sh_elf_relocate_section) <relocating for a local symbol>: Do not
10453130561Sobrien	honour STO_SH5_ISA32; instead call reloc_dangerous callback.
10454130561Sobrien	2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
10455130561Sobrien	Sort .cranges section in final link.  Prepare to set bit 0 on
10456130561Sobrien	entry address.
10457130561Sobrien	* elf32-sh64.c (struct sh64_find_section_vma_data): New.
10458130561Sobrien	(sh64_elf_link_output_symbol_hook): Fix typo in prototype.
10459130561Sobrien	(sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
10460130561Sobrien	.cranges section.
10461130561Sobrien	(sh64_backend_section_from_shdr): New, to recognize
10462130561Sobrien	SHT_SH5_CR_SORTED on incoming .cranges section.
10463130561Sobrien	(elf_backend_section_from_shdr): Define.
10464130561Sobrien	(sh64_elf_final_write_processing): Sort outgoing .cranges
10465130561Sobrien	section.  (New, temporarily disabled:) Set bit 0 on entry address
10466130561Sobrien	according to ISA type.
10467130561Sobrien	(sh64_find_section_for_address): New.
10468130561Sobrien	(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
10469130561Sobrien	crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
10470130561Sobrien	(sh64_address_in_cranges): Move here from opcodes/sh64-dis.c.  Use
10471130561Sobrien	bfd_malloc, not xmalloc.
10472130561Sobrien	(sh64_get_contents_type): Move here from opcodes/sh64-dis.c.  Make
10473130561Sobrien	global.
10474130561Sobrien	* elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
10475130561Sobrien	temporarily disabled) setting bit 0 on entry address.
10476130561Sobrien	(elf_backend_final_write_processing): Define.
10477130561Sobrien	2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
10478130561Sobrien	* elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
10479130561Sobrien	be a proper relocation for PTA and PTB rather than a marker.
10480130561Sobrien	<R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
10481130561Sobrien	R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
10482130561Sobrien	R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
10483130561Sobrien	R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
10484130561Sobrien	R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
10485130561Sobrien	Zero src_mask.
10486130561Sobrien	* elf64-sh64.c: Ditto.
10487130561Sobrien	(sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
10488130561Sobrien	* elf32-sh64.c: Include opcodes/sh64-opc.h
10489130561Sobrien	(shmedia_prepare_reloc): Take a bfd_link_info pointer as first
10490130561Sobrien	argument.  Drop const qualifiers from "bfd *" and "bfd_byte *"
10491130561Sobrien	parameters.  No unused parameters.  Caller changed.
10492130561Sobrien	<case R_SH_PT_16>: New case.
10493130561Sobrien	* Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
10494130561Sobrien	* Makefile.in: Regenerate.
10495130561Sobrien	2000-12-30  Hans-Peter Nilsson  <hpn@cygnus.com>
10496130561Sobrien	* elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
10497130561Sobrien	all code sections.
10498130561Sobrien	(sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
10499130561Sobrien	(sh64_elf_merge_private_data): Ditto.
10500130561Sobrien	* elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
10501130561Sobrien	to access stored section flags.
10502130561Sobrien	(sh64_elf_final_write_processing): Return immediately unless
10503130561Sobrien	called by linker.  Use sh64_elf_section_data (cranges) to get size
10504130561Sobrien	of linker-generated cranges entries.
10505130561Sobrien	(sh64_elf_copy_private_data): Add missing "return true".
10506130561Sobrien	(sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
10507130561Sobrien	(sh_elf64_merge_private_data): Ditto.
10508130561Sobrien	2000-12-19  Hans-Peter Nilsson  <hpn@cygnus.com>
10509130561Sobrien	* elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
10510130561Sobrien	elf64-sh64.c:sh64_elf_fake_sections.
10511130561Sobrien	(elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
10512130561Sobrien	2000-12-18  Hans-Peter Nilsson  <hpn@cygnus.com>
10513130561Sobrien	* elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
10514130561Sobrien	(sh64_elf_final_write_processing): New.
10515130561Sobrien	(elf_backend_final_write_processing): Define.
10516130561Sobrien	(sh64_elf_fake_sections): Get header flags from tdata field.
10517130561Sobrien	(sh64_elf_copy_private_data): Do not call
10518130561Sobrien	sh64_elf_copy_private_data_internal, just copy e_flags field.
10519130561Sobrien	(sh64_elf_merge_private_data): Do not call
10520130561Sobrien	sh64_elf_copy_private_data_internal.
10521130561Sobrien	2000-12-12  Hans-Peter Nilsson  <hpn@cygnus.com>
10522130561Sobrien	Remove EF_SH64_ABI64, let ELF size make difference.
10523130561Sobrien	Remove SH64-specific BFD section flag.
10524130561Sobrien	* elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
10525130561Sobrien	containing SHmedia through elf_section_data (asect)->tdata
10526130561Sobrien	non-zero, not using a BFD section flag.
10527130561Sobrien	(sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
10528130561Sobrien	(sh64_elf_merge_private_data): Similar.
10529130561Sobrien	(elf_backend_section_flags): Don't define.
10530130561Sobrien	(sh64_elf_backend_section_flags): Delete.
10531130561Sobrien	* elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
10532130561Sobrien	not EF_SH64_ABI64.
10533130561Sobrien	(sh_elf64_merge_private_data): Similar.
10534130561Sobrien	* section.c (Section flags definitions): Don't define
10535130561Sobrien	SEC_SH_ISA_SHMEDIA.
10536130561Sobrien	(bfd-in2.h): Regenerate.
10537130561Sobrien	2000-12-09  Hans-Peter Nilsson  <hpn@cygnus.com>
10538130561Sobrien	Make DataLabel references work with partial linking.
10539130561Sobrien	* elf32-sh64.c: Fix formatting.
10540130561Sobrien	(sh64_elf_link_output_symbol_hook): New.
10541130561Sobrien	(elf_backend_link_output_symbol_hook): Define to
10542130561Sobrien	sh64_elf_link_output_symbol_hook.
10543130561Sobrien	(sh64_elf_add_symbol_hook): Make DataLabel symbol just global
10544130561Sobrien	undefined if partial linking.  Adjust sanity check.
10545130561Sobrien	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
10546130561Sobrien	(elf_backend_link_output_symbol_hook): Define to
10547130561Sobrien	sh64_elf64_link_output_symbol_hook.
10548130561Sobrien	(sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
10549130561Sobrien	undefined if partial linking.  Adjust sanity check.
10550130561Sobrien	2000-12-07  Hans-Peter Nilsson  <hpn@cygnus.com>
10551130561Sobrien	Implement semantics for inter-file DataLabel references.
10552130561Sobrien	* elf64-sh64.c (DATALABEL_SUFFIX): Define.
10553130561Sobrien	(sh64_elf64_add_symbol_hook): New.
10554130561Sobrien	(sh_elf64_relocate_section): If passing an indirect symbol with
10555130561Sobrien	st_type STT_DATALABEL on the way to a symbol with st_other
10556130561Sobrien	STO_SH5_ISA32, do not bitor 1 to the relocation.
10557130561Sobrien	(elf_backend_add_symbol_hook): Define to
10558130561Sobrien	sh64_elf64_add_symbol_hook.
10559130561Sobrien	* elf64-sh32.c: Tweak comments.
10560130561Sobrien	(DATALABEL_SUFFIX): Define.
10561130561Sobrien	(sh64_elf_add_symbol_hook): New.
10562130561Sobrien	(elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
10563130561Sobrien	* elf32-sh.c (sh_elf_relocate_section): If passing an indirect
10564130561Sobrien	symbol with st_type STT_DATALABEL on the way to a symbol with
10565130561Sobrien	st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
10566130561Sobrien	2000-12-05  Hans-Peter Nilsson  <hpn@cygnus.com>
10567130561Sobrien	Pass through STT_DATALABEL.
10568130561Sobrien	* elf32-sh64.c (sh64_elf_get_symbol_type): New.
10569130561Sobrien	(elf_backend_get_symbol_type): Define.
10570130561Sobrien	* elf64-sh64.c (sh64_elf64_get_symbol_type): New.
10571130561Sobrien	(elf_backend_get_symbol_type): Define.
10572130561Sobrien	2000-11-30  Hans-Peter Nilsson  <hpn@cygnus.com>
10573130561Sobrien	* elf32-sh64.c: Tweak comments.
10574130561Sobrien	(sh64_elf_copy_private_data_internal): Add prototype.
10575130561Sobrien	(bfd_elf32_bfd_set_private_flags): Define.
10576130561Sobrien	(sh64_elf_copy_private_data_internal): Compare machine name, not
10577130561Sobrien	textual BFD target name, to check whether to copy section flag
10578130561Sobrien	SHF_SH5_ISA32.
10579130561Sobrien	(sh64_elf_merge_private_data): Validize bfd_get_arch_size.
10580130561Sobrien	Tweak section-contents-type-mismatch message.
10581130561Sobrien	(shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
10582130561Sobrien	Validize reloc-types.
10583130561Sobrien	* elf64-sh64.c: New file.
10584130561Sobrien	* targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
10585130561Sobrien	* Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
10586130561Sobrien	(BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
10587130561Sobrien	Regenerate dependencies.
10588130561Sobrien	* Makefile.in: Regenerate.
10589130561Sobrien	* config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
10590130561Sobrien	bfd_elf64_sh64l_vec.
10591130561Sobrien	* configure.in: Handle bfd_elf64_sh64_vec and
10592130561Sobrien	bfd_elf64_sh64l_vec.
10593130561Sobrien	* configure: Regenerate.
10594130561Sobrien	* po/POTFILES.in: Regenerate.
10595130561Sobrien	* po/bfd.pot: Regenerate.
10596130561Sobrien	2000-11-29  Hans-Peter Nilsson  <hpn@cygnus.com>
10597130561Sobrien	* elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
10598130561Sobrien	anything else but EF_SH64 and EF_SH64_ABI64.
10599130561Sobrien	(sh64_elf_merge_private_data): Emit error for anything else but
10600130561Sobrien	EF_SH64 and EF_SH64_ABI64.
10601130561Sobrien	* config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
10602130561Sobrien	from targ_selvecs.
10603130561Sobrien	* configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
10604130561Sobrien	bfd_elf32_sh64l_vec as a temporary measure.
10605130561Sobrien	* configure: Regenerate.
10606130561Sobrien	2000-11-27  Hans-Peter Nilsson  <hpn@cygnus.com>
10607130561Sobrien	* cpu-sh.c (arch_info_struct): Include sh5 item
10608130561Sobrien	unconditionalized.
10609130561Sobrien	* config.bfd (sh64-*-elf*): Do not set targ_cflags.
10610130561Sobrien	Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
10611130561Sobrien	bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
10612130561Sobrien	* elf32-sh64.c: Tweak comments.
10613130561Sobrien	(sh64_elf_set_mach_from_flags): Recognize all machine flags that
10614130561Sobrien	are proper subsets of SH64 as bfd_mach_sh5.  Add EF_SH64_ABI64.
10615130561Sobrien	(sh64_elf_copy_private_data_internal): Wrap long line.
10616130561Sobrien	(sh64_elf_merge_private_data): Rewrite to allow objects from
10617130561Sobrien	SH64 subsets to be linked together.
10618130561Sobrien	(INCLUDE_SHMEDIA): Define.
10619130561Sobrien	* elf32-sh.c (sh_elf_relocate_section) <local symbol>:
10620130561Sobrien	Parenthesize plus-expression inside or-expression.
10621130561Sobrien	<global symbol>: Ditto.
10622130561Sobrien	(sh_elf_set_mach_from_flags): Remove code refusing
10623130561Sobrien	deleted EF_SH64_32BIT_ABI flag.
10624130561Sobrien	2000-11-26  Hans-Peter Nilsson  <hpn@cygnus.com>
10625130561Sobrien	* elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
10626130561Sobrien	R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
10627130561Sobrien	R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
10628130561Sobrien	(sh_elf_relocate_section) <local symbol>: Or 1 in
10629130561Sobrien	calculation of relocation if sym->st_other & STO_SH5_ISA32.
10630130561Sobrien	<global symbol>: Ditto if h->other & STO_SH5_ISA32.
10631130561Sobrien	* elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
10632130561Sobrien	relocation.
10633130561Sobrien	2000-11-24  Hans-Peter Nilsson  <hpn@cygnus.com>
10634130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
10635130561Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
10636130561Sobrien	Regenerate dependencies.
10637130561Sobrien	* Makefile.in: Regenerate.
10638130561Sobrien	* archures.c: Add bfd_mach_sh5.
10639130561Sobrien	* config.bfd: Map targ_cpu sh* to bfd_sh_arch.
10640130561Sobrien	Handle sh64-*-elf*.  Set targ_cflags to -DINCLUDE_SHMEDIA.
10641130561Sobrien	* configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
10642130561Sobrien	* configure: Regenerate.
10643130561Sobrien	* reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
10644130561Sobrien	BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
10645130561Sobrien	BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
10646130561Sobrien	BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
10647130561Sobrien	BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
10648130561Sobrien	BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
10649130561Sobrien	BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
10650130561Sobrien	BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
10651130561Sobrien	BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
10652130561Sobrien	* cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
10653130561Sobrien	in item for SH5.
10654130561Sobrien	* elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
10655130561Sobrien	for SHmedia relocs.
10656130561Sobrien	[INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
10657130561Sobrien	[INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
10658130561Sobrien	shmedia_prepare_reloc, goto final_link_relocate if it returns
10659130561Sobrien	non-zero, else fail as before.
10660130561Sobrien	(sh_elf_set_mach_from_flags): Provide function only if not defined
10661130561Sobrien	as macro.  Do not recognize objects with EF_SH64_32BIT_ABI set.
10662130561Sobrien	(sh_elf_set_private_flags): Provide function only if not defined
10663130561Sobrien	as a macro.
10664130561Sobrien	(sh_elf_copy_private_data): Similar.
10665130561Sobrien	(sh_elf_merge_private_data): Similar.
10666130561Sobrien	* section.c (SEC_SH_ISA_SHMEDIA): New.
10667130561Sobrien	* targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
10668130561Sobrien	* elf32-sh64.c: New file.
10669130561Sobrien	* libbfd.h: Regenerate.
10670130561Sobrien	* bfd-in2.h: Regenerate.
10671130561Sobrien	* po/POTFILES.in: Regenerate.
10672130561Sobrien	* po/bfd.pot: Regenerate.
10673130561Sobrien	* bfd-in2.h: Regenerate.
10674130561Sobrien	* libbfd.h: Regenerate.
10675130561Sobrien
10676130561Sobrien2002-02-07  Daniel Jacobowitz  <drow@mvista.com>
10677130561Sobrien
10678130561Sobrien	* bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
10679130561Sobrien	been included, not drag it in.
10680130561Sobrien	* bfd-in2.h: Regenerate.
10681130561Sobrien
10682130561Sobrien2002-02-06  H.J. Lu  (hjl@gnu.org)
10683130561Sobrien
10684130561Sobrien	* elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
10685130561Sobrien	the mach and ISA fields if necessary.
10686130561Sobrien
10687130561Sobrien2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
10688130561Sobrien
10689130561Sobrien	* coffcode.h (coff_set_arch_mach_hook): Select the highest known
10690130561Sobrien	ARM architecture when an F_ARM_5 flag is detected, since we cannot
10691130561Sobrien	be sure exactly which architecture this represents.
10692130561Sobrien
10693130561Sobrien2002-02-05  Nick Clifton  <nickc@redhat.com>
10694130561Sobrien
10695130561Sobrien	* po/tr.po: Updated translation.
10696130561Sobrien
10697130561Sobrien2002-02-05  Alan Modra  <amodra@bigpond.net.au>
10698130561Sobrien
10699130561Sobrien	From Jimi X <jimix@watson.ibm.com>
10700130561Sobrien	* archures (bfd_mach_ppc64): Define.
10701130561Sobrien	(bfd_powerpc_arch): Rename to bfd_powerpc_archs.
10702130561Sobrien	(bfd_powerpc_arch): Define.
10703130561Sobrien	* bfd-in2.h: Regenerate.
10704130561Sobrien	* cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
10705130561Sobrien	(bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
10706130561Sobrien	(bfd_powerpc_archs): Add default powerpc64 arch.
10707130561Sobrien
10708130561Sobrien2002-02-05  Alan Modra  <amodra@bigpond.net.au>
10709130561Sobrien
10710130561Sobrien	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
10711130561Sobrien	against section syms in readonly sections.  Don't do the global
10712130561Sobrien	sym check if we find one.
10713130561Sobrien	* elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
10714130561Sobrien	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
10715130561Sobrien	* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
10716130561Sobrien	* elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
10717130561Sobrien	(elf_s390_grok_prstatus): Add missing prototype.
10718130561Sobrien
10719130561Sobrien2002-02-04  Hans-Peter Nilsson  <hp@bitrange.com>
10720130561Sobrien
10721130561Sobrien	* elf64-mmix.c (mmix_dump_bpo_gregs): New function.
10722130561Sobrien	(mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
10723130561Sobrien	Call bfd_get_section_by_name only once.  Initialize
10724130561Sobrien	bpodata->n_bpo_relocs_this_section.
10725130561Sobrien	(_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
10726130561Sobrien	referring to DSOs.
10727130561Sobrien	(bpo_reloc_request_sort_fn): Don't use difference of values as
10728130561Sobrien	return-value.
10729130561Sobrien
10730130561Sobrien2002-02-02  David O'Brien  <obrien@FreeBSD>
10731130561Sobrien
10732130561Sobrien	* configure.in: Tweak the FreeBSD 4.x recognition more.  Only treat
10733130561Sobrien	version 4.5 and later the same as 5-CURRENT.
10734130561Sobrien	* configure: Re-generate.
10735130561Sobrien
10736130561Sobrien2002-02-02  Jason Thorpe  <thorpej@wasabisystems.com>
10737130561Sobrien
10738130561Sobrien	* config.bfd (hppa*-*-netbsd*): New target.
10739130561Sobrien
10740130561Sobrien2002-01-31  Philipp Thomas  <pthomas@suse.de>
10741130561Sobrien
10742130561Sobrien	* coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
10743130561Sobrien	to front of message. Unify messages with elf32-arm.h. Use
10744130561Sobrien	commas where neccessary.
10745130561Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
10746130561Sobrien	ERROR in messages. Unify messages with coff-arm.c. Correct
10747130561Sobrien	VFP/FPA error message.
10748130561Sobrien	(elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
10749130561Sobrien	APCS-32 for translation.
10750130561Sobrien
10751130561Sobrien2002-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
10752130561Sobrien
10753130561Sobrien	Perform on-demand global register allocation from
10754130561Sobrien	R_MMIX_BASE_PLUS_OFFSET relocs.
10755130561Sobrien	* elf64-mmix.c (struct bpo_reloc_section_info, struct
10756130561Sobrien	bpo_reloc_request, struct bpo_greg_section_info): New.
10757130561Sobrien	(mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
10758130561Sobrien	bpo_reloc_request_sort_fn, mmix_elf_relax_section,
10759130561Sobrien	_bfd_mmix_check_all_relocs,
10760130561Sobrien	_bfd_mmix_prepare_linker_allocated_gregs,
10761130561Sobrien	_bfd_mmix_finalize_linker_allocated_gregs): New functions.
10762130561Sobrien	(elf_mmix_howto_table): Correct src_mask for most relocs.
10763130561Sobrien	(mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
10764130561Sobrien	case.
10765130561Sobrien	(mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
10766130561Sobrien	case.  Fix typo in comment.  New label do_mmix_reloc.
10767130561Sobrien	(mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
10768130561Sobrien	store first object file with a base-plus-offset reloc.  Call
10769130561Sobrien	mmix_elf_check_common_relocs for the part common with mmo.
10770130561Sobrien	(mmix_elf_final_link): Write out linker-allocated register
10771130561Sobrien	contents section.
10772130561Sobrien	(elf_backend_gc_sweep_hook): Define.
10773130561Sobrien	(bfd_elf64_bfd_relax_section): Define.
10774130561Sobrien
10775130561Sobrien	* mmo.c: Don't include <ctype.h>
10776130561Sobrien	(mmo_init): Correct init-once logic.
10777130561Sobrien
10778130561Sobrien2002-02-01  Tom Rix  <trix@redhat.com>
10779130561Sobrien
10780130561Sobrien	* config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
10781130561Sobrien
10782130561Sobrien2002-02-01  Alan Modra  <amodra@bigpond.net.au>
10783130561Sobrien
10784130561Sobrien	* Makefile.am: Run "make dep-am"
10785130561Sobrien	* Makefile.in: Regenerate.
10786130561Sobrien
10787130561Sobrien2002-01-31  David O'Brien  <obrien@FreeBSD>
10788130561Sobrien
10789130561Sobrien	* configure.in: Recognize the differences in core files from FreeBSD
10790130561Sobrien	4.{0,1} and later versions of 4.x.  This treats 4.2+ the same as
10791130561Sobrien	5-CURRENT.
10792130561Sobrien	* configure: Regenerate.
10793130561Sobrien
10794130561Sobrien2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
10795130561Sobrien
10796130561Sobrien	* coff-or32.c: New file.
10797130561Sobrien	* cpu-or32.c: New file.
10798130561Sobrien	* elf32-or32.c: New file.
10799130561Sobrien	* archures.c: Add support for or32.
10800130561Sobrien	* targets.c: Add support for or32.
10801130561Sobrien	* bfd-in2.h: Regenerate.
10802130561Sobrien	* coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
10803130561Sobrien	coff_write_object_contents): Add support for or32.
10804130561Sobrien	* config.bfd: Add target.
10805130561Sobrien	* configure.in: Add support for or32.
10806130561Sobrien	* configure: Regenerate.
10807130561Sobrien	* Makefile.am: Add support for or32.
10808130561Sobrien	* Makefile.in: Regenerate.
10809130561Sobrien	* po/SRC-POTFILES.in: Add or32 files.
10810130561Sobrien	* po/bfd.pot: Regenerate.
10811130561Sobrien
10812130561Sobrien2002-01-31  Nick Clifton  <nickc@cambridge.redhat.com>
10813130561Sobrien	    Don Lindsay  <lindsayd@cisco.com>
10814130561Sobrien
10815130561Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
10816130561Sobrien	false' with a return of a bfd_reloc_ error code.
10817130561Sobrien
10818130561Sobrien2002-01-31  Hans-Peter Nilsson  <hp@axis.com>
10819130561Sobrien
10820130561Sobrien	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
10821130561Sobrien	unexport unreferenced symbols when --export-dynamic.  Call
10822130561Sobrien	_bfd_elf_strtab_delref when unexporting.
10823130561Sobrien
10824130561Sobrien2002-01-30  Daniel Jacobowitz  <drow@mvista.com>
10825130561Sobrien
10826130561Sobrien	* bfd-in.h: Include <stdbool.h> if it is available.
10827130561Sobrien	* bfd-in2.h: Regenerated.
10828130561Sobrien
10829130561Sobrien2002-01-31  Alan Modra  <amodra@bigpond.net.au>
10830130561Sobrien
10831130561Sobrien	* elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
10832130561Sobrien	not go via the plt.
10833130561Sobrien
10834130561Sobrien2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
10835130561Sobrien
10836130561Sobrien	* archures.c: Tidy up formatting of embedded comments.
10837130561Sobrien	* bfd.c: Tidy up formatting of embedded comments.
10838130561Sobrien	* bfd-in.h: Fix formatting of comments.
10839130561Sobrien	* reloc.c: Tidy up formatting of ordinary & embedded comments.
10840130561Sobrien	* section.c: Tidy up formatting of embedded comments.
10841130561Sobrien	* syms.c: Tidy up formatting of embedded comments.
10842130561Sobrien	* targets.c: Tidy up formatting of embedded comments.
10843130561Sobrien
10844130561Sobrien	* bfd-in2.h: Regenerate.
10845130561Sobrien
10846130561Sobrien2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
10847130561Sobrien
10848130561Sobrien	* vms-tir.c (cmd_name): New function.
10849130561Sobrien	(tir_cmd_name): New function.
10850130561Sobrien	(etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
10851130561Sobrien	(tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
10852130561Sobrien	Fix formatting.
10853130561Sobrien
10854130561Sobrien	* peXXigen.c (pe_print_idata): Rearrange message to aid in
10855130561Sobrien	translation.
10856130561Sobrien	(pe_print_pdata): Rearrange message to aid in translation.
10857130561Sobrien
10858130561Sobrien	* libbfd.c (warn_deprecated): Rearrange error message to aid in
10859130561Sobrien	translation.
10860130561Sobrien
10861130561Sobrien	* ihex.c (ihex_write_object_contents): Fix spelling typo.
10862130561Sobrien
10863130561Sobrien	* ieee.c (ieee_slurp_external_symbols): Remove spurious space.
10864130561Sobrien
10865130561Sobrien	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
10866130561Sobrien	message to aid in translation.
10867130561Sobrien
10868130561Sobrien	* elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
10869130561Sobrien	to aid in translation.
10870130561Sobrien
10871130561Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
10872130561Sobrien
10873130561Sobrien2002-01-30  Philipp Thomas  <pthomas@suse.de>
10874130561Sobrien
10875130561Sobrien	* coff-arm.c, elf32-elf.h: Unify messages.
10876130561Sobrien
10877130561Sobrien2002-01-30  Nick Clifton <nickc@redhat.com>
10878130561Sobrien
10879130561Sobrien	* po/sv.po: Updated translation.
10880130561Sobrien
10881130561Sobrien2002-01-30  Philipp Thomas  <pthomas@suse.de>
10882130561Sobrien
10883130561Sobrien	* dwarf2.c (read_abbrev): Use full section name in error message.
10884130561Sobrien	(decode_line_info): Likewise.
10885130561Sobrien
10886130561Sobrien	* elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
10887130561Sobrien	message.
10888130561Sobrien
10889130561Sobrien2002-01-30  Alan Modra  <amodra@bigpond.net.au>
10890130561Sobrien
10891130561Sobrien	* elf64-ppc.c (func_desc_adjust): Only provide missing function
10892130561Sobrien	descriptor symbols for undefined function code syms.  Clear
10893130561Sobrien	ELF_LINK_NON_ELF so that they can stay weak.
10894130561Sobrien
10895130561Sobrien2002-01-29  Chris Demetriou  <cgd@broadcom.com>
10896130561Sobrien	    Mitch Lichtenberg  <mpl@broadcom.com>
10897130561Sobrien
10898130561Sobrien	* bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
10899130561Sobrien	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
10900130561Sobrien	to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
10901130561Sobrien	generation.
10902130561Sobrien	* bfd-in2.h: Regenerate.
10903130561Sobrien
10904130561Sobrien2002-01-29  Chris Demetriou  <cgd@broadcom.com>
10905130561Sobrien
10906130561Sobrien	* elf32-mips.c: Add additional comments about HI16 relocation
10907130561Sobrien	processing.
10908130561Sobrien	(_bfd_mips_elf_hi16_reloc): Don't subtract address here for
10909130561Sobrien	pc-relative relocations.  (Reverts change made on 2001-10-31.)
10910130561Sobrien	(_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
10911130561Sobrien	for pc-relative relocations.
10912130561Sobrien	(mips_elf_calculate_relocation): Add a comment about a kludge
10913130561Sobrien	in the R_MIPS_GNU_REL_HI16 handling.
10914130561Sobrien	(_bfd_mips_elf_relocate_section): Implement that kludge;
10915130561Sobrien	adjust pc-relative HI16 relocation for difference in HI16 and
10916130561Sobrien	LO16 addresses, since it can't easily be done in
10917130561Sobrien	mips_elf_calculate_relocation.
10918130561Sobrien
10919130561Sobrien2002-01-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>
10920130561Sobrien
10921130561Sobrien	* elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
10922130561Sobrien	relocations with PC32 relocations for undefined or weak symbols.
10923130561Sobrien	* elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
10924130561Sobrien	* elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
10925130561Sobrien
10926130561Sobrien2002-01-28  Jason Thorpe  <thorpej@wasabisystems.com>
10927130561Sobrien
10928130561Sobrien	* elfcore.h (elf_core_file_p): Improve comment for last change.
10929130561Sobrien
10930130561Sobrien2002-01-27  Daniel Jacobowitz  <drow@mvista.com>
10931130561Sobrien
10932130561Sobrien	* configure: Regenerated.
10933130561Sobrien
10934130561Sobrien2002-01-27  Jason Thorpe  <thorpej@wasabisystems.com>
10935130561Sobrien
10936130561Sobrien	* elfcore.h (elf_core_file_p): Set the machine architecture
10937130561Sobrien	before processing the program headers.
10938130561Sobrien
10939130561Sobrien2002-01-26  Hans-Peter Nilsson  <hp@bitrange.com>
10940130561Sobrien
10941130561Sobrien	* configure.in <64-bit configuration>: If using gcc, check and
10942130561Sobrien	emit error for egcs-1.1.2.
10943130561Sobrien	* configure: Regenerate.
10944130561Sobrien
10945130561Sobrien2002-01-26  Egor Duda  <deo@logos-m.ru>
10946130561Sobrien
10947130561Sobrien	* elf.c (elfcore_grok_win32pstatus): Copy only as much information
10948130561Sobrien	as possible to avoid stack corruption.
10949130561Sobrien
10950130561Sobrien2002-01-26  Richard Henderson  <rth@redhat.com>
10951130561Sobrien
10952130561Sobrien	* elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
10953130561Sobrien	for non-allocated sections.
10954130561Sobrien
10955130561Sobrien2002-01-25  Mark Kettenis  <kettenis@gnu.org>
10956130561Sobrien
10957130561Sobrien	* elf.c (elfcore_write_prstatus): Make sure we pass the address of
10958130561Sobrien	prstat.pr_reg even if it is a struct.
10959130561Sobrien
10960130561Sobrien2002-01-25  Steve Ellcey <sje@cup.hp.com>
10961130561Sobrien
10962130561Sobrien	* elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
10963130561Sobrien
10964130561Sobrien2002-01-25  Philipp Thomas  <pthomas@suse.de>
10965130561Sobrien
10966130561Sobrien	* coffgen.c (coff_print_symbol): Don't mark info message
10967130561Sobrien	for translation.
10968130561Sobrien
10969130561Sobrien2002-01-25  Nick Clifton <nickc@redhat.com>
10970130561Sobrien
10971130561Sobrien	* po/fr.po: Updated translation.
10972130561Sobrien	* po/es.po: Updated translation.
10973130561Sobrien
10974130561Sobrien2002-01-25  Philipp Thomas  <pthomas@suse.de>
10975130561Sobrien
10976130561Sobrien	* coff-alpha.c (alpha_relocate_section): Unify warning message
10977130561Sobrien	for GP relative relocations without GP defined.
10978130561Sobrien	* coff-mips.c (mips_relocate_section): Likewise.
10979130561Sobrien
10980130561Sobrien2002-01-25  Alan Modra  <amodra@bigpond.net.au>
10981130561Sobrien
10982130561Sobrien	* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
10983130561Sobrien	unsigned overflow when new_offset < old_offset.
10984130561Sobrien
10985130561Sobrien2002-01-24  Philipp Thomas  <pthomas@suse.de>
10986130561Sobrien
10987130561Sobrien	* bfd.c (_bfd_abort): Fix typo.
10988130561Sobrien
10989130561Sobrien2002-01-23  Richard Henderson  <rth@redhat.com>
10990130561Sobrien
10991130561Sobrien	* elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
10992130561Sobrien	plt entries for undefweak symbols.
10993130561Sobrien
10994130561Sobrien2002-01-23  Steve Ellcey <sje@cup.hp.com>
10995130561Sobrien
10996130561Sobrien	* targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
10997130561Sobrien	(bfd_elf64_ia64_hpux_big_vec): Ditto.
10998130561Sobrien	(bfd_elf32_h8300_vec): Ditto.
10999130561Sobrien
11000130561Sobrien2002-01-23  Alan Modra  <amodra@bigpond.net.au>
11001130561Sobrien
11002130561Sobrien	* elf64-ppc.c: Remove stale part of ABI comment.
11003130561Sobrien	(NO_OPD_RELOCS): Define.
11004130561Sobrien	(ppc64_elf_check_relocs): Use it.
11005130561Sobrien	(ppc64_elf_relocate_section): Here too.
11006130561Sobrien	(build_one_stub): Don't point function syms at the stub.  Instead,
11007130561Sobrien	hijack plt.offset.
11008130561Sobrien	(ppc64_elf_relocate_section): Check whether REL24 relocs should
11009130561Sobrien	really go to the stub.  Make all dynamic relocs in opd against
11010130561Sobrien	locals.
11011130561Sobrien	(ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
11012130561Sobrien	plt.offset.
11013130561Sobrien
11014130561Sobrien2002-01-22  Richard Henderson  <rth@redhat.com>
11015130561Sobrien
11016130561Sobrien	* elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
11017130561Sobrien
11018130561Sobrien2002-01-22  Alan Modra  <amodra@bigpond.net.au>
11019130561Sobrien
11020130561Sobrien	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
11021130561Sobrien	TOC_BASE_OFF adjustment.
11022130561Sobrien
11023130561Sobrien	* Makefile.am: Run "make dep-am".
11024130561Sobrien	* Makefile.in: Regenerate.
11025130561Sobrien	* po/SRC-POTFILES.in: Regenerate.
11026130561Sobrien
11027130561Sobrien2002-01-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11028130561Sobrien
11029130561Sobrien	* configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
11030130561Sobrien	host defines.
11031130561Sobrien
11032130561Sobrien2002-01-21  Hans-Peter Nilsson  <hp@axis.com>
11033130561Sobrien
11034130561Sobrien	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
11035130561Sobrien	Check for and emit error if sgot is NULL at this point.
11036130561Sobrien
11037130561Sobrien2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
11038130561Sobrien
11039130561Sobrien	* config.bfd (ia64*-*-netbsd*): New target.
11040130561Sobrien
11041130561Sobrien2002-01-21  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
11042130561Sobrien
11043130561Sobrien	* som.c (som_write_space_strings): Comment typo fix.
11044130561Sobrien
11045130561Sobrien2002-01-21  Alan Modra  <amodra@bigpond.net.au>
11046130561Sobrien
11047130561Sobrien	* elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
11048130561Sobrien	is_func_descriptor fields.
11049130561Sobrien	(link_hash_newfunc): Init them.
11050130561Sobrien	(ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
11051130561Sobrien	dot are candidates for plt entries.  When processing .opd relocs,
11052130561Sobrien	set function descriptor strings to point inside function code
11053130561Sobrien	string, and set new ppc_link_hash_entry fields.
11054130561Sobrien	(ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
11055130561Sobrien	(ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
11056130561Sobrien	function descriptors.  It's now done in..
11057130561Sobrien	(func_desc_adjust): New.
11058130561Sobrien	(ppc64_elf_func_desc_adjust): New.
11059130561Sobrien	(define elf_backend_always_size_sections): Define.
11060130561Sobrien	(ppc64_elf_hide_symbol): New.
11061130561Sobrien	(define elf_backend_hide_symbol): Define.
11062130561Sobrien	(allocate_dynrelocs): Remove code looking up function descriptors
11063130561Sobrien	as that has been done earlier.
11064130561Sobrien	(ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
11065130561Sobrien	table.
11066130561Sobrien	(ppc64_elf_finish_dynamic_symbol): Likewise.  Remove code looking
11067130561Sobrien	up function descriptor.
11068130561Sobrien	(build_one_stub): Look up the function code sym.  Check for
11069130561Sobrien	invalid plt offsets.
11070130561Sobrien	(ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
11071130561Sobrien	Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
11072130561Sobrien
11073130561Sobrien	* elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
11074130561Sobrien	boolean param.
11075130561Sobrien	(_bfd_elf_link_hash_hide_symbol): Likewise.
11076130561Sobrien	* elflink.h (elf_link_add_object_symbols): Adjust call to
11077130561Sobrien	elf_backend_hide_symbol.
11078130561Sobrien	(elf_fix_symbol_flags): Likewise.
11079130561Sobrien	(elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
11080130561Sobrien	than bfd_alloc.
11081130561Sobrien	* elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
11082130561Sobrien	Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
11083130561Sobrien	* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
11084130561Sobrien	(clobber_millicode_symbols): Adjust to suit new hide_symbol.
11085130561Sobrien	* elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
11086130561Sobrien	and adjust to suit.
11087130561Sobrien	* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
11088130561Sobrien	_bfd_elf_link_hash_hide_symbol rather than duplicating code.
11089130561Sobrien	* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
11090130561Sobrien
11091130561Sobrien2002-01-18  Alan Modra  <amodra@bigpond.net.au>
11092130561Sobrien
11093130561Sobrien	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
11094130561Sobrien	dynamic function descriptor symbol, not the associated function
11095130561Sobrien	symbol.
11096130561Sobrien
11097130561Sobrien2002-01-17  Eric Christopher  <echristo@redhat.com>
11098130561Sobrien
11099130561Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
11100130561Sobrien
11101130561Sobrien2002-01-17  Nick Clifton  <nickc@cambridge.redhat.com>
11102130561Sobrien
11103130561Sobrien	* po/bfd.pot: Regenerate.
11104130561Sobrien	* po/fr.po: Regenerate.
11105130561Sobrien
11106130561Sobrien2002-01-17  Alan Modra  <amodra@bigpond.net.au>
11107130561Sobrien
11108130561Sobrien	* elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
11109130561Sobrien	Remove "Elf_Internal_Shdr *" param.
11110130561Sobrien	(_bfd_mips_elf_section_from_bfd_section): Ditto.
11111130561Sobrien	* elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
11112130561Sobrien	* elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
11113130561Sobrien	* elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
11114130561Sobrien	* elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
11115130561Sobrien	* elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
11116130561Sobrien	* elf.c (_bfd_elf_section_from_bfd_section): Allow backend
11117130561Sobrien	function to override special sections.  Remove hdr arg from
11118130561Sobrien	backend call, and don't loop.
11119130561Sobrien
11120130561Sobrien2002-01-16  Eric Christopher  <echristo@redhat.com>
11121130561Sobrien
11122130561Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
11123130561Sobrien	on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
11124130561Sobrien	relocations requiring gp0 and gp.
11125130561Sobrien
11126130561Sobrien2002-01-16  Richard Earnshaw  <rearnsha@arm.com>
11127130561Sobrien
11128130561Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
11129130561Sobrien	EF_ARM_VFP_FLOAT.
11130130561Sobrien	(elf32_arm_print_private_bfd_data): Likewise.
11131130561Sobrien
11132130561Sobrien2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
11133130561Sobrien
11134130561Sobrien	* po/tr.po: Import new version.
11135130561Sobrien
11136130561Sobrien2002-01-16  Alan Modra  <amodra@bigpond.net.au>
11137130561Sobrien
11138130561Sobrien	* elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
11139130561Sobrien	(ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
11140130561Sobrien	(ORI_R0_R0_0): Correct.
11141130561Sobrien
11142130561Sobrien2002-01-16  Alan Modra  <amodra@bigpond.net.au>
11143130561Sobrien
11144130561Sobrien	* elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
11145130561Sobrien	when plt_not_loaded.
11146130561Sobrien	* elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
11147130561Sobrien	clear .plt SEC_CODE here.  Create .stub and correct .glink flags.
11148130561Sobrien	(PLT_INITIAL_ENTRY_SIZE): Set to 24.
11149130561Sobrien	(ppc64_elf_glink_code): Delete.
11150130561Sobrien	(PPC64_ELF_GLINK_SIZE): Delete.
11151130561Sobrien	(ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
11152130561Sobrien	BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
11153130561Sobrien	ORI_R0_R0_0): Define.
11154130561Sobrien	(PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
11155130561Sobrien	(struct ppc_link_hash_table): Add sstub and plt_overflow.
11156130561Sobrien	(ppc64_elf_link_hash_table_create): Init them.
11157130561Sobrien	(ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
11158130561Sobrien	Don't copy to shared lib.
11159130561Sobrien	(ppc64_elf_check_relocs): Call bfd_set_error on errors.
11160130561Sobrien	(ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
11161130561Sobrien	(allocate_dynrelocs <plt>): Don't change function sym here.  Make
11162130561Sobrien	room for .stub and .glink code.
11163130561Sobrien	(ppc64_elf_size_dynamic_sections): Handle .stub.  Make entry for
11164130561Sobrien	DT_PPC64_GLINK.
11165130561Sobrien	(ppc64_elf_final_link): Rename to ppc64_elf_set_toc.  Don't call
11166130561Sobrien	bfd_elf64_bfd_final_link.
11167130561Sobrien	(bfd_elf64_bfd_final_link): Don't define.
11168130561Sobrien	(ppc64_elf_size_stubs): New.
11169130561Sobrien	(build_plt_stub): New.
11170130561Sobrien	(build_one_stub): New.
11171130561Sobrien	(ppc64_elf_build_stubs): New.
11172130561Sobrien	(ppc64_elf_relocate_section <toc relocs>): Remove assert.
11173130561Sobrien	(ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
11174130561Sobrien	(ppc64_elf_finish_dynamic_symbol): Don't build stubs here.  Set
11175130561Sobrien	DT_PPC64_GLINK entry.  Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
11176130561Sobrien	case output sections not separate.  Adjust DT_RELASZ to not
11177130561Sobrien	include plt relocs.  Set reserved got entry.  Set got and plt
11178130561Sobrien	entry size.
11179130561Sobrien	(elf_backend_got_header_size): Set to 8.
11180130561Sobrien	* elf64-ppc.h: New file.
11181130561Sobrien
11182130561Sobrien2002-01-16  Alan Modra  <amodra@bigpond.net.au>
11183130561Sobrien
11184130561Sobrien	* elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
11185130561Sobrien	sections, use bfd_section_list_remove.
11186130561Sobrien	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
11187130561Sobrien	* elflink.h (elf_link_add_object_symbols): When removing all
11188130561Sobrien	sections, use bfd_section_list_clear.
11189130561Sobrien
11190130561Sobrien2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
11191130561Sobrien
11192130561Sobrien	* po/sv.po: New file: Swedish translation.
11193130561Sobrien	* configure.in (ALL_LINGUAS): Add sv.
11194130561Sobrien	* configure: Regenerate.
11195130561Sobrien
11196130561Sobrien2002-01-15  Jakub Jelinek  <jakub@redhat.com>
11197130561Sobrien
11198130561Sobrien	* elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
11199130561Sobrien	* elf.c (merge_sections_remove_hook): New function.
11200130561Sobrien	(_bfd_elf_merge_sections): Pass it as 3rd argument to
11201130561Sobrien	_bfd_merge_sections.
11202130561Sobrien	* libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
11203130561Sobrien	* libbfd.h: Rebuilt.
11204130561Sobrien	* merge.c (_bfd_merge_sections): Add remove_hook argument.
11205130561Sobrien	Call remove_hook if a SEC_EXCLUDE section is encountered.
11206130561Sobrien
11207130561Sobrien2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
11208130561Sobrien
11209130561Sobrien	* elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
11210130561Sobrien	(xstormy16_reloc_map): Initialise new field with correct howto
11211130561Sobrien	table.
11212130561Sobrien	(xstormy16_reloc_type_lookup): Use 'table' field to locate correct
11213130561Sobrien	howto entry.
11214130561Sobrien
11215130561Sobrien2002-01-10  Michael Snyder  <msnyder@redhat.com>
11216130561Sobrien
11217130561Sobrien	* elf.c (elfcore_write_prstatus): Use long instead of pid_t;
11218130561Sobrien	(elfcore_write_pstatus): Use long instead of pid_t;
11219130561Sobrien	* elf-bfd.h: Change prototypes to use long instead of pid_t;
11220130561Sobrien
11221130561Sobrien2002-01-09  Jason Thorpe  <thorpej@wasabisystems.com>
11222130561Sobrien
11223130561Sobrien	* elf.c: Update copyright years.
11224130561Sobrien	(elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
11225130561Sobrien	and NT_NETBSDCORE_FIRSTMACH.  Improve a comment.
11226130561Sobrien
11227130561Sobrien2002-01-08  Michael Snyder  <msnyder@redhat.com>
11228130561Sobrien
11229130561Sobrien	Add capability to write corefile note sections, for gdb.
11230130561Sobrien	* elf.c (elfcore_write_note): New function.
11231130561Sobrien	(elfcore_write_prpsinfo): New function.
11232130561Sobrien	(elfcore_write_prstatus): New function.
11233130561Sobrien	(elfcore_write_pstatus): New function.
11234130561Sobrien	(elfcore_write_prfpreg): New function.
11235130561Sobrien	(elfcore_write_prxfpreg): New function.
11236130561Sobrien	* elf-bfd.h: Add prototypes for above functions.
11237130561Sobrien
11238130561Sobrien2002-01-08  Alexandre Oliva  <aoliva@redhat.com>
11239130561Sobrien
11240130561Sobrien	* elf.c (elf_fake_sections): Propagate errors from
11241130561Sobrien	elf_backend_fake_section.
11242130561Sobrien
11243130561Sobrien2002-01-07  Jason Thorpe  <thorpej@wasabisystems.com>
11244130561Sobrien
11245130561Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
11246130561Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
11247130561Sobrien	(elf32-sh-nbsd.lo): New rule.
11248130561Sobrien	* Makefile.in: Regenerate.
11249130561Sobrien	* config.bfd (sh*le-*-netbsdelf*): New target.
11250130561Sobrien	(sh*-*-netbsdelf*): New target.
11251130561Sobrien	* configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
11252130561Sobrien	(bfd_elf32_shnbsd_vec): New vector.
11253130561Sobrien	(bfd_elf32_shlnbsd_vec): New vector.
11254130561Sobrien	* configure: Regenerate.
11255130561Sobrien	* elf32-sh-nbsd.c: New file.
11256130561Sobrien	* targets.c: Update copyright years.
11257130561Sobrien	(_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
11258130561Sobrien	bfd_elf32_shnbsd_vec.
11259130561Sobrien
11260130561Sobrien2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
11261130561Sobrien
11262130561Sobrien	* coff-rs6000.c (READ20): Use bfd_scan_vma.
11263130561Sobrien
11264130561Sobrien2002-01-07  Geoffrey Keating  <geoffk@redhat.com>
11265130561Sobrien
11266130561Sobrien	* elflink.h (elf_link_input_bfd): Don't ask for the merged offset
11267130561Sobrien	of a symbol in a section that will be deleted.
11268130561Sobrien
11269130561Sobrien2002-01-07  Nick Clifton  <nickc@cambridge.redhat.com>
11270130561Sobrien
11271130561Sobrien	* po/es.po: New file: Spanish translation.
11272130561Sobrien	* configure.in (ALL_LINGUAS): Add es.
11273130561Sobrien	* configure: Regenerate.
11274130561Sobrien
11275130561Sobrien2002-01-06  Steve Ellcey  <sje@cup.hp.com>
11276130561Sobrien
11277130561Sobrien	* elfxx-ia64.c (is_unwind_section_name): Add target vector as
11278130561Sobrien	argument so we can handle HP-UX specially.
11279130561Sobrien	(elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
11280130561Sobrien	(elfNN_hpux_backend_section_from_bfd_section): New for support
11281130561Sobrien	of SHN_IA_64_ANSI_COMMON.
11282130561Sobrien	(elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
11283130561Sobrien	(is_unwind_section_name): Add special HP-UX support.
11284130561Sobrien	(elfNN_ia64_section_from_shdr): Add support for more sections.
11285130561Sobrien	(elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
11286130561Sobrien	add support for more sections.
11287130561Sobrien	(elfNN_ia64_additional_program_headers): Modify
11288130561Sobrien	is_unwind_section_name call.
11289130561Sobrien	(elfNN_ia64_modify_segment_map): Remove assumption that there is
11290130561Sobrien	only one unwind section in segment.
11291130561Sobrien
11292130561Sobrien2002-01-06  Alan Modra  <amodra@bigpond.net.au>
11293130561Sobrien
11294130561Sobrien	* syms.c (_bfd_generic_make_empty_symbol): New function.
11295130561Sobrien	* libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
11296130561Sobrien	_bfd_generic_make_empty_symbol.
11297130561Sobrien	* libbfd.h: Regenerate.
11298130561Sobrien	* bfd-in2.h: Regenerate.
11299130561Sobrien	* hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
11300130561Sobrien	(hppabsd_core_get_symtab_upper_bound): Don't define.
11301130561Sobrien	(hppabsd_core_get_symtab): Likewise.
11302130561Sobrien	(hppabsd_core_print_symbol): Likewise.
11303130561Sobrien	(hppabsd_core_get_symbol_info): Likewise.
11304130561Sobrien	(hppabsd_core_bfd_is_local_label_name): Likewise.
11305130561Sobrien	(hppabsd_core_get_lineno): Likewise.
11306130561Sobrien	(hppabsd_core_find_nearest_line): Likewise.
11307130561Sobrien	(hppabsd_core_bfd_make_debug_symbol): Likewise.
11308130561Sobrien	(hppabsd_core_read_minisymbols): Likewise.
11309130561Sobrien	(hppabsd_core_minisymbol_to_symbol): Likewise.
11310130561Sobrien	(hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
11311130561Sobrien	Formatting fixes.
11312130561Sobrien	* hpux-core.c: Similarly.
11313130561Sobrien	* irix-core.c: Similarly.
11314130561Sobrien	* osf-core.c: Similarly.
11315130561Sobrien	* sco5-core.c: Similarly.
11316130561Sobrien	* binary.c (binary_make_empty_symbol): Remove function, define as
11317130561Sobrien	_bfd_generic_make_empty_symbol.
11318130561Sobrien	* ihex.c (ihex_make_empty_symbol): Likewise.
11319130561Sobrien	* mmo.c (mmo_make_empty_symbol): Likewise.
11320130561Sobrien	* ppcboot.c (ppcboot_make_empty_symbol): Likewise.
11321130561Sobrien	* srec.c (srec_make_empty_symbol): Likewise.
11322130561Sobrien	* versados.c (versados_make_empty_symbol): Likewise.
11323130561Sobrien	* vms.c (_bfd_vms_make_empty_symbol): Remove.
11324130561Sobrien	(vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
11325130561Sobrien	* vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
11326130561Sobrien	rather than _bfd_vms_make_empty_symbol.
11327130561Sobrien	* vms-misc.c (new_symbol): Likewise.
11328130561Sobrien
11329130561Sobrien2002-01-05  Alan Modra  <amodra@bigpond.net.au>
11330130561Sobrien
11331130561Sobrien	* section.c (bfd_section_init): Remove unnecessary initialisations.
11332130561Sobrien	(bfd_section_list_clear): New function.
11333130561Sobrien	(bfd_section_list_remove, bfd_section_list_insert): New macros.
11334130561Sobrien	(_bfd_strip_section_from_output): Use them.
11335130561Sobrien	* coffcode.h (coff_set_alignment_hook): Likewise.
11336130561Sobrien	* elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
11337130561Sobrien	* elf64-mips.c (mips_elf64_final_link): Likewise.
11338130561Sobrien	* elf64-mmix.c (mmix_elf_final_link): Likewise.
11339130561Sobrien	* sunos.c (sunos_add_dynamic_symbols): Likewise.
11340130561Sobrien	* xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
11341130561Sobrien	* bfd-in2.h: Regenerate.
11342130561Sobrien
11343130561Sobrien	* netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
11344130561Sobrien	rather than doing our own section handling.  Clean up after errors
11345130561Sobrien	with bfd_release and bfd_section_list_clear.  Handle unexpected
11346130561Sobrien	flags.
11347130561Sobrien	* aoutf1.h (sunos4_core_file_p): Likewise.
11348130561Sobrien	* aix386-core.c (aix386_core_file_p): Likewise.
11349130561Sobrien	* cisco-core.c (cisco_core_file_validate): Likewise.
11350130561Sobrien	* ptrace-core.c (ptrace_unix_core_file_p): Likewise.
11351130561Sobrien	* trad-core.c (trad_unix_core_file_p): Likewise.
11352130561Sobrien
11353130561Sobrien	* hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
11354130561Sobrien	with bfd_release and bfd_section_list_clear.
11355130561Sobrien	* hpux-core.c (hpux_core_core_file_p): Likewise.
11356130561Sobrien	* irix-core.c (irix_core_core_file_p): Likewise.
11357130561Sobrien	* lynx-core.c (lynx_core_file_p): Likewise.
11358130561Sobrien	* osf-core.c (osf_core_core_file_p): Likewise.
11359130561Sobrien	* rs6000-core.c (rs6000coff_core_p): Likewise.
11360130561Sobrien	* sco5-core.c (sco5_core_file_p): Likewise.
11361130561Sobrien
11362130561Sobrien	* elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
11363130561Sobrien	sign extension adjustments without conditionals.
11364130561Sobrien
11365130561Sobrien2002-01-04  Jakub Jelinek  <jakub@redhat.com>
11366130561Sobrien
11367130561Sobrien	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
11368130561Sobrien	CIE at .eh_frame start is removed due to no FDEs referencing it.
11369130561Sobrien
11370130561Sobrien2002-01-04  Jason Thorpe  <thorpej@wasabisystems.com>
11371130561Sobrien
11372130561Sobrien	* config.bfd (x86_64-*-netbsd*): New target.
11373130561Sobrien	* configure.in (x86_64-*-netbsd*): Set COREFILE
11374130561Sobrien	to netbsd-core.lo.
11375130561Sobrien	* configure: Regenerated.
11376130561Sobrien
11377130561Sobrien2002-01-03  Tom Rix  <trix@redhat.com>
11378130561Sobrien
11379130561Sobrien	* xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
11380130561Sobrien	for recent bfd_make_section_anyway change.
11381130561Sobrien
11382130561Sobrien2002-01-03  Nick Clifton  <nickc@cambridge.redhat.com>
11383130561Sobrien
11384130561Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Handle
11385130561Sobrien	R_ARM_THM_PC11 reloc.
11386130561Sobrien
11387130561Sobrien2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
11388130561Sobrien
11389130561Sobrien	* configure.in (LINGUAS): Add ja.
11390130561Sobrien	* configure: Regenerate.
11391130561Sobrien	* po/ja.po: Import from translation project's web site.
11392130561Sobrien
11393130561Sobrien2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
11394130561Sobrien
11395130561Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
11396130561Sobrien	messages to ease translation into other languages.
11397130561Sobrien
11398130561SobrienFor older changes see ChangeLog-0001
11399130561Sobrien
11400130561SobrienLocal Variables:
11401130561Sobrienmode: change-log
11402130561Sobrienleft-margin: 8
11403130561Sobrienfill-column: 74
11404130561Sobrienversion-control: never
11405130561SobrienEnd:
11406