1*3d8817e4Smiod2003-12-19  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2*3d8817e4Smiod
3*3d8817e4Smiod	Adfd m32r-linux and PIC support.  Add new ABI that uses RELA.
4*3d8817e4Smiod	* config.bfd (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*): Added.
5*3d8817e4Smiod	* configure.in (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
6*3d8817e4Smiod	bfd_elf32_m32rle_vec): Added
7*3d8817e4Smiod	* configure: Regenerated.
8*3d8817e4Smiod	* elf32-m32r.c (m32r_info_to_howto, m32r_elf_adjust_dynamic_symbol,
9*3d8817e4Smiod	m32r_elf_size_dynamic_sections, m32r_elf_create_dynamic_sections,
10*3d8817e4Smiod	m32r_elf_finish_dynamic_sections, m32r_elf_finish_dynamic_symbol,
11*3d8817e4Smiod	allocate_dynrelocs, readonly_dynrelocs, m32r_elf_reloc_type_class,
12*3d8817e4Smiod	m32r_elf_fake_sections): Added.
13*3d8817e4Smiod	(m32r_elf_howto_table): Added
14*3d8817e4Smiod	R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
15*3d8817e4Smiod	R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
16*3d8817e4Smiod	R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
17*3d8817e4Smiod	R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
18*3d8817e4Smiod	R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
19*3d8817e4Smiod	R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
20*3d8817e4Smiod	R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
21*3d8817e4Smiod	R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
22*3d8817e4Smiod	R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
23*3d8817e4Smiod	R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
24*3d8817e4Smiod	R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
25*3d8817e4Smiod	R_M32R_GOTPC_LO.
26*3d8817e4Smiod	(m32r_elf_relocate_section, m32r_elf_check_relocs): Changed for
27*3d8817e4Smiod	New ABI.
28*3d8817e4Smiod	* reloc.c: Add BFD_RELOC_M32R_GOT24, BFD_RELOC_M32R_26_PLTREL,
29*3d8817e4Smiod	BFD_RELOC_M32R_COPY, BFD_RELOC_M32R_GLOB_DAT,
30*3d8817e4Smiod	BFD_RELOC_M32R_JMP_SLOT, BFD_RELOC_M32R_RELATIVE,
31*3d8817e4Smiod	BFD_RELOC_M32R_GOTOFF, BFD_RELOC_M32R_GOTPC24,
32*3d8817e4Smiod	BFD_RELOC_M32R_GOT16_HI_ULO, BFD_RELOC_M32R_GOT16_HI_SLO,
33*3d8817e4Smiod	BFD_RELOC_M32R_GOT16_LO, BFD_RELOC_M32R_GOTPC_HI_ULO,
34*3d8817e4Smiod	BFD_RELOC_M32R_GOTPC_HI_SLO, BFD_RELOC_M32R_GOTPC_LO.
35*3d8817e4Smiod	* targets.c (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
36*3d8817e4Smiod	bfd_elf32_m32rle_vec): Added.
37*3d8817e4Smiod	* bfd-in2.h: Regenerated.
38*3d8817e4Smiod	* libbfd.h: Regenerated.
39*3d8817e4Smiod
40*3d8817e4Smiod2003-12-19  Danny Smith  <dannysmith@users.sourceforge.net>
41*3d8817e4Smiod
42*3d8817e4Smiod	* coffcode.h (styp_to_sec_flags): Don't treat .reloc section
43*3d8817e4Smiod	as SEC_DEBUGGING.
44*3d8817e4Smiod
45*3d8817e4Smiod2003-12-18  Richard Sandiford  <rsandifo@redhat.com>
46*3d8817e4Smiod
47*3d8817e4Smiod	* elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of
48*3d8817e4Smiod	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.  Use
49*3d8817e4Smiod	_bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16,
50*3d8817e4Smiod	_bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16,
51*3d8817e4Smiod	and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.  Change rightshift
52*3d8817e4Smiod	to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16.
53*3d8817e4Smiod	(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
54*3d8817e4Smiod	(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
55*3d8817e4Smiod	(_bfd_mips_elf32_gprel16_reloc): Remove special case.
56*3d8817e4Smiod	(mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise.
57*3d8817e4Smiod
58*3d8817e4Smiod	* elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of
59*3d8817e4Smiod	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.  Use
60*3d8817e4Smiod	_bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc
61*3d8817e4Smiod	for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.
62*3d8817e4Smiod	Change R_MIPS_HI16's rightshift to 16.
63*3d8817e4Smiod	(mips_elf64_howto_table_rela): Replace all uses of
64*3d8817e4Smiod	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.
65*3d8817e4Smiod	Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well.
66*3d8817e4Smiod	(mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete.
67*3d8817e4Smiod	(mips_elf64_shift6_reloc): Remove special case.  Use
68*3d8817e4Smiod	_bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue.
69*3d8817e4Smiod
70*3d8817e4Smiod	* elfn32-mips.c (prev_reloc_section): Delete.
71*3d8817e4Smiod	(prev_reloc_address, prev_reloc_addend): Delete.
72*3d8817e4Smiod	(elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for
73*3d8817e4Smiod	elf64-mips.c
74*3d8817e4Smiod	(GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete.
75*3d8817e4Smiod	(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
76*3d8817e4Smiod	(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
77*3d8817e4Smiod	(mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND.
78*3d8817e4Smiod	(mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise.
79*3d8817e4Smiod	(mips16_jump_reloc, mips16_gprel_reloc): Likewise.
80*3d8817e4Smiod	(mips_elf_shift6_reloc): Likewise.  Delete use of SET_RELOC_ADDEND.
81*3d8817e4Smiod
82*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use
83*3d8817e4Smiod	_bfd_relocate_contents to install an in-place addend.
84*3d8817e4Smiod	(mips_hi16): New structure.
85*3d8817e4Smiod	(mips_hi16_list): Moved from elf32-mips.c.
86*3d8817e4Smiod	(_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions.
87*3d8817e4Smiod	(_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions.
88*3d8817e4Smiod	(mips_elf_calculate_relocation): Assume addend is unshifted.
89*3d8817e4Smiod	(_bfd_mips_elf_relocate_section): Don't apply the howto rightshift
90*3d8817e4Smiod	on top of the usual high-part shift.  Don't shift the addend right
91*3d8817e4Smiod	before calling mips_elf_calculate_relocation.
92*3d8817e4Smiod
93*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare.
94*3d8817e4Smiod	(_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare.
95*3d8817e4Smiod	(_bfd_mips_elf_generic_reloc): Declare.
96*3d8817e4Smiod
97*3d8817e4Smiod2003-12-16  Eric Youngdale  <eric@mkssoftware.com>
98*3d8817e4Smiod	    Nick Clifton  <nickc@redhat.com>
99*3d8817e4Smiod
100*3d8817e4Smiod	* peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each
101*3d8817e4Smiod	prefix character, if they are present.
102*3d8817e4Smiod
103*3d8817e4Smiod2003-12-15  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
104*3d8817e4Smiod	    Nick Clifton  <nickc@redhat.com>
105*3d8817e4Smiod
106*3d8817e4Smiod	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags
107*3d8817e4Smiod	are set on known section types.
108*3d8817e4Smiod
109*3d8817e4Smiod2003-12-12  Nick Clifton  <nickc@redhat.com>
110*3d8817e4Smiod
111*3d8817e4Smiod	* po/ro.po: Updated translation.
112*3d8817e4Smiod
113*3d8817e4Smiod2003-12-12  Alan Modra  <amodra@bigpond.net.au>
114*3d8817e4Smiod
115*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for
116*3d8817e4Smiod	NULL dyn_h.
117*3d8817e4Smiod
118*3d8817e4Smiod2003-12-11  Nick Clifton  <nickc@redhat.com>
119*3d8817e4Smiod
120*3d8817e4Smiod	* elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
121*3d8817e4Smiod
122*3d8817e4Smiod2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
123*3d8817e4Smiod
124*3d8817e4Smiod	* elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes.
125*3d8817e4Smiod	Remove casts that were only needed for K&R compatibility.
126*3d8817e4Smiod
127*3d8817e4Smiod2003-12-08  Alan Modra  <amodra@bigpond.net.au>
128*3d8817e4Smiod
129*3d8817e4Smiod	* elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add
130*3d8817e4Smiod	"elflink_hash_entry *" param to elf_backend_link_output_symbol_hook.
131*3d8817e4Smiod	Add "elflink_hash_entry *" param to elf_backend_output_arch_syms.
132*3d8817e4Smiod	* elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param,
133*3d8817e4Smiod	and pass to output_symbol_hook.
134*3d8817e4Smiod	(elf_bfd_final_link): Adjust elf_link_output_sym calls.
135*3d8817e4Smiod	(elf_link_output_extsym): Likewise.
136*3d8817e4Smiod	(elf_link_input_bfd): Likewise.
137*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust.
138*3d8817e4Smiod	* elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
139*3d8817e4Smiod	* elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
140*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
141*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
142*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
143*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise.
144*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
145*3d8817e4Smiod	Validate dynh->h against h.
146*3d8817e4Smiod	* elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield.
147*3d8817e4Smiod	(link_hash_newfunc): Init it.
148*3d8817e4Smiod	(adjust_opd_syms): New function.
149*3d8817e4Smiod	(ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted.
150*3d8817e4Smiod	Set opd.adjust for all .opd relocs.  Call adjust_opd_syms.
151*3d8817e4Smiod	(ppc64_elf_tls_optimize): Adjust possible .opd sym values here.
152*3d8817e4Smiod	(ppc64_elf_relocate_section): Also adjust syms not a multiple of 24.
153*3d8817e4Smiod	(ppc64_elf_output_symbol_hook): New function.
154*3d8817e4Smiod	(elf_backend_link_output_symbol_hook): Define.
155*3d8817e4Smiod
156*3d8817e4Smiod2003-12-07  Richard Sandiford  <rsandifo@redhat.com>
157*3d8817e4Smiod
158*3d8817e4Smiod	* elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes.
159*3d8817e4Smiod	Remove casts that were only needed for K&R compatibility.
160*3d8817e4Smiod
161*3d8817e4Smiod2003-12-05  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
162*3d8817e4Smiod
163*3d8817e4Smiod	* coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set
164*3d8817e4Smiod	partial_inplace for these relocs to FALSE for comptability with
165*3d8817e4Smiod	the MS linker.
166*3d8817e4Smiod	Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error
167*3d8817e4Smiod	generated by MS linker, and brings the relocation in line the MS
168*3d8817e4Smiod	PE documentation.
169*3d8817e4Smiod
170*3d8817e4Smiod2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>
171*3d8817e4Smiod
172*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing.
173*3d8817e4Smiod
174*3d8817e4Smiod2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>
175*3d8817e4Smiod
176*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Use the
177*3d8817e4Smiod	need_relax_finalize field in link_info instead of
178*3d8817e4Smiod	relax_finalizing to check if the relax finalize pass is being
179*3d8817e4Smiod	done.
180*3d8817e4Smiod
181*3d8817e4Smiod2003-12-04  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
182*3d8817e4Smiod
183*3d8817e4Smiod	* coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation):
184*3d8817e4Smiod	Change ARM26* to ARM_26* in comments to match definitions.
185*3d8817e4Smiod	(coff_arm_adjust_symndx): Replace hard-coded constants with
186*3d8817e4Smiod	appropriate definitions (ARM_26*).
187*3d8817e4Smiod
188*3d8817e4Smiod2003-12-04  Alan Modra  <amodra@bigpond.net.au>
189*3d8817e4Smiod
190*3d8817e4Smiod	* coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported.
191*3d8817e4Smiod	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes.
192*3d8817e4Smiod	(mn10300_elf_relax_section): Likewise.
193*3d8817e4Smiod	* nlm32-alpha.c (ONES): Define.
194*3d8817e4Smiod	(nlm32_alpha_howto_table): Use it to avoid warnings.
195*3d8817e4Smiod
196*3d8817e4Smiod2003-12-04  Alan Modra  <amodra@bigpond.net.au>
197*3d8817e4Smiod
198*3d8817e4Smiod	* elf32-i386.c (elf_i386_object_p): Delete.
199*3d8817e4Smiod	(elf_backend_object_p): Don't define.
200*3d8817e4Smiod	* elf32-s390.c (elf_s390_object_p): No need to alloc tdata here.
201*3d8817e4Smiod	* elf32-sh.c (sh_elf_object_p): Likewise.
202*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_object_p): Likewise.
203*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_object_p): Likewise.
204*3d8817e4Smiod	* elf64-s390.c (elf_s390_object_p): Likewise.
205*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise.
206*3d8817e4Smiod
207*3d8817e4Smiod2003-12-03  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
208*3d8817e4Smiod
209*3d8817e4Smiod	* archures.c (bfd_mach_m32r2): Add new machine type.
210*3d8817e4Smiod	* bfd-in2.h: Regenerate.
211*3d8817e4Smiod	* cpu-m32r.c : Add new machine type.
212*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing,
213*3d8817e4Smiod	m32r_elf_merge_private_bfd_data): Add support for new machine
214*3d8817e4Smiod	type.
215*3d8817e4Smiod
216*3d8817e4Smiod2003-12-03  Dave Airlie  <airlied@linux.ie>
217*3d8817e4Smiod
218*3d8817e4Smiod	* config.bfd: Add vax-linux-gnu target.
219*3d8817e4Smiod	* configure.in: Likewise.
220*3d8817e4Smiod	* configure: Regenerate.
221*3d8817e4Smiod
222*3d8817e4Smiod2003-12-03  Alan Modra  <amodra@bigpond.net.au>
223*3d8817e4Smiod
224*3d8817e4Smiod	* ecoff.c (ecoff_link_add_archive_symbols): Update for renamed
225*3d8817e4Smiod	bfd_link_hash_entry field "next" -> "und_next".
226*3d8817e4Smiod	* linker.c (_bfd_link_hash_newfunc): Likewise.
227*3d8817e4Smiod	(bfd_link_add_undef): Likewise.
228*3d8817e4Smiod	(_bfd_generic_link_add_archive_symbols): Likewise.
229*3d8817e4Smiod	(_bfd_generic_link_add_one_symbol): Likewise.
230*3d8817e4Smiod	* xcofflink.c (xcoff_link_add_symbols): Likewise.
231*3d8817e4Smiod
232*3d8817e4Smiod2003-12-02  Nick Clifton  <nickc@redhat.com>
233*3d8817e4Smiod
234*3d8817e4Smiod	* configure.in (ALL_LINGUAS): Add ro.
235*3d8817e4Smiod	* po/ro.po: New Romanian translation.
236*3d8817e4Smiod
237*3d8817e4Smiod2003-12-02  Alan Modra  <amodra@bigpond.net.au>
238*3d8817e4Smiod
239*3d8817e4Smiod	* Makefile.am: Run "make dep-am".
240*3d8817e4Smiod	* Makefile.in: Regenerate.
241*3d8817e4Smiod
242*3d8817e4Smiod2003-12-01  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
243*3d8817e4Smiod
244*3d8817e4Smiod	* coffcode.h (coff_compute_section_file_positions): Set page_size
245*3d8817e4Smiod	to 1 instead of 0 in the case file alignment value is zero.
246*3d8817e4Smiod
247*3d8817e4Smiod2003-12-01  Kazu Hirata  <kazu@cs.umass.edu>
248*3d8817e4Smiod
249*3d8817e4Smiod	* coff-rs6000.c: Remove ARGSUSED and VARARGS.
250*3d8817e4Smiod	* coff64-rs6000.c: Likewise.
251*3d8817e4Smiod	* coffcode.h: Likewise.
252*3d8817e4Smiod	* elf32-vax.c: Likewise.
253*3d8817e4Smiod	* hash.c: Likewise.
254*3d8817e4Smiod	* hppabsd-core.c: Likewise.
255*3d8817e4Smiod	* hpux-core.c: Likewise.
256*3d8817e4Smiod	* ihex.c: Likewise.
257*3d8817e4Smiod	* netbsd-core.c: Likewise.
258*3d8817e4Smiod	* osf-core.c: Likewise.
259*3d8817e4Smiod	* pdp11.c: Likewise.
260*3d8817e4Smiod	* ptrace-core.c: Likewise.
261*3d8817e4Smiod	* sco5-core.c: Likewise.
262*3d8817e4Smiod	* section.c: Likewise.
263*3d8817e4Smiod	* sunos.c: Likewise.
264*3d8817e4Smiod	* trad-core.c: Likewise.
265*3d8817e4Smiod
266*3d8817e4Smiod2003-12-01  Alan Modra  <amodra@bigpond.net.au>
267*3d8817e4Smiod
268*3d8817e4Smiod	* elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
269*3d8817e4Smiod	* elf.c (_bfd_elf_merge_sections): Adjust to suit.
270*3d8817e4Smiod	(_bfd_elf_link_just_syms): Likewise.
271*3d8817e4Smiod	(bfd_elf_get_needed_list): Likewise.
272*3d8817e4Smiod	(bfd_elf_get_runpath_list): Likewise.
273*3d8817e4Smiod	(_bfd_elf_link_hash_copy_indirect): Remove unneeded parens.
274*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab
275*3d8817e4Smiod	creator flavour.
276*3d8817e4Smiod	(elf32_hppa_set_gp): Look up output sections rather than using htab.
277*3d8817e4Smiod	* elf32-i960.c: Comment fix.  Formatting.
278*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table
279*3d8817e4Smiod	rather than testing creator flavour.
280*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
281*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
282*3d8817e4Smiod	* elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for
283*3d8817e4Smiod	is_elf_hash_table change.  Remove redundant test.
284*3d8817e4Smiod	(bfd_elf_record_link_assignment): Use is_elf_hash_table rather than
285*3d8817e4Smiod	testing creator flavour.
286*3d8817e4Smiod	(elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table.
287*3d8817e4Smiod	(_bfd_elf_fix_symbol_flags): Likewise.
288*3d8817e4Smiod	(_bfd_elf_adjust_dynamic_symbol): Likewise.
289*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Likewise.  Remove redundant
290*3d8817e4Smiod	checks.  Use is_elf_hash_table rather than testing creator flavour.
291*3d8817e4Smiod	Use hash_table throughout in place of info->hash.
292*3d8817e4Smiod	(elf_add_dynamic_entry): Adjust for is_elf_hash_table change.
293*3d8817e4Smiod	(NAME(bfd_elf,size_dynamic_sections)): Likewise.  Remove redundant
294*3d8817e4Smiod	check.
295*3d8817e4Smiod	(elf_bfd_final_link): Adjust for is_elf_hash_table change.
296*3d8817e4Smiod	(elf_link_check_versioned_symbol): Use is_elf_hash_table rather than
297*3d8817e4Smiod	testing creator flavour.
298*3d8817e4Smiod	(elf_gc_sections): Add is_elf_hash_table check.
299*3d8817e4Smiod	(elf_gc_common_finalize_got_offsets): Likewise.
300*3d8817e4Smiod	(elf_bfd_discard_info): Adjust for is_elf_hash_table change.  Remove
301*3d8817e4Smiod	redundant check.
302*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table
303*3d8817e4Smiod	rather than testing creator flavour.
304*3d8817e4Smiod
305*3d8817e4Smiod2003-11-28  Christian Groessler  <chris@groessler.org>
306*3d8817e4Smiod
307*3d8817e4Smiod	* cpu-z8k.c: Convert to ISO C90.
308*3d8817e4Smiod	* coff-z8k.c: Likewise.
309*3d8817e4Smiod
310*3d8817e4Smiod2003-11-27  Alexandre Oliva  <aoliva@redhat.com>
311*3d8817e4Smiod
312*3d8817e4Smiod	* elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map):
313*3d8817e4Smiod	Add link info argument.
314*3d8817e4Smiod	* elf32-i370.c (elf_backend_modify_segment_map): Likewise.
315*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_modify_segment_map): Likewise.
316*3d8817e4Smiod	* elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise.
317*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise.
318*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
319*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
320*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise.
321*3d8817e4Smiod	* elf.c (assign_file_positions_except_relocs,
322*3d8817e4Smiod	assign_file_positions_for_segments): Likewise.  Adjust calls.
323*3d8817e4Smiod
324*3d8817e4Smiod2003-11-27  Mark Kettenis  <kettenis@gnu.org>
325*3d8817e4Smiod
326*3d8817e4Smiod	* elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out
327*3d8817e4Smiod	of the note.
328*3d8817e4Smiod
329*3d8817e4Smiod2003-11-26  Daniel Jacobowitz  <drow@mvista.com>
330*3d8817e4Smiod	    Richard Sandiford  <rsandifo@redhat.com>
331*3d8817e4Smiod
332*3d8817e4Smiod	* elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub.
333*3d8817e4Smiod	(mips_elf_set_no_stub): New function.
334*3d8817e4Smiod	(mips_elf_multi_got): Call it.
335*3d8817e4Smiod	(_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for
336*3d8817e4Smiod	a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and
337*3d8817e4Smiod	use mips_elf_create_dynamic_relocation to deal with any compatibility
338*3d8817e4Smiod	issues.  Store the adjusted addend in the GOT slot.
339*3d8817e4Smiod
340*3d8817e4Smiod2003-11-25  Mattias Engdeg�rd  <mattias@virtutech.se>
341*3d8817e4Smiod
342*3d8817e4Smiod	* stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when
343*3d8817e4Smiod	procesing N_BINCL stabs.
344*3d8817e4Smiod
345*3d8817e4Smiod2003-11-25  Alan Modra  <amodra@bigpond.net.au>
346*3d8817e4Smiod
347*3d8817e4Smiod	* elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than
348*3d8817e4Smiod	ppc_stub_plt_call to symbols defined in shared libs.
349*3d8817e4Smiod
350*3d8817e4Smiod2003-11-22  Jakub Jelinek  <jakub@redhat.com>
351*3d8817e4Smiod
352*3d8817e4Smiod	* elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag.
353*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_copy_indirect): Copy it.
354*3d8817e4Smiod	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
355*3d8817e4Smiod	(elf_i386_check_relocs): Set it.
356*3d8817e4Smiod	(elf_i386_finish_dynamic_symbol): If it is not set,
357*3d8817e4Smiod	clear st_value of SHN_UNDEF symbol.
358*3d8817e4Smiod
359*3d8817e4Smiod2003-11-20  Jim Blandy  <jimb@redhat.com>
360*3d8817e4Smiod
361*3d8817e4Smiod	* cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC
362*3d8817e4Smiod	family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>.
363*3d8817e4Smiod
364*3d8817e4Smiod2003-11-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
365*3d8817e4Smiod
366*3d8817e4Smiod	* elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol
367*3d8817e4Smiod	section for reloc output and subtract the output section's address
368*3d8817e4Smiod	from the addend when converting a relocation into one against a
369*3d8817e4Smiod	section symbol.
370*3d8817e4Smiod	* elf64-s390.c (elf_s390_relocate_section): Likewise.
371*3d8817e4Smiod
372*3d8817e4Smiod2003-11-18  James E Wilson  <wilson@specifixinc.com>
373*3d8817e4Smiod
374*3d8817e4Smiod	* elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
375*3d8817e4Smiod	(elfNN_ia64_size_dynamic_sections): When stripping sections, check
376*3d8817e4Smiod	for ia64_info->rel_fptr_sec.
377*3d8817e4Smiod
378*3d8817e4Smiod2003-11-18  Alan Modra  <amodra@bigpond.net.au>
379*3d8817e4Smiod
380*3d8817e4Smiod	* elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section
381*3d8817e4Smiod	size is zero.
382*3d8817e4Smiod
383*3d8817e4Smiod2003-11-17  Daniel Jacobowitz  <drow@mvista.com>
384*3d8817e4Smiod
385*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_copy_indirect): Copy
386*3d8817e4Smiod	ELF_LINK_HASH_NEEDS_PLT.  Fix formatting.
387*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
388*3d8817e4Smiod	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
389*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
390*3d8817e4Smiod	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
391*3d8817e4Smiod	* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
392*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
393*3d8817e4Smiod	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
394*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
395*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
396*3d8817e4Smiod	* elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove.
397*3d8817e4Smiod	(elf_backend_copy_indirect_symbol): Don't define.
398*3d8817e4Smiod
399*3d8817e4Smiod2003-11-14  Daniel Jacobowitz  <drow@mvista.com>
400*3d8817e4Smiod
401*3d8817e4Smiod	* elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local
402*3d8817e4Smiod	GOT entries.
403*3d8817e4Smiod
404*3d8817e4Smiod2003-11-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
405*3d8817e4Smiod
406*3d8817e4Smiod	* elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32
407*3d8817e4Smiod	to R_390_RELATIVE. Convert the other relocations against local
408*3d8817e4Smiod	symbols to relocations against the start of the section.
409*3d8817e4Smiod	* elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64
410*3d8817e4Smiod	to R_390_RELATIVE. Convert the other relocations against local
411*3d8817e4Smiod	symbols to relocations against the start of the section.
412*3d8817e4Smiod
413*3d8817e4Smiod2003-11-11  Nick Clifton  <nickc@redhat.com>
414*3d8817e4Smiod
415*3d8817e4Smiod	* elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use
416*3d8817e4Smiod	info->executable not info->shared to decide if a .interp section
417*3d8817e4Smiod	should be present.
418*3d8817e4Smiod	* elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise.
419*3d8817e4Smiod	* elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
420*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
421*3d8817e4Smiod	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
422*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
423*3d8817e4Smiod	* elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
424*3d8817e4Smiod	* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
425*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
426*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise.
427*3d8817e4Smiod	* elflink.h (size_dynamic_sections): Likewise.
428*3d8817e4Smiod
429*3d8817e4Smiod2003-11-10  Jonathan Wilson <jonwil@tpgi.com.au>
430*3d8817e4Smiod
431*3d8817e4Smiod	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer.
432*3d8817e4Smiod	(_bfd_XXi_final_link_postscript): Look for __tks_used symbol.  If
433*3d8817e4Smiod	found initialise the tls data directory entry.
434*3d8817e4Smiod
435*3d8817e4Smiod2003-11-07  Alan Modra  <amodra@bigpond.net.au>
436*3d8817e4Smiod
437*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_install_value): Delete.
438*3d8817e4Smiod	(shared_stub_entry, stub_entry): Make them arrays of ints.
439*3d8817e4Smiod	Remove initial branch.
440*3d8817e4Smiod	(ppc_elf_relax_section): Write one branch around all trampolines
441*3d8817e4Smiod	instead.  Correct bogus R_PPC_PLTREL24 handling.  Correct
442*3d8817e4Smiod	branch range check.  Only use shared_stub_entry when shared.
443*3d8817e4Smiod	Test that branches can reach stubs.  Write trampolines out at
444*3d8817e4Smiod	end so that just one realloc is used.  Handle little-endian
445*3d8817e4Smiod	mode.  Move relevant code from ppc_elf_install_value to here.
446*3d8817e4Smiod	(ppc_elf_relocate_section): Move code handling RELAX32 from
447*3d8817e4Smiod	ppc_elf_install_value to here.
448*3d8817e4Smiod
449*3d8817e4Smiod2003-11-06  Alan Modra  <amodra@bigpond.net.au>
450*3d8817e4Smiod
451*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC.
452*3d8817e4Smiod	(ppc_elf_install_value): Handle R_PPC_RELAX32PC.  Merge duplicate
453*3d8817e4Smiod	cases.
454*3d8817e4Smiod	(shared_stub_entry): Correct opcode.
455*3d8817e4Smiod	(ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs.
456*3d8817e4Smiod	(ppc_elf_relocate_section): Handle them.
457*3d8817e4Smiod
458*3d8817e4Smiod2003-11-05  Alan Modra  <amodra@bigpond.net.au>
459*3d8817e4Smiod
460*3d8817e4Smiod	* elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return
461*3d8817e4Smiod	updated section in case of merged section.
462*3d8817e4Smiod	* elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
463*3d8817e4Smiod	* elf-hppa.h (elf_hppa_relocate_section): Adjust call.
464*3d8817e4Smiod	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
465*3d8817e4Smiod	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
466*3d8817e4Smiod	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
467*3d8817e4Smiod	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
468*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section): Likewise.
469*3d8817e4Smiod	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
470*3d8817e4Smiod	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
471*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
472*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
473*3d8817e4Smiod	* elf32-i370.c (i370_elf_relocate_section): Likewise.
474*3d8817e4Smiod	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
475*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
476*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
477*3d8817e4Smiod	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
478*3d8817e4Smiod	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
479*3d8817e4Smiod	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
480*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
481*3d8817e4Smiod	* elf32-s390.c (elf_s390_relocate_section): Likewise.
482*3d8817e4Smiod	* elf32-sh.c (sh_elf_relocate_section): Likewise.
483*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
484*3d8817e4Smiod	* elf32-v850.c (v850_elf_relocate_section) Likewise.
485*3d8817e4Smiod	* elf32-vax.c (elf_vax_relocate_section): Likewise.
486*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
487*3d8817e4Smiod	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
488*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
489*3d8817e4Smiod	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
490*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
491*3d8817e4Smiod	* elf64-s390.c (elf_s390_relocate_section): Likewise.
492*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
493*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
494*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
495*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
496*3d8817e4Smiod
497*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
498*3d8817e4Smiod	section for reloc output.
499*3d8817e4Smiod	* elf32-i370.c (i370_elf_relocate_section): Likewise.
500*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
501*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
502*3d8817e4Smiod	* elf32-vax.c (elf_vax_relocate_section): Likewise.
503*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
504*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
505*3d8817e4Smiod
506*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
507*3d8817e4Smiod	for R_PPC_RELAX32 reloc.  Don't bother checking ppc_elf_install_value
508*3d8817e4Smiod	return value.
509*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
510*3d8817e4Smiod	sec->id.
511*3d8817e4Smiod
512*3d8817e4Smiod2003-11-05  Alan Modra  <amodra@bigpond.net.au>
513*3d8817e4Smiod
514*3d8817e4Smiod	* elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.
515*3d8817e4Smiod	(elf32_d10v_relocate_section): Use them to handle -r reloc
516*3d8817e4Smiod	adjustments, and in place of _bfd_elf_rela_local_sym.
517*3d8817e4Smiod
518*3d8817e4Smiod	* cpu-iq2000.c (arch_info_struct): Warning fix.
519*3d8817e4Smiod
520*3d8817e4Smiod2003-11-05  Alan Modra  <amodra@bigpond.net.au>
521*3d8817e4Smiod
522*3d8817e4Smiod	* elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.
523*3d8817e4Smiod	(elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
524*3d8817e4Smiod	weakdefs.
525*3d8817e4Smiod	(elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
526*3d8817e4Smiod	(elf32_hppa_adjust_dynamic_symbol): Likewise.  Copy weakdef
527*3d8817e4Smiod	NON_GOT_REF.
528*3d8817e4Smiod	(allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
529*3d8817e4Smiod	SYMBOL_CALLS_LOCAL.  Discard relocs for undef weak syms with
530*3d8817e4Smiod	non-default visibility.
531*3d8817e4Smiod	(elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
532*3d8817e4Smiod	SYMBOL_CALLS_LOCAL.
533*3d8817e4Smiod
534*3d8817e4Smiod2003-11-04  Alan Modra  <amodra@bigpond.net.au>
535*3d8817e4Smiod
536*3d8817e4Smiod	* aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.
537*3d8817e4Smiod	* coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
538*3d8817e4Smiod	* coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
539*3d8817e4Smiod	* cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
540*3d8817e4Smiod	* cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
541*3d8817e4Smiod	* gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
542*3d8817e4Smiod	* nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
543*3d8817e4Smiod
544*3d8817e4Smiod	* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix
545*3d8817e4Smiod	"dereferencing type-punned pointer" warnings.
546*3d8817e4Smiod
547*3d8817e4Smiod	* aout-adobe.c (aout_adobe_set_section_contents): Constify location.
548*3d8817e4Smiod	* aoutx.h (NAME(aout,set_section_contents)): Ditto.
549*3d8817e4Smiod	* bfd-in2.h: Regenerate.
550*3d8817e4Smiod	* binary.c (binary_set_section_contents): Ditto.
551*3d8817e4Smiod	* bout.c (b_out_set_section_contents): Ditto.
552*3d8817e4Smiod	* coff-tic54x.c (tic54x_set_section_contents): Ditto.
553*3d8817e4Smiod	* coffcode.h (coff_set_section_contents): Ditto.
554*3d8817e4Smiod	* ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
555*3d8817e4Smiod	* elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
556*3d8817e4Smiod	* elf.c (_bfd_elf_set_section_contents): Ditto.
557*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
558*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
559*3d8817e4Smiod	* i386msdos.c (msdos_set_section_contents): Ditto.
560*3d8817e4Smiod	* ieee.c (ieee_set_section_contents): Ditto.
561*3d8817e4Smiod	* ihex.c (ihex_set_section_contents): Ditto.
562*3d8817e4Smiod	* libaout.h (NAME(aout,set_section_contents)): Ditto.
563*3d8817e4Smiod	* libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
564*3d8817e4Smiod	(_bfd_generic_set_section_contents): Ditto.
565*3d8817e4Smiod	* libbfd.h: Regenerate.
566*3d8817e4Smiod	* libbfd.c (_bfd_generic_set_section_contents): Ditto.
567*3d8817e4Smiod	* libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
568*3d8817e4Smiod	* libnlm.h (nlmNAME(set_section_contents)): Ditto.
569*3d8817e4Smiod	(struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
570*3d8817e4Smiod	* mmo.c (mmo_set_section_contents): Ditto.
571*3d8817e4Smiod	* nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
572*3d8817e4Smiod	* nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
573*3d8817e4Smiod	* nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
574*3d8817e4Smiod	* nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
575*3d8817e4Smiod	* nlmcode.h (nlm_set_section_contents): Ditto.
576*3d8817e4Smiod	* oasys.c (oasys_set_section_contents): Ditto.
577*3d8817e4Smiod	* pdp11.c (NAME(aout,set_section_contents)): Ditto.
578*3d8817e4Smiod	* ppcboot.c (ppcboot_set_section_contents): Ditto.
579*3d8817e4Smiod	* srec.c (srec_set_section_contents): Ditto.
580*3d8817e4Smiod	* targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
581*3d8817e4Smiod	* tekhex.c (tekhex_set_section_contents): Ditto.
582*3d8817e4Smiod	(move_section_contents): Ditto.
583*3d8817e4Smiod	* versados.c (versados_set_section_contents): Ditto.
584*3d8817e4Smiod	* vms-misc.c (_bfd_save_vms_section): Ditto.
585*3d8817e4Smiod	* vms.c (vms_set_section_contents): Ditto.
586*3d8817e4Smiod	* vms.h (_bfd_save_vms_section): Ditto.
587*3d8817e4Smiod
588*3d8817e4Smiod2003-11-04  Alan Modra  <amodra@bigpond.net.au>
589*3d8817e4Smiod
590*3d8817e4Smiod	* elf64-ppc.c (ppc_size_one_stub): Size relbrlt.  Accept info arg
591*3d8817e4Smiod	rather than htab.
592*3d8817e4Smiod	(ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal.  Zero
593*3d8817e4Smiod	relbrlt size.
594*3d8817e4Smiod	(ppc64_elf_build_stubs): Allocate space for relbrlt.
595*3d8817e4Smiod
596*3d8817e4Smiod2003-11-04  Alan Modra  <amodra@bigpond.net.au>
597*3d8817e4Smiod
598*3d8817e4Smiod	* bfd-in.h (_bfd_elf_tls_setup): Declare.
599*3d8817e4Smiod	* bfd-in2.h: Regenerate.
600*3d8817e4Smiod	* elf-bfd.h (struct elf_link_tls_segment): Delete.
601*3d8817e4Smiod	(struct elf_link_hash_table): Add tls_sec and tls_size.
602*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
603*3d8817e4Smiod	* elflink.c (_bfd_elf_tls_setup): New function.
604*3d8817e4Smiod	* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
605*3d8817e4Smiod	(elf_bfd_final_link): Don't set first_tls_sec here.  Update code
606*3d8817e4Smiod	saving tls segment info, round segment size up.
607*3d8817e4Smiod	(elf_link_output_extsym): Adjust code using tls segment info.
608*3d8817e4Smiod	(elf_link_input_bfd): Likewise.
609*3d8817e4Smiod	* elf32-i386.c (dtpoff_base, tpoff): Likewise.
610*3d8817e4Smiod	* elf32-s390.c (dtpoff_base, tpoff): Likewise.
611*3d8817e4Smiod	* elf32-sh.c (dtpoff_base, tpoff): Likewise.
612*3d8817e4Smiod	* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
613*3d8817e4Smiod	* elf64-s390.c (dtpoff_base, tpoff): Likewise.
614*3d8817e4Smiod	* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
615*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
616*3d8817e4Smiod	(elfNN_ia64_dtprel_base): Likewise.
617*3d8817e4Smiod	* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
618*3d8817e4Smiod	(alpha_get_tprel_base): Likewise.
619*3d8817e4Smiod	(struct alpha_relax_info): Remove tls_segment.
620*3d8817e4Smiod	(elf64_alpha_relax_got_load): Adjust invocation of
621*3d8817e4Smiod	alpha_get_dtprel_base and alpha_get_tprel_base.
622*3d8817e4Smiod	(elf64_alpha_relax_tls_get_addr): Likewise.
623*3d8817e4Smiod	(elf64_alpha_relax_section): Likewise.
624*3d8817e4Smiod	(elf64_alpha_relocate_section): Likewise.
625*3d8817e4Smiod	(elf64_alpha_relax_find_tls_segment): Delete.
626*3d8817e4Smiod	* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
627*3d8817e4Smiod	(ppc_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
628*3d8817e4Smiod	(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
629*3d8817e4Smiod	* elf32-ppc.h (ppc_elf_tls_setup): Update.
630*3d8817e4Smiod	* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
631*3d8817e4Smiod	(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
632*3d8817e4Smiod	(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
633*3d8817e4Smiod	(ppc64_elf_relocate_section): Likewise.
634*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_tls_setup): Update.
635*3d8817e4Smiod
636*3d8817e4Smiod2003-11-03  Daniel Jacobowitz  <drow@mvista.com>
637*3d8817e4Smiod
638*3d8817e4Smiod	* elf-bfd.h (struct elf_backend_data): Remove plt_header_size.
639*3d8817e4Smiod	* elf-m10300.c (elf_backend_plt_header_size): Don't define.
640*3d8817e4Smiod	* elf32-arm.h (elf_backend_plt_header_size): Don't define.
641*3d8817e4Smiod	* elf32-cris.c (elf_backend_plt_header_size): Don't define.
642*3d8817e4Smiod	* elf32-i386.c (elf_backend_plt_header_size): Don't define.
643*3d8817e4Smiod	* elf32-mips.c (elf_backend_plt_header_size): Don't define.
644*3d8817e4Smiod	* elf32-ppc.c (elf_backend_plt_header_size): Don't define.
645*3d8817e4Smiod	* elf32-s390.c (elf_backend_plt_header_size): Don't define.
646*3d8817e4Smiod	* elf32-sh.c (elf_backend_plt_header_size): Don't define.
647*3d8817e4Smiod	* elf32-sparc.c (elf_backend_plt_header_size): Don't define.
648*3d8817e4Smiod	* elf64-alpha.c (elf_backend_plt_header_size): Don't define.
649*3d8817e4Smiod	* elf64-hppa.c (elf_backend_plt_header_size): Don't define.
650*3d8817e4Smiod	* elf64-mips.c (elf_backend_plt_header_size): Don't define.
651*3d8817e4Smiod	* elf64-ppc.c (elf_backend_plt_header_size): Don't define.
652*3d8817e4Smiod	* elf64-s390.c (elf_backend_plt_header_size): Don't define.
653*3d8817e4Smiod	* elf64-sh64.c (elf_backend_plt_header_size): Don't define.
654*3d8817e4Smiod	* elf64-sparc.c (elf_backend_plt_header_size): Don't define.
655*3d8817e4Smiod	* elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
656*3d8817e4Smiod	* elfn32-mips.c (elf_backend_plt_header_size): Don't define.
657*3d8817e4Smiod	* elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
658*3d8817e4Smiod	* elfxx-target.h (elf_backend_plt_header_size): Don't define
659*3d8817e4Smiod	or include in target initializer.
660*3d8817e4Smiod
661*3d8817e4Smiod2003-11-03  Andrew Cagney  <cagney@redhat.com>
662*3d8817e4Smiod
663*3d8817e4Smiod	* section.c (bfd_set_section_contents): Make the "location" buffer
664*3d8817e4Smiod	constant.
665*3d8817e4Smiod	* bfd-in2.h: Re-generate.
666*3d8817e4Smiod
667*3d8817e4Smiod2003-10-30  Andrew Cagney  <cagney@redhat.com>
668*3d8817e4Smiod
669*3d8817e4Smiod	* syms.c: Replace "struct symbol_cache_entry" with "struct
670*3d8817e4Smiod	bfd_symbol".
671*3d8817e4Smiod	* vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
672*3d8817e4Smiod	* mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
673*3d8817e4Smiod	* cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
674*3d8817e4Smiod	* bfd-in2.h: Re-generate.
675*3d8817e4Smiod
676*3d8817e4Smiod2003-10-30  Jakub Jelinek  <jakub@redhat.com>
677*3d8817e4Smiod
678*3d8817e4Smiod	* elfxx-ia64.c: Include objalloc.h, hashtab.h.
679*3d8817e4Smiod	(struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym
680*3d8817e4Smiod	fields.
681*3d8817e4Smiod	(struct elfNN_ia64_local_hash_table): Remove.
682*3d8817e4Smiod	(struct elfNN_ia64_link_hash_table): Change loc_hash_table's type
683*3d8817e4Smiod	to htab_t.  Add loc_hash_memory field.
684*3d8817e4Smiod	(elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry):
685*3d8817e4Smiod	Removed.
686*3d8817e4Smiod	(elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New
687*3d8817e4Smiod	functions.
688*3d8817e4Smiod	(elfNN_ia64_hash_table_create): Use hashtab.h hashtable for
689*3d8817e4Smiod	loc_hash_table.  Initialize loc_hash_memory.
690*3d8817e4Smiod	(elfNN_ia64_hash_table_free): New function.
691*3d8817e4Smiod	(elfNN_ia64_local_hash_lookup): Remove.
692*3d8817e4Smiod	(elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse
693*3d8817e4Smiod	callback.
694*3d8817e4Smiod	(elfNN_ia64_dyn_sym_traverse): Use htab_traverse.
695*3d8817e4Smiod	(get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table.
696*3d8817e4Smiod	(bfd_elfNN_bfd_link_hash_table_free): Define.
697*3d8817e4Smiod
698*3d8817e4Smiod2003-10-30  Alan Modra  <amodra@bigpond.net.au>
699*3d8817e4Smiod
700*3d8817e4Smiod	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versioned
701*3d8817e4Smiod	symbol string in place.
702*3d8817e4Smiod
703*3d8817e4Smiod2003-10-30  Jim Blandy  <jimb@redhat.com>
704*3d8817e4Smiod
705*3d8817e4Smiod	* cpu-rs6000.c (rs6000_compatible): Check the correct arch_info
706*3d8817e4Smiod	object's mach field: all PowerPC machines are supersets of the
707*3d8817e4Smiod	original rs6000, but not later rs6000 machines.
708*3d8817e4Smiod
709*3d8817e4Smiod2003-10-30  Alan Modra  <amodra@bigpond.net.au>
710*3d8817e4Smiod
711*3d8817e4Smiod	* dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr".
712*3d8817e4Smiod	Add "val" and "sval" fields.
713*3d8817e4Smiod	(DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete.
714*3d8817e4Smiod	(read_attribute_value): Expand and adjust DW_* occurrences.
715*3d8817e4Smiod	(scan_unit_for_functions, parse_comp_unit): Likewise.
716*3d8817e4Smiod
717*3d8817e4Smiod2003-10-30  Phil Edwards  <phil@codesourcery.com>
718*3d8817e4Smiod
719*3d8817e4Smiod	* config.bfd (arm-*-vxworks):  Remove separate stanza; merge with
720*3d8817e4Smiod	other common ELF triples.
721*3d8817e4Smiod	(i[3-7]86-*-vxworks):  Change to ELF format.
722*3d8817e4Smiod	(mips*-*-windiss):  New triple, add to common MIPS/ELF stanza.
723*3d8817e4Smiod	(sh-*-vxworks):  New stanza.
724*3d8817e4Smiod
725*3d8817e4Smiod2003-10-30  Lars Knoll  <lars@trolltech.com>
726*3d8817e4Smiod	    Michael Matz  <matz@suse.de>
727*3d8817e4Smiod	    Jakub Jelinek  <jakub@redhat.com>
728*3d8817e4Smiod	    Alan Modra  <amodra@bigpond.net.au>
729*3d8817e4Smiod
730*3d8817e4Smiod	* merge.c (struct sec_merge_sec_info): Update comment.
731*3d8817e4Smiod	(struct sec_merge_hash_entry): Remove entsize.
732*3d8817e4Smiod	(sec_merge_hash_lookup): Only adjust alignment when creating.
733*3d8817e4Smiod	(sec_merge_emit): Remove register keyword.
734*3d8817e4Smiod	(cmplengthentry, last4_eq, last_eq): Delete.
735*3d8817e4Smiod	(strrevcmp, strrevcmp_align, is_suffix): New.
736*3d8817e4Smiod	(merge_strings): Use them to implement fast suffix merging.
737*3d8817e4Smiod	* elf-strtab.c (struct elf_strtab_hash_entry): Update comments.
738*3d8817e4Smiod	Make "len" signed.
739*3d8817e4Smiod	(_bfd_elf_strtab_add): Lose on >2G strings.
740*3d8817e4Smiod	(_bfd_elf_strtab_emit): Don't emit strings with len < 0.
741*3d8817e4Smiod	(cmplengthentry, last4_eq): Delete.
742*3d8817e4Smiod	(strrevcmp, is_suffix): New.
743*3d8817e4Smiod	(_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
744*3d8817e4Smiod
745*3d8817e4Smiod2003-10-29  Daniel Jacobowitz  <drow@mvista.com>
746*3d8817e4Smiod
747*3d8817e4Smiod	* elf32-arm.h (elf32_arm_final_link_relocate): Move check for
748*3d8817e4Smiod	SEC_ALLOC.
749*3d8817e4Smiod
750*3d8817e4Smiod2003-10-29  Philip Blundell  <philb@gnu.org>
751*3d8817e4Smiod
752*3d8817e4Smiod	* elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New
753*3d8817e4Smiod	code sequence.
754*3d8817e4Smiod	(PLT_HEADER_SIZE): New.
755*3d8817e4Smiod	(struct elf32_arm_pcrel_relocs_copied): Rename to ...
756*3d8817e4Smiod	(struct elf32_arm_relocs_copied): ... this.  Count both
757*3d8817e4Smiod	pcrel and non-pcrel relocs.  All uses updated.
758*3d8817e4Smiod	(struct elf32_arm_link_hash_table): Add pointers to dynamic linker
759*3d8817e4Smiod	sections and symbol/section mapping cache.
760*3d8817e4Smiod	(create_got_section): New.
761*3d8817e4Smiod	(elf32_arm_create_dynamic_sections): New.
762*3d8817e4Smiod	(elf_backend_create_dynamic_sections): Use it.
763*3d8817e4Smiod	(elf32_arm_final_link_relocate): Support garbage collection of relocs.
764*3d8817e4Smiod	(elf32_arm_check_relocs): Likewise.
765*3d8817e4Smiod	(elf32_arm_adjust_dynamic_symbol): Likewise.
766*3d8817e4Smiod	(elf32_arm_copy_indirect_symbol): New.
767*3d8817e4Smiod	(elf32_arm_link_hash_table_create): Initialise new fields.
768*3d8817e4Smiod	(elf32_arm_gc_sweep_hook): Implement.
769*3d8817e4Smiod	(elf32_arm_discard_copies): Delete.
770*3d8817e4Smiod	(elf32_arm_finish_dynamic_symbol): Use new PLT code.
771*3d8817e4Smiod	(elf32_arm_finish_dynamic_sections): Likewise.
772*3d8817e4Smiod	(elf_backend_can_refcount): Define.
773*3d8817e4Smiod	(elf_backend_copy_indirect_symbol): Likewise.
774*3d8817e4Smiod	(elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
775*3d8817e4Smiod
776*3d8817e4Smiod2003-10-29  Alan Modra  <amodra@bigpond.net.au>
777*3d8817e4Smiod
778*3d8817e4Smiod	* elf64-ppc.c (elf_backend_grok_prstatus): Define.
779*3d8817e4Smiod	(elf_backend_grok_psinfo): Define.
780*3d8817e4Smiod	(ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
781*3d8817e4Smiod
782*3d8817e4Smiod	* elf.c (_bfd_elfcore_make_pseudosection): Allow multiple
783*3d8817e4Smiod	sections with the same name.
784*3d8817e4Smiod	(elfcore_grok_lwpstatus): Likewise.
785*3d8817e4Smiod	(elfcore_grok_win32pstatus): Likewise.
786*3d8817e4Smiod	(elfcore_grok_note): Likewise.
787*3d8817e4Smiod	(elfcore_grok_nto_status): Likewise.
788*3d8817e4Smiod	(elfcore_grok_nto_gregs): Likewise.
789*3d8817e4Smiod
790*3d8817e4Smiod2003-10-27  Daniel Jacobowitz  <drow@mvista.com>
791*3d8817e4Smiod
792*3d8817e4Smiod	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
793*3d8817e4Smiod	objects.
794*3d8817e4Smiod
795*3d8817e4Smiod2003-10-14  Richard Sandiford  <rsandifo@redhat.com>
796*3d8817e4Smiod
797*3d8817e4Smiod	* elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
798*3d8817e4Smiod
799*3d8817e4Smiod2003-10-24  H.J. Lu  <hongjiu.lu@intel.com>
800*3d8817e4Smiod
801*3d8817e4Smiod	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
802*3d8817e4Smiod	hash table for real symbols.
803*3d8817e4Smiod
804*3d8817e4Smiod2003-10-23  Michael Snyder  <msnyder@redhat.com>
805*3d8817e4Smiod
806*3d8817e4Smiod	* section.c (asection): Fix typo in comment.
807*3d8817e4Smiod
808*3d8817e4Smiod2003-10-23  Alan Modra  <amodra@bigpond.net.au>
809*3d8817e4Smiod
810*3d8817e4Smiod	* elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc
811*3d8817e4Smiod	reloc symbol index to it.  Don't allow gd syms in shared libs
812*3d8817e4Smiod	to be optimized.
813*3d8817e4Smiod	(ppc64_elf_tls_optimize): Adjust get_tls_mask call.
814*3d8817e4Smiod	(ppc64_elf_size_stubs): Likewise.
815*3d8817e4Smiod	(ppc64_elf_relocate_section): Check that tls relocs are only used
816*3d8817e4Smiod	with tls syms, and similarly for non-tls.  Correct symbol used
817*3d8817e4Smiod	when optimizing toc tls code.
818*3d8817e4Smiod
819*3d8817e4Smiod2003-10-22  Nick Clifton  <nickc@redhat.com>
820*3d8817e4Smiod
821*3d8817e4Smiod	* peicode.h (coff_swap_scnhdr_in): Only remove padding when
822*3d8817e4Smiod	processing an executable.
823*3d8817e4Smiod
824*3d8817e4Smiod2003-10-22  Jakub Jelinek  <jakub@redhat.com>
825*3d8817e4Smiod
826*3d8817e4Smiod	* elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
827*3d8817e4Smiod	field changes.
828*3d8817e4Smiod	(_bfd_elf_link_assign_sym_version): Likewise.
829*3d8817e4Smiod	* elflink.h (size_dynamic_sections): Likewise.
830*3d8817e4Smiod
831*3d8817e4Smiod2003-10-21  Alexandre Oliva  <aoliva@redhat.com>,
832*3d8817e4Smiod	    Michael Snyder  <msnyder@redhat.com>
833*3d8817e4Smiod
834*3d8817e4Smiod	* archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu,
835*3d8817e4Smiod	bfd_mach_sh4a_nofpu): New machine types.
836*3d8817e4Smiod	* bfd-in2.h: Rebuilt.
837*3d8817e4Smiod	* cpu-sh.c (compatible): Remove unused function.
838*3d8817e4Smiod	(SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New.
839*3d8817e4Smiod	(arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu.
840*3d8817e4Smiod	* elf32-sh.c (sh_elf_set_mach_from_flags): Handle them.
841*3d8817e4Smiod
842*3d8817e4Smiod2003-10-21  Wouter van Heyst <wouter@vidicode.nl>
843*3d8817e4Smiod
844*3d8817e4Smiod	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text
845*3d8817e4Smiod	describing mismatched formats involving the Maverick FP type.
846*3d8817e4Smiod
847*3d8817e4Smiod2003-10-21  Anil Paranjpe  <anilp1@KPITCummins.com>
848*3d8817e4Smiod
849*3d8817e4Smiod	* binary.c (binary_object_p): Pass machine flag along with
850*3d8817e4Smiod	architecture.
851*3d8817e4Smiod
852*3d8817e4Smiod2003-10-21  Thorsten Brehm  <brehm@gmx.net>
853*3d8817e4Smiod
854*3d8817e4Smiod	* archures.c (bfd_default_scan): Add support for mcf528x.
855*3d8817e4Smiod	* ieee.c (ieee_write_processor): Likewise.
856*3d8817e4Smiod
857*3d8817e4Smiod2003-10-21  Peter Barada  <pbarada@mail.wm.sps.mot.com>
858*3d8817e4Smiod	    Bernardo Innocenti  <bernie@develer.com>
859*3d8817e4Smiod
860*3d8817e4Smiod	* archures.c: Add MCF528x (MCFv4) support.
861*3d8817e4Smiod	* bfd/cpu-m68k.c (arch_info_struct): Likewise.
862*3d8817e4Smiod	* bfd-in2.h: Regenerate.
863*3d8817e4Smiod
864*3d8817e4Smiod2003-10-20  Andrew Cagney  <cagney@redhat.com>
865*3d8817e4Smiod
866*3d8817e4Smiod	* targets.c: Replace "struct sec" with "struct bfd_section"
867*3d8817e4Smiod	* syms.c, sparclynx.c, section.c, opncls.c: Ditto.
868*3d8817e4Smiod	* libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
869*3d8817e4Smiod	* elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
870*3d8817e4Smiod	* aout-tic30.c, aout-target.h:
871*3d8817e4Smiod	* bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
872*3d8817e4Smiod
873*3d8817e4Smiod2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
874*3d8817e4Smiod
875*3d8817e4Smiod	Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs.
876*3d8817e4Smiod	* elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro.
877*3d8817e4Smiod	(struct _mmix_elf_section_data): New member pjs.
878*3d8817e4Smiod	(mmix_set_relaxable_size, mmix_elf_get_section_contents): New
879*3d8817e4Smiod	functions.
880*3d8817e4Smiod	(elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE.
881*3d8817e4Smiod	(mmix_reloc_map): Ditto.
882*3d8817e4Smiod	(mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE.
883*3d8817e4Smiod	(mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto.
884*3d8817e4Smiod	(mmix_elf_perform_relocation): Ditto.  Don't mark parameter addr
885*3d8817e4Smiod	unused.
886*3d8817e4Smiod	(mmix_elf_check_relocs): Move early return to after
887*3d8817e4Smiod	mmix_elf_check_common_relocs call.
888*3d8817e4Smiod	(mmix_elf_symbol_processing): Fix cut-and-pasto in head comment.
889*3d8817e4Smiod	(_bfd_mmix_before_linker_allocation): Rename from
890*3d8817e4Smiod	_bfd_mmix_prepare_linker_allocated_gregs.  All referers changed.
891*3d8817e4Smiod	Arrange to set the initial relaxable size of sections.
892*3d8817e4Smiod	(_bfd_mmix_after_linker_allocation): Rename from
893*3d8817e4Smiod	_bfd_mmix_finalize_linker_allocated_gregs.
894*3d8817e4Smiod	(mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc.
895*3d8817e4Smiod	(bfd_elf64_get_section_contents): Define.
896*3d8817e4Smiod	* reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
897*3d8817e4Smiod	* libbfd.h, bfd-in2.h: Regenerate.
898*3d8817e4Smiod
899*3d8817e4Smiod	* reloc.c (bfd_generic_relax_section): Default-set
900*3d8817e4Smiod	section->_cooked_size here.
901*3d8817e4Smiod	(bfd_generic_get_relocated_section_contents): Don't set it here.
902*3d8817e4Smiod	Explain why.
903*3d8817e4Smiod
904*3d8817e4Smiod2003-10-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
905*3d8817e4Smiod
906*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if
907*3d8817e4Smiod	output section has been discarded.
908*3d8817e4Smiod
909*3d8817e4Smiod2003-10-17  Shrinivas Atre  <shrinivasa@KPITCummins.com>
910*3d8817e4Smiod
911*3d8817e4Smiod	* coff-h8300.c (funcvec_hash_newfunc): Handle normal mode.
912*3d8817e4Smiod	(h8300_reloc16_extra_cases): Likewise.
913*3d8817e4Smiod	(h8300_bfd_link_add_symbols): Likewise.
914*3d8817e4Smiod
915*3d8817e4Smiod2003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
916*3d8817e4Smiod
917*3d8817e4Smiod	* cpu-h8300.c (h8300sxn_info_struct): Correct address size.
918*3d8817e4Smiod	(h8300sn_info_struct): Likewise.
919*3d8817e4Smiod	(h8300hn_info_struct): Likewise.
920*3d8817e4Smiod
921*3d8817e4Smiod2003-10-16  Pavel Roskin  <proski@gnu.org>
922*3d8817e4Smiod
923*3d8817e4Smiod	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size
924*3d8817e4Smiod	for sections which lack size info.
925*3d8817e4Smiod
926*3d8817e4Smiod2003-10-17  Danny Smith  <dannysmith@users.sourceforge.net>
927*3d8817e4Smiod
928*3d8817e4Smiod	* configure.host: Add __USE_MINGW_FSEEK to HDEFINES for
929*3d8817e4Smiod	 mingw32.
930*3d8817e4Smiod
931*3d8817e4Smiod2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
932*3d8817e4Smiod
933*3d8817e4Smiod	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn
934*3d8817e4Smiod	undefined patterns with '*'.
935*3d8817e4Smiod
936*3d8817e4Smiod2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
937*3d8817e4Smiod
938*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't
939*3d8817e4Smiod	use the last CIE from a different section.
940*3d8817e4Smiod	(_bfd_elf_write_section_eh_frame): Don't pad beyond the raw
941*3d8817e4Smiod	size of the output section.
942*3d8817e4Smiod
943*3d8817e4Smiod2003-10-07  Roland McGrath  <roland@redhat.com>
944*3d8817e4Smiod
945*3d8817e4Smiod	* elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of
946*3d8817e4Smiod	new section from p_align header field.
947*3d8817e4Smiod
948*3d8817e4Smiod2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
949*3d8817e4Smiod
950*3d8817e4Smiod	* elf32-xtensa.c (xtensa_read_table_entries): The external size
951*3d8817e4Smiod	of entry is 8 bytes.
952*3d8817e4Smiod
953*3d8817e4Smiod2003-10-15  Andrew Cagney  <cagney@redhat.com>
954*3d8817e4Smiod
955*3d8817e4Smiod	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
956*3d8817e4Smiod	with NAME##_canonicalize_symtab.
957*3d8817e4Smiod	* libcoff-in.h (coff_canonicalize_symtab): Update.
958*3d8817e4Smiod	* xsym.h (bfd_sym_canonicalize_symtab): Update.
959*3d8817e4Smiod	* elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
960*3d8817e4Smiod	* coffgen.c (coff_canonicalize_symtab): Update.
961*3d8817e4Smiod	* libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
962*3d8817e4Smiod	* libnlm.h (nlmNAME(canonicalize_symtab)): Update.
963*3d8817e4Smiod	* ieee.c (ieee_vec): Update comment.
964*3d8817e4Smiod	* libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
965*3d8817e4Smiod	* mmo.c (mmo_canonicalize_symtab): Update.
966*3d8817e4Smiod	* nlm-target.h (nlm_canonicalize_symtab): Update.
967*3d8817e4Smiod	* nlmcode.h (nlm_canonicalize_symtab): Update.
968*3d8817e4Smiod	* i386msdos.c (msdos_canonicalize_symtab): Update.
969*3d8817e4Smiod	* hp300hpux.c (MY (canonicalize_symtab)): Update.
970*3d8817e4Smiod	* oasys.c (oasys_canonicalize_symtab): Update.
971*3d8817e4Smiod	* som.c (som_canonicalize_symtab): Update.
972*3d8817e4Smiod	* pef.c (bfd_pef_canonicalize_symtab): Update.
973*3d8817e4Smiod	* nlmcode.h (nlm_canonicalize_symtab): Update.
974*3d8817e4Smiod	* xsym.c (bfd_sym_canonicalize_symtab): Update.
975*3d8817e4Smiod	* vms.c (vms_canonicalize_symtab): Update.
976*3d8817e4Smiod	* versados.c (versados_canonicalize_symtab): Update.
977*3d8817e4Smiod	* mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
978*3d8817e4Smiod	* ieee.c (ieee_canonicalize_symtab): Update.
979*3d8817e4Smiod	* pdp11.c (NAME(aout,canonicalize_symtab)): Update.
980*3d8817e4Smiod	* reloc.c: Update comment.
981*3d8817e4Smiod	* libaout.h (NAME(aout,canonicalize_symtab)): Update.
982*3d8817e4Smiod	* coff64-rs6000.c (aix5coff64_vec): Update.
983*3d8817e4Smiod	* coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
984*3d8817e4Smiod	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
985*3d8817e4Smiod	* aoutx.h (NAME(aout,canonicalize_symtab)): Update.
986*3d8817e4Smiod	* elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
987*3d8817e4Smiod	* hp300hpux.c (MY_canonicalize_symtab): Update.
988*3d8817e4Smiod	* ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
989*3d8817e4Smiod	* aout-tic30.c (MY_canonicalize_symtab): Update.
990*3d8817e4Smiod	* aout-target.h (MY_canonicalize_symtab): Update.
991*3d8817e4Smiod	* ppcboot.c (ppcboot_canonicalize_symtab): Update.
992*3d8817e4Smiod	* elf.c (_bfd_elf_canonicalize_symtab): Update.
993*3d8817e4Smiod	* elfcode.h (elf_canonicalize_symtab): Update.
994*3d8817e4Smiod	* ihex.c (ihex_canonicalize_symtab): Update.
995*3d8817e4Smiod	* tekhex.c (tekhex_canonicalize_symtab): Update.
996*3d8817e4Smiod	* binary.c (binary_canonicalize_symtab): Update.
997*3d8817e4Smiod	* srec.c (srec_canonicalize_symtab): Update.
998*3d8817e4Smiod
999*3d8817e4Smiod2003-10-15  Kazu Hirata  <kazu@cs.umass.edu>
1000*3d8817e4Smiod
1001*3d8817e4Smiod	* elf32-h8300.c (elf_reloc_map): Fix a comment typo.
1002*3d8817e4Smiod
1003*3d8817e4Smiod2003-10-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1004*3d8817e4Smiod
1005*3d8817e4Smiod	* elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
1006*3d8817e4Smiod	relocations.
1007*3d8817e4Smiod	(sh_elf_check_relocs): Likewise.
1008*3d8817e4Smiod
1009*3d8817e4Smiod	* elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
1010*3d8817e4Smiod	(sh64_elf_merge_symbol_attribute): New.
1011*3d8817e4Smiod	* elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
1012*3d8817e4Smiod	(sh64_elf64_merge_symbol_attribute): New.
1013*3d8817e4Smiod
1014*3d8817e4Smiod2003-10-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1015*3d8817e4Smiod
1016*3d8817e4Smiod	* elf-bfd.h (struct elf_backend_data): New function pointer member
1017*3d8817e4Smiod	elf_backend_merge_symbol_attribute.
1018*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Adjust call to
1019*3d8817e4Smiod	elf_backend_merge_symbol_attribute if the backend defined it.
1020*3d8817e4Smiod	* elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
1021*3d8817e4Smiod	(elfNN_bed): Add that to the initializer.
1022*3d8817e4Smiod
1023*3d8817e4Smiod2003-10-14  Bob Wilson  <bob.wilson@acm.org>
1024*3d8817e4Smiod
1025*3d8817e4Smiod	* elf32-xtensa.c (get_is_linkonce_section): Delete.
1026*3d8817e4Smiod	(xtensa_is_property_section, xtensa_is_littable_section): Use
1027*3d8817e4Smiod	XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros.  Do not recognize
1028*3d8817e4Smiod	linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
1029*3d8817e4Smiod	(xtensa_get_property_section_name): Check section name instead of
1030*3d8817e4Smiod	calling get_is_linkonce_section.  Remove unused bfd parameter.  Use
1031*3d8817e4Smiod	XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros.  Never generate
1032*3d8817e4Smiod	linkonce section names by appending ".xt.insn" or ".xt.lit".
1033*3d8817e4Smiod	(xtensa_read_table_entries): Remove bfd argument in call to
1034*3d8817e4Smiod	xtensa_get_property_section_name.  Free section name when done.
1035*3d8817e4Smiod	(elf_xtensa_combine_prop_entries): Free leaking table.
1036*3d8817e4Smiod
1037*3d8817e4Smiod2003-10-13  Richard Sandiford  <rsandifo@redht.com>
1038*3d8817e4Smiod
1039*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
1040*3d8817e4Smiod	DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
1041*3d8817e4Smiod	(_bfd_mips_elf_finish_dynamic_symbol): Don't handle them.  Don't
1042*3d8817e4Smiod	handle DT_MIPS_MSYM.  Set DT_RELSZ based on the number of relocations
1043*3d8817e4Smiod	that were needed.
1044*3d8817e4Smiod	(_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
1045*3d8817e4Smiod	(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
1046*3d8817e4Smiod
1047*3d8817e4Smiod2003-10-13  H.J. Lu  <hongjiu.lu@intel.com>
1048*3d8817e4Smiod
1049*3d8817e4Smiod	* bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
1050*3d8817e4Smiod	(bfd_elf64_ia64_after_parse): Likewise.
1051*3d8817e4Smiod	* bfd-in2.h: Regenerated.
1052*3d8817e4Smiod
1053*3d8817e4Smiod	* elfxx-ia64.c (oor_ip): New.
1054*3d8817e4Smiod	(oor_branch_size): Likewise.
1055*3d8817e4Smiod	(bfd_elfNN_ia64_after_parse): Likewise.
1056*3d8817e4Smiod	(elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
1057*3d8817e4Smiod	equals sizeof (oor_ip).
1058*3d8817e4Smiod
1059*3d8817e4Smiod2003-10-12  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1060*3d8817e4Smiod
1061*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
1062*3d8817e4Smiod	renumbering of some relocation numbers.
1063*3d8817e4Smiod
1064*3d8817e4Smiod2003-10-11  Alan Modra  <amodra@bigpond.net.au>
1065*3d8817e4Smiod
1066*3d8817e4Smiod	* coff-sh.c: Move definition of MAP and guard more code with
1067*3d8817e4Smiod	COFF_IMAGE_WITH_PE.
1068*3d8817e4Smiod
1069*3d8817e4Smiod	* section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
1070*3d8817e4Smiod	* bfd-in2.h: Regenerate.
1071*3d8817e4Smiod
1072*3d8817e4Smiod2003-10-10  H.J. Lu  <hongjiu.lu@intel.com>
1073*3d8817e4Smiod
1074*3d8817e4Smiod	* Makefile.am: Run "make dep-am".
1075*3d8817e4Smiod	* Makefile.in: Regenerate.
1076*3d8817e4Smiod	* doc/Makefile.in: Likewise.
1077*3d8817e4Smiod
1078*3d8817e4Smiod2003-10-09  H.J. Lu  <hongjiu.lu@intel.com>
1079*3d8817e4Smiod
1080*3d8817e4Smiod	* cofflink.c: Include "safe-ctype.h".
1081*3d8817e4Smiod	(coff_link_add_symbols): Use ISDIGIT instead of isdigit.
1082*3d8817e4Smiod
1083*3d8817e4Smiod2003-10-08  Dave Brolley  <brolley@redhat.com>
1084*3d8817e4Smiod	On behalf of Michael Snyder  <msnyder@redhat.com>
1085*3d8817e4Smiod
1086*3d8817e4Smiod	* archures.c: Add FRV fr550 machine.
1087*3d8817e4Smiod	* cpu-frv.c: Ditto.
1088*3d8817e4Smiod	* elf32-frv.c: Ditto.
1089*3d8817e4Smiod	* bfd-in2.h: Regenerate.
1090*3d8817e4Smiod
1091*3d8817e4Smiod2003-10-08  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1092*3d8817e4Smiod
1093*3d8817e4Smiod	* elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
1094*3d8817e4Smiod	for non-SGI N64 ABI. Improve code consitency.
1095*3d8817e4Smiod
1096*3d8817e4Smiod2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
1097*3d8817e4Smiod
1098*3d8817e4Smiod	* elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
1099*3d8817e4Smiod	rightshift to 2.
1100*3d8817e4Smiod
1101*3d8817e4Smiod2003-10-07  Nathan Sidwell  <nathan@codesourcery.com>
1102*3d8817e4Smiod
1103*3d8817e4Smiod	* libbfd-in.h (_bfd_link_section_stabs): Add string offset
1104*3d8817e4Smiod	parameter.
1105*3d8817e4Smiod	* cofflink.c (coff_link_add_symbols): Deal with split stab
1106*3d8817e4Smiod	sections.
1107*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Deal with split stab
1108*3d8817e4Smiod	sections.
1109*3d8817e4Smiod	* stabs.c (_bfd_link_section_stabs): Add string offset parameter.
1110*3d8817e4Smiod	* libbfd.h: Regenerated.
1111*3d8817e4Smiod
1112*3d8817e4Smiod	* coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
1113*3d8817e4Smiod	overflow, set reloc start position to after the count
1114*3d8817e4Smiod	reloc. Subtract one from num relocs. Give error on 0xffff relocs
1115*3d8817e4Smiod	and no overflow.
1116*3d8817e4Smiod	* cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
1117*3d8817e4Smiod	overflow.
1118*3d8817e4Smiod	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
1119*3d8817e4Smiod	0xffff.
1120*3d8817e4Smiod
1121*3d8817e4Smiod2003-10-06  H.J. Lu  <hongjiu.lu@intel.com>
1122*3d8817e4Smiod
1123*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
1124*3d8817e4Smiod	last CIE/FDE if needed.
1125*3d8817e4Smiod
1126*3d8817e4Smiod2003-10-06  Nick Clifton  <nickc@redhat.com>
1127*3d8817e4Smiod
1128*3d8817e4Smiod	* targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
1129*3d8817e4Smiod	BFD64 is enabled.
1130*3d8817e4Smiod
1131*3d8817e4Smiod2003-10-06  Matt Thomas <matt@3am-software.com>
1132*3d8817e4Smiod
1133*3d8817e4Smiod	* config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
1134*3d8817e4Smiod
1135*3d8817e4Smiod2003-10-06  Robert Millan  <robertmh@gnu.org>
1136*3d8817e4Smiod
1137*3d8817e4Smiod	* configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
1138*3d8817e4Smiod	* config.bfd: Likewise.
1139*3d8817e4Smiod	* configure: Regenerate.
1140*3d8817e4Smiod
1141*3d8817e4Smiod2003-10-04  Christian Groessler  <chris@groessler.org>
1142*3d8817e4Smiod
1143*3d8817e4Smiod	* coff-z8k.c (extra_case): Fix displacement length check for R_JR
1144*3d8817e4Smiod	and R_CALLR.
1145*3d8817e4Smiod
1146*3d8817e4Smiod2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
1147*3d8817e4Smiod
1148*3d8817e4Smiod	* elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
1149*3d8817e4Smiod	* elf32-m68hc11.c: Likewise.
1150*3d8817e4Smiod	* elf32-m68hc12.c: Likewise.
1151*3d8817e4Smiod	* elf32-m68hc1x.h: Likewise.
1152*3d8817e4Smiod
1153*3d8817e4Smiod2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
1154*3d8817e4Smiod
1155*3d8817e4Smiod	* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
1156*3d8817e4Smiod	of flags between HC12 and HCS12.
1157*3d8817e4Smiod
1158*3d8817e4Smiod2003-10-04  Bryce McKinlay  <bryce@mckinlay.net.nz>
1159*3d8817e4Smiod
1160*3d8817e4Smiod	* merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
1161*3d8817e4Smiod	which become empty after merging.
1162*3d8817e4Smiod
1163*3d8817e4Smiod2003-09-30  Jakub Jelinek  <jakub@redhat.com>
1164*3d8817e4Smiod
1165*3d8817e4Smiod	* elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
1166*3d8817e4Smiod	R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
1167*3d8817e4Smiod
1168*3d8817e4Smiod2003-09-30  Chris Demetriou  <cgd@broadcom.com>
1169*3d8817e4Smiod
1170*3d8817e4Smiod	* archures.c (bfd_mach_mipsisa64r2): New define.
1171*3d8817e4Smiod	* bfd-in2.h: Regenerate.
1172*3d8817e4Smiod	* aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
1173*3d8817e4Smiod	* cpu-mips.c (I_mipsisa64r2): New enum value.
1174*3d8817e4Smiod	(arch_info_struct): Add entry for I_mipsisa64r2.
1175*3d8817e4Smiod	* elfxx-mips.c (_bfd_elf_mips_mach)
1176*3d8817e4Smiod	(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
1177*3d8817e4Smiod	(mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
1178*3d8817e4Smiod	(mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
1179*3d8817e4Smiod
1180*3d8817e4Smiod2003-09-29  H.J. Lu  <hongjiu.lu@intel.com>
1181*3d8817e4Smiod
1182*3d8817e4Smiod	* elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
1183*3d8817e4Smiod	Handle SHN_IA_64_ANSI_COMMON.
1184*3d8817e4Smiod	(elf_backend_section_from_bfd_section): Defined.
1185*3d8817e4Smiod
1186*3d8817e4Smiod2003-09-26  H.J. Lu  <hongjiu.lu@intel.com>
1187*3d8817e4Smiod
1188*3d8817e4Smiod	* elflink.c (elf_link_read_relocs_from_section): Add an argument
1189*3d8817e4Smiod	of a pointer to section. Check bad symbol index.
1190*3d8817e4Smiod	(_bfd_elf_link_read_relocs): Modify calls to
1191*3d8817e4Smiod	elf_link_read_relocs_from_section.
1192*3d8817e4Smiod
1193*3d8817e4Smiod2003-09-23  DJ Delorie  <dj@redhat.com>
1194*3d8817e4Smiod
1195*3d8817e4Smiod	* elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
1196*3d8817e4Smiod	R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
1197*3d8817e4Smiod	R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
1198*3d8817e4Smiod	R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
1199*3d8817e4Smiod	R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
1200*3d8817e4Smiod	R_SH_PSHA, R_SH_PSHL added.
1201*3d8817e4Smiod	(sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
1202*3d8817e4Smiod	(sh_elf_relocate_section): Support new relocs.
1203*3d8817e4Smiod
1204*3d8817e4Smiod2003-09-23  Bob Wilson  <bob.wilson@acm.org>
1205*3d8817e4Smiod
1206*3d8817e4Smiod	* elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
1207*3d8817e4Smiod	dynamic relocation offsets.
1208*3d8817e4Smiod
1209*3d8817e4Smiod2003-09-23  Alan Modra  <amodra@bigpond.net.au>
1210*3d8817e4Smiod
1211*3d8817e4Smiod	* simple.c (bfd_simple_get_relocated_section_contents): Free the
1212*3d8817e4Smiod	hash table using _bfd_generic_link_hash_table_free.
1213*3d8817e4Smiod
1214*3d8817e4Smiod2003-09-23  Alan Modra  <amodra@bigpond.net.au>
1215*3d8817e4Smiod
1216*3d8817e4Smiod	* elf-bfd.h (struct bfd_elf_special_section): Remove "suffix".  Change
1217*3d8817e4Smiod	type of prefix_length and suffix_length to int.  Rename "attributes"
1218*3d8817e4Smiod	to "attr".  Comment.
1219*3d8817e4Smiod	(_bfd_elf_get_sec_type_attr): Update prototype.
1220*3d8817e4Smiod	* elf.c (get_special_section): Rewrite.
1221*3d8817e4Smiod	(_bfd_elf_get_sec_type_attr): Return struct rather than passing in
1222*3d8817e4Smiod	attr and type pointers.
1223*3d8817e4Smiod	(_bfd_elf_new_section_hook): Adjust for above.
1224*3d8817e4Smiod	(special_sections): Merge suffix with prefix.  Set
1225*3d8817e4Smiod	prefix_length for all entries.  Set suffix_length appropriately.
1226*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_special_sections): Likewise.
1227*3d8817e4Smiod	* elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
1228*3d8817e4Smiod	* elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
1229*3d8817e4Smiod	* elf32-mcore.c (mcore_elf_special_sections): Likewise.
1230*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_special_sections): Likewise.
1231*3d8817e4Smiod	* elf32-v850.c (v850_elf_special_sections): Likewise.
1232*3d8817e4Smiod	* elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
1233*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_special_sections): Likewise.
1234*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_special_sections): Likewise.
1235*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_special_sections): Likewise.
1236*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_special_sections): Likewise.
1237*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
1238*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
1239*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_special_sections): Likewise.  Fix .plt flags.
1240*3d8817e4Smiod
1241*3d8817e4Smiod2003-09-21  Daniel Jacobowitz  <drow@mvista.com>
1242*3d8817e4Smiod
1243*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_create_got_section): Initialize
1244*3d8817e4Smiod	->got if the section already exists.
1245*3d8817e4Smiod
1246*3d8817e4Smiod2003-09-19  Nathan Sidwell  <nathan@codesourcery.com>
1247*3d8817e4Smiod
1248*3d8817e4Smiod	* dwarf2.c (decode_line_info): Cope with an initially empty
1249*3d8817e4Smiod	filename table.
1250*3d8817e4Smiod
1251*3d8817e4Smiod2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
1252*3d8817e4Smiod
1253*3d8817e4Smiod	* acinclude.m4: Include ../config/accross.m4.
1254*3d8817e4Smiod	* aclocal.m4: Regenerated.
1255*3d8817e4Smiod
1256*3d8817e4Smiod	* configure.host (HOST_64BIT_TYPE): Remove if it is set to long
1257*3d8817e4Smiod	or long long.
1258*3d8817e4Smiod	(HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
1259*3d8817e4Smiod	(host64): Remove if HOST_64BIT_TYPE is set to long.
1260*3d8817e4Smiod
1261*3d8817e4Smiod	* configure.in (HOST_64BIT_TYPE): Set according to the size of
1262*3d8817e4Smiod	long and long long.
1263*3d8817e4Smiod	(HOST_U_64BIT_TYPE): Likewise.
1264*3d8817e4Smiod	(host64): Likewise.
1265*3d8817e4Smiod	* configure: Regenerated.
1266*3d8817e4Smiod
1267*3d8817e4Smiod2003-09-19  Alan Modra  <amodra@bigpond.net.au>
1268*3d8817e4Smiod
1269*3d8817e4Smiod	* elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
1270*3d8817e4Smiod	since some ABIs round up the size of the struct.
1271*3d8817e4Smiod
1272*3d8817e4Smiod2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
1273*3d8817e4Smiod
1274*3d8817e4Smiod	* elflink.c (_bfd_elf_merge_symbol): Allow type change if
1275*3d8817e4Smiod	the old symbol is undefined and the new symbol is defined.
1276*3d8817e4Smiod
1277*3d8817e4Smiod2003-09-18  Andreas Schwab  <schwab@suse.de>
1278*3d8817e4Smiod
1279*3d8817e4Smiod	* simple.c (bfd_simple_get_relocated_section_contents): Use
1280*3d8817e4Smiod	_bfd_generic_link_hash_table_create instead of
1281*3d8817e4Smiod	bfd_link_hash_table_create.
1282*3d8817e4Smiod
1283*3d8817e4Smiod2003-09-10  H.J. Lu  <hongjiu.lu@intel.com>
1284*3d8817e4Smiod
1285*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
1286*3d8817e4Smiod	started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
1287*3d8817e4Smiod
1288*3d8817e4Smiod2003-09-10  John David Anglin	<dave.anglin@nrc-cnrc.nrc.ca>
1289*3d8817e4Smiod	    Randolph Chung	<randolph@tausq.org>
1290*3d8817e4Smiod
1291*3d8817e4Smiod	* elf32-hppa.c (struct elf32_hppa_link_hash_entry,
1292*3d8817e4Smiod	hppa_link_hash_newfunc, hppa_build_one_stub,
1293*3d8817e4Smiod	elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
1294*3d8817e4Smiod	allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
1295*3d8817e4Smiod	elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
1296*3d8817e4Smiod	for generating import stubs for calls to statically linked PIC
1297*3d8817e4Smiod	functions.
1298*3d8817e4Smiod	(hppa_type_of_stub): Don't generate an import stub for calls to
1299*3d8817e4Smiod	statically linked pic functions.  Generate import stubs for calls
1300*3d8817e4Smiod	in a shared object, to functions not in a regular file, and to
1301*3d8817e4Smiod	defined weak functions.  Add new argument INFO.
1302*3d8817e4Smiod	(hppa_build_one_stub): Don't undef ADDIL_DP.
1303*3d8817e4Smiod	(elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
1304*3d8817e4Smiod	(elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
1305*3d8817e4Smiod	(final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
1306*3d8817e4Smiod	non-shared link.  Convert instructions that use the the linkage table
1307*3d8817e4Smiod	pointer, or a facsimile thereof, to use the global data pointer when
1308*3d8817e4Smiod	the reloc has been changed.
1309*3d8817e4Smiod
1310*3d8817e4Smiod2003-09-08  Joel Brobecker  <brobecker@gnat.com>
1311*3d8817e4Smiod
1312*3d8817e4Smiod	* archures.c: Add new machine names for hppa.
1313*3d8817e4Smiod	* bfd-in2.h: Regenerate.
1314*3d8817e4Smiod	* cpu-hppa.c: Use the new machine names.
1315*3d8817e4Smiod
1316*3d8817e4Smiod2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
1317*3d8817e4Smiod
1318*3d8817e4Smiod	* elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
1319*3d8817e4Smiod	all_local_syms member.
1320*3d8817e4Smiod	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
1321*3d8817e4Smiod	to get the local symbols.
1322*3d8817e4Smiod
1323*3d8817e4Smiod2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
1324*3d8817e4Smiod
1325*3d8817e4Smiod	* elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
1326*3d8817e4Smiod	(elf_backend_special_sections): Define.a
1327*3d8817e4Smiod
1328*3d8817e4Smiod	PR savannah/4950:
1329*3d8817e4Smiod	* elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
1330*3d8817e4Smiod	section is read-only.
1331*3d8817e4Smiod
1332*3d8817e4Smiod2003-09-04  Nick Clifton  <nickc@redhat.com>
1333*3d8817e4Smiod
1334*3d8817e4Smiod	* archures.c (bfd_mach_v850e1): Define.
1335*3d8817e4Smiod	* bfd-in2.h: Regenerate.
1336*3d8817e4Smiod	* cpu-v850.h (scan): Accept bfd_mach_v850e1.
1337*3d8817e4Smiod	(arch_info_struct): Include an entry for bfd_mach_v850e1.
1338*3d8817e4Smiod	* elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
1339*3d8817e4Smiod	(v850_elf_final_write_processing): Accept bfd_mach_v850e1.
1340*3d8817e4Smiod	(v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
1341*3d8817e4Smiod	(v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
1342*3d8817e4Smiod	linked with v850e binaries.  Mark the output as v850e.
1343*3d8817e4Smiod
1344*3d8817e4Smiod2003-09-03  Nick Clifton  <nickc@redhat.com>
1345*3d8817e4Smiod
1346*3d8817e4Smiod	* cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
1347*3d8817e4Smiod	symbols that are used in relocs.
1348*3d8817e4Smiod
1349*3d8817e4Smiod2003-08-30  Robert Millan  <robertmh@gnu.org>
1350*3d8817e4Smiod
1351*3d8817e4Smiod	* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
1352*3d8817e4Smiod	* config.bfd: Likewise.
1353*3d8817e4Smiod	* configure: Regenerate.
1354*3d8817e4Smiod
1355*3d8817e4Smiod2003-08-31  Christian Groessler  <chris@groessler.org>
1356*3d8817e4Smiod
1357*3d8817e4Smiod	* elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
1358*3d8817e4Smiod	instead of returning bfd_reloc_continue.
1359*3d8817e4Smiod
1360*3d8817e4Smiod2003-08-31  Andreas Jaeger  <aj@suse.de>
1361*3d8817e4Smiod
1362*3d8817e4Smiod	* merge.c: Update to ISO C90.
1363*3d8817e4Smiod
1364*3d8817e4Smiod2003-08-27  Ian Lance Taylor  <ian@airs.com>
1365*3d8817e4Smiod
1366*3d8817e4Smiod	* configure.in: Check for strtoull.
1367*3d8817e4Smiod	* bfd.c (bfd_scan_vma): Use strtoull when available.
1368*3d8817e4Smiod	* configure, config.in: Regenerate.
1369*3d8817e4Smiod
1370*3d8817e4Smiod	* configure.in: Define and substitute BFD_HOST_LONG_LONG.
1371*3d8817e4Smiod	* bfd-in.h: Define BFD_HOST_LONG_LONG.  Test it rather than
1372*3d8817e4Smiod	__GNUC__ when deciding whether to use long long for
1373*3d8817e4Smiod	BFD_HOST_64_BIT.
1374*3d8817e4Smiod	* configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
1375*3d8817e4Smiod
1376*3d8817e4Smiod2003-08-27  Christian Groessler  <chris@groessler.org>
1377*3d8817e4Smiod
1378*3d8817e4Smiod	* elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
1379*3d8817e4Smiod	i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
1380*3d8817e4Smiod	functions.
1381*3d8817e4Smiod	(elf32_i860_howto_table): Insert the new functions as
1382*3d8817e4Smiod	'special_function's in the proper reloc type entries.
1383*3d8817e4Smiod
1384*3d8817e4Smiod2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
1385*3d8817e4Smiod
1386*3d8817e4Smiod	* elf32-frv.c (elf32_frv_relocate_section): Use
1387*3d8817e4Smiod	_bfd_elf_rela_local_sym.
1388*3d8817e4Smiod
1389*3d8817e4Smiod2003-08-26  Michael Snyder  <msnyder@redhat.com>
1390*3d8817e4Smiod
1391*3d8817e4Smiod	* cpu-frv.c: Remove unused enum.
1392*3d8817e4Smiod
1393*3d8817e4Smiod2003-08-25  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
1394*3d8817e4Smiod
1395*3d8817e4Smiod	* reloc.c: Fix documentation for MIPS ELF relocations.
1396*3d8817e4Smiod	libbfd.h: Regenerate.
1397*3d8817e4Smiod	bfd-in2.h: Regenerate.
1398*3d8817e4Smiod
1399*3d8817e4Smiod2003-08-24  Jason Eckhardt  <jle@rice.edu>
1400*3d8817e4Smiod
1401*3d8817e4Smiod	* coff-i860.c (CALC_ADDEND): Define to be a no-op.
1402*3d8817e4Smiod
1403*3d8817e4Smiod2003-08-24  Jason Eckhardt  <jle@rice.edu>
1404*3d8817e4Smiod
1405*3d8817e4Smiod	* elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
1406*3d8817e4Smiod	shift by 2 before storing the relocated value.
1407*3d8817e4Smiod
1408*3d8817e4Smiod2003-08-23  Jason Eckhardt  <jle@rice.edu>
1409*3d8817e4Smiod
1410*3d8817e4Smiod	* coff-i860.c (coff_i860_reloc_nyi): New function.
1411*3d8817e4Smiod	(howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
1412*3d8817e4Smiod	LOWn, SPLITn, and BRADDR.
1413*3d8817e4Smiod	(RTYPE2HOWTO): Check that the r_type is within the howto_table
1414*3d8817e4Smiod	before trying to access the entry.
1415*3d8817e4Smiod	(coff_i860_rtype_to_howto): Likewise.
1416*3d8817e4Smiod	(coff_i860_reloc_type_lookup): New function.
1417*3d8817e4Smiod	(i860_reloc_processing): New function.
1418*3d8817e4Smiod	(coff_bfd_reloc_type_lookup): Define macro.
1419*3d8817e4Smiod	(RELOC_PROCESSING): Define macro.
1420*3d8817e4Smiod	Minor formatting adjustments.
1421*3d8817e4Smiod
1422*3d8817e4Smiod2003-08-23  Alan Modra  <amodra@bigpond.net.au>
1423*3d8817e4Smiod
1424*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
1425*3d8817e4Smiod
1426*3d8817e4Smiod2003-08-22  H.J. Lu  <hongjiu.lu@intel.com>
1427*3d8817e4Smiod
1428*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
1429*3d8817e4Smiod	.got section at 8 bytes.
1430*3d8817e4Smiod
1431*3d8817e4Smiod2003-08-21  Nick Clifton  <nickc@redhat.com>
1432*3d8817e4Smiod
1433*3d8817e4Smiod	* cofflink.c: Update to ISO C90 and tidy up formatting.
1434*3d8817e4Smiod
1435*3d8817e4Smiod2003-08-21  Randolph Chung  <tausq@debian.org>
1436*3d8817e4Smiod
1437*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
1438*3d8817e4Smiod	can have OSABI=Linux or OSABI=SysV.  Check for both.
1439*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_object_p): Likewise.
1440*3d8817e4Smiod
1441*3d8817e4Smiod2003-08-21  Nick Clifton  <nickc@redhat.com>
1442*3d8817e4Smiod
1443*3d8817e4Smiod	* po/sv.po: Updated Swedish translation.
1444*3d8817e4Smiod
1445*3d8817e4Smiod2003-08-20  Richard Sandiford  <rsandifo@redhat.com>
1446*3d8817e4Smiod
1447*3d8817e4Smiod	* elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
1448*3d8817e4Smiod
1449*3d8817e4Smiod2003-08-20  Nick Clifton  <nickc@redhat.com>
1450*3d8817e4Smiod
1451*3d8817e4Smiod	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
1452*3d8817e4Smiod	replace some duplicated code in most elfxx-xxxx.c files.  This
1453*3d8817e4Smiod	version uses the new fields in bfd_link_info.
1454*3d8817e4Smiod
1455*3d8817e4Smiod	* elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
1456*3d8817e4Smiod	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
1457*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section): Likewise.
1458*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1459*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Likewise.
1460*3d8817e4Smiod	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1461*3d8817e4Smiod	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1462*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1463*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1464*3d8817e4Smiod	* elf32-s390.c (elf_s390_relocate_section): Likewise.
1465*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1466*3d8817e4Smiod	* elf32-vax.c (elf_vax_relocate_section): Likewise.
1467*3d8817e4Smiod	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1468*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1469*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1470*3d8817e4Smiod	* elf64-s390.c (elf_s390_relocate_section): Likewise.
1471*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1472*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1473*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1474*3d8817e4Smiod
1475*3d8817e4Smiod	* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
1476*3d8817e4Smiod	elf_hppa_remark_useless_dynamic_symbols,
1477*3d8817e4Smiod	elf_hppa_relocate_section): Use the new fields in
1478*3d8817e4Smiod	bfd_link_info structure.
1479*3d8817e4Smiod	* elf32-sh.c (sh_elf_relocate_section): Likewise.
1480*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
1481*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
1482*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1483*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
1484*3d8817e4Smiod	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1485*3d8817e4Smiod
1486*3d8817e4Smiod	* elflink.h (elf_link_output_extsym): Fix test for reporting
1487*3d8817e4Smiod	undefined symbols in shared libraries.  Remove redundant test
1488*3d8817e4Smiod	of shlib_undefined when reporting references to forced local
1489*3d8817e4Smiod	symbols.
1490*3d8817e4Smiod
1491*3d8817e4Smiod2003-08-18  Andreas Schwab  <schwab@suse.de>
1492*3d8817e4Smiod
1493*3d8817e4Smiod	* libpei.h (bfd_pe_executable_p): Also recognize efi-app
1494*3d8817e4Smiod	executables.
1495*3d8817e4Smiod
1496*3d8817e4Smiod2003-08-17  Hans-Peter Nilsson  <hp@bitrange.com>
1497*3d8817e4Smiod
1498*3d8817e4Smiod	* simple.c (bfd_simple_get_relocated_section_contents): Move
1499*3d8817e4Smiod	reloc_done hack to before first bfd_section_size call.  Change all
1500*3d8817e4Smiod	returns to use new wrapper macro RETURN, restoring sec->reloc_done.
1501*3d8817e4Smiod
1502*3d8817e4Smiod2003-08-16  Alan Modra  <amodra@bigpond.net.au>
1503*3d8817e4Smiod
1504*3d8817e4Smiod	* elf64-ppc.c: Don't include elf/ppc.h.
1505*3d8817e4Smiod
1506*3d8817e4Smiod2003-08-14  Richard Sandiford  <rsandifo@redhat.com>
1507*3d8817e4Smiod
1508*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
1509*3d8817e4Smiod	code to work with 64-bit bfds.
1510*3d8817e4Smiod
1511*3d8817e4Smiod2003-08-14  Alan Modra  <amodra@bigpond.net.au>
1512*3d8817e4Smiod
1513*3d8817e4Smiod	* dep-in.sed: Remove libintl.h.
1514*3d8817e4Smiod	* Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
1515*3d8817e4Smiod	(POTFILES.in): Remove target.
1516*3d8817e4Smiod	* Makefile.in: Regenerate.
1517*3d8817e4Smiod
1518*3d8817e4Smiod2003-08-12  Alan Modra  <amodra@bigpond.net.au>
1519*3d8817e4Smiod
1520*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
1521*3d8817e4Smiod	(ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
1522*3d8817e4Smiod	use the function sym from the previous reloc.
1523*3d8817e4Smiod
1524*3d8817e4Smiod2003-08-11  Jakub Jelinek  <jakub@redhat.com>
1525*3d8817e4Smiod
1526*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
1527*3d8817e4Smiod	fatal if -pie.
1528*3d8817e4Smiod	* elf32-s390.c (elf_s390_relocate_section): Likewise.
1529*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1530*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1531*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1532*3d8817e4Smiod	* elf64-s390.c (elf_s390_relocate_section): Likewise.
1533*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1534*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1535*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1536*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1537*3d8817e4Smiod	(ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
1538*3d8817e4Smiod	on undefined symbols if -pie.
1539*3d8817e4Smiod	* elf32-sh.c (sh_elf_relocate_section): Likewise.
1540*3d8817e4Smiod
1541*3d8817e4Smiod2003-08-11  Alan Modra  <amodra@bigpond.net.au>
1542*3d8817e4Smiod
1543*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
1544*3d8817e4Smiod	branch to __libc_start_main.
1545*3d8817e4Smiod
1546*3d8817e4Smiod2003-08-08 Dmitry Diky <diwil@mail.ru>
1547*3d8817e4Smiod
1548*3d8817e4Smiod	* archures.c: Add xW42 and xE42 parts. Sort MPU list according to
1549*3d8817e4Smiod	gcc order.
1550*3d8817e4Smiod	* cpu-msp430.c: Likewise.
1551*3d8817e4Smiod	* elf32-msp430.c: Likewise.
1552*3d8817e4Smiod	* bfd-in2.h: Regenerate.
1553*3d8817e4Smiod
1554*3d8817e4Smiod2003-08-07  Alan Modra  <amodra@bigpond.net.au>
1555*3d8817e4Smiod
1556*3d8817e4Smiod	* elfxx-target.h: Remove PTR cast.
1557*3d8817e4Smiod	* targets.c (bfd_target): Make backend_data const void *.
1558*3d8817e4Smiod	* elf-bfd.h: Constify all occurrences of struct elf_backend_data.
1559*3d8817e4Smiod	* elf-m10300.c: Likewise.
1560*3d8817e4Smiod	* elf.c: Likewise.
1561*3d8817e4Smiod	* elf32-hppa.c: Likewise.
1562*3d8817e4Smiod	* elf32-i386.c: Likewise.
1563*3d8817e4Smiod	* elf32-m68hc1x.c: Likewise.
1564*3d8817e4Smiod	* elf32-ppc.c: Likewise.
1565*3d8817e4Smiod	* elf32-s390.c: Likewise.
1566*3d8817e4Smiod	* elf32-sh.c: Likewise.
1567*3d8817e4Smiod	* elf32-sh64.c: Likewise.
1568*3d8817e4Smiod	* elf32-sparc.c: Likewise.
1569*3d8817e4Smiod	* elf32-xtensa.c: Likewise.
1570*3d8817e4Smiod	* elf64-mips.c: Likewise.
1571*3d8817e4Smiod	* elf64-ppc.c: Likewise.
1572*3d8817e4Smiod	* elf64-s390.c: Likewise.
1573*3d8817e4Smiod	* elf64-sh64.c: Likewise.
1574*3d8817e4Smiod	* elf64-sparc.c: Likewise.
1575*3d8817e4Smiod	* elf64-x86-64.c: Likewise.
1576*3d8817e4Smiod	* elfcode.h: Likewise.
1577*3d8817e4Smiod	* elfcore.h: Likewise.
1578*3d8817e4Smiod	* elflink.c: Likewise.
1579*3d8817e4Smiod	* elflink.h: Likewise.
1580*3d8817e4Smiod	* elfxx-ia64.c: Likewise.
1581*3d8817e4Smiod	* elfxx-mips.c: Likewise.
1582*3d8817e4Smiod	* elfxx-mips.h: Likewise.
1583*3d8817e4Smiod	* elf.c (prep_headers): Remove useless check for null backend_data.
1584*3d8817e4Smiod	* bfd-in2.h: Regenerate.
1585*3d8817e4Smiod
1586*3d8817e4Smiod	* elf-bfd.h: Remove PARAMS macro.  Replace PTR with void *.
1587*3d8817e4Smiod	(NAME): Use ## rather than CONCAT4 macro.
1588*3d8817e4Smiod	* elfcode.h: Remove one remaining PARAMS macro.
1589*3d8817e4Smiod	* elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
1590*3d8817e4Smiod	* elf-strtab.c: Likewise.
1591*3d8817e4Smiod	* elf-hppa.h: Likewise.
1592*3d8817e4Smiod	* elf32-hppa.h: Likewise.
1593*3d8817e4Smiod	* elf32-hppa.c: Likewise.
1594*3d8817e4Smiod	(elf32_hppa_add_symbol_hook): Delete.
1595*3d8817e4Smiod	(elf_backend_add_symbol_hook): Don't define.
1596*3d8817e4Smiod	* libhppa.h: Convert to C90.  Replace INLINE with inline.
1597*3d8817e4Smiod
1598*3d8817e4Smiod2003-08-06  Alan Modra  <amodra@bigpond.net.au>
1599*3d8817e4Smiod
1600*3d8817e4Smiod	* elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
1601*3d8817e4Smiod	(ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
1602*3d8817e4Smiod	function descriptors, but warn.
1603*3d8817e4Smiod	(ppc_build_one_stub): Remove a couple of vars.  Move code creating
1604*3d8817e4Smiod	stub syms so that we can avoid a stub sym if we already have a
1605*3d8817e4Smiod	plt sym.  Do not redefine an existing symbol.
1606*3d8817e4Smiod	(ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
1607*3d8817e4Smiod	glink.
1608*3d8817e4Smiod
1609*3d8817e4Smiod2003-08-06  Nick Clifton  <nickc@redhat.com>
1610*3d8817e4Smiod
1611*3d8817e4Smiod	* po/fr.po: Updated French translation.
1612*3d8817e4Smiod
1613*3d8817e4Smiod2003-08-06  Alan Modra  <amodra@bigpond.net.au>
1614*3d8817e4Smiod
1615*3d8817e4Smiod	* elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
1616*3d8817e4Smiod	SEC_LINKER_CREATED.
1617*3d8817e4Smiod
1618*3d8817e4Smiod2003-08-05  Daniel Jacobowitz  <drow@mvista.com>
1619*3d8817e4Smiod
1620*3d8817e4Smiod	* elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
1621*3d8817e4Smiod	(elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
1622*3d8817e4Smiod
1623*3d8817e4Smiod2003-08-03  Jeff Muizelaar  <muizelaar@rogers.com>
1624*3d8817e4Smiod
1625*3d8817e4Smiod	* coffcode.h (coff_slurp_line_table): Return with a warning
1626*3d8817e4Smiod	message if the line number table could not be read.
1627*3d8817e4Smiod
1628*3d8817e4Smiod2003-08-04  Nick Clifton  <nickc@redhat.com>
1629*3d8817e4Smiod
1630*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Prepend "warning: "
1631*3d8817e4Smiod	to messages produced for .gnu.warning.SYMBOL sections.
1632*3d8817e4Smiod
1633*3d8817e4Smiod2003-08-04  Alan Modra  <amodra@bigpond.net.au>
1634*3d8817e4Smiod
1635*3d8817e4Smiod	* elfcode.h: Convert to C90, remove unneeded casts and prototypes.
1636*3d8817e4Smiod	* elfcore.h: Likewise.
1637*3d8817e4Smiod	* elflink.c: Likewise.
1638*3d8817e4Smiod	* elflink.h: Likewise.
1639*3d8817e4Smiod	* elf.c (sym_is_global): Remove INLINE.
1640*3d8817e4Smiod	(align_file_position): Replace INLINE with inline.
1641*3d8817e4Smiod	* elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
1642*3d8817e4Smiod	(elf_file_p): Replace INLINE with inline.
1643*3d8817e4Smiod
1644*3d8817e4Smiod2003-08-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1645*3d8817e4Smiod
1646*3d8817e4Smiod	* elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
1647*3d8817e4Smiod
1648*3d8817e4Smiod2003-08-01  H.J. Lu  <hongjiu.lu@intel.com>
1649*3d8817e4Smiod
1650*3d8817e4Smiod	* elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
1651*3d8817e4Smiod
1652*3d8817e4Smiod2003-08-01  H.J. Lu  <hongjiu.lu@intel.com>
1653*3d8817e4Smiod
1654*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
1655*3d8817e4Smiod	ElfNN_External_Rela instead of Elf64_External_Rela.
1656*3d8817e4Smiod
1657*3d8817e4Smiod2003-08-01  Nick Clifton  <nickc@redhat.com>
1658*3d8817e4Smiod
1659*3d8817e4Smiod	* config.bfd: Add code to catch obsolete configurations and warn
1660*3d8817e4Smiod	about them unless --enable-obsolete is used.  Use this to mark
1661*3d8817e4Smiod	vax-vms port as obsolete.
1662*3d8817e4Smiod
1663*3d8817e4Smiod2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1664*3d8817e4Smiod
1665*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_install_value): Tidy.
1666*3d8817e4Smiod	(ppc_elf_relax_section): Remove dead code.  Remove unnecessary casts.
1667*3d8817e4Smiod	Formatting.
1668*3d8817e4Smiod	* elfxx-target.h: Remove PARAMS macro.  Formatting.
1669*3d8817e4Smiod
1670*3d8817e4Smiod2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1671*3d8817e4Smiod
1672*3d8817e4Smiod	* elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
1673*3d8817e4Smiod	* elf64-ppc.c (get_fdh): New function, split out from
1674*3d8817e4Smiod	ppc64_elf_edit_opd.
1675*3d8817e4Smiod	(ppc64_elf_check_relocs): Use get_fdh.
1676*3d8817e4Smiod	(func_desc_adjust): Likewise.  Tidy.
1677*3d8817e4Smiod	(ppc64_elf_edit_opd): Tighten reloc checks.  Free local_syms on error
1678*3d8817e4Smiod	exit.  Use get_fdh.  Account for superfluous dynamic relocs.
1679*3d8817e4Smiod	(ppc64_elf_relocate_section): Warning fix.
1680*3d8817e4Smiod
1681*3d8817e4Smiod2003-07-30  Jason Eckhardt  <jle@rice.edu>
1682*3d8817e4Smiod
1683*3d8817e4Smiod	* coff-i860.c: Convert to ISO C90.  Remove superflous prototypes.
1684*3d8817e4Smiod
1685*3d8817e4Smiod2003-07-30  Jason Eckhardt  <jle@rice.edu>
1686*3d8817e4Smiod
1687*3d8817e4Smiod	* elf32-i860.c: Convert to ISO C90.  Remove superflous prototypes.
1688*3d8817e4Smiod
1689*3d8817e4Smiod2003-07-30  Randolph Chung  <tausq@debian.org>
1690*3d8817e4Smiod
1691*3d8817e4Smiod	* elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
1692*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
1693*3d8817e4Smiod
1694*3d8817e4Smiod2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1695*3d8817e4Smiod
1696*3d8817e4Smiod	* elf.c: Convert to C90, remove unnecessary prototypes and casts.
1697*3d8817e4Smiod	Replace PTR with void *.  Formatting.
1698*3d8817e4Smiod	(_bfd_elf_assign_file_position_for_section): Remove INLINE.
1699*3d8817e4Smiod	(make_mapping): Likewise.
1700*3d8817e4Smiod
1701*3d8817e4Smiod2003-07-29  Alan Modra  <amodra@bigpond.net.au>
1702*3d8817e4Smiod
1703*3d8817e4Smiod	* elf64-ppc.c (func_desc_adjust): Give linker created function
1704*3d8817e4Smiod	descriptor symbols a size and type.
1705*3d8817e4Smiod	(ppc64_elf_relocate_section): Correct lq insn test.
1706*3d8817e4Smiod
1707*3d8817e4Smiod2003-07-28  Eric Christopher  <echristo@redhat.com>
1708*3d8817e4Smiod
1709*3d8817e4Smiod	* elf32-ppc.c (R_PPC_RELAX32): New relocation.
1710*3d8817e4Smiod	(ppc_elf_install_value): New function.
1711*3d8817e4Smiod	(ppc_elf_sort_rela): Remove.
1712*3d8817e4Smiod	(ppc_elf_relax_section): Rewrite. Remove old relaxation
1713*3d8817e4Smiod	and replace with out of range branch stubs.
1714*3d8817e4Smiod	(ppc_elf_relocate_section): Handle R_PPC_RELAX32.
1715*3d8817e4Smiod
1716*3d8817e4Smiod2003-07-29  Alexandre Oliva  <aoliva@redhat.com>
1717*3d8817e4Smiod
1718*3d8817e4Smiod	* elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
1719*3d8817e4Smiod	from input_bfd.
1720*3d8817e4Smiod
1721*3d8817e4Smiod2003-07-28  Alan Modra  <amodra@bigpond.net.au>
1722*3d8817e4Smiod
1723*3d8817e4Smiod	* elf.c (special_sections): Set attributes for .got and .plt.
1724*3d8817e4Smiod
1725*3d8817e4Smiod2003-07-27  Alan Modra  <amodra@bigpond.net.au>
1726*3d8817e4Smiod
1727*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
1728*3d8817e4Smiod	on function descriptors.
1729*3d8817e4Smiod	(ELIMINATE_COPY_RELOCS): Expand comment.
1730*3d8817e4Smiod	(ppc64_elf_special_sections): Move.  Don't include non-ppc64 sections.
1731*3d8817e4Smiod	Do include ".toc1".
1732*3d8817e4Smiod
1733*3d8817e4Smiod2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
1734*3d8817e4Smiod
1735*3d8817e4Smiod	* elf.c (_bfd_elf_new_section_hook): Set the default section
1736*3d8817e4Smiod	type to SHT_NULL.
1737*3d8817e4Smiod	(elf_fake_sections): Set the section type based on asect->flags
1738*3d8817e4Smiod	if it is SHT_NULL. Don't abort on processor specific section
1739*3d8817e4Smiod	types.
1740*3d8817e4Smiod
1741*3d8817e4Smiod2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
1742*3d8817e4Smiod
1743*3d8817e4Smiod	* bfd-in2.h: Regenerated.
1744*3d8817e4Smiod
1745*3d8817e4Smiod2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
1746*3d8817e4Smiod
1747*3d8817e4Smiod	* elf-bfd.h (bfd_elf_special_section): New.
1748*3d8817e4Smiod	(elf_backend_data): Add special_sections, a pointer to
1749*3d8817e4Smiod	bfd_elf_special_section.
1750*3d8817e4Smiod	(elf_section_type). New.
1751*3d8817e4Smiod	(elf_section_flags): New.
1752*3d8817e4Smiod	(_bfd_elf_get_sec_type_attr): New.
1753*3d8817e4Smiod
1754*3d8817e4Smiod	* elf.c (_bfd_elf_make_section_from_shdr): Always use the
1755*3d8817e4Smiod	real section type/flags.
1756*3d8817e4Smiod	(special_sections): New.
1757*3d8817e4Smiod	(get_special_section): New.
1758*3d8817e4Smiod	(_bfd_elf_get_sec_type_attr): New.
1759*3d8817e4Smiod	(_bfd_elf_new_section_hook): Check special_section to set
1760*3d8817e4Smiod	elf_section_type and elf_section_flags.
1761*3d8817e4Smiod	(elf_fake_sections): Don't use section name to set ELF section
1762*3d8817e4Smiod	data.
1763*3d8817e4Smiod
1764*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_special_sections): New.
1765*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1766*3d8817e4Smiod
1767*3d8817e4Smiod	* elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
1768*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1769*3d8817e4Smiod
1770*3d8817e4Smiod	* elf32-mcore.c (mcore_elf_special_sections): New.
1771*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1772*3d8817e4Smiod
1773*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_special_sections): New.
1774*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1775*3d8817e4Smiod
1776*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_special_sections): New.
1777*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1778*3d8817e4Smiod
1779*3d8817e4Smiod	* elf32-v850.c (v850_elf_special_sections): New.
1780*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1781*3d8817e4Smiod
1782*3d8817e4Smiod	* elf32-xtensa.c (elf_xtensa_special_sections): New.
1783*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1784*3d8817e4Smiod
1785*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_special_sections): New.
1786*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1787*3d8817e4Smiod
1788*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_special_sections): New.
1789*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1790*3d8817e4Smiod
1791*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_special_sections): New.
1792*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1793*3d8817e4Smiod
1794*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_special_sections): New.
1795*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1796*3d8817e4Smiod
1797*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_special_sections): New.
1798*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1799*3d8817e4Smiod
1800*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_special_sections): New.
1801*3d8817e4Smiod
1802*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_elf_special_sections): New.
1803*3d8817e4Smiod	(elf_backend_special_sections): Defined.
1804*3d8817e4Smiod
1805*3d8817e4Smiod	* elfxx-target.h (elf_backend_special_sections): New. Default
1806*3d8817e4Smiod	to NULL.
1807*3d8817e4Smiod	(elfNN_bed): Initialize special_sections.
1808*3d8817e4Smiod
1809*3d8817e4Smiod	* section.c (bfd_abs_section): Remove const.
1810*3d8817e4Smiod	(bfd_und_section): Likewise.
1811*3d8817e4Smiod	(bfd_com_section): Likewise.
1812*3d8817e4Smiod	(bfd_ind_section): Likewise.
1813*3d8817e4Smiod
1814*3d8817e4Smiod2003-07-24  Nick Clifton  <nickc@redhat.com>
1815*3d8817e4Smiod
1816*3d8817e4Smiod	* coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
1817*3d8817e4Smiod	sections are assigned the LOAD attribute.
1818*3d8817e4Smiod
1819*3d8817e4Smiod2003-07-25  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1820*3d8817e4Smiod
1821*3d8817e4Smiod	* elf32-sh.c: Convert to C90.  Replace PTR with void *.
1822*3d8817e4Smiod	* elf32-sh64-com.c: Likewise.
1823*3d8817e4Smiod	* elf32-sh64.c: Likewise.
1824*3d8817e4Smiod	* elf32-sh64.h: Likewise.
1825*3d8817e4Smiod	* elf64-sh64.c: Likewise.
1826*3d8817e4Smiod
1827*3d8817e4Smiod2003-07-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1828*3d8817e4Smiod
1829*3d8817e4Smiod	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
1830*3d8817e4Smiod	(allocate_dynrelocs): Likewise.
1831*3d8817e4Smiod	(sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
1832*3d8817e4Smiod	(sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
1833*3d8817e4Smiod
1834*3d8817e4Smiod2003-07-24  Nick Clifton  <nickc@redhat.com>
1835*3d8817e4Smiod
1836*3d8817e4Smiod	* po/fr.po: Updated French translation.
1837*3d8817e4Smiod
1838*3d8817e4Smiod2003-07-23  Bob Wilson  <bob.wilson@acm.org>
1839*3d8817e4Smiod
1840*3d8817e4Smiod	* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
1841*3d8817e4Smiod	near the beginning of the file.  Swap order of arguments.  Call
1842*3d8817e4Smiod	_bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
1843*3d8817e4Smiod	(elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
1844*3d8817e4Smiod	(elf_xtensa_relocate_section): Likewise.
1845*3d8817e4Smiod	(shrink_dynamic_reloc_sections): Likewise.
1846*3d8817e4Smiod
1847*3d8817e4Smiod2003-07-23  Bob Wilson  <bob.wilson@acm.org>
1848*3d8817e4Smiod
1849*3d8817e4Smiod	* elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
1850*3d8817e4Smiod	(elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
1851*3d8817e4Smiod	(elf_xtensa_combine_prop_entries): Avoid returning non-zero without
1852*3d8817e4Smiod	first printing an error message.
1853*3d8817e4Smiod	(elf_xtensa_finish_dynamic_sections): Likewise.
1854*3d8817e4Smiod	(elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
1855*3d8817e4Smiod	discarding literal table entries.
1856*3d8817e4Smiod	(elf_xtensa_merge_private_bfd_data): Remove newline from error message.
1857*3d8817e4Smiod	(elf_xtensa_do_asm_simplify): Likewise.
1858*3d8817e4Smiod
1859*3d8817e4Smiod2003-07-23  Stephane Carrez  <stcarrez@nerim.fr>
1860*3d8817e4Smiod
1861*3d8817e4Smiod	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
1862*3d8817e4Smiod	we have a local symbol in common section.
1863*3d8817e4Smiod
1864*3d8817e4Smiod2003-07-22  H.J. Lu <hongjiu.lu@intel.com>
1865*3d8817e4Smiod
1866*3d8817e4Smiod	* elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
1867*3d8817e4Smiod	weak symbols.
1868*3d8817e4Smiod
1869*3d8817e4Smiod2003-07-22  Nick Clifton  <nickc@redhat.com>
1870*3d8817e4Smiod
1871*3d8817e4Smiod	* coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
1872*3d8817e4Smiod	expected RS6000 storage classes.
1873*3d8817e4Smiod
1874*3d8817e4Smiod2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
1875*3d8817e4Smiod
1876*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
1877*3d8817e4Smiod	output_bfd unused to silence gcc.
1878*3d8817e4Smiod
1879*3d8817e4Smiod2003-07-21  Nick Clifton  <nickc@redhat.com>
1880*3d8817e4Smiod
1881*3d8817e4Smiod	* po/sv.po: Updated Swedish translation.
1882*3d8817e4Smiod
1883*3d8817e4Smiod2003-07-21  Alan Modra  <amodra@bigpond.net.au>
1884*3d8817e4Smiod
1885*3d8817e4Smiod	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
1886*3d8817e4Smiod	(_bfd_elf_symbol_refs_local_p): ..this.  Declare.
1887*3d8817e4Smiod	* elflink.c (_bfd_elf_symbol_refs_local_p): New function.
1888*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
1889*3d8817e4Smiod	now done in _bfd_elf_symbol_refs_local_p.
1890*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1891*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1892*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1893*3d8817e4Smiod
1894*3d8817e4Smiod2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
1895*3d8817e4Smiod
1896*3d8817e4Smiod	* elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
1897*3d8817e4Smiod
1898*3d8817e4Smiod2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
1899*3d8817e4Smiod
1900*3d8817e4Smiod	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
1901*3d8817e4Smiod	(SYMBOL_CALLS_LOCAL): Likewise.
1902*3d8817e4Smiod
1903*3d8817e4Smiod	* elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
1904*3d8817e4Smiod	immediately if symbol isn't defined locally.
1905*3d8817e4Smiod
1906*3d8817e4Smiod2003-07-18  Richard Henderson  <rth@redhat.com>
1907*3d8817e4Smiod
1908*3d8817e4Smiod	* elflink.c (_bfd_elf_dynamic_symbol_p): New.
1909*3d8817e4Smiod	* elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
1910*3d8817e4Smiod	(SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
1911*3d8817e4Smiod	* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
1912*3d8817e4Smiod	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
1913*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
1914*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
1915*3d8817e4Smiod	Update all callers to provide the relocation being resolved.
1916*3d8817e4Smiod
1917*3d8817e4Smiod2003-07-17  Shaun Jackman <sjackman@pathwayconnect.com>
1918*3d8817e4Smiod
1919*3d8817e4Smiod	* config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
1920*3d8817e4Smiod	targ_cflags.
1921*3d8817e4Smiod
1922*3d8817e4Smiod2003-07-17  Nick Clifton  <nickc@redhat.com>
1923*3d8817e4Smiod
1924*3d8817e4Smiod	* po/es.po: New Spanish translation.
1925*3d8817e4Smiod	* po/sv.po: New Swedish translation.
1926*3d8817e4Smiod	* po/opcodes.pot: Regenerate.
1927*3d8817e4Smiod
1928*3d8817e4Smiod2003-07-16  Richard Henderson  <rth@redhat.com>
1929*3d8817e4Smiod
1930*3d8817e4Smiod	* config.bfd, configure.host, configure.in: Remove ia64-aix support.
1931*3d8817e4Smiod	* elfxx-ia64.c, targets.c: Likewise.
1932*3d8817e4Smiod
1933*3d8817e4Smiod2003-07-16  Richard Henderson  <rth@redhat.com>
1934*3d8817e4Smiod
1935*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
1936*3d8817e4Smiod	for symbols defined locally plus -Bsymbolic.  Tidy logic.
1937*3d8817e4Smiod
1938*3d8817e4Smiod2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
1939*3d8817e4Smiod
1940*3d8817e4Smiod	* archures.c (bfd_mach_mips7000): New.
1941*3d8817e4Smiod	* bfd-in2.h: Regenerated.
1942*3d8817e4Smiod	* cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
1943*3d8817e4Smiod	* elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
1944*3d8817e4Smiod	(mips_mach_extensions): Add an entry for it.
1945*3d8817e4Smiod
1946*3d8817e4Smiod2003-07-14  Nick Clifton  <nickc@redhat.com>
1947*3d8817e4Smiod
1948*3d8817e4Smiod	* po/tr.po: Update with latest version.
1949*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
1950*3d8817e4Smiod	* po/bfd.pot: Regenerate.
1951*3d8817e4Smiod	* Makfile.in: Regenerate.
1952*3d8817e4Smiod	* configure: Regenerate.
1953*3d8817e4Smiod
1954*3d8817e4Smiod2003-07-12  Jeff Baker  <jbaker@qnx.com>
1955*3d8817e4Smiod
1956*3d8817e4Smiod	* bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
1957*3d8817e4Smiod	* bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1958*3d8817e4Smiod	* bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1959*3d8817e4Smiod	* bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1960*3d8817e4Smiod
1961*3d8817e4Smiod2003-07-12  Jeff Muizelaar  <muizelaar@rogers.com>
1962*3d8817e4Smiod
1963*3d8817e4Smiod	* coffcode.h (coff_set_section_contents): Set the
1964*3d8817e4Smiod	IMAGE_FILE_32BIT_MACHINE flag for PE targets.
1965*3d8817e4Smiod
1966*3d8817e4Smiod2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
1967*3d8817e4Smiod
1968*3d8817e4Smiod	* bfd-in.h (bfd_h8300_pad_address): Declare.
1969*3d8817e4Smiod	* bfd-in2.h: Regenerate.
1970*3d8817e4Smiod	* cpu-h8300.c (bfd_h8300_pad_address): New function.
1971*3d8817e4Smiod	* coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
1972*3d8817e4Smiod	addresses before checking whether they can be relaxed.
1973*3d8817e4Smiod	(h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
1974*3d8817e4Smiod	Don't complain about overflows in general 8-bit relocations.
1975*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
1976*3d8817e4Smiod	Fix handling of R_H8_DIR24A8.
1977*3d8817e4Smiod
1978*3d8817e4Smiod2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
1979*3d8817e4Smiod
1980*3d8817e4Smiod	* elf32-h8300.c: Convert function prototypes and definitions
1981*3d8817e4Smiod	to C90 syntax.
1982*3d8817e4Smiod	* coff-h8300.c: Likewise.
1983*3d8817e4Smiod	* cpu-h8300.c: Likewise.
1984*3d8817e4Smiod
1985*3d8817e4Smiod2003-07-11  Alan Modra  <amodra@bigpond.net.au>
1986*3d8817e4Smiod
1987*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
1988*3d8817e4Smiod	* po/bfd.pot: Likewise.
1989*3d8817e4Smiod
1990*3d8817e4Smiod2003-07-10  Bob Wilson  <bob.wilson@acm.org>
1991*3d8817e4Smiod
1992*3d8817e4Smiod	* elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
1993*3d8817e4Smiod	.got.loc section.  Do not set SEC_ALLOC or SEC_LOAD flags for the
1994*3d8817e4Smiod	.xt.lit.plt section.
1995*3d8817e4Smiod	(elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
1996*3d8817e4Smiod	and allocate memory for it.
1997*3d8817e4Smiod	(elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
1998*3d8817e4Smiod	section to the .got.loc section.
1999*3d8817e4Smiod	(elf_xtensa_finish_dynamic_sections): Fix up call to
2000*3d8817e4Smiod	elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
2001*3d8817e4Smiod	the address of .got.loc.
2002*3d8817e4Smiod	(relax_property_section): Shrink .got.loc to match changes in any
2003*3d8817e4Smiod	literal table section.
2004*3d8817e4Smiod	(xtensa_is_property_section): Change to match
2005*3d8817e4Smiod	xtensa_get_property_section_name.
2006*3d8817e4Smiod	(xtensa_is_littable_section): New.
2007*3d8817e4Smiod
2008*3d8817e4Smiod2003-07-10  H.J. Lu <hongjiu.lu@intel.com>
2009*3d8817e4Smiod
2010*3d8817e4Smiod	* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
2011*3d8817e4Smiod	-1LL.
2012*3d8817e4Smiod
2013*3d8817e4Smiod2003-07-10  Alan Modra  <amodra@bigpond.net.au>
2014*3d8817e4Smiod
2015*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
2016*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
2017*3d8817e4Smiod	Run "make dep-am".
2018*3d8817e4Smiod	* Makefile.in: Regenerate.
2019*3d8817e4Smiod
2020*3d8817e4Smiod2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
2021*3d8817e4Smiod
2022*3d8817e4Smiod	2001-09-12  Alexandre Oliva  <aoliva@redhat.com>
2023*3d8817e4Smiod	* elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
2024*3d8817e4Smiod	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
2025*3d8817e4Smiod	2001-06-02  Nick Clifton  <nickc@cambridge.redhat.com>
2026*3d8817e4Smiod	* elf32-am33lin.c: Rename global functions.
2027*3d8817e4Smiod	2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
2028*3d8817e4Smiod	* config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
2029*3d8817e4Smiod	* configure.in (bfd_elf32_am33lin_vec): Added.
2030*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
2031*3d8817e4Smiod	(elf32-am33lin.lo): List dependencies.
2032*3d8817e4Smiod	* aclocal.m4, configure, Makefile.in: Rebuilt.
2033*3d8817e4Smiod	* elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
2034*3d8817e4Smiod	ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
2035*3d8817e4Smiod	ELF_ARCH was not defined before.
2036*3d8817e4Smiod	(elf_symbol_leading_char): Define if not defined.
2037*3d8817e4Smiod	* elf32-am33lin.c: Override the definitions above.
2038*3d8817e4Smiod	* targets.c (bfd_elf32_am33lin_vec): New.
2039*3d8817e4Smiod
2040*3d8817e4Smiod2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2041*3d8817e4Smiod
2042*3d8817e4Smiod	2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
2043*3d8817e4Smiod	* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
2044*3d8817e4Smiod	pcrel_relocs_copied.
2045*3d8817e4Smiod	2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
2046*3d8817e4Smiod	* elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
2047*3d8817e4Smiod	ld-linux.so.2 to ld.so.1.
2048*3d8817e4Smiod	2001-10-10  Alexandre Oliva  <aoliva@redhat.com>
2049*3d8817e4Smiod	* elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
2050*3d8817e4Smiod	(_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
2051*3d8817e4Smiod	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
2052*3d8817e4Smiod	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
2053*3d8817e4Smiod	.rela.* section contents with bfd_zalloc.
2054*3d8817e4Smiod	2001-09-25  Alexandre Oliva  <aoliva@redhat.com>
2055*3d8817e4Smiod	* elf-m10300.c: Added declarations for functions missing them.
2056*3d8817e4Smiod	Merge some shared-library changes from the i386 back-end.  Use
2057*3d8817e4Smiod	R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
2058*3d8817e4Smiod	R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
2059*3d8817e4Smiod	(struct elf32_mn10300_link_hash_entry): Remove duplicates of
2060*3d8817e4Smiod	members of elf_link_hash_entry.  Adjusted references.
2061*3d8817e4Smiod	(mn10300_elf_final_link_relocate): dynobj was already loaded
2062*3d8817e4Smiod	into a local variable, use it.
2063*3d8817e4Smiod	2001-09-21  Nick Clifton  <nickc@cambridge.redhat.com>
2064*3d8817e4Smiod	* elf-m10300.c: Add missing function prototypes.
2065*3d8817e4Smiod	2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
2066*3d8817e4Smiod	* elf-m10300.c (mn10300_elf_relocate_section): Don't compute
2067*3d8817e4Smiod	relocation for dynamic relocations.
2068*3d8817e4Smiod	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
2069*3d8817e4Smiod	* reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
2070*3d8817e4Smiod	* elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
2071*3d8817e4Smiod	PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
2072*3d8817e4Smiod	(_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
2073*3d8817e4Smiod	(_bfd_mn10300_elf_create_got_section): ... here, so that its
2074*3d8817e4Smiod	adress is already known at the time we compute relaxations.
2075*3d8817e4Smiod	(mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
2076*3d8817e4Smiod	and PLT32 to narrower relocations.
2077*3d8817e4Smiod	* libbfd.h, bfd-in2.h: Rebuilt.
2078*3d8817e4Smiod	2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
2079*3d8817e4Smiod	* reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
2080*3d8817e4Smiod	BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
2081*3d8817e4Smiod	BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
2082*3d8817e4Smiod	BFD_RELOC_MN10300_RELATIVE): New relocs.
2083*3d8817e4Smiod	* libbfd.h, bfd-in2.h: Rebuilt.
2084*3d8817e4Smiod	* elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
2085*3d8817e4Smiod	(struct elf32_mn10300_link_hash_entry): Added DSO-related
2086*3d8817e4Smiod	fields.
2087*3d8817e4Smiod	(elf_mn10300_howto): Defined new relocation types.
2088*3d8817e4Smiod	(mn10300_reloc_map): Map them.
2089*3d8817e4Smiod	(_bfd_mn10300_elf_create_got_section): New fn.
2090*3d8817e4Smiod	(mn10300_elf_check_relocs): Handle PIC relocs.
2091*3d8817e4Smiod	(mn10300_elf_final_link_relocate): Likewise.
2092*3d8817e4Smiod	(mn10300_elf_relocate_section): Handle DSOs.
2093*3d8817e4Smiod	(PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
2094*3d8817e4Smiod	(elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
2095*3d8817e4Smiod	elf_mn10300_pic_plt_entry): New.
2096*3d8817e4Smiod	(elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
2097*3d8817e4Smiod	elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
2098*3d8817e4Smiod	elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
2099*3d8817e4Smiod	elf_mn10300_plt_reloc_offset: New macros.
2100*3d8817e4Smiod	(ELF_DYNAMIC_INTERPRETER): Likewise.
2101*3d8817e4Smiod	(_bfd_mn10300_elf_create_dynamic_sections): New function.
2102*3d8817e4Smiod	(_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
2103*3d8817e4Smiod	(_bfd_mn10300_elf_discard_copies): Likewise.
2104*3d8817e4Smiod	(_bfd_mn10300_elf_size_dynamic_sections): Likewise.
2105*3d8817e4Smiod	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
2106*3d8817e4Smiod	(_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
2107*3d8817e4Smiod	(elf_backend_can_gc_sections,
2108*3d8817e4Smiod	elf_backend_create_dynamic_sections,
2109*3d8817e4Smiod	elf_backend_adjust_dynamic_sections,
2110*3d8817e4Smiod	elf_backend_size_dynamic_sections,
2111*3d8817e4Smiod	elf_backend_finish_dynamic_symbol,
2112*3d8817e4Smiod	elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
2113*3d8817e4Smiod	elf_backend_plt_readonly, elf_backend_want_plt_sym,
2114*3d8817e4Smiod	elf_backend_got_header_size, elf_backend_plt_header_size): New
2115*3d8817e4Smiod	macros.
2116*3d8817e4Smiod
2117*3d8817e4Smiod2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2118*3d8817e4Smiod
2119*3d8817e4Smiod	2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
2120*3d8817e4Smiod	* elf-m10300.c (compute_function_info): Account for AM33
2121*3d8817e4Smiod	registers in `movm' when computing stack space for `call' when
2122*3d8817e4Smiod	linking for AM33/2.0 link.
2123*3d8817e4Smiod	2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>
2124*3d8817e4Smiod	* archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
2125*3d8817e4Smiod	* bfd-in2.h: Rebuilt.
2126*3d8817e4Smiod	* cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
2127*3d8817e4Smiod	* elf-m10300.c: Updated.
2128*3d8817e4Smiod	2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>
2129*3d8817e4Smiod	* archures.c (bfd_mach_am332): Defined.
2130*3d8817e4Smiod	* bfd-in2.h: Rebuilt.
2131*3d8817e4Smiod	* cpu-m10300.c (bfd_am332_arch): Defined.
2132*3d8817e4Smiod	(bfd_am33_arch): Chained with am33-2.
2133*3d8817e4Smiod	* elf-m10300.c (elf_mn10300_mach): Handle am332.
2134*3d8817e4Smiod	(_bfd_mn10300_elf_final_write_processing): Likewise.
2135*3d8817e4Smiod
2136*3d8817e4Smiod2003-07-09  H.J. Lu <hongjiu.lu@intel.com>
2137*3d8817e4Smiod
2138*3d8817e4Smiod	* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
2139*3d8817e4Smiod
2140*3d8817e4Smiod2003-07-10  Alan Modra  <amodra@bigpond.net.au>
2141*3d8817e4Smiod
2142*3d8817e4Smiod	* elf64-ppc.c (bfd_elf64_mkobject): Define.
2143*3d8817e4Smiod	(struct ppc64_elf_obj_tdata): New.
2144*3d8817e4Smiod	(ppc64_elf_tdata, ppc64_tlsld_got): Define.
2145*3d8817e4Smiod	(ppc64_elf_mkobject): New function.
2146*3d8817e4Smiod	(struct got_entry): Add "owner".  Move "tls_type".
2147*3d8817e4Smiod	(struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
2148*3d8817e4Smiod	(ppc64_elf_init_stub_bfd): New function.
2149*3d8817e4Smiod	(create_got_section): Create header .got in dynobj.  Create .got
2150*3d8817e4Smiod	and .rela.got in each bfd.  Stash pointers in ppc64_elf_obj_tdata.
2151*3d8817e4Smiod	(ppc64_elf_create_dynamic_sections): Don't call create_got_section.
2152*3d8817e4Smiod	Look for dynobj .got, and test it.
2153*3d8817e4Smiod	(ppc64_elf_copy_indirect_symbol): Adjust for changed got.
2154*3d8817e4Smiod	(update_local_sym_info): Likewise.
2155*3d8817e4Smiod	(ppc64_elf_check_relocs): Likewise.
2156*3d8817e4Smiod	(ppc64_elf_gc_sweep_hook): Likewise.
2157*3d8817e4Smiod	(ppc64_elf_tls_optimize): Likewise.
2158*3d8817e4Smiod	(allocate_dynrelocs): Likewise.
2159*3d8817e4Smiod	(ppc64_elf_size_dynamic_sections): Likewise.
2160*3d8817e4Smiod	(ppc64_elf_relocate_section): Likewise.
2161*3d8817e4Smiod	(ppc64_elf_next_toc_section): Update comment.
2162*3d8817e4Smiod	(toc_adjusting_stub_needed): Remove unneeded cast.
2163*3d8817e4Smiod	(ppc64_elf_build_stubs): Check for stub sections in stub bfd by
2164*3d8817e4Smiod	testing section flags.
2165*3d8817e4Smiod	(ppc64_elf_build_stubs): Likewise.
2166*3d8817e4Smiod	(ppc64_elf_size_stubs): Likewise.  Remove stub_bfd param.
2167*3d8817e4Smiod	(ppc64_elf_finish_dynamic_sections): Write out got sections.
2168*3d8817e4Smiod	(func_desc_adjust): Copy over dynamic info for undef weaks.
2169*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
2170*3d8817e4Smiod	(ppc64_elf_size_stubs): Update prototype.
2171*3d8817e4Smiod	* elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
2172*3d8817e4Smiod	input sections rather than scanning dynobj.
2173*3d8817e4Smiod
2174*3d8817e4Smiod2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2175*3d8817e4Smiod
2176*3d8817e4Smiod	* elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
2177*3d8817e4Smiod	(bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
2178*3d8817e4Smiod	(mips_elf_create_msym_section): Delete.
2179*3d8817e4Smiod	(mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
2180*3d8817e4Smiod	(_bfd_mips_elf_copy_indirect_symbol): Likewise.
2181*3d8817e4Smiod	(_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
2182*3d8817e4Smiod	(_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
2183*3d8817e4Smiod	(_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
2184*3d8817e4Smiod	(_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
2185*3d8817e4Smiod	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
2186*3d8817e4Smiod
2187*3d8817e4Smiod2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2188*3d8817e4Smiod
2189*3d8817e4Smiod	* elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
2190*3d8817e4Smiod	symbols protected.
2191*3d8817e4Smiod
2192*3d8817e4Smiod2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2193*3d8817e4Smiod
2194*3d8817e4Smiod	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
2195*3d8817e4Smiod	of relocations whose offset is -2.
2196*3d8817e4Smiod
2197*3d8817e4Smiod2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2198*3d8817e4Smiod
2199*3d8817e4Smiod	* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
2200*3d8817e4Smiod	forced-local symbols like other locals.  Don't create relocations
2201*3d8817e4Smiod	against STN_UNDEF in irix objects.
2202*3d8817e4Smiod
2203*3d8817e4Smiod2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2204*3d8817e4Smiod
2205*3d8817e4Smiod	* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
2206*3d8817e4Smiod	compatible objects, add the values of defined external symbols
2207*3d8817e4Smiod	to the addend.
2208*3d8817e4Smiod
2209*3d8817e4Smiod2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2210*3d8817e4Smiod
2211*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
2212*3d8817e4Smiod	initialize a GOT entry to the symbol's st_value.
2213*3d8817e4Smiod
2214*3d8817e4Smiod2003-07-08  Alan Modra  <amodra@bigpond.net.au>
2215*3d8817e4Smiod
2216*3d8817e4Smiod	* elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
2217*3d8817e4Smiod	* elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here.  New.
2218*3d8817e4Smiod	(ppc_elf_tdata): Define.
2219*3d8817e4Smiod	(elf_local_ptr_offsets): Adjust.
2220*3d8817e4Smiod	(ppc_elf_mkobject): New function.
2221*3d8817e4Smiod	(bfd_elf32_mkobject): Define.
2222*3d8817e4Smiod
2223*3d8817e4Smiod	* elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
2224*3d8817e4Smiod	* elfcore.h (elf_core_file_p): Likewise.
2225*3d8817e4Smiod	* section.c (bfd_section_init): Remove prototype.
2226*3d8817e4Smiod
2227*3d8817e4Smiod2003-07-08  Alan Modra  <amodra@bigpond.net.au>
2228*3d8817e4Smiod
2229*3d8817e4Smiod	* elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
2230*3d8817e4Smiod	field.
2231*3d8817e4Smiod	(enum elf_linker_section_enum): Delete.
2232*3d8817e4Smiod	(struct elf_linker_section): Delete.
2233*3d8817e4Smiod	(struct elf_linker_section_pointers): Delete.
2234*3d8817e4Smiod	(struct elf_obj_tdata): Remove #if 0 chunk.  Remove linker_section.
2235*3d8817e4Smiod	Make linker_section_pointers a void**.
2236*3d8817e4Smiod	(elf_local_ptr_offsets, elf_linker_section): Don't define.
2237*3d8817e4Smiod	* elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
2238*3d8817e4Smiod	of old item in elf-bfd.h.
2239*3d8817e4Smiod	(struct elf_linker_section): Likewise.
2240*3d8817e4Smiod	(struct elf_linker_section_pointers): Likewise.
2241*3d8817e4Smiod	(elf_local_ptr_offsets): Define.
2242*3d8817e4Smiod	(struct ppc_elf_link_hash_entry): Add linker_section_pointer.
2243*3d8817e4Smiod	(ppc_elf_link_hash_newfunc): Init it.
2244*3d8817e4Smiod	(struct ppc_elf_link_hash_table): Add sbss.
2245*3d8817e4Smiod	(ppc_elf_link_hash_table_create): zmalloc rather than clearing
2246*3d8817e4Smiod	individual fields.
2247*3d8817e4Smiod	(elf_create_linker_section): Fold into..
2248*3d8817e4Smiod	(ppc_elf_create_linker_section): ..here.  Remove hole_size code.
2249*3d8817e4Smiod	Make rela section here if shared.
2250*3d8817e4Smiod	(elf_find_pointer_linker_section): Pass lsect rather than enum.
2251*3d8817e4Smiod	(elf_create_pointer_linker_section): Adjust.  zalloc rather than
2252*3d8817e4Smiod	clearing in a loop.
2253*3d8817e4Smiod	(elf_finish_pointer_linker_section): Adjust.  Don't make rela
2254*3d8817e4Smiod	section here.
2255*3d8817e4Smiod	(ppc_elf_check_relocs): Adjust.
2256*3d8817e4Smiod	(ppc_elf_add_symbol_hook): Tighten hash creator test.  Remove code
2257*3d8817e4Smiod	creating .sbss by hand.
2258*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_newfunc): Adjust.
2259*3d8817e4Smiod
2260*3d8817e4Smiod2003-07-04  Jakub Jelinek  <jakub@redhat.com>
2261*3d8817e4Smiod
2262*3d8817e4Smiod	* elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
2263*3d8817e4Smiod	complain_overflow_bitfield.
2264*3d8817e4Smiod	* elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
2265*3d8817e4Smiod	complain_overflow_bitfield.
2266*3d8817e4Smiod
2267*3d8817e4Smiod2003-07-04  Jakub Jelinek  <jakub@redhat.com>
2268*3d8817e4Smiod
2269*3d8817e4Smiod	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
2270*3d8817e4Smiod	true even if -pie.
2271*3d8817e4Smiod
2272*3d8817e4Smiod2003-07-04  Jakub Jelinek  <jakub@redhat.com>
2273*3d8817e4Smiod
2274*3d8817e4Smiod	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
2275*3d8817e4Smiod	(elfNN_ia64_dynamic_symbol_p): Change info->shared into
2276*3d8817e4Smiod	!info->executable.
2277*3d8817e4Smiod	(get_fptr): For -pie create .opd as writable section and create
2278*3d8817e4Smiod	.rela.opd as well.
2279*3d8817e4Smiod	(elfNN_ia64_check_relocs): Change info->shared into
2280*3d8817e4Smiod	!info->executable.
2281*3d8817e4Smiod	(allocate_fptr): Likewise.
2282*3d8817e4Smiod	(allocate_dynrel_entries): Account for a relative reloc for -pie
2283*3d8817e4Smiod	@fptr().  Don't account for a relative reloc if -pie want_ltoff_fptr
2284*3d8817e4Smiod	for undefweak symbol.  Account for an IPLT reloc in .rela.opd
2285*3d8817e4Smiod	section if -pie.
2286*3d8817e4Smiod	(set_got_entry): Don't create a relative reloc if -pie
2287*3d8817e4Smiod	want_ltoff_fptr for undefweak symbol.
2288*3d8817e4Smiod	(set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
2289*3d8817e4Smiod	(elfNN_ia64_relocate_section): Emit a relative reloc for -pie
2290*3d8817e4Smiod	@fptr().
2291*3d8817e4Smiod
2292*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
2293*3d8817e4Smiod	even if -pie.
2294*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Likewise.
2295*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2296*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2297*3d8817e4Smiod	* elf64-s390.c (elf_s390_relocate_section): Likewise.
2298*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2299*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
2300*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2301*3d8817e4Smiod	* elf32-s390.c (elf_s390_relocate_section): Likewise.
2302*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2303*3d8817e4Smiod
2304*3d8817e4Smiod2003-07-04  Paul Clarke <paulc@senet.com.au>
2305*3d8817e4Smiod
2306*3d8817e4Smiod	* elf32-h8300.c (R_H8_DIR32A16): Fix name field.
2307*3d8817e4Smiod	(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
2308*3d8817e4Smiod	<R_H8_DIR32A16>: Fix type of relocation.
2309*3d8817e4Smiod
2310*3d8817e4Smiod2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2311*3d8817e4Smiod
2312*3d8817e4Smiod	* elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
2313*3d8817e4Smiod	sections were created already.  Remove unnecessary tests of
2314*3d8817e4Smiod	the previous change.
2315*3d8817e4Smiod
2316*3d8817e4Smiod2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2317*3d8817e4Smiod
2318*3d8817e4Smiod	* elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
2319*3d8817e4Smiod	bfd_make_section for existing sections.
2320*3d8817e4Smiod
2321*3d8817e4Smiod2003-07-04  Alan Modra  <amodra@bigpond.net.au>
2322*3d8817e4Smiod
2323*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_check_relocs): Don't call
2324*3d8817e4Smiod	create_got_section if we already have done so.
2325*3d8817e4Smiod	* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
2326*3d8817e4Smiod	(sh_elf_check_relocs): Likewise.
2327*3d8817e4Smiod	(sh_elf_adjust_dynamic_symbol): Delete "dynobj" var.  Use
2328*3d8817e4Smiod	htab->root.dynobj instead.
2329*3d8817e4Smiod	(sh_elf_check_relocs): Likewise.
2330*3d8817e4Smiod	(sh_elf_finish_dynamic_sections): Likewise.
2331*3d8817e4Smiod
2332*3d8817e4Smiod	* section.c (bfd_make_section): Return NULL for existing section.
2333*3d8817e4Smiod
2334*3d8817e4Smiod2003-07-04  Alan Modra  <amodra@bigpond.net.au>
2335*3d8817e4Smiod
2336*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
2337*3d8817e4Smiod	ppc_elf_create_got if we've already done so.
2338*3d8817e4Smiod
2339*3d8817e4Smiod	* elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
2340*3d8817e4Smiod	(_bfd_elf_find_pointer_linker_section): Likewise.
2341*3d8817e4Smiod	(bfd_elf32_create_pointer_linker_section): Likewise.
2342*3d8817e4Smiod	(bfd_elf32_finish_pointer_linker_section): Likewise.
2343*3d8817e4Smiod	(bfd_elf64_create_pointer_linker_section): Likewise.
2344*3d8817e4Smiod	(bfd_elf64_finish_pointer_linker_section): Likewise.
2345*3d8817e4Smiod	(_bfd_elf_make_linker_section_rela): Likewise.
2346*3d8817e4Smiod	* elfcode.h (elf_create_pointer_linker_section): Don't define.
2347*3d8817e4Smiod	(elf_finish_pointer_linker_section): Likewise.
2348*3d8817e4Smiod	* elflink.c (_bfd_elf_make_linker_section_rela): Delete.
2349*3d8817e4Smiod	(_bfd_elf_create_linker_section): Move this function..
2350*3d8817e4Smiod	(_bfd_elf_find_pointer_linker_section): ..and this..
2351*3d8817e4Smiod	* elflink.h (elf_create_pointer_linker_section): ..and this..
2352*3d8817e4Smiod	(elf_finish_pointer_linker_section): ..and this..
2353*3d8817e4Smiod	* elf32-ppc.c: ..to here, renaming to the following, and adjusting
2354*3d8817e4Smiod	calls.
2355*3d8817e4Smiod	(elf_create_linker_section): Convert to C90, tidy.
2356*3d8817e4Smiod	(elf_find_pointer_linker_section): Likewise.
2357*3d8817e4Smiod	(elf_create_pointer_linker_section): Likewise.
2358*3d8817e4Smiod	(elf_finish_pointer_linker_section): Likewise.
2359*3d8817e4Smiod	* elf32-i370.c: Delete #if 0 code.
2360*3d8817e4Smiod
2361*3d8817e4Smiod2003-07-02  Alan Modra  <amodra@bigpond.net.au>
2362*3d8817e4Smiod
2363*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
2364*3d8817e4Smiod	_restf* to be satisfied by shared libs, and always force them local.
2365*3d8817e4Smiod	(toc_adjusting_stub_needed): Avoid scanning linker created sections.
2366*3d8817e4Smiod	Correct test for "bl".
2367*3d8817e4Smiod	(ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
2368*3d8817e4Smiod	primary opcode 31.
2369*3d8817e4Smiod
2370*3d8817e4Smiod2003-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2371*3d8817e4Smiod
2372*3d8817e4Smiod	* elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
2373*3d8817e4Smiod	(s390_tls_reloc): New function.
2374*3d8817e4Smiod	(elf_howto_table): Add long displacement relocations R_390_20,
2375*3d8817e4Smiod	R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
2376*3d8817e4Smiod	(elf_s390_reloc_type_lookup): Likewise.
2377*3d8817e4Smiod	(elf_s390_check_relocs): Likewise.
2378*3d8817e4Smiod	(elf_s390_gc_sweep_hook): Likewise.
2379*3d8817e4Smiod	(elf_s390_relocate_section): Likewise.
2380*3d8817e4Smiod	* elf64-s390.c: Same changes as for elf32-s390.c.
2381*3d8817e4Smiod	* reloc.c: Add long displacement relocations BFD_RELOC_390_20,
2382*3d8817e4Smiod	BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
2383*3d8817e4Smiod	BFD_RELOC_390_TLS_GOTIE20.
2384*3d8817e4Smiod	* bfd-in2.h: Regenerate.
2385*3d8817e4Smiod	* libbfd.h: Likewise.
2386*3d8817e4Smiod
2387*3d8817e4Smiod2003-06-30  Alan Modra  <amodra@bigpond.net.au>
2388*3d8817e4Smiod
2389*3d8817e4Smiod	* cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
2390*3d8817e4Smiod	(ins_imms, ins_immsm1u4): Likewise.  Warning fix.
2391*3d8817e4Smiod
2392*3d8817e4Smiod2003-06-29  Alan Modra  <amodra@bigpond.net.au>
2393*3d8817e4Smiod
2394*3d8817e4Smiod	* archive.c: Convert to C90, remove unnecessary prototypes and casts.
2395*3d8817e4Smiod	Replace PTR with void *.  Formatting.
2396*3d8817e4Smiod	* archive64.c: Likewise.
2397*3d8817e4Smiod	* archures.c: Likewise.
2398*3d8817e4Smiod	* bfd-in.h: Likewise.
2399*3d8817e4Smiod	* bfd.c: Likewise.
2400*3d8817e4Smiod	* bfdio.c: Likewise.
2401*3d8817e4Smiod	* bfdwin.c: Likewise.
2402*3d8817e4Smiod	* cache.c: Likewise.
2403*3d8817e4Smiod	* corefile.c: Likewise.
2404*3d8817e4Smiod	* format.c: Likewise.
2405*3d8817e4Smiod	* init.c: Likewise.
2406*3d8817e4Smiod	* libbfd-in.h: Likewise.
2407*3d8817e4Smiod	* libbfd.c: Likewise.
2408*3d8817e4Smiod	* linker.c: Likewise.
2409*3d8817e4Smiod	* opncls.c: Likewise.
2410*3d8817e4Smiod	* reloc.c: Likewise.
2411*3d8817e4Smiod	* section.c: Likewise.
2412*3d8817e4Smiod	* simple.c: Likewise.
2413*3d8817e4Smiod	* syms.c: Likewise.
2414*3d8817e4Smiod	* targets.c: Likewise.
2415*3d8817e4Smiod	* bfd-in2.h: Regenerate.
2416*3d8817e4Smiod	* libbfd.h: Regenerate.
2417*3d8817e4Smiod
2418*3d8817e4Smiod	* ecoff.c (bfd_debug_section): Add missing kept_section initialization.
2419*3d8817e4Smiod	* libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
2420*3d8817e4Smiod	* libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
2421*3d8817e4Smiod	(bfd_getb64): Rewrite without parens.
2422*3d8817e4Smiod	(bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
2423*3d8817e4Smiod	* cache.c (insert, snip): Remove INLINE.
2424*3d8817e4Smiod	* linker.c (bfd_link_add_undef): Likewise.
2425*3d8817e4Smiod
2426*3d8817e4Smiod2003-06-29  Andreas Jaeger  <aj@suse.de>
2427*3d8817e4Smiod
2428*3d8817e4Smiod	* elf64-x86-64.c: Convert to ISO C90 prototypes, remove
2429*3d8817e4Smiod	unnecessary prototypes.  Replace PTR with void *.
2430*3d8817e4Smiod	(elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
2431*3d8817e4Smiod	trim plt entries.  Move undefweak non-default visibility test ...
2432*3d8817e4Smiod	(allocate_dynrelocs): ... from here.
2433*3d8817e4Smiod	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
2434*3d8817e4Smiod	Change all callers.
2435*3d8817e4Smiod	(allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.  Use
2436*3d8817e4Smiod	SYMBOL_REFERENCES_LOCAL for dynreloc check.
2437*3d8817e4Smiod	(elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
2438*3d8817e4Smiod	dynreloc and .got relocs.
2439*3d8817e4Smiod	(elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
2440*3d8817e4Smiod	for .got relocs.
2441*3d8817e4Smiod
2442*3d8817e4Smiod2003-06-29  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2443*3d8817e4Smiod
2444*3d8817e4Smiod	* elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
2445*3d8817e4Smiod
2446*3d8817e4Smiod2003-06-27  Nick Clifton  <nickc@redhat.com>
2447*3d8817e4Smiod
2448*3d8817e4Smiod	* opncls.c (bfd_add_gnu_debuglink_section): Rename to
2449*3d8817e4Smiod	bfd_add_gnu_debuglink_section and only create the section, do not
2450*3d8817e4Smiod	fill in its contents.
2451*3d8817e4Smiod	(bfd_fill_in_gnu_debuglink_section): New function.  Fill in the
2452*3d8817e4Smiod	contents of a .gnu-debuglink section.
2453*3d8817e4Smiod	* bfd-in2.h: Regenerate.
2454*3d8817e4Smiod
2455*3d8817e4Smiod2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2456*3d8817e4Smiod
2457*3d8817e4Smiod	* elfxx-mips.c: Revert .got alignment to 2**4.
2458*3d8817e4Smiod
2459*3d8817e4Smiod2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2460*3d8817e4Smiod
2461*3d8817e4Smiod	* elf32-mips.c: Fix addend for _gp_disp special symbol.
2462*3d8817e4Smiod
2463*3d8817e4Smiod2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2464*3d8817e4Smiod
2465*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
2466*3d8817e4Smiod	relocation header setup.
2467*3d8817e4Smiod
2468*3d8817e4Smiod2003-06-25  Alan Modra  <amodra@bigpond.net.au>
2469*3d8817e4Smiod
2470*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
2471*3d8817e4Smiod	(ppc_elf_reloc_type_lookup): Modify comment.
2472*3d8817e4Smiod	(ppc_elf_info_to_howto): Ditto.
2473*3d8817e4Smiod	(ppc_elf_relocate_section): Ditto.
2474*3d8817e4Smiod	(ppc_elf_check_relocs): Call ppc_elf_howto_init.
2475*3d8817e4Smiod
2476*3d8817e4Smiod2003-06-25  Alan Modra  <amodra@bigpond.net.au>
2477*3d8817e4Smiod
2478*3d8817e4Smiod	* aout-ns32k.c: Correct spelling of "relocatable".
2479*3d8817e4Smiod	* aoutx.h: Likewise.
2480*3d8817e4Smiod	* bfd-in.h: Likewise.
2481*3d8817e4Smiod	* bfd.c: Likewise.
2482*3d8817e4Smiod	* bout.c: Likewise.
2483*3d8817e4Smiod	* coff-a29k.c: Likewise.
2484*3d8817e4Smiod	* coff-alpha.c: Likewise.
2485*3d8817e4Smiod	* coff-arm.c: Likewise.
2486*3d8817e4Smiod	* coff-i386.c: Likewise.
2487*3d8817e4Smiod	* coff-i860.c: Likewise.
2488*3d8817e4Smiod	* coff-i960.c: Likewise.
2489*3d8817e4Smiod	* coff-m68k.c: Likewise.
2490*3d8817e4Smiod	* coff-m88k.c: Likewise.
2491*3d8817e4Smiod	* coff-mcore.c: Likewise.
2492*3d8817e4Smiod	* coff-mips.c: Likewise.
2493*3d8817e4Smiod	* coff-or32.c: Likewise.
2494*3d8817e4Smiod	* coff-ppc.c: Likewise.
2495*3d8817e4Smiod	* coff-rs6000.c: Likewise.
2496*3d8817e4Smiod	* coff-sh.c: Likewise.
2497*3d8817e4Smiod	* coff-tic80.c: Likewise.
2498*3d8817e4Smiod	* coff64-rs6000.c: Likewise.
2499*3d8817e4Smiod	* cofflink.c: Likewise.
2500*3d8817e4Smiod	* cpu-ns32k.c: Likewise.
2501*3d8817e4Smiod	* ecoff.c: Likewise.
2502*3d8817e4Smiod	* ecofflink.c: Likewise.
2503*3d8817e4Smiod	* elf-bfd.h: Likewise.
2504*3d8817e4Smiod	* elf-eh-frame.c: Likewise.
2505*3d8817e4Smiod	* elf-hppa.h: Likewise.
2506*3d8817e4Smiod	* elf-m10200.c: Likewise.
2507*3d8817e4Smiod	* elf-m10300.c: Likewise.
2508*3d8817e4Smiod	* elf.c: Likewise.
2509*3d8817e4Smiod	* elf32-arm.h: Likewise.
2510*3d8817e4Smiod	* elf32-avr.c: Likewise.
2511*3d8817e4Smiod	* elf32-cris.c: Likewise.
2512*3d8817e4Smiod	* elf32-d10v.c: Likewise.
2513*3d8817e4Smiod	* elf32-dlx.c: Likewise.
2514*3d8817e4Smiod	* elf32-fr30.c: Likewise.
2515*3d8817e4Smiod	* elf32-frv.c: Likewise.
2516*3d8817e4Smiod	* elf32-h8300.c: Likewise.
2517*3d8817e4Smiod	* elf32-hppa.c: Likewise.
2518*3d8817e4Smiod	* elf32-i370.c: Likewise.
2519*3d8817e4Smiod	* elf32-i386.c: Likewise.
2520*3d8817e4Smiod	* elf32-i860.c: Likewise.
2521*3d8817e4Smiod	* elf32-i960.c: Likewise.
2522*3d8817e4Smiod	* elf32-ip2k.c: Likewise.
2523*3d8817e4Smiod	* elf32-iq2000.c: Likewise.
2524*3d8817e4Smiod	* elf32-m32r.c: Likewise.
2525*3d8817e4Smiod	* elf32-m68hc11.c: Likewise.
2526*3d8817e4Smiod	* elf32-m68hc1x.c: Likewise.
2527*3d8817e4Smiod	* elf32-m68k.c: Likewise.
2528*3d8817e4Smiod	* elf32-mcore.c: Likewise.
2529*3d8817e4Smiod	* elf32-mips.c: Likewise.
2530*3d8817e4Smiod	* elf32-msp430.c: Likewise.
2531*3d8817e4Smiod	* elf32-openrisc.c: Likewise.
2532*3d8817e4Smiod	* elf32-ppc.c: Likewise.
2533*3d8817e4Smiod	* elf32-s390.c: Likewise.
2534*3d8817e4Smiod	* elf32-sh.c: Likewise.
2535*3d8817e4Smiod	* elf32-sh64.c: Likewise.
2536*3d8817e4Smiod	* elf32-sparc.c: Likewise.
2537*3d8817e4Smiod	* elf32-v850.c: Likewise.
2538*3d8817e4Smiod	* elf32-vax.c: Likewise.
2539*3d8817e4Smiod	* elf32-xstormy16.c: Likewise.
2540*3d8817e4Smiod	* elf32-xtensa.c: Likewise.
2541*3d8817e4Smiod	* elf64-alpha.c: Likewise.
2542*3d8817e4Smiod	* elf64-hppa.c: Likewise.
2543*3d8817e4Smiod	* elf64-mips.c: Likewise.
2544*3d8817e4Smiod	* elf64-mmix.c: Likewise.
2545*3d8817e4Smiod	* elf64-ppc.c: Likewise.
2546*3d8817e4Smiod	* elf64-s390.c: Likewise.
2547*3d8817e4Smiod	* elf64-sh64.c: Likewise.
2548*3d8817e4Smiod	* elf64-sparc.c: Likewise.
2549*3d8817e4Smiod	* elf64-x86-64.c: Likewise.
2550*3d8817e4Smiod	* elfcode.h: Likewise.
2551*3d8817e4Smiod	* elflink.h: Likewise.
2552*3d8817e4Smiod	* elfn32-mips.c: Likewise.
2553*3d8817e4Smiod	* elfxx-ia64.c: Likewise.
2554*3d8817e4Smiod	* elfxx-mips.c: Likewise.
2555*3d8817e4Smiod	* i386linux.c: Likewise.
2556*3d8817e4Smiod	* ieee.c: Likewise.
2557*3d8817e4Smiod	* libcoff-in.h: Likewise.
2558*3d8817e4Smiod	* linker.c: Likewise.
2559*3d8817e4Smiod	* m68klinux.c: Likewise.
2560*3d8817e4Smiod	* pdp11.c: Likewise.
2561*3d8817e4Smiod	* pe-mips.c: Likewise.
2562*3d8817e4Smiod	* peXXigen.c: Likewise.
2563*3d8817e4Smiod	* reloc.c: Likewise.
2564*3d8817e4Smiod	* reloc16.c: Likewise.
2565*3d8817e4Smiod	* sparclinux.c: Likewise.
2566*3d8817e4Smiod	* sunos.c: Likewise.
2567*3d8817e4Smiod	* syms.c: Likewise.
2568*3d8817e4Smiod	* versados.c: Likewise.
2569*3d8817e4Smiod	* vms.c: Likewise.
2570*3d8817e4Smiod	* xcofflink.c: Likewise.
2571*3d8817e4Smiod	* bfd-in2.h: Regenerate.
2572*3d8817e4Smiod	* libcoff.h: Regenerate.
2573*3d8817e4Smiod	* libbfd.h: Regenerate.
2574*3d8817e4Smiod
2575*3d8817e4Smiod2003-06-24  Alan Modra  <amodra@bigpond.net.au>
2576*3d8817e4Smiod
2577*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
2578*3d8817e4Smiod	local sym errors.
2579*3d8817e4Smiod
2580*3d8817e4Smiod	* elf32-i386.c: Convert to C90 function definitions, remove unnecessary
2581*3d8817e4Smiod	prototypes and casts.  Replace PTR with void *.  Formatting.
2582*3d8817e4Smiod	* elf32-ppc.c: Likewise.  Break long strings too.
2583*3d8817e4Smiod	(ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
2584*3d8817e4Smiod	(ppc_elf_unhandled_reloc): Internationalize error message.
2585*3d8817e4Smiod	* elf32-ppc.h: Remove PARAMS.
2586*3d8817e4Smiod
2587*3d8817e4Smiod2003-06-23  Mark Mitchell  <mark@codesourcery.com>
2588*3d8817e4Smiod
2589*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
2590*3d8817e4Smiod	APUinfo slots.
2591*3d8817e4Smiod	(ppc_elf_final_write_processing): Likewise.
2592*3d8817e4Smiod
2593*3d8817e4Smiod2003-06-23  H.J. Lu <hongjiu.lu@intel.com>
2594*3d8817e4Smiod
2595*3d8817e4Smiod	* elflink.h (elf_link_input_bfd): Check raw size when using
2596*3d8817e4Smiod	kept_section to preserve debug information discarded by
2597*3d8817e4Smiod	linkonce.
2598*3d8817e4Smiod
2599*3d8817e4Smiod2003-06-20  Alan Modra  <amodra@bigpond.net.au>
2600*3d8817e4Smiod
2601*3d8817e4Smiod	* elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
2602*3d8817e4Smiod	(ppc64_elf_setup_section_lists): Set it.
2603*3d8817e4Smiod	(ppc64_elf_relocate_section): Check sym section id against top_id.
2604*3d8817e4Smiod	(ppc_build_one_stub): Comment on top_id.
2605*3d8817e4Smiod
2606*3d8817e4Smiod2003-06-20  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
2607*3d8817e4Smiod
2608*3d8817e4Smiod	* config.bfd: Add tic4x-*-rtems*.
2609*3d8817e4Smiod
2610*3d8817e4Smiod2003-06-20  Alan Modra  <amodra@bigpond.net.au>
2611*3d8817e4Smiod
2612*3d8817e4Smiod	* elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
2613*3d8817e4Smiod	prototypes and casts.  Replace PTR with void *.  Format copyright.
2614*3d8817e4Smiod	Mention ABI links.
2615*3d8817e4Smiod	(struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
2616*3d8817e4Smiod	sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
2617*3d8817e4Smiod	(ppc_type_of_stub): Make r_type an enum.
2618*3d8817e4Smiod	(ppc64_elf_size_stubs): Likewise.
2619*3d8817e4Smiod	* elf64-ppc.h: Remove PARAMS macro.
2620*3d8817e4Smiod
2621*3d8817e4Smiod2003-06-19  Alan Modra  <amodra@bigpond.net.au>
2622*3d8817e4Smiod
2623*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
2624*3d8817e4Smiod	elf hash tab fields.
2625*3d8817e4Smiod
2626*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
2627*3d8817e4Smiod	(ppc64_elf_info_to_howto): Likewise.
2628*3d8817e4Smiod	(ppc64_elf_build_stubs): Add "stats" param, and print statistics.
2629*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
2630*3d8817e4Smiod
2631*3d8817e4Smiod2003-06-19  Alan Modra  <amodra@bigpond.net.au>
2632*3d8817e4Smiod
2633*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
2634*3d8817e4Smiod	reloc overflow on discarded eh_frame entries.
2635*3d8817e4Smiod
2636*3d8817e4Smiod2003-06-19  Alan Modra  <amodra@bigpond.net.au>
2637*3d8817e4Smiod
2638*3d8817e4Smiod	* elf64-ppc.c (toc_adjusting_stub_needed): New function.
2639*3d8817e4Smiod	(ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
2640*3d8817e4Smiod	Return error condition.
2641*3d8817e4Smiod	(ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
2642*3d8817e4Smiod	that have has_gp_reloc set.
2643*3d8817e4Smiod	(struct ppc_link_hash_table): Add stub_count.
2644*3d8817e4Smiod	(ppc_build_one_stub): Increment it.
2645*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): zmalloc rather than clearing
2646*3d8817e4Smiod	individual fields.
2647*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
2648*3d8817e4Smiod
2649*3d8817e4Smiod2003-06-18  Alan Modra  <amodra@bigpond.net.au>
2650*3d8817e4Smiod
2651*3d8817e4Smiod	* elflink.h (elf_gc_record_vtentry): Revert last change.  Correct
2652*3d8817e4Smiod	size calculation from addend.  Round size up.
2653*3d8817e4Smiod
2654*3d8817e4Smiod2003-06-18  Hans-Peter Nilsson  <hp@axis.com>
2655*3d8817e4Smiod
2656*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section) <case
2657*3d8817e4Smiod	R_CRIS_32_GOTREL>: When linking a program, don't complain about a
2658*3d8817e4Smiod	symbol from a normal object or an undefined weak symbol.
2659*3d8817e4Smiod
2660*3d8817e4Smiod2003-06-18  Alan Modra  <amodra@bigpond.net.au>
2661*3d8817e4Smiod
2662*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
2663*3d8817e4Smiod	R_PPC64_TOC relocs.
2664*3d8817e4Smiod
2665*3d8817e4Smiod2003-06-17  H.J. Lu <hongjiu.lu@intel.com>
2666*3d8817e4Smiod
2667*3d8817e4Smiod	* section.c (struct sec): Put back kept_section.
2668*3d8817e4Smiod	(STD_SECTION): Put back kept_section initialization.
2669*3d8817e4Smiod	* bfd-in2.h: Regenerate.
2670*3d8817e4Smiod
2671*3d8817e4Smiod	* elflink.h (elf_link_input_bfd): Also check discarded linkonce
2672*3d8817e4Smiod	sections for relocateable output. Use kept_section to preserve
2673*3d8817e4Smiod	debug information discarded by linkonce.
2674*3d8817e4Smiod
2675*3d8817e4Smiod2003-06-17  Roland McGrath  <roland@redhat.com>
2676*3d8817e4Smiod
2677*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relocate_section): Support
2678*3d8817e4Smiod	segment-relative relocation between different segments.
2679*3d8817e4Smiod
2680*3d8817e4Smiod2003-06-17  Alan Modra  <amodra@bigpond.net.au>
2681*3d8817e4Smiod
2682*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
2683*3d8817e4Smiod	optimizations earlier.
2684*3d8817e4Smiod
2685*3d8817e4Smiod	* elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
2686*3d8817e4Smiod	Restore previous input_list type.
2687*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): Undo last change.
2688*3d8817e4Smiod	(ppc64_elf_setup_section_lists): Reinstate code setting up input lists
2689*3d8817e4Smiod	per output section, but don't bother with bfd_abs_section marker.
2690*3d8817e4Smiod	(ppc64_elf_next_input_section): Adjust for multiple input section
2691*3d8817e4Smiod	lists.
2692*3d8817e4Smiod	(group_sections): Likewise.
2693*3d8817e4Smiod
2694*3d8817e4Smiod2003-06-17  Jakub Jelinek  <jakub@redhat.com>
2695*3d8817e4Smiod
2696*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocation_section): Ensure
2697*3d8817e4Smiod	*r_offset == r_addend for RELATIVE relocs against .got.
2698*3d8817e4Smiod
2699*3d8817e4Smiod2003-06-17  Alan Modra  <amodra@bigpond.net.au>
2700*3d8817e4Smiod
2701*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
2702*3d8817e4Smiod
2703*3d8817e4Smiod2003-06-17  Nick Clifton  <nickc@redhat.com>
2704*3d8817e4Smiod
2705*3d8817e4Smiod	* elflink.h (elf_gc_record_vtentry): Allocate an extra element
2706*3d8817e4Smiod	in the vtable_entries_used array to allow for the accessing
2707*3d8817e4Smiod	the largest element.
2708*3d8817e4Smiod
2709*3d8817e4Smiod2003-06-17  Alan Modra  <amodra@bigpond.net.au>
2710*3d8817e4Smiod
2711*3d8817e4Smiod	* elf64-ppc.c (struct ppc_link_hash_table): Remove top_index.  Modify
2712*3d8817e4Smiod	input_list.
2713*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): Init input_list here.
2714*3d8817e4Smiod	(ppc64_elf_setup_section_lists): Remove code setting up input lists
2715*3d8817e4Smiod	per output section.  Set toc_off for abs and other standard sections.
2716*3d8817e4Smiod	(ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
2717*3d8817e4Smiod	(ppc64_elf_next_input_section): Adjust for single input section list.
2718*3d8817e4Smiod	Don't set toc_curr from input bfds that haven't set elf_gp.
2719*3d8817e4Smiod	(group_sections): Adjust for single input section list.
2720*3d8817e4Smiod
2721*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
2722*3d8817e4Smiod
2723*3d8817e4Smiod2003-06-16  Alan Modra  <amodra@bigpond.net.au>
2724*3d8817e4Smiod
2725*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
2726*3d8817e4Smiod	tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
2727*3d8817e4Smiod	dtprel entry.  Ensure TLS_LD DTPMOD reloc has a zero addend.  Write
2728*3d8817e4Smiod	got section for RELATIVE relocs.  Fix wrong comment.  Change condition
2729*3d8817e4Smiod	under which dynamic relocs update the section contents.
2730*3d8817e4Smiod
2731*3d8817e4Smiod2003-06-13  Robert Millan  <zeratul2@wanadoo.es>
2732*3d8817e4Smiod
2733*3d8817e4Smiod	* config.bfd: Add i386-netbsd-gnu target.
2734*3d8817e4Smiod
2735*3d8817e4Smiod2003-06-12  Nick Clifton  <nickc@redhat.com>
2736*3d8817e4Smiod
2737*3d8817e4Smiod	* opncls.c (calc_crc32): Rename to
2738*3d8817e4Smiod	bfd_calc_gnu_debuglink_crc32 and export.
2739*3d8817e4Smiod	(GNU_DEBUGLINK): Define and use to replace occurrences of
2740*3d8817e4Smiod	hard-coded ".gnu_debuglink" in the code.
2741*3d8817e4Smiod	(get_debug_link_info): Prevent aborts by replacing call to
2742*3d8817e4Smiod	xmalloc with a call to malloc.
2743*3d8817e4Smiod	(find_separate_debug_file): Prevent aborts by replacing calls
2744*3d8817e4Smiod	to xmalloc and xstrdup with calls to malloc and strdup.
2745*3d8817e4Smiod	(bfd_add_gnu_debuglink): New function.  Add a .gnu_debuglink
2746*3d8817e4Smiod	section to a bfd.
2747*3d8817e4Smiod	* bfd-in2.h: Regenerate.
2748*3d8817e4Smiod
2749*3d8817e4Smiod2003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
2750*3d8817e4Smiod
2751*3d8817e4Smiod	* config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
2752*3d8817e4Smiod	New target (was i[3-7]86-*-openbsd* before).
2753*3d8817e4Smiod	(i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
2754*3d8817e4Smiod	(vax-*-openbsd*): New target.
2755*3d8817e4Smiod
2756*3d8817e4Smiod2003-06-11  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2757*3d8817e4Smiod
2758*3d8817e4Smiod	* elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
2759*3d8817e4Smiod	for n32, too.
2760*3d8817e4Smiod	(MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
2761*3d8817e4Smiod	(mips_elf_rel_dyn_section): Use appropriate section alignment.
2762*3d8817e4Smiod	(mips_elf_create_got_section): Likewise.
2763*3d8817e4Smiod	(_bfd_mips_elf_create_dynamic_sections): Likewise.
2764*3d8817e4Smiod
2765*3d8817e4Smiod2003-06-11  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2766*3d8817e4Smiod
2767*3d8817e4Smiod	* elf32-mips.c (mips_elf_generic_reloc): New Function.
2768*3d8817e4Smiod	(elf_mips_howto_table_rel): Use it.
2769*3d8817e4Smiod	(gprel32_with_gp): Move prototype.
2770*3d8817e4Smiod	(mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
2771*3d8817e4Smiod	Use mips_elf_generic_reloc.
2772*3d8817e4Smiod	(mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
2773*3d8817e4Smiod	Code cleanup.
2774*3d8817e4Smiod	(_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
2775*3d8817e4Smiod	zero addend.
2776*3d8817e4Smiod	(mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
2777*3d8817e4Smiod	as in the other *_gprel*_reloc functions.
2778*3d8817e4Smiod	(gprel32_with_gp): Handle partial_inplace properly.
2779*3d8817e4Smiod	(mips32_64bit_reloc): Use mips_elf_generic_reloc.
2780*3d8817e4Smiod	(mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
2781*3d8817e4Smiod	Do addend handling directly instead of calling
2782*3d8817e4Smiod	_bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
2783*3d8817e4Smiod	* elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
2784*3d8817e4Smiod	of zero addend. Handle partial_inplace properly.
2785*3d8817e4Smiod	(mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
2786*3d8817e4Smiod	addend.
2787*3d8817e4Smiod	(mips_elf64_gprel16_reloc): Likewise.
2788*3d8817e4Smiod	(mips_elf64_literal_reloc): Likewise.
2789*3d8817e4Smiod	(mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
2790*3d8817e4Smiod	logic as in the other *_gprel*_reloc functions. Handle
2791*3d8817e4Smiod	partial_inplace properly.
2792*3d8817e4Smiod	(mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
2793*3d8817e4Smiod	addend. Handle partial_inplace properly.
2794*3d8817e4Smiod	(mips16_gprel_reloc): Likewise. Do addend handling directly instead
2795*3d8817e4Smiod	of calling _bfd_mips_elf_gprel16_with_gp.
2796*3d8817e4Smiod	* elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
2797*3d8817e4Smiod	(mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
2798*3d8817e4Smiod	of zero addend.
2799*3d8817e4Smiod	(mips_elf_shift6_reloc): Handle partial_inplace properly.
2800*3d8817e4Smiod	(mips16_gprel_reloc): Likewise. Do addend handling directly instead
2801*3d8817e4Smiod	of calling _bfd_mips_elf_gprel16_with_gp.
2802*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
2803*3d8817e4Smiod	partial_inplace properly. Fix wrong addend handling. Fix overflow
2804*3d8817e4Smiod	check.
2805*3d8817e4Smiod	(_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
2806*3d8817e4Smiod	exported.
2807*3d8817e4Smiod	(mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
2808*3d8817e4Smiod	(_bfd_mips_elf_relocate_section): Likewise.
2809*3d8817e4Smiod	(mips_elf_create_dynamic_relocation): Update sec_info_type access.
2810*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
2811*3d8817e4Smiod	(_bfd_mips_elf_sign_extend): New prototype.
2812*3d8817e4Smiod
2813*3d8817e4Smiod2003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
2814*3d8817e4Smiod
2815*3d8817e4Smiod	* config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
2816*3d8817e4Smiod	New target (was sparc-*-openbsd* before).
2817*3d8817e4Smiod	(sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
2818*3d8817e4Smiod
2819*3d8817e4Smiod	* configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
2820*3d8817e4Smiod	* configure: Regenerate.
2821*3d8817e4Smiod
2822*3d8817e4Smiod2003-06-11  H.J. Lu <hongjiu.lu@intel.com>
2823*3d8817e4Smiod
2824*3d8817e4Smiod	* po/Make-in (DESTDIR): New.
2825*3d8817e4Smiod	(install-data-yes): Support $(DESTDIR).
2826*3d8817e4Smiod	(uninstall): Likewise.
2827*3d8817e4Smiod
2828*3d8817e4Smiod2003-06-11  Alan Modra  <amodra@bigpond.net.au>
2829*3d8817e4Smiod
2830*3d8817e4Smiod	* Makefile.am (config.status): Depend on version.h.
2831*3d8817e4Smiod	Run "make dep-am".
2832*3d8817e4Smiod	* Makefile.in: Regenerate.
2833*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
2834*3d8817e4Smiod
2835*3d8817e4Smiod2003-06-10  Alan Modra  <amodra@bigpond.net.au>
2836*3d8817e4Smiod	    Gary Hade <garyhade@us.ibm.com>
2837*3d8817e4Smiod
2838*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
2839*3d8817e4Smiod
2840*3d8817e4Smiod2003-06-10  Richard Sandiford  <rsandifo@redhat.com>
2841*3d8817e4Smiod
2842*3d8817e4Smiod	* archures.c (bfd_mach_h8300sxn): New architecture.
2843*3d8817e4Smiod	* bfd-in2.h: Regenerate.
2844*3d8817e4Smiod	* cpu-h8300.c (h8300_scan): Check for 'sxn'.
2845*3d8817e4Smiod	(h8300sxn_info_struct): New.
2846*3d8817e4Smiod	(h8300sx_info_struct): Link to it.
2847*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
2848*3d8817e4Smiod	(elf32_h8_final_write_processing): Likewise.
2849*3d8817e4Smiod
2850*3d8817e4Smiod2003-06-08  Alan Modra  <amodra@bigpond.net.au>
2851*3d8817e4Smiod
2852*3d8817e4Smiod	* elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
2853*3d8817e4Smiod	elfxx-target.h so that we can use elf_backend_got_header_size.
2854*3d8817e4Smiod	(ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
2855*3d8817e4Smiod	(GLINK_CALL_STUB_SIZE): Modify.  Define new glink call stub and
2856*3d8817e4Smiod	associated macros.
2857*3d8817e4Smiod	(ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
2858*3d8817e4Smiod	dst_mask.
2859*3d8817e4Smiod	(enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
2860*3d8817e4Smiod	ppc_stub_plt_branch_r2off.
2861*3d8817e4Smiod	(struct ppc_stub_hash_entry): Reorganize.
2862*3d8817e4Smiod	(struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
2863*3d8817e4Smiod	toc_curr, toc_off and emit_stub_syms.
2864*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): Init them.
2865*3d8817e4Smiod	(ppc_stub_name): Correct string size.
2866*3d8817e4Smiod	(ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
2867*3d8817e4Smiod	(ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
2868*3d8817e4Smiod	used.
2869*3d8817e4Smiod	(ppc_type_of_stub): Tweak root.type test.
2870*3d8817e4Smiod	(build_plt_stub): Remove glink code.  Adjust for insn macro changes.
2871*3d8817e4Smiod	(ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
2872*3d8817e4Smiod	ppc_stub_plt_branch_r2off.
2873*3d8817e4Smiod	(ppc_build_one_stub): Likewise.  Fix var shadowing.  Correct addis,addi
2874*3d8817e4Smiod	range test.  Use toc_off to calculte r2 values.  Handle emit_stub_syms.
2875*3d8817e4Smiod	(ppc64_elf_setup_section_lists): Remove htab creator flavour test.
2876*3d8817e4Smiod	Initialize elf_gp and toc_curr.
2877*3d8817e4Smiod	(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
2878*3d8817e4Smiod	(ppc64_elf_next_input_section): Set toc_off.
2879*3d8817e4Smiod	(group_sections): Ensure groups have the same TOC.
2880*3d8817e4Smiod	(ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
2881*3d8817e4Smiod	(ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
2882*3d8817e4Smiod	Build new glink stub.
2883*3d8817e4Smiod	(ppc64_elf_relocate_section): Handle multiple TOCs.  Fix comments.
2884*3d8817e4Smiod	(ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
2885*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
2886*3d8817e4Smiod	(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
2887*3d8817e4Smiod	* section.c (struct sec): Rename flag12 to has_gp_reloc.
2888*3d8817e4Smiod	(STD_SECTION): Update.
2889*3d8817e4Smiod	* ecoff.c (bfd_debug_section): Update comment.
2890*3d8817e4Smiod	* bfd-in2.h: Regenerate.
2891*3d8817e4Smiod
2892*3d8817e4Smiod2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
2893*3d8817e4Smiod
2894*3d8817e4Smiod	* elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
2895*3d8817e4Smiod	NULL function pointers.
2896*3d8817e4Smiod
2897*3d8817e4Smiod2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
2898*3d8817e4Smiod
2899*3d8817e4Smiod	* simple.c (bfd_simple_get_relocated_section_contents): Call
2900*3d8817e4Smiod	_bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
2901*3d8817e4Smiod
2902*3d8817e4Smiod2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
2903*3d8817e4Smiod
2904*3d8817e4Smiod	* coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
2905*3d8817e4Smiod	ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
2906*3d8817e4Smiod	swaptables.
2907*3d8817e4Smiod	* coff-tic4x.c: Ditto
2908*3d8817e4Smiod	* coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
2909*3d8817e4Smiod	and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
2910*3d8817e4Smiod	CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
2911*3d8817e4Smiod	ticoff1_bad_format_hook() functions. Created the coff0 and coff1
2912*3d8817e4Smiod	swap tables.
2913*3d8817e4Smiod	* coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
2914*3d8817e4Smiod	* coff-a29k.c: Append COFF_SWAP_TABLE argument
2915*3d8817e4Smiod	* coff-apollo.c: Ditto
2916*3d8817e4Smiod	* coff-arm.c: Ditto
2917*3d8817e4Smiod	* coff-h8300.c: Ditto
2918*3d8817e4Smiod	* coff-h8500.c: Ditto
2919*3d8817e4Smiod	* coff-i960.c: Ditto
2920*3d8817e4Smiod	* coff-m68k.c: Ditto
2921*3d8817e4Smiod	* coff-m88k.c: Ditto
2922*3d8817e4Smiod	* coff-mcore.c: Ditto
2923*3d8817e4Smiod	* coff-sh.c: Ditto
2924*3d8817e4Smiod	* coff-sparc.c: Ditto
2925*3d8817e4Smiod	* coff-tic80.c: Ditto
2926*3d8817e4Smiod	* coff-we32k.c: Ditto
2927*3d8817e4Smiod	* coff-z8k.c: Ditto
2928*3d8817e4Smiod	* coff-w65.c: Ditto
2929*3d8817e4Smiod
2930*3d8817e4Smiod2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
2931*3d8817e4Smiod
2932*3d8817e4Smiod	* coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
2933*3d8817e4Smiod	initialization bug
2934*3d8817e4Smiod
2935*3d8817e4Smiod2003-06-03  Jakub Jelinek  <jakub@redhat.com>
2936*3d8817e4Smiod
2937*3d8817e4Smiod	* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
2938*3d8817e4Smiod	(bfd_section_from_phdr): Likewise.
2939*3d8817e4Smiod	(map_sections_to_segments): Create PT_GNU_STACK segment header.
2940*3d8817e4Smiod	(get_program_header_size): Count with PT_GNU_STACK.
2941*3d8817e4Smiod	* elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
2942*3d8817e4Smiod	* elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
2943*3d8817e4Smiod
2944*3d8817e4Smiod2003-06-03  H.J. Lu <hongjiu.lu@intel.com>
2945*3d8817e4Smiod
2946*3d8817e4Smiod	* elflink.h (elf_link_input_bfd): Call linker error_handler
2947*3d8817e4Smiod	for discarded definitions.
2948*3d8817e4Smiod
2949*3d8817e4Smiod2003-06-03  Elias Athanasopoulos  <elathan@phys.uoa.gr>
2950*3d8817e4Smiod
2951*3d8817e4Smiod	* syms.c (decode_section_type): Return 'n' if section flags are
2952*3d8817e4Smiod	SEC_HAS_CONTENTS && SEC_READONLY.
2953*3d8817e4Smiod
2954*3d8817e4Smiod2003-06-03  Nick Clifton  <nickc@redhat.com>
2955*3d8817e4Smiod
2956*3d8817e4Smiod	* elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
2957*3d8817e4Smiod	R_V850_ABS32.  Add entry for R_V850_REL32.
2958*3d8817e4Smiod	(v850_elf_reloc_map): Likewise.
2959*3d8817e4Smiod	(v850_elf_check_relocs): Likewise.
2960*3d8817e4Smiod	(v850_elf_perform_relocation): Likewise.
2961*3d8817e4Smiod	(v850_elf_final_link_relocate): Likewise.  Include computation
2962*3d8817e4Smiod	to make R_V850_REl32 pc-relative.
2963*3d8817e4Smiod
2964*3d8817e4Smiod2003-06-03  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2965*3d8817e4Smiod
2966*3d8817e4Smiod	* elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
2967*3d8817e4Smiod	and DT_DEBUG dynamic tag even for position independent executables.
2968*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
2969*3d8817e4Smiod
2970*3d8817e4Smiod2003-06-02  Daniel Jacobowitz  <drow@mvista.com>
2971*3d8817e4Smiod
2972*3d8817e4Smiod	* config.bfd: Move obsolete entries out of the range of the
2973*3d8817e4Smiod	targmatch sed script.
2974*3d8817e4Smiod
2975*3d8817e4Smiod2003-06-02  Daniel Jacobowitz  <drow@mvista.com>
2976*3d8817e4Smiod
2977*3d8817e4Smiod	* config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
2978*3d8817e4Smiod
2979*3d8817e4Smiod2003-05-31  Jakub Jelinek  <jakub@redhat.com>
2980*3d8817e4Smiod
2981*3d8817e4Smiod	* elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
2982*3d8817e4Smiod	plt entries, not just 8191.
2983*3d8817e4Smiod
2984*3d8817e4Smiod2003-05-30  Daniel Jacobowitz  <drow@mvista.com>
2985*3d8817e4Smiod
2986*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
2987*3d8817e4Smiod	Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
2988*3d8817e4Smiod
2989*3d8817e4Smiod2003-05-30  Ulrich Drepper  <drepper@redhat.com>
2990*3d8817e4Smiod	    Jakub Jelinek  <jakub@redhat.com>
2991*3d8817e4Smiod
2992*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Use !info->executable
2993*3d8817e4Smiod	instead of info->shared where appropriate.
2994*3d8817e4Smiod	(bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
2995*3d8817e4Smiod	* elflink.c (_bfd_elf_create_got_section): Likewise.
2996*3d8817e4Smiod	(_bfd_elf_link_create_dynamic_sections): Likewise.
2997*3d8817e4Smiod	(_bfd_elf_link_assign_sym_version): Likewise.
2998*3d8817e4Smiod	* elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
2999*3d8817e4Smiod	and DT_DEBUG dynamic tag even for position independent executables.
3000*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
3001*3d8817e4Smiod	* elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
3002*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
3003*3d8817e4Smiod	* elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
3004*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
3005*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
3006*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
3007*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
3008*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
3009*3d8817e4Smiod
3010*3d8817e4Smiod2003-05-30  Kris Warkentin <kewarken@qnx.com>
3011*3d8817e4Smiod
3012*3d8817e4Smiod	* elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
3013*3d8817e4Smiod	signalled thread.
3014*3d8817e4Smiod	(elfcore_grok_nto_gregs): Only make .reg section for the active thread.
3015*3d8817e4Smiod
3016*3d8817e4Smiod2003-05-29  Nick Clifton  <nickc@redhat.com>
3017*3d8817e4Smiod
3018*3d8817e4Smiod	* pef.c: Include "safe-ctype.h" instead of <ctype.h>.
3019*3d8817e4Smiod	Tidy up formatting.
3020*3d8817e4Smiod	* Makefile.am: Add dependency on safe-ctype.h.
3021*3d8817e4Smiod	* Makefile.in: Regenerate.
3022*3d8817e4Smiod
3023*3d8817e4Smiod2003-05-29  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3024*3d8817e4Smiod
3025*3d8817e4Smiod	* elfxx-mips.c: Don't force symbols local unconditionally.
3026*3d8817e4Smiod
3027*3d8817e4Smiod2003-05-28  Alan Modra  <amodra@bigpond.net.au>
3028*3d8817e4Smiod
3029*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
3030*3d8817e4Smiod	undefined_symbol call.
3031*3d8817e4Smiod
3032*3d8817e4Smiod2003-05-27  Richard Sandiford  <rsandifo@redhat.com>
3033*3d8817e4Smiod
3034*3d8817e4Smiod	* elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
3035*3d8817e4Smiod	(mips_elf_link_hash_table): Likewise.
3036*3d8817e4Smiod
3037*3d8817e4Smiod2003-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3038*3d8817e4Smiod
3039*3d8817e4Smiod	* elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
3040*3d8817e4Smiod	R_MIPS_GNU_REL16_S2 support.
3041*3d8817e4Smiod	(bfd_elf64_bfd_reloc_type_lookup): Use it.
3042*3d8817e4Smiod	(mips_elf64_rtype_to_howto): Use it.
3043*3d8817e4Smiod	* elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
3044*3d8817e4Smiod	R_MIPS_GNU_REL16_S2 support.
3045*3d8817e4Smiod	(bfd_elf32_bfd_reloc_type_lookup): Use it.
3046*3d8817e4Smiod	(mips_elf_n32_rtype_to_howto): Use it.
3047*3d8817e4Smiod
3048*3d8817e4Smiod2003-05-21  Stuart F. Downing  <sdowning@fame.com>
3049*3d8817e4Smiod
3050*3d8817e4Smiod	* som.h: Define PA_2_0 before including a.out.h
3051*3d8817e4Smiod
3052*3d8817e4Smiod2003-05-07  Eric Christopher  <echristo@redhat.com>
3053*3d8817e4Smiod	    Alexandre Oliva   <aoliva@redhat.com>
3054*3d8817e4Smiod
3055*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
3056*3d8817e4Smiod	pic tests, change to warning.
3057*3d8817e4Smiod	(_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
3058*3d8817e4Smiod
3059*3d8817e4Smiod2003-05-21  Marcus Comstedt  <marcus@mc.pp.se>
3060*3d8817e4Smiod
3061*3d8817e4Smiod	* config.bfd: Check for a target triplet of shl-...-netbsdelf as
3062*3d8817e4Smiod	well as shle-...-netbsdelf.  Remove duplicate entry.
3063*3d8817e4Smiod
3064*3d8817e4Smiod2003-05-21  Nick Clifton  <nickc@redhat.com>
3065*3d8817e4Smiod
3066*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
3067*3d8817e4Smiod	for X_STORMY16_REL_12 reloc.
3068*3d8817e4Smiod
3069*3d8817e4Smiod	* elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
3070*3d8817e4Smiod	the type of the hash table in the bfd_link_info structure.
3071*3d8817e4Smiod	(bfd_elf_get_runpath_list): Likewise.
3072*3d8817e4Smiod
3073*3d8817e4Smiod2003-05-19  Roland McGrath  <roland@redhat.com>
3074*3d8817e4Smiod
3075*3d8817e4Smiod	* elf.c (bfd_elf_bfd_from_remote_memory): New function.
3076*3d8817e4Smiod	* bfd-in.h: Declare it.
3077*3d8817e4Smiod	* bfd-in2.h: Regenerated.
3078*3d8817e4Smiod	* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
3079*3d8817e4Smiod	* elf-bfd.h (struct elf_backend_data): New function pointer member
3080*3d8817e4Smiod	elf_backend_bfd_from_remote_memory.
3081*3d8817e4Smiod	(_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
3082*3d8817e4Smiod	Declare them.
3083*3d8817e4Smiod	* elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
3084*3d8817e4Smiod	(elfNN_bed): Add that to the initializer.
3085*3d8817e4Smiod
3086*3d8817e4Smiod2003-05-15  Roland McGrath  <roland@redhat.com>
3087*3d8817e4Smiod
3088*3d8817e4Smiod	* elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
3089*3d8817e4Smiod
3090*3d8817e4Smiod2003-05-20  Jakub Jelinek  <jakub@redhat.com>
3091*3d8817e4Smiod
3092*3d8817e4Smiod	* elflink.h (elf_link_output_extsym): Only issue error about !=
3093*3d8817e4Smiod	STV_DEFAULT symbols if they are bfd_link_hash_undefined.
3094*3d8817e4Smiod
3095*3d8817e4Smiod2003-05-20  H.J. Lu <hongjiu.lu@intel.com>
3096*3d8817e4Smiod
3097*3d8817e4Smiod	* elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
3098*3d8817e4Smiod	when removing the old definition for symbols with non-default
3099*3d8817e4Smiod	visibility.
3100*3d8817e4Smiod
3101*3d8817e4Smiod2003-05-18  Jason Eckhardt  <jle@rice.edu>
3102*3d8817e4Smiod
3103*3d8817e4Smiod	* elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
3104*3d8817e4Smiod
3105*3d8817e4Smiod2003-05-17  Andreas Schwab  <schwab@suse.de>
3106*3d8817e4Smiod
3107*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
3108*3d8817e4Smiod	elf_section_data during processing of pc-relative and absolute
3109*3d8817e4Smiod	relocations.
3110*3d8817e4Smiod	(elf_m68k_relocate_section): Use the cached reloc section instead
3111*3d8817e4Smiod	of computing it again.  Fix handling of visibility.  Don't modify
3112*3d8817e4Smiod	addend when copying over a relocation into the output.
3113*3d8817e4Smiod
3114*3d8817e4Smiod2003-05-17  Alan Modra  <amodra@bigpond.net.au>
3115*3d8817e4Smiod
3116*3d8817e4Smiod	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
3117*3d8817e4Smiod	to trim plt entries.  Move undefweak non-default visibility test..
3118*3d8817e4Smiod	(allocate_dynrelocs): ..from here.
3119*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
3120*3d8817e4Smiod	dynamic_sections_created here.  Update comment.  Move undefweak
3121*3d8817e4Smiod	non-default visibility test..
3122*3d8817e4Smiod	(allocate_dynrelocs): ..from here.  Fix comment.
3123*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
3124*3d8817e4Smiod	to trim plt entries.  Move undefweak non-default visibility test..
3125*3d8817e4Smiod	(allocate_dynrelocs): ..from here.  Fix comment.
3126*3d8817e4Smiod	* elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
3127*3d8817e4Smiod	STV_DEFAULT rather than comparing with zero.
3128*3d8817e4Smiod	* elflink.c (_bfd_elf_merge_symbol): Likewise.
3129*3d8817e4Smiod	(_bfd_elf_fix_symbol_flags): Likewise.  Format comment.
3130*3d8817e4Smiod
3131*3d8817e4Smiod2003-05-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3132*3d8817e4Smiod
3133*3d8817e4Smiod	* bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
3134*3d8817e4Smiod	pointers.
3135*3d8817e4Smiod	(_bfd_set_gp_value): Likewise.
3136*3d8817e4Smiod
3137*3d8817e4Smiod2003-05-16  Michael Snyder  <msnyder@redhat.com>
3138*3d8817e4Smiod	From Bernd Schmidt  <bernds@redhat.com>
3139*3d8817e4Smiod	* archures.c (bfd_mach_h8300sx): New.
3140*3d8817e4Smiod	* bfd-in2.h: Regenerate.
3141*3d8817e4Smiod	* cpu-h8300.c (h8300_scan)): Add support for h8300sx.
3142*3d8817e4Smiod	(h8300sx_info_struct): New.
3143*3d8817e4Smiod	(h8300s_info_struct): Link to it.
3144*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
3145*3d8817e4Smiod	(elf32_h8_final_write_processing): Likewise.
3146*3d8817e4Smiod	(elf32_h8_relax_section): Likewise.
3147*3d8817e4Smiod
3148*3d8817e4Smiod2003-05-16  Kelley Cook  <kelleycook@wideopenwest.com>
3149*3d8817e4Smiod
3150*3d8817e4Smiod	* config.bfd: Accept i[3-7]86 variants.
3151*3d8817e4Smiod	* configure.host: Likewise.
3152*3d8817e4Smiod	* configure.in: Likewise.
3153*3d8817e4Smiod	* configure: Regenerate.
3154*3d8817e4Smiod
3155*3d8817e4Smiod2003-05-15  H.J. Lu <hongjiu.lu@intel.com>
3156*3d8817e4Smiod
3157*3d8817e4Smiod	* elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
3158*3d8817e4Smiod	symbol.
3159*3d8817e4Smiod
3160*3d8817e4Smiod2003-05-15  H.J. Lu <hongjiu.lu@intel.com>
3161*3d8817e4Smiod
3162*3d8817e4Smiod	* elflink.h (elf_link_check_versioned_symbol): Also allow
3163*3d8817e4Smiod	the base version.
3164*3d8817e4Smiod
3165*3d8817e4Smiod2003-05-15  Alan Modra  <amodra@bigpond.net.au>
3166*3d8817e4Smiod	    H.J. Lu <hongjiu.lu@intel.com>
3167*3d8817e4Smiod
3168*3d8817e4Smiod	* elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
3169*3d8817e4Smiod	(elf_i386_relocate_section): Likewise.
3170*3d8817e4Smiod	* elf32-ppc.c (allocate_dynrelocs): Likewise.
3171*3d8817e4Smiod	(ppc_elf_relocate_section): Likewise.
3172*3d8817e4Smiod	* elf64-ppc.c (allocate_dynrelocs): Likewise.
3173*3d8817e4Smiod	(ppc64_elf_relocate_section): Likewise.
3174*3d8817e4Smiod
3175*3d8817e4Smiod2003-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3176*3d8817e4Smiod
3177*3d8817e4Smiod	* elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
3178*3d8817e4Smiod
3179*3d8817e4Smiod2003-05-13  Stephane Carrez  <stcarrez@nerim.fr>
3180*3d8817e4Smiod
3181*3d8817e4Smiod	* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
3182*3d8817e4Smiod	processor capability, allow merge of HC12 and HCS12 in some cases.
3183*3d8817e4Smiod	(m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
3184*3d8817e4Smiod	* cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
3185*3d8817e4Smiod	(bfd_m68hc12_arch): Link it.
3186*3d8817e4Smiod	(scan_mach): New function.
3187*3d8817e4Smiod
3188*3d8817e4Smiod2003-05-13  Andrew Haley  <aph@redhat.com>
3189*3d8817e4Smiod
3190*3d8817e4Smiod	* elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
3191*3d8817e4Smiod
3192*3d8817e4Smiod2003-05-13  Alan Modra  <amodra@bigpond.net.au>
3193*3d8817e4Smiod	    H.J. Lu  <hongjiu.lu@intel.com>
3194*3d8817e4Smiod
3195*3d8817e4Smiod	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
3196*3d8817e4Smiod	elf32-ppc.c.  Add ELF_LINK_FORCED_LOCAL check.
3197*3d8817e4Smiod	* elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
3198*3d8817e4Smiod	(allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
3199*3d8817e4Smiod	(ppc_elf_relocate_section): Likewise.
3200*3d8817e4Smiod	* elf64-ppc.c (allocate_dynrelocs): Likewise.
3201*3d8817e4Smiod	(ppc64_elf_relocate_section): Likewise.  Use for .got relocs too.
3202*3d8817e4Smiod	(ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
3203*3d8817e4Smiod	relocs need no other types.
3204*3d8817e4Smiod	* elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
3205*3d8817e4Smiod	dynreloc check.
3206*3d8817e4Smiod	(elf_i386_relocate_section): Likewise.  Use for .got relocs too.
3207*3d8817e4Smiod	(elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
3208*3d8817e4Smiod	.got relocs.
3209*3d8817e4Smiod
3210*3d8817e4Smiod2003-05-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3211*3d8817e4Smiod
3212*3d8817e4Smiod	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
3213*3d8817e4Smiod	copy ELF_LINK_NON_GOT_REF from weakdef.
3214*3d8817e4Smiod	(allocate_dynrelocs): For undef weak syms with non-default
3215*3d8817e4Smiod	visibility, a) don't allocate plt entries, b) don't allocate
3216*3d8817e4Smiod	.got relocs, c) discard dyn rel space
3217*3d8817e4Smiod	(sh_elf_relocate_section): d) don't generate .got relocs, e)
3218*3d8817e4Smiod	don't generate dynamic relocs.
3219*3d8817e4Smiod	(sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
3220*3d8817e4Smiod	for weakdefs when symbol already adjusted.
3221*3d8817e4Smiod
3222*3d8817e4Smiod2003-05-12  Nick Clifton  <nickc@redhat.com>
3223*3d8817e4Smiod
3224*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
3225*3d8817e4Smiod	overflow detection for R_XSTORMY16_16 reloc.
3226*3d8817e4Smiod
3227*3d8817e4Smiod2003-05-12  Paul Clarke  <paulc@senet.com.au>
3228*3d8817e4Smiod
3229*3d8817e4Smiod	* elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
3230*3d8817e4Smiod
3231*3d8817e4Smiod2003-05-11  Jason Eckhardt  <jle@rice.edu>
3232*3d8817e4Smiod
3233*3d8817e4Smiod	* elf32-i860.c (elf32_i860_relocate_highadj): Properly
3234*3d8817e4Smiod	adjust upper bits.
3235*3d8817e4Smiod	(elf32_i860_relocate_splitn): Obtain upper 5 bits from the
3236*3d8817e4Smiod	proper place.
3237*3d8817e4Smiod	(elf32_i860_relocate_pc16): Obtain upper 5 bits from the
3238*3d8817e4Smiod	proper place.
3239*3d8817e4Smiod
3240*3d8817e4Smiod2003-05-11  Andreas Schwab  <schwab@suse.de>
3241*3d8817e4Smiod
3242*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
3243*3d8817e4Smiod	complicated tests for unresolvable relocs with a simple direct
3244*3d8817e4Smiod	scheme using "unresolved_reloc" var.  Report some detail on
3245*3d8817e4Smiod	bfd_reloc_outofrange and similar errors.
3246*3d8817e4Smiod
3247*3d8817e4Smiod2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3248*3d8817e4Smiod
3249*3d8817e4Smiod	* elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
3250*3d8817e4Smiod	Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
3251*3d8817e4Smiod	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3252*3d8817e4Smiod	* elf64-s390.c: Likewise.
3253*3d8817e4Smiod
3254*3d8817e4Smiod2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3255*3d8817e4Smiod
3256*3d8817e4Smiod	* elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
3257*3d8817e4Smiod	(elf_s390_adjust_dynamic_symbol): For weak symbols, copy
3258*3d8817e4Smiod	ELF_LINK_NON_GOT_REF from weakdef.
3259*3d8817e4Smiod	(elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
3260*3d8817e4Smiod	already been adjusted before treating it specially.
3261*3d8817e4Smiod	* el64-s390.c: Likwise.
3262*3d8817e4Smiod
3263*3d8817e4Smiod2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3264*3d8817e4Smiod
3265*3d8817e4Smiod	* elf32-s390.c (allocate_dynrelocs): For undef weak syms with
3266*3d8817e4Smiod	non-default visibility, a) don't make them dynamic, b) discard
3267*3d8817e4Smiod	space for dynamic relocs.
3268*3d8817e4Smiod	(elf_s390_relocate_section): Initialize the GOT entries and skip
3269*3d8817e4Smiod	R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
3270*3d8817e4Smiod	symbols with non-default visibility.
3271*3d8817e4Smiod	* elf64-s390.c: Likewise.
3272*3d8817e4Smiod
3273*3d8817e4Smiod2003-05-09  Alan Modra  <amodra@bigpond.net.au>
3274*3d8817e4Smiod
3275*3d8817e4Smiod	* cpu-arm.c (arm_check_note): Warning fix.
3276*3d8817e4Smiod	* elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes.  Arrange
3277*3d8817e4Smiod	to keep relocs if edited.
3278*3d8817e4Smiod	(iq2000_elf_print_private_bfd_data): Return TRUE.
3279*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
3280*3d8817e4Smiod	ELF64_R_SYM.
3281*3d8817e4Smiod	(elfNN_ia64_relax_ldxmov): Warning fix.
3282*3d8817e4Smiod	* xtensa-isa.c (xtensa_add_isa): Warning fix.
3283*3d8817e4Smiod	* xtensa-modules.c (get_num_opcodes): Warning fix.
3284*3d8817e4Smiod
3285*3d8817e4Smiod2003-05-09  Andrey Petrov <petrov@netbsd.org>
3286*3d8817e4Smiod
3287*3d8817e4Smiod	* elf.c (elf_fake_sections): Use correct cast for sh_name.
3288*3d8817e4Smiod
3289*3d8817e4Smiod2003-05-09  Alan Modra  <amodra@bigpond.net.au>
3290*3d8817e4Smiod
3291*3d8817e4Smiod	* elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
3292*3d8817e4Smiod	elflink.h.  Replace LOG_FILE_ALIGN with bed->s->log_file_align.
3293*3d8817e4Smiod	(_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
3294*3d8817e4Smiod	(bfd_elf_record_link_assignment): Move from elflink.h.
3295*3d8817e4Smiod	(_bfd_elf_merge_symbol): Likewise.
3296*3d8817e4Smiod	(_bfd_elf_add_default_symbol): Likewise.
3297*3d8817e4Smiod	(_bfd_elf_export_symbol): Likewise.
3298*3d8817e4Smiod	(_bfd_elf_link_find_version_dependencies): Likewise.
3299*3d8817e4Smiod	(_bfd_elf_link_assign_sym_version): Likewise.
3300*3d8817e4Smiod	(_bfd_elf_link_read_relocs): Likewise.
3301*3d8817e4Smiod	(_bfd_elf_link_size_reloc_section): Likewise.
3302*3d8817e4Smiod	(_bfd_elf_fix_symbol_flags): Likewise.
3303*3d8817e4Smiod	(_bfd_elf_adjust_dynamic_symbol): Likewise.
3304*3d8817e4Smiod	(_bfd_elf_link_sec_merge_syms): Likewise.
3305*3d8817e4Smiod	(elf_link_read_relocs_from_section): Likewise.  Use bed->s->sizeof_rel
3306*3d8817e4Smiod	and bed->s->sizeof_rela.
3307*3d8817e4Smiod	(_bfd_elf_link_output_relocs): Likewise.
3308*3d8817e4Smiod	* elf-bfd.h (struct elf_size_info): Rename file_align to
3309*3d8817e4Smiod	log_file_align.
3310*3d8817e4Smiod	(struct elf_info_failed): Move from elflink.h.
3311*3d8817e4Smiod	(struct elf_assign_sym_version_info): Likewise.
3312*3d8817e4Smiod	(struct elf_find_verdep_info): Likewise.
3313*3d8817e4Smiod	(_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
3314*3d8817e4Smiod	(_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
3315*3d8817e4Smiod	_bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
3316*3d8817e4Smiod	_bfd_elf_link_assign_sym_version,
3317*3d8817e4Smiod	_bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
3318*3d8817e4Smiod	_bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
3319*3d8817e4Smiod	_bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
3320*3d8817e4Smiod	_bfd_elf_link_sec_merge_syms): Declare.
3321*3d8817e4Smiod	(bfd_elf32_link_create_dynamic_sections): Don't declare.
3322*3d8817e4Smiod	(_bfd_elf32_link_read_relocs): Likewise.
3323*3d8817e4Smiod	(bfd_elf64_link_create_dynamic_sections): Likewise.
3324*3d8817e4Smiod	(_bfd_elf64_link_read_relocs): Likewise.
3325*3d8817e4Smiod	* elflink.h: Move lots o' stuff elsewhere.
3326*3d8817e4Smiod	* bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
3327*3d8817e4Smiod	(bfd_elf64_record_link_assignment): Likewise.
3328*3d8817e4Smiod	(bfd_elf_record_link_assignment): Declare.
3329*3d8817e4Smiod	* bfd-in2.h: Regenerate.
3330*3d8817e4Smiod	* elfcode.h (elf_link_create_dynamic_sections): Don't declare.
3331*3d8817e4Smiod	(NAME(_bfd_elf,size_info)): Adjust for log_file_align.
3332*3d8817e4Smiod	* elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
3333*3d8817e4Smiod	(assign_file_positions_for_segments): Likewise.
3334*3d8817e4Smiod	(assign_file_positions_except_relocs): Likewise.
3335*3d8817e4Smiod	(swap_out_syms, elfcore_write_note): Likewise.
3336*3d8817e4Smiod	* elf-m10200.c: Adjust for changed function names.
3337*3d8817e4Smiod	* elf-m10300.c: Likewise.
3338*3d8817e4Smiod	* elf32-arm.h: Likewise.
3339*3d8817e4Smiod	* elf32-h8300.c: Likewise.
3340*3d8817e4Smiod	* elf32-hppa.c: Likewise.
3341*3d8817e4Smiod	* elf32-ip2k.c: Likewise.
3342*3d8817e4Smiod	* elf32-m32r.c: Likewise.
3343*3d8817e4Smiod	* elf32-m68hc11.c: Likewise.
3344*3d8817e4Smiod	* elf32-m68hc1x.c: Likewise.
3345*3d8817e4Smiod	* elf32-m68k.c: Likewise.
3346*3d8817e4Smiod	* elf32-mips.c: Likewise.
3347*3d8817e4Smiod	* elf32-ppc.c: Likewise.
3348*3d8817e4Smiod	* elf32-sh.c: Likewise.
3349*3d8817e4Smiod	* elf32-v850.c: Likewise.
3350*3d8817e4Smiod	* elf32-xtensa.c: Likewise.
3351*3d8817e4Smiod	* elf64-alpha.c: Likewise.
3352*3d8817e4Smiod	* elf64-hppa.c: Likewise.
3353*3d8817e4Smiod	* elf64-mmix.c: Likewise.
3354*3d8817e4Smiod	* elf64-ppc.c: Likewise.
3355*3d8817e4Smiod	* elf64-sh64.c: Likewise.
3356*3d8817e4Smiod	* elfxx-ia64.c: Likewise.
3357*3d8817e4Smiod	* elfxx-mips.c: Likewise.
3358*3d8817e4Smiod	(MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
3359*3d8817e4Smiod	* elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
3360*3d8817e4Smiod	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
3361*3d8817e4Smiod	* elf64-mips.c (mips_elf64_size_info): Likewise.
3362*3d8817e4Smiod	* elf64-s390.c (s390_elf64_size_info): Likewise.
3363*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
3364*3d8817e4Smiod
3365*3d8817e4Smiod2003-05-08  H.J. Lu <hongjiu.lu@intel.com>
3366*3d8817e4Smiod
3367*3d8817e4Smiod	* elflink.h (elf_add_default_symbol): After skipping the
3368*3d8817e4Smiod	unversioned symbol, go to non-default one.
3369*3d8817e4Smiod
3370*3d8817e4Smiod2003-05-07  H.J. Lu <hongjiu.lu@intel.com>
3371*3d8817e4Smiod
3372*3d8817e4Smiod	* elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
3373*3d8817e4Smiod	want_plt field.
3374*3d8817e4Smiod	(elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
3375*3d8817e4Smiod	for symbols with non-default visibility.
3376*3d8817e4Smiod
3377*3d8817e4Smiod2003-05-07  H.J. Lu <hongjiu.lu@intel.com>
3378*3d8817e4Smiod
3379*3d8817e4Smiod	* elflink.h (elf_link_check_versioned_symbol): Also handle the
3380*3d8817e4Smiod	case that a DSO references a hidden symbol which may be
3381*3d8817e4Smiod	satisfied by a versioned symbol in another DSO.
3382*3d8817e4Smiod	(elf_link_output_extsym): Check versioned definition for hidden
3383*3d8817e4Smiod	symbol referenced by a DSO.
3384*3d8817e4Smiod
3385*3d8817e4Smiod2003-05-07  Nick Clifton  <nickc@redhat.com>
3386*3d8817e4Smiod
3387*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
3388*3d8817e4Smiod	R_XSTORMY16_16 reloc to ignore overflows.
3389*3d8817e4Smiod
3390*3d8817e4Smiod2003-05-06  Alexandre Oliva  <aoliva@redhat.com>
3391*3d8817e4Smiod
3392*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
3393*3d8817e4Smiod	error message for mixing different-endian files.  Check for ABI
3394*3d8817e4Smiod	compatibility of input files with the selected emulation.
3395*3d8817e4Smiod
3396*3d8817e4Smiod2003-05-05  Alan Modra  <amodra@bigpond.net.au>
3397*3d8817e4Smiod
3398*3d8817e4Smiod	* elf32-i386.c (allocate_dynrelocs): For undef weak syms with
3399*3d8817e4Smiod	non-default visibility, a) don't make them dynamic, b) discard
3400*3d8817e4Smiod	space for dynamic relocs.
3401*3d8817e4Smiod	* elf64-x86-64.c (allocate_dynrelocs): Likewise.
3402*3d8817e4Smiod
3403*3d8817e4Smiod	* elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
3404*3d8817e4Smiod	non-default visibility, a) don't allocate plt entries, b) don't
3405*3d8817e4Smiod	allocate .got relocs, c) discard dyn rel space,
3406*3d8817e4Smiod	(ppc_elf_relocate_section): d) don't generate .got relocs, e)
3407*3d8817e4Smiod	don't generate dynamic relocs.
3408*3d8817e4Smiod	* elf64-ppc.c (allocate_dynrelocs): As above.
3409*3d8817e4Smiod	(ppc64_elf_relocate_section): As above.
3410*3d8817e4Smiod
3411*3d8817e4Smiod2003-05-05  Andreas Jaeger  <aj@suse.de>
3412*3d8817e4Smiod
3413*3d8817e4Smiod	* elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
3414*3d8817e4Smiod	relocation entries for weak undefined symbols with non-default
3415*3d8817e4Smiod	visibility.
3416*3d8817e4Smiod	(elf64_x86_64_relocate_section): Initialize the GOT entries and
3417*3d8817e4Smiod	skip R_386_32/R_386_PC32 for weak undefined symbols with
3418*3d8817e4Smiod	non-default visibility.
3419*3d8817e4Smiod
3420*3d8817e4Smiod2003-05-04  H.J. Lu <hjl@gnu.org>
3421*3d8817e4Smiod
3422*3d8817e4Smiod	* elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
3423*3d8817e4Smiod	relocation entries for weak undefined symbols with non-default
3424*3d8817e4Smiod	visibility.
3425*3d8817e4Smiod	(elf_i386_relocate_section): Initialize the GOT entries and
3426*3d8817e4Smiod	skip R_386_32/R_386_PC32 for weak undefined symbols with
3427*3d8817e4Smiod	non-default visibility.
3428*3d8817e4Smiod
3429*3d8817e4Smiod	* elfxx-ia64.c (allocate_fptr): Don't allocate function
3430*3d8817e4Smiod	descriptors for weak undefined symbols with non-default
3431*3d8817e4Smiod	visibility.
3432*3d8817e4Smiod	(allocate_dynrel_entries): Don't allocate relocation entries
3433*3d8817e4Smiod	for symbols resolved to 0.
3434*3d8817e4Smiod	(set_got_entry): Don't install dynamic relocation for weak
3435*3d8817e4Smiod	undefined symbols with non-default visibility.
3436*3d8817e4Smiod	(set_pltoff_entry): Likewise.
3437*3d8817e4Smiod
3438*3d8817e4Smiod	* elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
3439*3d8817e4Smiod	with non-default visibility.
3440*3d8817e4Smiod	(elf_link_output_extsym): Don't make weak undefined symbols
3441*3d8817e4Smiod	with non-default visibility dynamic.
3442*3d8817e4Smiod
3443*3d8817e4Smiod2003-05-04  H.J. Lu <hjl@gnu.org>
3444*3d8817e4Smiod
3445*3d8817e4Smiod	* elflink.h (elf_merge_symbol): Correctly handle weak definition.
3446*3d8817e4Smiod
3447*3d8817e4Smiod2003-05-04  H.J. Lu <hjl@gnu.org>
3448*3d8817e4Smiod
3449*3d8817e4Smiod	* elflink.h (elf_merge_symbol): Don't record a hidden/internal
3450*3d8817e4Smiod	symbol dynamic. Check indirection when removing the old
3451*3d8817e4Smiod	definition for symbols with non-default visibility.
3452*3d8817e4Smiod	(elf_add_default_symbol): Skip when told by elf_merge_symbol.
3453*3d8817e4Smiod
3454*3d8817e4Smiod2003-05-02  Nick Clifton  <nickc@redhat.com>
3455*3d8817e4Smiod
3456*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
3457*3d8817e4Smiod	R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
3458*3d8817e4Smiod	unsigned overflow.
3459*3d8817e4Smiod
3460*3d8817e4Smiod2003-05-02  Andreas Jaeger  <aj@suse.de>
3461*3d8817e4Smiod
3462*3d8817e4Smiod	* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
3463*3d8817e4Smiod	ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
3464*3d8817e4Smiod	(ELIMINATE_COPY_RELOCS): Define as one.  Use throughout.
3465*3d8817e4Smiod	(elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
3466*3d8817e4Smiod	ELF_LINK_NON_GOT_REF from weakdef.
3467*3d8817e4Smiod
3468*3d8817e4Smiod2003-05-02  Charles Lepple <clepple@ghz.cc>
3469*3d8817e4Smiod	    Nick Clifton <nickc@redhat.com>
3470*3d8817e4Smiod
3471*3d8817e4Smiod	* acinclude.m4: Fix name of --enable-install-libbfd switch.
3472*3d8817e4Smiod	* aclocal.m4: Regenerate.
3473*3d8817e4Smiod	* configure: Regenerate.
3474*3d8817e4Smiod	* Makefile.in: Regenerate.
3475*3d8817e4Smiod
3476*3d8817e4Smiod2003-05-01  Alan Modra  <amodra@bigpond.net.au>
3477*3d8817e4Smiod
3478*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
3479*3d8817e4Smiod	weakdef sym has already been adjusted before treating it specially.
3480*3d8817e4Smiod	* elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
3481*3d8817e4Smiod	ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
3482*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
3483*3d8817e4Smiod	(ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
3484*3d8817e4Smiod
3485*3d8817e4Smiod2003-04-28  H.J. Lu <hjl@gnu.org>
3486*3d8817e4Smiod
3487*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
3488*3d8817e4Smiod	the relax finalize pass.
3489*3d8817e4Smiod
3490*3d8817e4Smiod	* section.c (struct sec): Add need_finalize_relax and remove
3491*3d8817e4Smiod	flag11.
3492*3d8817e4Smiod	(STD_SECTION): Update struct sec initializer.
3493*3d8817e4Smiod	* bfd-in2.h: Regenerated.
3494*3d8817e4Smiod
3495*3d8817e4Smiod2003-04-28  H.J. Lu <hjl@gnu.org>
3496*3d8817e4Smiod
3497*3d8817e4Smiod	* elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
3498*3d8817e4Smiod	to copy any information related to dynamic linking when we flip
3499*3d8817e4Smiod	the indirection.
3500*3d8817e4Smiod
3501*3d8817e4Smiod2003-04-27  H.J. Lu <hjl@gnu.org>
3502*3d8817e4Smiod
3503*3d8817e4Smiod	* elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
3504*3d8817e4Smiod	(ELF_LINK_DYNAMIC_WEAK): New.
3505*3d8817e4Smiod
3506*3d8817e4Smiod	* elflink.h (elf_merge_symbol): Add one argument to indicate if
3507*3d8817e4Smiod	a symbol should be skipped. Ignore definitions in dynamic
3508*3d8817e4Smiod	objects for symbols with non-default visibility.
3509*3d8817e4Smiod	(elf_add_default_symbol): Adjusted.
3510*3d8817e4Smiod	(elf_link_add_object_symbols): Check if a symbol should be
3511*3d8817e4Smiod	skipped. Don't merge the visibility field with the one from
3512*3d8817e4Smiod	a dynamic object.
3513*3d8817e4Smiod	(elf_link_check_versioned_symbol): Use undef_bfd.
3514*3d8817e4Smiod	(elf_link_output_extsym): Warn if a forced local symbol is
3515*3d8817e4Smiod	referenced from dynamic objects. Make non-weak undefined symbol
3516*3d8817e4Smiod	with non-default visibility a fatal error.
3517*3d8817e4Smiod
3518*3d8817e4Smiod2003-04-27  Daniel Jacobowitz  <drow@mvista.com>
3519*3d8817e4Smiod
3520*3d8817e4Smiod	* configure.in: Bump version on HEAD to 2.14.90.
3521*3d8817e4Smiod	* configure: Regenerated.
3522*3d8817e4Smiod
3523*3d8817e4Smiod2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
3524*3d8817e4Smiod
3525*3d8817e4Smiod	PR savannah/3331:
3526*3d8817e4Smiod	* elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
3527*3d8817e4Smiod	when we couldn't relax something.
3528*3d8817e4Smiod
3529*3d8817e4Smiod2003-04-25  Alan Modra  <amodra@bigpond.net.au>
3530*3d8817e4Smiod
3531*3d8817e4Smiod	* elflink.h (elf_merge_symbol): When we find a regular definition
3532*3d8817e4Smiod	for an indirect symbol, flip the indirection so that the old
3533*3d8817e4Smiod	direct symbol now points to the new definition.
3534*3d8817e4Smiod
3535*3d8817e4Smiod2003-04-24  Roland McGrath  <roland@redhat.com>
3536*3d8817e4Smiod
3537*3d8817e4Smiod	* elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
3538*3d8817e4Smiod
3539*3d8817e4Smiod2003-04-24  Alan Modra  <amodra@bigpond.net.au>
3540*3d8817e4Smiod
3541*3d8817e4Smiod	* elf32-ppc.c: Formatting and comment fixes.
3542*3d8817e4Smiod	(ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
3543*3d8817e4Smiod	(ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
3544*3d8817e4Smiod
3545*3d8817e4Smiod2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
3546*3d8817e4Smiod
3547*3d8817e4Smiod	* archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
3548*3d8817e4Smiod	* bfd-in2.h: Rebuilt.
3549*3d8817e4Smiod	* coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
3550*3d8817e4Smiod	* coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
3551*3d8817e4Smiod	& H8300SNMAGIC.
3552*3d8817e4Smiod	(coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
3553*3d8817e4Smiod	* cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
3554*3d8817e4Smiod	(h8300sn_info_struct, h8300hn_info_struct): New.
3555*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
3556*3d8817e4Smiod	(elf32_h8_final_write_processing): Likewise.
3557*3d8817e4Smiod
3558*3d8817e4Smiod2003-04-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3559*3d8817e4Smiod
3560*3d8817e4Smiod	* elf32-sh.c (tpoff): New.
3561*3d8817e4Smiod	(struct elf_sh_dyn_relocs): Remove tls_tpoff32.
3562*3d8817e4Smiod	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3563*3d8817e4Smiod	(allocate_dynrelocs): Don't make unnecessary dynamic TLS
3564*3d8817e4Smiod	relocations.  Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
3565*3d8817e4Smiod	(sh_elf_relocate_section): Likewise. Remove unnecessary tests.
3566*3d8817e4Smiod	(dtpoff_base): Fix wrong indentation.
3567*3d8817e4Smiod	(sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
3568*3d8817e4Smiod	relocations.  Don't set tls_tpoff32 flag.  Don't make unnecessary
3569*3d8817e4Smiod	R_SH_TLS_TPOFF32 relocations.
3570*3d8817e4Smiod
3571*3d8817e4Smiod2003-04-23  J"orn Rennecke <joern.rennecke@superh.com>
3572*3d8817e4Smiod
3573*3d8817e4Smiod	* archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
3574*3d8817e4Smiod	* cpu-sh.c: Likewise.
3575*3d8817e4Smiod	* elf32-sh.c: Likewise.
3576*3d8817e4Smiod	* reloc.c (bfd_reloc_code_real): Likewise.
3577*3d8817e4Smiod	* elf32-sh64-com.c: Change comment to refer to SuperH.
3578*3d8817e4Smiod	* elf32-sh64.c: Likewise.
3579*3d8817e4Smiod	* elf64-sh64.c: Likewise.
3580*3d8817e4Smiod	* bfd-in2.h (enum bfd_architecture): Regenerate.
3581*3d8817e4Smiod
3582*3d8817e4Smiod2003-04-23  Alan Modra  <amodra@bigpond.net.au>
3583*3d8817e4Smiod
3584*3d8817e4Smiod	From Julien LEMOINE <speedblue@debian.org>
3585*3d8817e4Smiod	* elf32-i386.c (elf_i386_info_to_howto): Delete.
3586*3d8817e4Smiod	(elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
3587*3d8817e4Smiod
3588*3d8817e4Smiod2003-04-22  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
3589*3d8817e4Smiod
3590*3d8817e4Smiod	* archures.c: Replace references to Mitsubishi M32R with references
3591*3d8817e4Smiod	to Renesas M32R.
3592*3d8817e4Smiod	* relocs.c: Likewise.
3593*3d8817e4Smiod	* bfd-in2.h: Regenerate.
3594*3d8817e4Smiod
3595*3d8817e4Smiod2003-04-21  Richard Henderson  <rth@redhat.com>
3596*3d8817e4Smiod
3597*3d8817e4Smiod	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
3598*3d8817e4Smiod	executable when a symbol is defined both regular and dynamic.
3599*3d8817e4Smiod
3600*3d8817e4Smiod2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
3601*3d8817e4Smiod
3602*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
3603*3d8817e4Smiod	(elf32-m68hc1x.lo): Update dependencies
3604*3d8817e4Smiod	* configure.in: Add elf32-m68hc1x.lo.
3605*3d8817e4Smiod	* configure: Rebuild.
3606*3d8817e4Smiod	* Makefile.in: Rebuild.
3607*3d8817e4Smiod
3608*3d8817e4Smiod2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
3609*3d8817e4Smiod
3610*3d8817e4Smiod	* elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
3611*3d8817e4Smiod	(m68hc11_elf_hash_table_create): New function.
3612*3d8817e4Smiod	(elf32_m68hc11_link_hash_table_free): New function.
3613*3d8817e4Smiod	(stub_hash_newfunc): New function.
3614*3d8817e4Smiod	(m68hc11_add_stub): New function.
3615*3d8817e4Smiod	(elf32_m68hc11_add_symbol_hook): New function.
3616*3d8817e4Smiod	(elf32_m68hc11_setup_section_lists): New function.
3617*3d8817e4Smiod	(elf32_m68hc11_next_input_section): New function.
3618*3d8817e4Smiod	(elf32_m68hc11_size_stubs): New function.
3619*3d8817e4Smiod	(elf32_m68hc11_build_stubs): New function.
3620*3d8817e4Smiod	(m68hc11_get_relocation_value): New function.
3621*3d8817e4Smiod	(elf32_m68hc11_relocate_section): Call the above to redirect
3622*3d8817e4Smiod	some relocations to the trampoline code.
3623*3d8817e4Smiod	(m68hc11_elf_export_one_stub): New function.
3624*3d8817e4Smiod	(m68hc11_elf_set_symbol): New function.
3625*3d8817e4Smiod	(elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
3626*3d8817e4Smiod	(m68hc11_elf_get_bank_parameters): Get parameters only when the info
3627*3d8817e4Smiod	is not yet initialized.
3628*3d8817e4Smiod
3629*3d8817e4Smiod	* elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
3630*3d8817e4Smiod	(elf32_m68hc11_stub_hash_entry): New struct.
3631*3d8817e4Smiod	(m68hc11_page_info): Add trampoline handler address.
3632*3d8817e4Smiod	(m68hc11_elf_link_hash_table): Add stubs generation members.
3633*3d8817e4Smiod	(elf32_m68hc11_add_symbol_hook): Declare.
3634*3d8817e4Smiod	(elf32_m68hc11_setup_section_lists): Declare.
3635*3d8817e4Smiod	(elf32_m68hc11_size_stubs): Declare.
3636*3d8817e4Smiod	(elf32_m68hc11_build_stubs): Declare.
3637*3d8817e4Smiod
3638*3d8817e4Smiod	* elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
3639*3d8817e4Smiod	(elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
3640*3d8817e4Smiod	(elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
3641*3d8817e4Smiod	(_bfd_m68hc11_elf_set_private_flags): Ditto.
3642*3d8817e4Smiod	(_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
3643*3d8817e4Smiod	(_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
3644*3d8817e4Smiod	(bfd_elf32_bfd_link_hash_table_create): Define.
3645*3d8817e4Smiod	(elf_backend_add_symbol_hook): Define.
3646*3d8817e4Smiod	(m68hc11_elf_bfd_link_hash_table_create): New function.
3647*3d8817e4Smiod	(m68hc11_elf_build_one_stub): New function.
3648*3d8817e4Smiod	(m68hc11_elf_size_one_stub): New function.
3649*3d8817e4Smiod	(m68hc11_elf_bfd_link_hash_table_create): Install the above.
3650*3d8817e4Smiod	(bfd_elf32_bfd_link_hash_table_create): Define.
3651*3d8817e4Smiod
3652*3d8817e4Smiod	* elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
3653*3d8817e4Smiod	(m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
3654*3d8817e4Smiod	(m68hc12_phys_addr): Ditto.
3655*3d8817e4Smiod	(m68hc12_phys_page): Ditto.
3656*3d8817e4Smiod	(m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
3657*3d8817e4Smiod	(elf32_m68hc11_gc_mark_hook): Likewise.
3658*3d8817e4Smiod	(elf32_m68hc11_gc_sweep_hook): Likewise.
3659*3d8817e4Smiod	(elf32_m68hc11_check_relocs): Likewise.
3660*3d8817e4Smiod	(elf32_m68hc11_relocate_section): Likewise.
3661*3d8817e4Smiod	(_bfd_m68hc12_elf_set_private_flags): Likewise.
3662*3d8817e4Smiod	(_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
3663*3d8817e4Smiod	(_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
3664*3d8817e4Smiod	(m68hc12_elf_build_one_stub): New function.
3665*3d8817e4Smiod	(m68hc12_elf_size_one_stub): New function.
3666*3d8817e4Smiod	(m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
3667*3d8817e4Smiod	(elf_backend_add_symbol_hook): Define.
3668*3d8817e4Smiod	(elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
3669*3d8817e4Smiod
3670*3d8817e4Smiod2003-04-18  Nick Clifton  <nickc@redhat.com>
3671*3d8817e4Smiod
3672*3d8817e4Smiod	* format.c (bfd_check_format_matches): Only check associated
3673*3d8817e4Smiod	vector if the matching_vector has been created.
3674*3d8817e4Smiod
3675*3d8817e4Smiod2003-04-15  Alexandre Oliva  <aoliva@redhat.com>
3676*3d8817e4Smiod
3677*3d8817e4Smiod	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
3678*3d8817e4Smiod	2003-04-09's change.
3679*3d8817e4Smiod
3680*3d8817e4Smiod2003-04-15  Brian Ford  <ford@vss.fsi.com>
3681*3d8817e4Smiod
3682*3d8817e4Smiod	* peicode.h (coff_swap_scnhdr_in): If a section holds
3683*3d8817e4Smiod	uninitialized data and is from an object file or from an
3684*3d8817e4Smiod	executable image that has not initialized the s_size field, or if
3685*3d8817e4Smiod	the physical size is padded, use the virtual size (stored in
3686*3d8817e4Smiod	s_paddr) instead.
3687*3d8817e4Smiod
3688*3d8817e4Smiod2003-04-15  H.J. Lu <hjl@gnu.org>
3689*3d8817e4Smiod
3690*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Properly report
3691*3d8817e4Smiod	filename for alignment reduction.
3692*3d8817e4Smiod
3693*3d8817e4Smiod2003-04-15  Rohit Kumar Srivastava <rohits@kpitcummins.com>
3694*3d8817e4Smiod
3695*3d8817e4Smiod	* archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
3696*3d8817e4Smiod	* reloc.c: Likewise.
3697*3d8817e4Smiod	* coff-h8300.c: Likewise.
3698*3d8817e4Smiod	* coff-h8500.c: Likewise.
3699*3d8817e4Smiod	* coff-sh.c: Likewise.
3700*3d8817e4Smiod	* cpu-h8300.c: Likewise.
3701*3d8817e4Smiod	* cpu-sh.c: Likewise.
3702*3d8817e4Smiod	* elf32-h8300.c: Likewise.
3703*3d8817e4Smiod	* elf32-sh.c: Likewise.
3704*3d8817e4Smiod	* elf32-sh64-com.c: Likewise.
3705*3d8817e4Smiod	* elf32-sh64.c: Likewise.
3706*3d8817e4Smiod	* elf64-sh64.c: Likewise.
3707*3d8817e4Smiod	* bfd-in2.h: Regenerate.
3708*3d8817e4Smiod
3709*3d8817e4Smiod2003-04-14  H.J. Lu <hjl@gnu.org>
3710*3d8817e4Smiod
3711*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Maintain maximum
3712*3d8817e4Smiod	alignment for common symbols. Warn reducing alignment for
3713*3d8817e4Smiod	common symbols. Report old filename when symbol size changes.
3714*3d8817e4Smiod
3715*3d8817e4Smiod2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
3716*3d8817e4Smiod
3717*3d8817e4Smiod	* elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
3718*3d8817e4Smiod	occurrences of the same test changed in the previous patch.
3719*3d8817e4Smiod	Optimize.
3720*3d8817e4Smiod
3721*3d8817e4Smiod2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
3722*3d8817e4Smiod
3723*3d8817e4Smiod	* elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
3724*3d8817e4Smiod	(mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
3725*3d8817e4Smiod	GOT_DISP/addend only if the symbol got a global GOT entry.
3726*3d8817e4Smiod
3727*3d8817e4Smiod2003-04-10  Alexandre Oliva  <aoliva@redhat.com>
3728*3d8817e4Smiod
3729*3d8817e4Smiod	* elfxx-mips.c (mips_elf_calculate_relocation): Decay
3730*3d8817e4Smiod	GOT_PAGE/GOT_OFST referencing overridable symbol to
3731*3d8817e4Smiod	GOT_DISP/addend.
3732*3d8817e4Smiod	(_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
3733*3d8817e4Smiod	global symbol as GOT_DISP.
3734*3d8817e4Smiod
3735*3d8817e4Smiod2003-04-10  Bob Wilson  <bob.wilson@acm.org>
3736*3d8817e4Smiod
3737*3d8817e4Smiod	* elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
3738*3d8817e4Smiod	next relocation on an undefined symbol.
3739*3d8817e4Smiod
3740*3d8817e4Smiod2003-04-09  Richard Henderson  <rth@redhat.com>
3741*3d8817e4Smiod
3742*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
3743*3d8817e4Smiod	Ignore relocations against r_symndx == 0.
3744*3d8817e4Smiod
3745*3d8817e4Smiod2003-04-09  H.J. Lu <hjl@gnu.org>
3746*3d8817e4Smiod
3747*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section): Don't return
3748*3d8817e4Smiod	FALSE for undefined symbols.
3749*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
3750*3d8817e4Smiod
3751*3d8817e4Smiod2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
3752*3d8817e4Smiod
3753*3d8817e4Smiod	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
3754*3d8817e4Smiod	and IRIX-specific shift-to-64-bit 4-byte lengths before following
3755*3d8817e4Smiod	addr_size.
3756*3d8817e4Smiod
3757*3d8817e4Smiod2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
3758*3d8817e4Smiod
3759*3d8817e4Smiod	* elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
3760*3d8817e4Smiod	pointer size from ABI, not arch_bits_per_address.
3761*3d8817e4Smiod
3762*3d8817e4Smiod2003-04-07  Kevin Buettner  <kevinb@redhat.com>
3763*3d8817e4Smiod
3764*3d8817e4Smiod	* elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
3765*3d8817e4Smiod	constants for n32 ABI.
3766*3d8817e4Smiod
3767*3d8817e4Smiod2003-04-06  Andrew Cagney  <cagney@redhat.com>
3768*3d8817e4Smiod
3769*3d8817e4Smiod	* simple.c (bfd_simple_get_relocated_section_contents): Disable
3770*3d8817e4Smiod	free that leads to GDB vs BFD memory corruption.
3771*3d8817e4Smiod
3772*3d8817e4Smiod2003-04-04  Stephane Carrez  <stcarrez@nerim.fr>
3773*3d8817e4Smiod
3774*3d8817e4Smiod	* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
3775*3d8817e4Smiod	symbols that mark the end of the section.
3776*3d8817e4Smiod	(m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
3777*3d8817e4Smiod	converting to a relative branch so that the offset is computed after
3778*3d8817e4Smiod	the relaxation; also relocate a jsr into a bsr if possible but don't
3779*3d8817e4Smiod	relax them if they are to a far symbol as we need to call the
3780*3d8817e4Smiod	trampoline code.
3781*3d8817e4Smiod	(elf_m68hc11_howto_table): Set pcrel_offset to true.
3782*3d8817e4Smiod
3783*3d8817e4Smiod2003-04-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
3784*3d8817e4Smiod
3785*3d8817e4Smiod	* archures.c: Namespace cleanup. Rename bfd_mach_c3x to
3786*3d8817e4Smiod	bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
3787*3d8817e4Smiod	* bfd-in2.h: Regenerate
3788*3d8817e4Smiod	* coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
3789*3d8817e4Smiod	* cpu-tic4x.c: Ditto
3790*3d8817e4Smiod
3791*3d8817e4Smiod2003-04-03  Nick Clifton  <nickc@redhat.com>
3792*3d8817e4Smiod
3793*3d8817e4Smiod	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
3794*3d8817e4Smiod	differently for object files and executables.
3795*3d8817e4Smiod	* peicode.h (coff_swap_scnhdr_in): Only set the s_size field
3796*3d8817e4Smiod	for object files or for executables who have not already
3797*3d8817e4Smiod	initialised the field.
3798*3d8817e4Smiod	* libpei.h (bfd_pe_executable_p): New macro.  Return true if
3799*3d8817e4Smiod	the PE format bfd is an executable.
3800*3d8817e4Smiod
3801*3d8817e4Smiod2003-04-03  Alan Modra  <amodra@bigpond.net.au>
3802*3d8817e4Smiod
3803*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
3804*3d8817e4Smiod	here as it's too early to reliably determine locality.
3805*3d8817e4Smiod	(ppc_elf_gc_sweep_hook): Likewise.
3806*3d8817e4Smiod	(SYMBOL_REFERENCES_LOCAL): Expand comment.
3807*3d8817e4Smiod
3808*3d8817e4Smiod2003-04-02  Bob Wilson  <bob.wilson@acm.org>
3809*3d8817e4Smiod
3810*3d8817e4Smiod	* xtensa-modules.c: Remove comment indicating that this is a
3811*3d8817e4Smiod	generated file.
3812*3d8817e4Smiod
3813*3d8817e4Smiod2003-04-02  Alan Modra  <amodra@bigpond.net.au>
3814*3d8817e4Smiod
3815*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
3816*3d8817e4Smiod
3817*3d8817e4Smiod2003-04-01  Bob Wilson  <bob.wilson@acm.org>
3818*3d8817e4Smiod
3819*3d8817e4Smiod	* Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
3820*3d8817e4Smiod	(ALL_MACHINES_CFILES): Add cpu-xtensa.c.
3821*3d8817e4Smiod	(BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
3822*3d8817e4Smiod	xtensa-modules.lo.
3823*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
3824*3d8817e4Smiod	xtensa-modules.c.
3825*3d8817e4Smiod	(cpu-xtensa.lo): New target.
3826*3d8817e4Smiod	(elf32-xtensa.lo): Likewise.
3827*3d8817e4Smiod	(xtensa-isa.lo): Likewise.
3828*3d8817e4Smiod	(xtensa-modules.lo): Likewise.
3829*3d8817e4Smiod	* Makefile.in: Regenerate.
3830*3d8817e4Smiod	* archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
3831*3d8817e4Smiod	(bfd_archures_list): Add bfd_xtensa_arch.
3832*3d8817e4Smiod	* config.bfd: Handle xtensa-*-*.
3833*3d8817e4Smiod	* configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
3834*3d8817e4Smiod	* configure: Regenerate.
3835*3d8817e4Smiod	* reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
3836*3d8817e4Smiod	PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
3837*3d8817e4Smiod	* targets.c (bfd_elf32_xtensa_be_vec): Declare.
3838*3d8817e4Smiod	(bfd_elf32_xtensa_le_vec): Likewise.
3839*3d8817e4Smiod	(bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
3840*3d8817e4Smiod	* cpu-xtensa.c: New file.
3841*3d8817e4Smiod	* elf32-xtensa.c: Likewise.
3842*3d8817e4Smiod	* xtensa-isa.c: Likewise.
3843*3d8817e4Smiod	* xtensa-modules.c: Likewise.
3844*3d8817e4Smiod	* libbfd.h: Regenerate.
3845*3d8817e4Smiod	* bfd-in2.h: Likewise.
3846*3d8817e4Smiod
3847*3d8817e4Smiod2003-04-01  Nick Clifton  <nickc@redhat.com>
3848*3d8817e4Smiod
3849*3d8817e4Smiod	* archures.c (bfd_mach_arm_unknown): Define.
3850*3d8817e4Smiod	* bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
3851*3d8817e4Smiod	bfd_arm_get_mach_from_notes): Prototype.
3852*3d8817e4Smiod	* bfd-in2.h: Regenerate.
3853*3d8817e4Smiod	* coff-arm.c (coff_arm_merge_private_bfd_data): Call
3854*3d8817e4Smiod	bfd_arm_merge_machines.
3855*3d8817e4Smiod	(coff_arm_final_link_postscript): Call bfd_arm_update_notes.
3856*3d8817e4Smiod	* coffcode.h (coff_set_arch_mach_hook): Call
3857*3d8817e4Smiod	bfd_arm_get_mach_from_notes.
3858*3d8817e4Smiod	* coffgen.c (coff_real_object_p): Revert previous delta.
3859*3d8817e4Smiod	* cpu_arm.c (arm_check_note): New function.  Examine a note in a
3860*3d8817e4Smiod	.note section.
3861*3d8817e4Smiod	(bfd_arm_merge_machines): New function: Handle the merging of ARM
3862*3d8817e4Smiod	binaries compiled for different architectures..
3863*3d8817e4Smiod	(bfd_arm_update_notes): New function: Update an ARM note section.
3864*3d8817e4Smiod	(bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
3865*3d8817e4Smiod	number from an ARM note section.
3866*3d8817e4Smiod	* elf32-arm.h (elf32_arm_object_p): Use
3867*3d8817e4Smiod	bfd_arm_get_mach_from_notes.
3868*3d8817e4Smiod	(elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
3869*3d8817e4Smiod	(elf32_arm_final_write_processing): Use bfd_arm_update_notes.
3870*3d8817e4Smiod
3871*3d8817e4Smiod2003-04-01  Ben Elliston  <bje@wasabisystems.com>
3872*3d8817e4Smiod
3873*3d8817e4Smiod	* dwarf2.c (read_attribute_value): Correct typo in comment.
3874*3d8817e4Smiod
3875*3d8817e4Smiod2003-04-01  Nick Clifton  <nickc@redhat.com>
3876*3d8817e4Smiod
3877*3d8817e4Smiod	* dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
3878*3d8817e4Smiod	instead of concat().
3879*3d8817e4Smiod	(decode_line_info): Only free filename if it is not NULL.
3880*3d8817e4Smiod	(add_line_info): Make a copy of the filename when storing it into
3881*3d8817e4Smiod	the info structure.
3882*3d8817e4Smiod
3883*3d8817e4Smiod2003-03-31  Andreas Schwab  <schwab@suse.de>
3884*3d8817e4Smiod	    Daniel Jacobowitz  <drow@mvista.com>
3885*3d8817e4Smiod
3886*3d8817e4Smiod	* simple.c (bfd_simple_get_relocated_section_contents): Add
3887*3d8817e4Smiod	parameter symbol_table.  Optionally use it instead of the symbol
3888*3d8817e4Smiod	table from the bfd.  Save and restore output offsets and output
3889*3d8817e4Smiod	sections  around bfd_get_relocated_section_contents.  Fix a memory
3890*3d8817e4Smiod	leak.
3891*3d8817e4Smiod	(simple_save_output_info, simple_restore_output_info): New
3892*3d8817e4Smiod	functions.
3893*3d8817e4Smiod	* bfd-in2.h: Regenerate.
3894*3d8817e4Smiod	* dwarf2.c (read_abbrevs): Use
3895*3d8817e4Smiod	bfd_simple_get_relocated_section_contents instead of
3896*3d8817e4Smiod	bfd_get_section_contents.
3897*3d8817e4Smiod	(decode_line_info): Likewise.
3898*3d8817e4Smiod	(_bfd_dwarf2_find_nearest_line): Likewise.  Don't call
3899*3d8817e4Smiod	find_rela_addend.
3900*3d8817e4Smiod	(find_rela_addend): Remove.
3901*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
3902*3d8817e4Smiod	debugging sections.
3903*3d8817e4Smiod	(elfNN_ia64_hash_table_create): Create the hash table with malloc,
3904*3d8817e4Smiod	not bfd_zalloc.
3905*3d8817e4Smiod
3906*3d8817e4Smiod2003-03-31  David Heine  <dlheine@suif.stanford.edu>
3907*3d8817e4Smiod
3908*3d8817e4Smiod	* aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
3909*3d8817e4Smiod	bfd_alloc.
3910*3d8817e4Smiod	* dwarf2.c (concat_filename): Always allocate space for the
3911*3d8817e4Smiod	returned filename.
3912*3d8817e4Smiod	(decode_line_info): Free the allocated filename returned by
3913*3d8817e4Smiod	concat_filename.
3914*3d8817e4Smiod	* elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
3915*3d8817e4Smiod	* elf.c (copy_private_bfd_data): Likewise.
3916*3d8817e4Smiod	(_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
3917*3d8817e4Smiod	* elflink.h (elf_link_sort_relocs): Fix memory leak.
3918*3d8817e4Smiod	* format.c (bfd_check_format_matches): Likewise.
3919*3d8817e4Smiod	* linker.c (bfd_generic_final_link): Likewise.
3920*3d8817e4Smiod	* opncls.c (find_separate_debug_info): Likewise.
3921*3d8817e4Smiod	* simple.c (bfd_simple_get_relocated_section_contents): Likewise.
3922*3d8817e4Smiod
3923*3d8817e4Smiod2003-03-28  H.J. Lu <hjl@gnu.org>
3924*3d8817e4Smiod
3925*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Correctly combine
3926*3d8817e4Smiod	visibilities.
3927*3d8817e4Smiod
3928*3d8817e4Smiod2003-03-27  Jakub Jelinek  <jakub@redhat.com>
3929*3d8817e4Smiod
3930*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
3931*3d8817e4Smiod	to -1 before recomputing got offsets.
3932*3d8817e4Smiod
3933*3d8817e4Smiod2003-03-26  Andreas Schwab  <schwab@suse.de>
3934*3d8817e4Smiod
3935*3d8817e4Smiod	* elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
3936*3d8817e4Smiod	(elf_m68k_relocate_section): Use it to correctly handle symbols
3937*3d8817e4Smiod	forced to be local.
3938*3d8817e4Smiod	(elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
3939*3d8817e4Smiod	entries for symbols that are forced to be local.
3940*3d8817e4Smiod
3941*3d8817e4Smiod2003-03-25  Alexandre Oliva  <aoliva@redhat.com>
3942*3d8817e4Smiod
3943*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_relax_section): New function.
3944*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_relax_section): Declare.
3945*3d8817e4Smiod	* elfn32-mips.c, elf64-mips.c: Use it.
3946*3d8817e4Smiod
3947*3d8817e4Smiod2003-03-25  Stan Cox   <scox@redhat.com>
3948*3d8817e4Smiod	    Nick Clifton  <nickc@redhat.com>
3949*3d8817e4Smiod
3950*3d8817e4Smiod	Contribute support for Intel's iWMMXt chip - an ARM variant:
3951*3d8817e4Smiod
3952*3d8817e4Smiod	* archures.c: Add bfd_mach_arm_iWMMXt.
3953*3d8817e4Smiod	* reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
3954*3d8817e4Smiod	* bfd-in2.h: Regenerate.
3955*3d8817e4Smiod	* libbfd.h: Regenerate.
3956*3d8817e4Smiod	* coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
3957*3d8817e4Smiod	object files to be linked with XScale ones.
3958*3d8817e4Smiod	(coff_arm_final_link_postscript): Update note section.
3959*3d8817e4Smiod	* coffcode.h (coff_set_arch_mach_hook): Handle note section.
3960*3d8817e4Smiod	* coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
3961*3d8817e4Smiod	after identifying a coff binary.
3962*3d8817e4Smiod	* cpu-arm.c (processors): Add iWMMXt.
3963*3d8817e4Smiod	(arch_inf): Likewise.
3964*3d8817e4Smiod	* elf32-arm.h (arm_object_p): Handle note section.
3965*3d8817e4Smiod	(elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
3966*3d8817e4Smiod	be linked with XScale ones.
3967*3d8817e4Smiod	(elf32_arm_section_flags): New function: Set flags on note section.
3968*3d8817e4Smiod	(elf32_arm_final_write_processing): Handle note section.
3969*3d8817e4Smiod
3970*3d8817e4Smiod2003-03-21  DJ Delorie  <dj@redhat.com>
3971*3d8817e4Smiod
3972*3d8817e4Smiod	* elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
3973*3d8817e4Smiod	_bfd_elf_rela_local_sym.
3974*3d8817e4Smiod
3975*3d8817e4Smiod2003-03-20  H.J. Lu <hjl@gnu.org>
3976*3d8817e4Smiod
3977*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
3978*3d8817e4Smiod	non-ELF outputs.
3979*3d8817e4Smiod
3980*3d8817e4Smiod2003-03-20  Nick Clifton  <nickc@redhat.com>
3981*3d8817e4Smiod
3982*3d8817e4Smiod	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
3983*3d8817e4Smiod	$idata5 in case bfd_coff_final_link is not called.
3984*3d8817e4Smiod
3985*3d8817e4Smiod2003-03-19  Jakub Jelinek  <jakub@redhat.com>
3986*3d8817e4Smiod
3987*3d8817e4Smiod	* elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
3988*3d8817e4Smiod	field.
3989*3d8817e4Smiod	(canon_reloc_count): Define.
3990*3d8817e4Smiod	(sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
3991*3d8817e4Smiod	sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
3992*3d8817e4Smiod	reloc_count.
3993*3d8817e4Smiod	(sparc64_elf_canonicalize_reloc): New routine.
3994*3d8817e4Smiod	(bfd_elf64_canonicalize_reloc): Define.
3995*3d8817e4Smiod
3996*3d8817e4Smiod2003-03-18  Jakub Jelinek  <jakub@redhat.com>
3997*3d8817e4Smiod
3998*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
3999*3d8817e4Smiod	againt mergeable sections.  Take r_addend into account when caching
4000*3d8817e4Smiod	trampolines.
4001*3d8817e4Smiod
4002*3d8817e4Smiod2003-03-18  Richard Henderson  <rth@redhat.com>
4003*3d8817e4Smiod
4004*3d8817e4Smiod	* elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
4005*3d8817e4Smiod	local symbols that have no dyninfo.
4006*3d8817e4Smiod
4007*3d8817e4Smiod2003-03-14  Gene Smith  <gene.smith@siemens.com>
4008*3d8817e4Smiod
4009*3d8817e4Smiod	* ieee.c (ieee_write_expression): Handle the case where symbol is
4010*3d8817e4Smiod	NULL.
4011*3d8817e4Smiod	General formatting improvements.
4012*3d8817e4Smiod
4013*3d8817e4Smiod2003-03-13  Nick Clifton  <nickc@redhat.com>
4014*3d8817e4Smiod
4015*3d8817e4Smiod	* configure.in (LINGUAS): Add zh_CN.
4016*3d8817e4Smiod	* configure: Regenerate.
4017*3d8817e4Smiod	* po/zh_CN.po: New file.
4018*3d8817e4Smiod
4019*3d8817e4Smiod2003-03-13  Elias Athanasopoulos  <elathan@phys.uoa.gr>
4020*3d8817e4Smiod
4021*3d8817e4Smiod	* aout-cris.c (BYTES_IN_WORD): Don't define.
4022*3d8817e4Smiod	aout-encap.c: Likewise.
4023*3d8817e4Smiod	aout-ns32k.c: Likewise.
4024*3d8817e4Smiod	aout-tic30.c: Likewise.
4025*3d8817e4Smiod	hp300bsd.c: Likewise.
4026*3d8817e4Smiod	i386aout.c: Likewise.
4027*3d8817e4Smiod	i386dynix.c: Likewise.
4028*3d8817e4Smiod	i386linux.c: Likewise.
4029*3d8817e4Smiod	i386lynx.c: Likewise.
4030*3d8817e4Smiod	i386mach3.c: Likewise.
4031*3d8817e4Smiod	m68k4knetbsd.c: Likewise.
4032*3d8817e4Smiod	m68klinux.c: Likewise.
4033*3d8817e4Smiod	m68klynx.c: Likewise.
4034*3d8817e4Smiod	m68knetbsd.c: Likewise.
4035*3d8817e4Smiod	m88kmach3.c: Likewise.
4036*3d8817e4Smiod	mipsbsd.c: Likewise.
4037*3d8817e4Smiod	newsos3.c: Likewise.
4038*3d8817e4Smiod	sparclinux.c: Likewise.
4039*3d8817e4Smiod	sparclynx.c: Likewise.
4040*3d8817e4Smiod	sparcnetbsd.c: Likewise.
4041*3d8817e4Smiod	vaxbsd.c: Likewise. Fix comment formatting.
4042*3d8817e4Smiod
4043*3d8817e4Smiod2003-03-12  Alexandre Oliva  <aoliva@redhat.com>
4044*3d8817e4Smiod
4045*3d8817e4Smiod	* Reverted 2003-03-02's patch.
4046*3d8817e4Smiod
4047*3d8817e4Smiod	* elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
4048*3d8817e4Smiod	overridable.
4049*3d8817e4Smiod	* elf64-mips.c (mips_elf64_canonicalize_reloc,
4050*3d8817e4Smiod	mips_elf64_get_dynamic_reloc_upper_bound,
4051*3d8817e4Smiod	mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
4052*3d8817e4Smiod	(bfd_elf64_get_canonicalize_reloc,
4053*3d8817e4Smiod	bfd_elf64_get_dynamic_reloc_upper_bound,
4054*3d8817e4Smiod	bfd_elf64_canonicalize_dynamic_reloc): Define.
4055*3d8817e4Smiod	(mips_elf64_slurp_reloc_table): Support dynamic.
4056*3d8817e4Smiod	(mips_elf64_slurp_one_reloc_table): Adjust.
4057*3d8817e4Smiod
4058*3d8817e4Smiod2003-03-12  Nick Clifton  <nickc@redhat.com>
4059*3d8817e4Smiod
4060*3d8817e4Smiod	* xsym.c (bfd_sym_fetch_type_information_table_entry): Change
4061*3d8817e4Smiod	'index' to 'offset' in test for zero value.
4062*3d8817e4Smiod
4063*3d8817e4Smiod2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
4064*3d8817e4Smiod
4065*3d8817e4Smiod	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
4066*3d8817e4Smiod	dynamic relocations pointing to local or section symbols, use the
4067*3d8817e4Smiod	NULL symbol instead.  Document the choice to not emit an
4068*3d8817e4Smiod	additional R_MIPS_64 relocation.
4069*3d8817e4Smiod
4070*3d8817e4Smiod2003-03-11  Alan Modra  <amodra@bigpond.net.au>
4071*3d8817e4Smiod
4072*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
4073*3d8817e4Smiod	zero index dynamic tls relocs generated for the GOT.  Tidy code.
4074*3d8817e4Smiod	Set "relocation" to 1 on DTPMOD32 relocs.  Optimize HA adjustment.
4075*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
4076*3d8817e4Smiod
4077*3d8817e4Smiod2003-03-07  Alan Modra  <amodra@bigpond.net.au>
4078*3d8817e4Smiod
4079*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
4080*3d8817e4Smiod	a tls_get_addr call.
4081*3d8817e4Smiod
4082*3d8817e4Smiod	* elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
4083*3d8817e4Smiod	(ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
4084*3d8817e4Smiod	ELF_LINK_NON_GOT_REF from weakdef.
4085*3d8817e4Smiod	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
4086*3d8817e4Smiod	(ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
4087*3d8817e4Smiod	ELF_LINK_NON_GOT_REF from weakdef.
4088*3d8817e4Smiod	* elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one.  Use throughout.
4089*3d8817e4Smiod	(elf_i386_adjust_dynamic_symbol): For weak symbols, copy
4090*3d8817e4Smiod	ELF_LINK_NON_GOT_REF from weakdef.
4091*3d8817e4Smiod
4092*3d8817e4Smiod2003-03-06  Jakub Jelinek <jakub@redhat.com>
4093*3d8817e4Smiod	Andrew Haley  <aph@redhat.com>
4094*3d8817e4Smiod
4095*3d8817e4Smiod	* elflink.h (elf_bfd_discard_info): Don't process eh frames if
4096*3d8817e4Smiod	output is relocateable.
4097*3d8817e4Smiod
4098*3d8817e4Smiod2003-03-06  Steven Konopa <skonopa@kgo.csc.com>
4099*3d8817e4Smiod
4100*3d8817e4Smiod	* som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
4101*3d8817e4Smiod	R_COMMENT.
4102*3d8817e4Smiod
4103*3d8817e4Smiod2003-03-06  Alan Modra  <amodra@bigpond.net.au>
4104*3d8817e4Smiod
4105*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
4106*3d8817e4Smiod	error messages.
4107*3d8817e4Smiod	(ELIMINATE_COPY_RELOCS): Define to zero.
4108*3d8817e4Smiod	(ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
4109*3d8817e4Smiod	TLSLD relocs.  Report reloc types on a number of errors.  Optimize
4110*3d8817e4Smiod	LOCAL24PC check for non-local syms.  Don't capitalize error messages.
4111*3d8817e4Smiod	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
4112*3d8817e4Smiod	(ppc64_elf_relocate_section): Don't deref htab->tls_sec when
4113*3d8817e4Smiod	calculating TLSLD relocs.  Report reloc types on a number of errors.
4114*3d8817e4Smiod	Don't capitalize error messages.
4115*3d8817e4Smiod
4116*3d8817e4Smiod2003-03-03  H.J. Lu <hjl@gnu.org>
4117*3d8817e4Smiod
4118*3d8817e4Smiod	* elfxx-ia64.c (USE_BRL): Removed.
4119*3d8817e4Smiod	(oor_ip): Removed.
4120*3d8817e4Smiod
4121*3d8817e4Smiod2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
4122*3d8817e4Smiod
4123*3d8817e4Smiod	* elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
4124*3d8817e4Smiod	relocation (no special function), and make it non-partial_inplace.
4125*3d8817e4Smiod	(sh_elf_relax_section): When creating a bsr, use a consistent value
4126*3d8817e4Smiod	no matter if the symbol is extern or not;  set addend to -4.
4127*3d8817e4Smiod	Don't swap load / non-load instructions for SH4.
4128*3d8817e4Smiod	(sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
4129*3d8817e4Smiod	rather than if the symbol is external to determine if adjusting the
4130*3d8817e4Smiod	offset makes sense.  Adjust the addend too if appropriate.
4131*3d8817e4Smiod	(sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
4132*3d8817e4Smiod	relocation.
4133*3d8817e4Smiod
4134*3d8817e4Smiod2003-03-03  Nick Clifton  <nickc@redhat.com>
4135*3d8817e4Smiod
4136*3d8817e4Smiod	* po/da.po: Installed latest translation.
4137*3d8817e4Smiod
4138*3d8817e4Smiod2003-03-02  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4139*3d8817e4Smiod
4140*3d8817e4Smiod	* elf32-mips.c (elf_mips_howto_table_rel): Change definition of
4141*3d8817e4Smiod	R_MIPS_PC16 to rightshift 2.
4142*3d8817e4Smiod	(elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
4143*3d8817e4Smiod	(bfd_elf32_bfd_reloc_type_lookup): Support
4144*3d8817e4Smiod	BFD_RELOC_MIPSEMB_16_PCREL_S2.
4145*3d8817e4Smiod	* elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
4146*3d8817e4Smiod	R_MIPS_PC16 to rightshift 2.
4147*3d8817e4Smiod	(mips_elf64_howto_table_rela): Likewise.
4148*3d8817e4Smiod	(mips_reloc_map): Map to rightshifted BFD reloc.
4149*3d8817e4Smiod	* elfn32-mips.c: The same as in elf64-mips.c.
4150*3d8817e4Smiod	* elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
4151*3d8817e4Smiod	(mips_elf_calculate_relocation): Handle rightshifted addends for
4152*3d8817e4Smiod	R_MIPS_PC16.
4153*3d8817e4Smiod	* reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
4154*3d8817e4Smiod	MIPS Embedded PIC. Remove superfluous empty COMMENT.
4155*3d8817e4Smiod	* libbfd.h: Regenerate.
4156*3d8817e4Smiod	* bfd-in2.h: Regenerate.
4157*3d8817e4Smiod
4158*3d8817e4Smiod2003-02-28  Richard Henderson  <rth@redhat.com>
4159*3d8817e4Smiod
4160*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
4161*3d8817e4Smiod	for ltoff22x relaxation.
4162*3d8817e4Smiod
4163*3d8817e4Smiod2003-03-01  Alan Modra  <amodra@bigpond.net.au>
4164*3d8817e4Smiod
4165*3d8817e4Smiod	* bfd-in.h (_bfd): Don't define.
4166*3d8817e4Smiod	* bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
4167*3d8817e4Smiod	* syms.c: Likewise.
4168*3d8817e4Smiod	* bfd-in2.h: Regenerate.
4169*3d8817e4Smiod
4170*3d8817e4Smiod2003-02-27  Richard Henderson  <rth@redhat.com>
4171*3d8817e4Smiod
4172*3d8817e4Smiod	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
4173*3d8817e4Smiod	(elfNN_ia64_check_relocs): Set it.
4174*3d8817e4Smiod	(allocate_global_data_got): Check it.
4175*3d8817e4Smiod	(allocate_local_got): Likewise.
4176*3d8817e4Smiod	(allocate_dynrel_entries): Likewise.
4177*3d8817e4Smiod	(elfNN_ia64_relax_ldxmov): New.
4178*3d8817e4Smiod	(elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
4179*3d8817e4Smiod	(elfNN_ia64_choose_gp): Split out from ...
4180*3d8817e4Smiod	(elfNN_ia64_final_link): ... here.
4181*3d8817e4Smiod
4182*3d8817e4Smiod2003-02-27  Andrew Cagney  <cagney@redhat.com>
4183*3d8817e4Smiod
4184*3d8817e4Smiod	* bfd.c (struct bfd): Rename "struct _bfd".
4185*3d8817e4Smiod	* bfd-in.h: Update copyright.
4186*3d8817e4Smiod	(struct bfd): Rename "struct _bfd".
4187*3d8817e4Smiod	(_bfd): Define for backward compatibility.
4188*3d8817e4Smiod	* bfd-in2.h: Regenerate.
4189*3d8817e4Smiod
4190*3d8817e4Smiod2003-02-25  Alan Modra  <amodra@bigpond.net.au>
4191*3d8817e4Smiod
4192*3d8817e4Smiod	* elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
4193*3d8817e4Smiod	and rel_hdr2 when initially counting input relocs rather than after
4194*3d8817e4Smiod	creating output reloc sections.
4195*3d8817e4Smiod	(elf_link_read_relocs_from_section): Don't abort with wrong reloc
4196*3d8817e4Smiod	sizes.
4197*3d8817e4Smiod
4198*3d8817e4Smiod	* Makefile.am: Run "make dep-am".
4199*3d8817e4Smiod	* Makefile.in: Regenerate.
4200*3d8817e4Smiod
4201*3d8817e4Smiod2003-02-24  Kris Warkentin  <kewarken@qnx.com>
4202*3d8817e4Smiod
4203*3d8817e4Smiod	* elf.c (elfcore_read_notes): Add check for QNX style core file.
4204*3d8817e4Smiod	(elfcore_grog_nto_note): New function.
4205*3d8817e4Smiod	(elfcore_grog_nto_gregs): New function.
4206*3d8817e4Smiod	(elfcore_grog_nto_status): New function.
4207*3d8817e4Smiod
4208*3d8817e4Smiod2003-02-24  Alan Modra  <amodra@bigpond.net.au>
4209*3d8817e4Smiod
4210*3d8817e4Smiod	* elflink.c (_bfd_elf_create_got_section): Check existing .got
4211*3d8817e4Smiod	section flags before concluding that we've already been called.
4212*3d8817e4Smiod	Don't use register keyword.
4213*3d8817e4Smiod	(_bfd_elf_create_dynamic_sections): Don't use register keyword.
4214*3d8817e4Smiod	(_bfd_elf_create_linker_section): Formatting.
4215*3d8817e4Smiod
4216*3d8817e4Smiod2003-02-20  jmc  <jmc@prioris.mini.pw.edu.pl>
4217*3d8817e4Smiod
4218*3d8817e4Smiod	* coff-h8300.c: Fix typo: intial -> initial.
4219*3d8817e4Smiod	* coff-ppc.c: Likewise.
4220*3d8817e4Smiod
4221*3d8817e4Smiod2003-02-20  Alan Modra  <amodra@bigpond.net.au>
4222*3d8817e4Smiod
4223*3d8817e4Smiod	* elf32-ppc.c: Formatting.
4224*3d8817e4Smiod	(allocate_dynrelocs): LD and GD relocs against the same sym need
4225*3d8817e4Smiod	separate GOT entries.
4226*3d8817e4Smiod	(ppc_elf_relocate_section): Correct GOT handling for multiple GOT
4227*3d8817e4Smiod	entries per symbol.
4228*3d8817e4Smiod
4229*3d8817e4Smiod2003-02-19  Alan Modra  <amodra@bigpond.net.au>
4230*3d8817e4Smiod
4231*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
4232*3d8817e4Smiod	removal.  Localize vars.  Remove unnecessary dynobj test.
4233*3d8817e4Smiod	* elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
4234*3d8817e4Smiod	of INFO.
4235*3d8817e4Smiod	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
4236*3d8817e4Smiod	and optimize.
4237*3d8817e4Smiod	(elf_i386_relocate_section): Likewise.
4238*3d8817e4Smiod	(elf_i386_gc_sweep_hook): Simplify dyn reloc removal.  Localize vars.
4239*3d8817e4Smiod	* elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
4240*3d8817e4Smiod	* elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
4241*3d8817e4Smiod	* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
4242*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
4243*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.  Remove
4244*3d8817e4Smiod	local_dynrel for section too.  Don't touch HIPLT22, LOPLT10, PCPLT32
4245*3d8817e4Smiod	or PCPLT10 relocs.  Don't subtract twice on PLT32 relocs.
4246*3d8817e4Smiod	Formatting.
4247*3d8817e4Smiod
4248*3d8817e4Smiod	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
4249*3d8817e4Smiod	(ppc64_elf_check_relocs): Use it.  Correct comment.  Move SEC_ALLOC
4250*3d8817e4Smiod	test.
4251*3d8817e4Smiod	(ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
4252*3d8817e4Smiod	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
4253*3d8817e4Smiod	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
4254*3d8817e4Smiod	and optimize.  Use ELIMINATE_COPY_RELOCS.
4255*3d8817e4Smiod	(ppc64_elf_relocate_section): Likewise.
4256*3d8817e4Smiod
4257*3d8817e4Smiod	* elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
4258*3d8817e4Smiod	(ppc_elf_copy_indirect_symbol): Copy pc_count field.
4259*3d8817e4Smiod	(ELIMINATE_COPY_RELOCS): Define.
4260*3d8817e4Smiod	(ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
4261*3d8817e4Smiod	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
4262*3d8817e4Smiod	(MUST_BE_DYN_RELOC): Define.
4263*3d8817e4Smiod	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
4264*3d8817e4Smiod	and optimize.  Trim dyn_relocs.
4265*3d8817e4Smiod	(ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
4266*3d8817e4Smiod	not be used.  Do generate dyn_relocs for copy reloc avoidance.  Keep
4267*3d8817e4Smiod	track of pc_rel dyn relocs.
4268*3d8817e4Smiod	(ppc_elf_relocate_section): Remove "will_become_local".  Adjust
4269*3d8817e4Smiod	WILL_CALL_FINISH_DYNAMIC_SYMBOL use.  Trim dyn relocs as per
4270*3d8817e4Smiod	allocate_dynrelocs.  Don't recalculate "sec".
4271*3d8817e4Smiod
4272*3d8817e4Smiod2003-02-18  Alan Modra  <amodra@bigpond.net.au>
4273*3d8817e4Smiod
4274*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
4275*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
4276*3d8817e4Smiod	on invalid LD relocs.
4277*3d8817e4Smiod	(allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
4278*3d8817e4Smiod	(ppc64_elf_relocate_section): Unify new handling of LD relocs and
4279*3d8817e4Smiod	tlsld_got entry.  Use IS_PPC64_TLS_RELOC.
4280*3d8817e4Smiod
4281*3d8817e4Smiod	* elf32-ppc.h: New file.
4282*3d8817e4Smiod	* elf32-ppc.c: Include elf32-ppc.h.
4283*3d8817e4Smiod	(NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
4284*3d8817e4Smiod	(struct ppc_elf_link_hash_entry): Rename "root" to "elf".  Adjust uses.
4285*3d8817e4Smiod	Add "tls_mask" field.
4286*3d8817e4Smiod	(TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
4287*3d8817e4Smiod	(struct ppc_elf_link_hash_table): Rename "root" to "elf".  Adjust uses.
4288*3d8817e4Smiod	Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
4289*3d8817e4Smiod	sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
4290*3d8817e4Smiod	Make use of htab shortcuts throughout file.
4291*3d8817e4Smiod	(ppc_elf_link_hash_newfunc): Init tls_mask field.
4292*3d8817e4Smiod	(ppc_elf_link_hash_table_create): Init new fields.
4293*3d8817e4Smiod	(ppc_elf_copy_indirect_symbol): Copy tls_mask.
4294*3d8817e4Smiod	(ppc_elf_howto_raw): Add tls relocs.
4295*3d8817e4Smiod	(ppc_elf_reloc_type_lookup): Handle them.
4296*3d8817e4Smiod	(ppc_elf_unhandled_reloc): New function.
4297*3d8817e4Smiod	(ppc_elf_create_got): Stash got section pointer in hash table,
4298*3d8817e4Smiod	return status.  Make .rela.got too.
4299*3d8817e4Smiod	(ppc_elf_create_dynamic_sections): Stash section pointers in htab.
4300*3d8817e4Smiod	(ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
4301*3d8817e4Smiod	NON_GOT_REF set.  Don't allocate space in .plt here..
4302*3d8817e4Smiod	(allocate_dynrelocs): ..do so here instead, properly ref-counting and
4303*3d8817e4Smiod	not allocating plt entries unnecessarily.  Allocate got entries here.
4304*3d8817e4Smiod	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
4305*3d8817e4Smiod	(ppc_elf_size_dynamic_sections): Allocate local got entries.  Pass
4306*3d8817e4Smiod	"info" during allocate_dynrelocs hash traversal.  Use htab section
4307*3d8817e4Smiod	shortcuts rather than searching for named sections.  Get rid of
4308*3d8817e4Smiod	"plt" and "strip" booleans.
4309*3d8817e4Smiod	(update_local_sym_info, bad_shared_reloc): New functions.
4310*3d8817e4Smiod	(ppc_elf_check_relocs): Handle TLS relocs.  Move .rela.got creation to
4311*3d8817e4Smiod	ppc_elf_create_got.  Don't mark got or plt reloc syms dynamic, do so
4312*3d8817e4Smiod	in allocate_dynreloc.  Use update_local_sym_info and bad_shared_reloc.
4313*3d8817e4Smiod	Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
4314*3d8817e4Smiod	R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
4315*3d8817e4Smiod	in shared libs.  R_PPC_PLTREL32 is a plt reloc too.  Refcount all
4316*3d8817e4Smiod	relocs that might use a plt entry.  Set NON_GOT_REF too.
4317*3d8817e4Smiod	Enumerate all do-nothing relocs.
4318*3d8817e4Smiod	(ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs.  Handle
4319*3d8817e4Smiod	tls relocs and all plt relocs.
4320*3d8817e4Smiod	(ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
4321*3d8817e4Smiod	(ppc_elf_finish_dynamic_symbol): Don't build got entries here.
4322*3d8817e4Smiod	(ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
4323*3d8817e4Smiod	shortcuts.
4324*3d8817e4Smiod	(ppc_elf_relocate_section): Tidy.  Handle TLS relocs.  Use
4325*3d8817e4Smiod	bfd_elf_local_sym_name.  Simplify unresolved reloc code.  Build got
4326*3d8817e4Smiod	entries and got relocs here.  Warn on non-zero got reloc addend.
4327*3d8817e4Smiod	Split out branch taken/not taken reloc code into a separate switch
4328*3d8817e4Smiod	and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
4329*3d8817e4Smiod	Split out HA reloc adjustments to separate switch statement.  Don't
4330*3d8817e4Smiod	warn on reloc overflow if we've already warned about undefined.
4331*3d8817e4Smiod	Don't rebuild sym name when reporting errors.  Report all possible
4332*3d8817e4Smiod	errors from _bfd_final_link_relocate.
4333*3d8817e4Smiod	(bfd_elf32_bfd_final_link): Don't define.
4334*3d8817e4Smiod
4335*3d8817e4Smiod2003-02-18  Alan Modra  <amodra@bigpond.net.au>
4336*3d8817e4Smiod
4337*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r".  Don't
4338*3d8817e4Smiod	rebuild sym name when reporting errors.
4339*3d8817e4Smiod
4340*3d8817e4Smiod2003-02-17  Nick Clifton  <nickc@redhat.com>
4341*3d8817e4Smiod
4342*3d8817e4Smiod	* elflink.h (elf_link_output_extsym): Only check
4343*3d8817e4Smiod	allow_shlib_undefined for shared libraries.
4344*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Remove bogus check
4345*3d8817e4Smiod	of allow_shlib_undefined.
4346*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section): Likewise.
4347*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
4348*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
4349*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
4350*3d8817e4Smiod	* elf32-s390.c (elf_s390_relocate_section): Likewise.
4351*3d8817e4Smiod	* elf32-sh.c (sh_elf_relocate_section): Likewise.
4352*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
4353*3d8817e4Smiod	* elf32-vax.c (elf_vax_relocate_section): Likewise.
4354*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
4355*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
4356*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
4357*3d8817e4Smiod	* elf64-s390.c (elf_s390_relocate_section): Likewise.
4358*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
4359*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
4360*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
4361*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
4362*3d8817e4Smiod
4363*3d8817e4Smiod2003-02-17  Nick Clifton  <nickc@redhat.com>
4364*3d8817e4Smiod
4365*3d8817e4Smiod	* elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
4366*3d8817e4Smiod	address field to use in the comparison.
4367*3d8817e4Smiod	(SEGMENT_OVERLAPS): Check that LMAs overlap as well.
4368*3d8817e4Smiod
4369*3d8817e4Smiod2003-02-14  Bob Wilson  <bob.wilson@acm.org>
4370*3d8817e4Smiod
4371*3d8817e4Smiod	* elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
4372*3d8817e4Smiod	backends when checking if the generic ELF target should be used.
4373*3d8817e4Smiod
4374*3d8817e4Smiod	* syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
4375*3d8817e4Smiod	outside of functions, treat values as absolute addresses.
4376*3d8817e4Smiod
4377*3d8817e4Smiod	* bfd.c: Change embedded documentation to use consistent indentation
4378*3d8817e4Smiod	and to split up long lines.  Change informal style of description
4379*3d8817e4Smiod	for functions lacking real documentation.
4380*3d8817e4Smiod	* coffcode.h: Break up long lines in embedded documentation.
4381*3d8817e4Smiod	* format.c: Likewise.
4382*3d8817e4Smiod	* targets.c: Likewise.
4383*3d8817e4Smiod	* libcoff.h: Regenerate.
4384*3d8817e4Smiod	* bfd-in2.h: Regenerate.
4385*3d8817e4Smiod
4386*3d8817e4Smiod2003-02-14  Alan Modra  <amodra@bigpond.net.au>
4387*3d8817e4Smiod
4388*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
4389*3d8817e4Smiod	(ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
4390*3d8817e4Smiod	(ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
4391*3d8817e4Smiod	(allocate_dynrelocs): Don't treat undefined and undefweak specially.
4392*3d8817e4Smiod	(ppc_size_one_stub): Fix warning, and tighten plt entry check.
4393*3d8817e4Smiod	(group_sections): Don't share a stub section if stubs are for a large
4394*3d8817e4Smiod	section.  Adjust comment.
4395*3d8817e4Smiod	(ppc64_elf_size_stubs): Roughly double the size left for stubs if
4396*3d8817e4Smiod	!stubs_always_before_branch.
4397*3d8817e4Smiod	(ppc64_elf_relocate_section): Initialize tlsld GOT entry once.  Don't
4398*3d8817e4Smiod	treat undefined and undefweak specially when processing dyn relocs.
4399*3d8817e4Smiod
4400*3d8817e4Smiod2003-02-13  Jakub Jelinek  <jakub@redhat.com>
4401*3d8817e4Smiod
4402*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
4403*3d8817e4Smiod
4404*3d8817e4Smiod2003-02-13  Nick Clifton  <nickc@redhat.com>
4405*3d8817e4Smiod
4406*3d8817e4Smiod	* elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
4407*3d8817e4Smiod	in computation of offset to insert into BL instruction.
4408*3d8817e4Smiod
4409*3d8817e4Smiod2003-02-11  Uwe Stieber  <uwe@wwws.de>
4410*3d8817e4Smiod
4411*3d8817e4Smiod	* config.bfd: Add support for kaOS as cross build target system.
4412*3d8817e4Smiod
4413*3d8817e4Smiod2003-02-11  Alan Modra  <amodra@bigpond.net.au>
4414*3d8817e4Smiod
4415*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
4416*3d8817e4Smiod	.__tls_get_addr too.
4417*3d8817e4Smiod	(ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
4418*3d8817e4Smiod
4419*3d8817e4Smiod2003-02-10  Kaz kojima  <kkojima@rr.iij4u.or.jp>
4420*3d8817e4Smiod
4421*3d8817e4Smiod	* elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
4422*3d8817e4Smiod	(elf_sh_link_hash_entry): Remove tls_tpoff32 field.
4423*3d8817e4Smiod	(sh_elf_link_hash_newfunc): Remove the initialization of
4424*3d8817e4Smiod	tls_tpoff32 field.
4425*3d8817e4Smiod	(allocate_dynrelocs): Keep dyn_relocs if it includes the entry
4426*3d8817e4Smiod	for which tls_tpoff32 flag is set.
4427*3d8817e4Smiod	(sh_elf_relocate_section): Covert to LE only if the dyn_relocs
4428*3d8817e4Smiod	of the symbol includes the entry matched with the input_section
4429*3d8817e4Smiod	and having tls_tpoff32 flag on.  When linking statically, set
4430*3d8817e4Smiod	symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
4431*3d8817e4Smiod	is defined in this executable.
4432*3d8817e4Smiod	(sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
4433*3d8817e4Smiod
4434*3d8817e4Smiod2003-02-10  Jakub Jelinek  <jakub@redhat.com>
4435*3d8817e4Smiod
4436*3d8817e4Smiod	* elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
4437*3d8817e4Smiod	even if there is just non-empty .rela.plt.
4438*3d8817e4Smiod
4439*3d8817e4Smiod2003-02-10  Nick Clifton  <nickc@redhat.com>
4440*3d8817e4Smiod
4441*3d8817e4Smiod	* archures.c (bfd_mach_arm_ep9312): Define.
4442*3d8817e4Smiod	* bfd-in2.h: Regenerate.
4443*3d8817e4Smiod	* cpu-arm.c (processors[]): Add ep9312.
4444*3d8817e4Smiod	(bfd_arm_arch): Add ep9312.
4445*3d8817e4Smiod	* elf32-arm.h (elf32_arm_merge_private_data): Update error
4446*3d8817e4Smiod	messages and add test for Maverick floating point support.
4447*3d8817e4Smiod	(elf32_arm_print_private_bfd_data): Handle
4448*3d8817e4Smiod	EF_ARM_MAVERICK_FLOAT flag.
4449*3d8817e4Smiod	(elf32_arm_object_p): New function.
4450*3d8817e4Smiod	(elf_backend_object_p): Define.
4451*3d8817e4Smiod
4452*3d8817e4Smiod2003-02-10  Alan Modra  <amodra@bigpond.net.au>
4453*3d8817e4Smiod
4454*3d8817e4Smiod	* elf64-ppc.c: Rename assorted occurrences of tls_type and similar
4455*3d8817e4Smiod	variables, structure fields or function params to tls_mask or
4456*3d8817e4Smiod	similar to better reflect usage.
4457*3d8817e4Smiod	(struct got_entry): Comment.
4458*3d8817e4Smiod	(struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
4459*3d8817e4Smiod	(get_tls_mask): Rename from get_tls_type.
4460*3d8817e4Smiod
4461*3d8817e4Smiod2003-02-09  Alan Modra  <amodra@bigpond.net.au>
4462*3d8817e4Smiod
4463*3d8817e4Smiod	* elf64-ppc.c (TLS_GD_LD): Don't define..
4464*3d8817e4Smiod	(TLS_GD): ..define this instead and update all uses.
4465*3d8817e4Smiod	(TLS_TPRELGD): Define.
4466*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): Tweak initialization of
4467*3d8817e4Smiod	init_refcount and init_offset.
4468*3d8817e4Smiod	(ppc64_elf_check_relocs): Add one extra element to t_symndx array.
4469*3d8817e4Smiod	Mark second slot of GD or LD toc entries.
4470*3d8817e4Smiod	(get_tls_type): Return an int.  Distinguish toc GD and LD entries
4471*3d8817e4Smiod	from other tls types.
4472*3d8817e4Smiod	(ppc64_elf_tls_setup): New function, split out from..
4473*3d8817e4Smiod	(ppc64_elf_tls_optimize): ..here.  Don't optimize when symbols are
4474*3d8817e4Smiod	defined in a dynamic object.  Fix LD optimization.  Don't set TLS_TPREL
4475*3d8817e4Smiod	on GD->IE optimization, use TLS_TPRELGD instead.  Use get_tls_type
4476*3d8817e4Smiod	return value to properly decide whether toc GD and LD entries can
4477*3d8817e4Smiod	optimize away __tls_get_addr call.  Check next reloc after DTPMOD64
4478*3d8817e4Smiod	to determine GD or LD rather than looking at TLS_LD flag.  Don't
4479*3d8817e4Smiod	attempt to adjust got entry tls_type here..
4480*3d8817e4Smiod	(allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
4481*3d8817e4Smiod	look for possible merges.
4482*3d8817e4Smiod	(ppc64_elf_size_dynamic_sections): Adjust local got entries for
4483*3d8817e4Smiod	optimization.
4484*3d8817e4Smiod	(ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
4485*3d8817e4Smiod	(ppc64_elf_relocate_section): Rename some vars to better reflect usage.
4486*3d8817e4Smiod	Make use of return value from get_tls_type to properly detect GD and
4487*3d8817e4Smiod	LD optimizations.  Split tlsld/gd hi/ha from lo/ds case.  Don't
4488*3d8817e4Smiod	handle tls_get_addr removal when looking at REL24 relocs, do it when
4489*3d8817e4Smiod	looking at the previous reloc.  Check reloc after DTPMOD64 to determine
4490*3d8817e4Smiod	GD or LD.
4491*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_tls_setup): Declare.
4492*3d8817e4Smiod
4493*3d8817e4Smiod2003-02-08  Alan Modra  <amodra@bigpond.net.au>
4494*3d8817e4Smiod
4495*3d8817e4Smiod	* elf32-hppa.c (group_sections): Don't share a stub section if
4496*3d8817e4Smiod	stubs are for a large section.
4497*3d8817e4Smiod
4498*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
4499*3d8817e4Smiod	stubs if !stubs_always_before_branch.
4500*3d8817e4Smiod
4501*3d8817e4Smiod2003-02-07  Nick Clifton  <nickc@redhat.com>
4502*3d8817e4Smiod
4503*3d8817e4Smiod	* elf.c (swap_out_syms): Generate an error message if an
4504*3d8817e4Smiod	equivalent output section cannot be found for a symbol.
4505*3d8817e4Smiod
4506*3d8817e4Smiod2003-02-07  Jakub Jelinek  <jakub@redhat.com>
4507*3d8817e4Smiod
4508*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
4509*3d8817e4Smiod	local_got_entries is NULL.
4510*3d8817e4Smiod
4511*3d8817e4Smiod2003-02-06  Andreas Schwab  <schwab@suse.de>
4512*3d8817e4Smiod
4513*3d8817e4Smiod	* elf-eh-frame.c (get_DW_EH_PE_signed): Define.
4514*3d8817e4Smiod	(read_value): Add parameter is_signed, use signed extraction if
4515*3d8817e4Smiod	the value is signed.
4516*3d8817e4Smiod	(_bfd_elf_write_section_eh_frame): Pass signed flag of the
4517*3d8817e4Smiod	encoding to read_value.
4518*3d8817e4Smiod
4519*3d8817e4Smiod2003-02-06  Alan Modra  <amodra@bigpond.net.au>
4520*3d8817e4Smiod
4521*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
4522*3d8817e4Smiod	plt info when called to transfer weak sym info.
4523*3d8817e4Smiod
4524*3d8817e4Smiod2003-02-05  Alan Modra  <amodra@bigpond.net.au>
4525*3d8817e4Smiod
4526*3d8817e4Smiod	* reloc.c: Add PPC and PPC64 TLS relocs.
4527*3d8817e4Smiod	* libbfd.h: Regenerate.
4528*3d8817e4Smiod	* bfd-in2.h: Regenerate.
4529*3d8817e4Smiod	* elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
4530*3d8817e4Smiod	(ppc64_elf_howto_raw): Add TLS howto's.  Adjust R_PPC64_NONE to be
4531*3d8817e4Smiod	against a 32 bit field.
4532*3d8817e4Smiod	(ppc64_elf_reloc_type_lookup): Handle TLS relocs.
4533*3d8817e4Smiod	(_ppc64_elf_section_data): Add t_symndx and comments.
4534*3d8817e4Smiod	(ppc64_elf_section_data): Use elf_section_data macro.
4535*3d8817e4Smiod	(ppc64_elf_new_section_hook): American spelling.
4536*3d8817e4Smiod	(struct got_entry, struct plt_entry): New.
4537*3d8817e4Smiod	(MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
4538*3d8817e4Smiod	(struct ppc_stub_hash_entry): Add "addend" field.
4539*3d8817e4Smiod	(struct ppc_link_hash_entry): Add "tls_type".
4540*3d8817e4Smiod	(TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
4541*3d8817e4Smiod	TLS_EXPLICIT): Define.
4542*3d8817e4Smiod	(struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
4543*3d8817e4Smiod	(link_hash_newfunc): Init new fields.
4544*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): Likewise.  Set init_refcount and
4545*3d8817e4Smiod	init_offset to NULL.
4546*3d8817e4Smiod	(ppc64_elf_copy_indirect_symbol): Copy got and plt info.  Don't call
4547*3d8817e4Smiod	_bfd_elf_link_hash_copy_indirect, rather insert relevant code from
4548*3d8817e4Smiod	there.
4549*3d8817e4Smiod	(update_local_sym_info, update_plt_info): New functions.
4550*3d8817e4Smiod	(ppc64_elf_check_relocs): Use them.  Handle TLS relocs.  Adjust GOT
4551*3d8817e4Smiod	handling to use got.glist rather than got.refcount.  Likewise for PLT.
4552*3d8817e4Smiod	(ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
4553*3d8817e4Smiod	(func_desc_adjust): Adjust for new PLT list.
4554*3d8817e4Smiod	(ppc64_elf_adjust_dynamic_symbol): Likewise.
4555*3d8817e4Smiod	(get_sym_h, get_tls_type): New functions.
4556*3d8817e4Smiod	(ppc64_elf_edit_opd): Remove unused variable.  Use get_sym_h.
4557*3d8817e4Smiod	(ppc64_elf_tls_optimize): New function.
4558*3d8817e4Smiod	(allocate_dynrelocs): Adjust for new PLT and GOT lists.  Allocate
4559*3d8817e4Smiod	TLS relocs.
4560*3d8817e4Smiod	(ppc64_elf_size_dynamic_sections): Likewise.
4561*3d8817e4Smiod	(ppc_type_of_stub): Adjust for new PLT list.
4562*3d8817e4Smiod	(ppc_build_one_stub): Likewise.
4563*3d8817e4Smiod	(ppc64_elf_size_stubs): Likewise.  Use get_sym_h.  Treat __tls_get_addr
4564*3d8817e4Smiod	calls specially.
4565*3d8817e4Smiod	(ppc64_elf_relocate_section): Adjust for new GOT and PLT lists.  Handle
4566*3d8817e4Smiod	TLS relocs.  Report local syms using bfd_elf_local_sym_name.  Don't
4567*3d8817e4Smiod	init GOT entries that have a reloc.  Generate GOT relocs here..
4568*3d8817e4Smiod	(ppc64_elf_finish_dynamic_symbol): ..not here.  Adjust for PLT list.
4569*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
4570*3d8817e4Smiod
4571*3d8817e4Smiod2003-02-04  Andreas Schwab  <schwab@suse.de>
4572*3d8817e4Smiod
4573*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_hash_entry): Define.
4574*3d8817e4Smiod	(elf_m68k_link_hash_traverse): Remove.
4575*3d8817e4Smiod	(elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
4576*3d8817e4Smiod	elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
4577*3d8817e4Smiod	reduce casting.
4578*3d8817e4Smiod	(elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
4579*3d8817e4Smiod	casting.
4580*3d8817e4Smiod	(elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
4581*3d8817e4Smiod	instead of elf_m68k_link_hash_traverse.
4582*3d8817e4Smiod	(elf_m68k_discard_copies): Change first parameter to pointer to
4583*3d8817e4Smiod	struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
4584*3d8817e4Smiod	elf_m68k_link_hash_entry is needed.
4585*3d8817e4Smiod
4586*3d8817e4Smiod2003-02-04  Alan Modra  <amodra@bigpond.net.au>
4587*3d8817e4Smiod
4588*3d8817e4Smiod	* elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
4589*3d8817e4Smiod	(struct elf_link_hash_entry): Add "glist" and "plist" fields to
4590*3d8817e4Smiod	"got" union, and declare as gotplt_union.  Use gotplt_uinion for
4591*3d8817e4Smiod	"plt" field.
4592*3d8817e4Smiod	(struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
4593*3d8817e4Smiod	Add "init_offset" field.
4594*3d8817e4Smiod	(struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
4595*3d8817e4Smiod	(elf_local_got_ents): Declare.
4596*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
4597*3d8817e4Smiod	and "plt".
4598*3d8817e4Smiod	(_bfd_elf_link_hash_hide_symbol): Use "init_offset".
4599*3d8817e4Smiod	(_bfd_elf_link_hash_table_init): Set "init_offset".
4600*3d8817e4Smiod	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
4601*3d8817e4Smiod	from init_offset.
4602*3d8817e4Smiod	(elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
4603*3d8817e4Smiod
4604*3d8817e4Smiod	* elf.c (bfd_elf_local_sym_name): Split out from..
4605*3d8817e4Smiod	(group_signature): ..here.
4606*3d8817e4Smiod	* elf-bfd.h (bfd_elf_local_sym_name): Declare.
4607*3d8817e4Smiod
4608*3d8817e4Smiod2003-02-04  Alan Modra  <amodra@bigpond.net.au>
4609*3d8817e4Smiod
4610*3d8817e4Smiod	* elf-bfd.h (enum elf_link_info_type): Remove.
4611*3d8817e4Smiod	(struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
4612*3d8817e4Smiod	to struct sec.  Remove linkonce_p field.
4613*3d8817e4Smiod	(elf_linkonce_p): Delete.
4614*3d8817e4Smiod	(elf_discarded_section): Update for sec_info_type change.
4615*3d8817e4Smiod	* section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
4616*3d8817e4Smiod	flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
4617*3d8817e4Smiod	(ELF_INFO_TYPE_NONE): Define.
4618*3d8817e4Smiod	(ELF_INFO_TYPE_STABS): Define.
4619*3d8817e4Smiod	(ELF_INFO_TYPE_MERGE): Define.
4620*3d8817e4Smiod	(ELF_INFO_TYPE_EH_FRAME): Define.
4621*3d8817e4Smiod	(ELF_INFO_TYPE_JUST_SYMS): Define.
4622*3d8817e4Smiod	(STD_SECTION): Update struct sec initializer.
4623*3d8817e4Smiod	* ecoff.c (bfd_debug_section): Likewise.
4624*3d8817e4Smiod	* elf.c: Likewise.  Update occurrences of sec_info_type and use_rela_p.
4625*3d8817e4Smiod	* elflink.h: Likewise.
4626*3d8817e4Smiod	* elf-eh-frame.c: Likewise.
4627*3d8817e4Smiod	* elf64-alpha.c: Likewise.
4628*3d8817e4Smiod	* elfxx-ia64.c: Likewise.
4629*3d8817e4Smiod	* elfxx-mips.c: Likewise.
4630*3d8817e4Smiod	* bfd-in2.h: Regenerate.
4631*3d8817e4Smiod
4632*3d8817e4Smiod	* elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
4633*3d8817e4Smiod	referring to used_by_bfd.
4634*3d8817e4Smiod	* elf64-sparc.c (sec_do_relax): Likewise.
4635*3d8817e4Smiod	* elf64-mmix.c (mmix_elf_section_data): Likewise.
4636*3d8817e4Smiod	* elfxx-mips.c (mips_elf_section_data): Likewise.
4637*3d8817e4Smiod	* ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
4638*3d8817e4Smiod	(ieee_get_section_contents): Likewise.
4639*3d8817e4Smiod	(ieee_new_section_hook): Formatting.
4640*3d8817e4Smiod	(ieee_canonicalize_reloc): Remove commented out code.
4641*3d8817e4Smiod	* mmo.c (mmo_section_data): Define.  Use throughout file.
4642*3d8817e4Smiod	* oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
4643*3d8817e4Smiod
4644*3d8817e4Smiod2003-01-31  Graydon Hoare <graydon@redhat.com>
4645*3d8817e4Smiod
4646*3d8817e4Smiod	* Makefile.am (opncls.lo): Add dependency upon libiberty.h.
4647*3d8817e4Smiod	* Makefile.in: Regenerate.
4648*3d8817e4Smiod	* opncls.c (calc_crc32, get_debug_link_info,
4649*3d8817e4Smiod	seperate_debug_file_exists, find_seperate_debug_file): New
4650*3d8817e4Smiod	internal functions.
4651*3d8817e4Smiod	(bfd_follow_gnu_debuglink): New function.  Follow the pointer
4652*3d8817e4Smiod	contained inside a .gnu_debuglink section.
4653*3d8817e4Smiod	* bfd-in2.h: Regenerate.
4654*3d8817e4Smiod
4655*3d8817e4Smiod2003-01-29  Alexandre Oliva  <aoliva@redhat.com>
4656*3d8817e4Smiod
4657*3d8817e4Smiod	* elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
4658*3d8817e4Smiod	entry->abfd when it's NULL.
4659*3d8817e4Smiod
4660*3d8817e4Smiod2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
4661*3d8817e4Smiod
4662*3d8817e4Smiod	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
4663*3d8817e4Smiod	_bfd_elf_section_offset returning -2 the same way as -1.
4664*3d8817e4Smiod
4665*3d8817e4Smiod	* elfxx-mips.c (mips_elf_multi_got): New function.
4666*3d8817e4Smiod	(struct mips_got_entry): Make symndx and gotidx signed.  Moved
4667*3d8817e4Smiod	addend into union along with address and link hash entry.
4668*3d8817e4Smiod	(struct mips_got_info): Added bfd2got and next.
4669*3d8817e4Smiod	(struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
4670*3d8817e4Smiod	(mips_elf_got_section, mips_elf_create_got_section): Use
4671*3d8817e4Smiod	SEC_EXCLUDE bit to tell whether we really need the got
4672*3d8817e4Smiod	section.  Take boolean arguments to disregard an excluded
4673*3d8817e4Smiod	section, or to create it as excluded.  Adjust all callers.
4674*3d8817e4Smiod	Use mips_elf_got_section all over.
4675*3d8817e4Smiod	(mips_elf_local_got_index, mips_elf_got_page,
4676*3d8817e4Smiod	mips_elf_got16_entry): Take input bfd as argument, and pass it
4677*3d8817e4Smiod	on to mips_elf_create_local_got_entry.
4678*3d8817e4Smiod	(mips_elf_global_got_index, mips_elf_create_local_got_entry):
4679*3d8817e4Smiod	Take input bfd as argument, and manage entries in the
4680*3d8817e4Smiod	appropriate GOT.
4681*3d8817e4Smiod	(mips_elf_got_offset_from_index): Take input bfd as argument,
4682*3d8817e4Smiod	and use it to adjust the GP offset of the bfd.
4683*3d8817e4Smiod	(mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
4684*3d8817e4Smiod	unreferenced GOT entries of global symbols to the end.
4685*3d8817e4Smiod	(mips_elf_record_global_got_symbol): Take input bfd as
4686*3d8817e4Smiod	argument.  Add entries to the master GOT hash table.
4687*3d8817e4Smiod	(struct mips_elf_bfd2got_hash): New.
4688*3d8817e4Smiod	(struct mips_elf_got_per_bfd_arg): New.
4689*3d8817e4Smiod	(struct mips_elf_set_global_got_offset_arg): New.
4690*3d8817e4Smiod	(mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
4691*3d8817e4Smiod	mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
4692*3d8817e4Smiod	mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
4693*3d8817e4Smiod	mips_elf_merge_gots, mips_elf_set_global_got_offset,
4694*3d8817e4Smiod	mips_elf_resolve_final_got_entry,
4695*3d8817e4Smiod	mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
4696*3d8817e4Smiod	mips_elf_got_for_ibfd): New functions.
4697*3d8817e4Smiod	(ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
4698*3d8817e4Smiod	(MIPS_ELF_GOT_MAX_SIZE): New macro.
4699*3d8817e4Smiod	(STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
4700*3d8817e4Smiod	(mips_elf_got_entry_hash): Take new fields into account.  Use
4701*3d8817e4Smiod	mips_elf_hash_bfd_vma.
4702*3d8817e4Smiod	(mips_elf_got_entry_eq): Take new fields into account.
4703*3d8817e4Smiod	(mips_elf_create_got_section): Initialize new fields.
4704*3d8817e4Smiod	(mips_elf_calculate_relocation): Pass input_bfd to functions
4705*3d8817e4Smiod	that now take it.  Adjust gp for the input_bfd.
4706*3d8817e4Smiod	(mips_elf_allocate_dynamic_relocation,
4707*3d8817e4Smiod	mips_elf_create_dynamic_relocation,
4708*3d8817e4Smiod	_bfd_mips_elf_create_dynamic_sections): Use...
4709*3d8817e4Smiod	(mips_elf_rel_dyn_section): New function.  Borrow code from...
4710*3d8817e4Smiod	(_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
4711*3d8817e4Smiod	now take it.  Create the got section if needed, even if
4712*3d8817e4Smiod	excluded, before recording a global got symbol.  Move some
4713*3d8817e4Smiod	code to...
4714*3d8817e4Smiod	(mips_elf_record_local_got_symbol): New fn.
4715*3d8817e4Smiod	(_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
4716*3d8817e4Smiod	Compute multi-got global entries offsets.  Move GOT code to...
4717*3d8817e4Smiod	(_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
4718*3d8817e4Smiod	if the GOT is too big.
4719*3d8817e4Smiod	(_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
4720*3d8817e4Smiod	undefweak symbol to zero.  Generate dynamic relocations for
4721*3d8817e4Smiod	non-primary GOT entries for global symbols.
4722*3d8817e4Smiod	(_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
4723*3d8817e4Smiod	case.  Generate dynamic relocations for local got entries.
4724*3d8817e4Smiod	Sort dynamic relocations on N64 too, using...
4725*3d8817e4Smiod	(sort_dynamic_relocs_64): New fns.
4726*3d8817e4Smiod	(_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
4727*3d8817e4Smiod	(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
4728*3d8817e4Smiod
4729*3d8817e4Smiod2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
4730*3d8817e4Smiod
4731*3d8817e4Smiod	* bfd.c (struct _bfd): Added id field.
4732*3d8817e4Smiod	* opncls.c (_bfd_id_counter): New static variable.
4733*3d8817e4Smiod	(_bfd_new_bfd): Use it.
4734*3d8817e4Smiod	* bfd-in2.h: Rebuilt.
4735*3d8817e4Smiod
4736*3d8817e4Smiod2003-01-25  Alan Modra  <amodra@bigpond.net.au>
4737*3d8817e4Smiod
4738*3d8817e4Smiod	* elf32-sparc.c (bfd_elf32_new_section_hook): Define.
4739*3d8817e4Smiod
4740*3d8817e4Smiod2003-01-25  Jakub Jelinek  <jakub@redhat.com>
4741*3d8817e4Smiod
4742*3d8817e4Smiod	* elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
4743*3d8817e4Smiod	(elf32_sparc_rev32_howto): New variable.
4744*3d8817e4Smiod	(sparc_reloc_map): Add TLS relocs.
4745*3d8817e4Smiod	(elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
4746*3d8817e4Smiod	Handle REV32.
4747*3d8817e4Smiod	(sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
4748*3d8817e4Smiod	New functions.
4749*3d8817e4Smiod	(struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
4750*3d8817e4Smiod	struct elf32_sparc_link_hash_table):
4751*3d8817e4Smiod	New structures.
4752*3d8817e4Smiod	(elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
4753*3d8817e4Smiod	elf32_sparc_hash_table): Define.
4754*3d8817e4Smiod	(link_hash_newfunc, elf32_sparc_link_hash_table_create,
4755*3d8817e4Smiod	create_got_section, elf32_sparc_create_dynamic_sections,
4756*3d8817e4Smiod	elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
4757*3d8817e4Smiod	functions.
4758*3d8817e4Smiod	(elf32_sparc_check_relocs): Handle TLS relocs.  Add dynamic reloc
4759*3d8817e4Smiod	reference counting.
4760*3d8817e4Smiod	(elf32_sparc_gc_sweep_hook): Likewise.
4761*3d8817e4Smiod	(elf32_sparc_adjust_dynamic_symbol): Likewise.
4762*3d8817e4Smiod	(elf32_sparc_size_dynamic_sections): Likewise.
4763*3d8817e4Smiod	(elf32_sparc_relocate_section): Likewise.
4764*3d8817e4Smiod	(allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
4765*3d8817e4Smiod	New functions.
4766*3d8817e4Smiod	(elf32_sparc_object_p): Allocate backend private object data.
4767*3d8817e4Smiod	(bfd_elf32_bfd_link_hash_table_create,
4768*3d8817e4Smiod	elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
4769*3d8817e4Smiod	elf_backend_can_refcount): Define.
4770*3d8817e4Smiod	(elf_backend_create_dynamic_sections): Define to
4771*3d8817e4Smiod	elf32_sparc_create_dynamic_sections.
4772*3d8817e4Smiod	* reloc.c: Add SPARC TLS relocs.
4773*3d8817e4Smiod	* bfd-in2.h, libbfd.h: Rebuilt.
4774*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
4775*3d8817e4Smiod	(sparc_reloc_map): Likewise.
4776*3d8817e4Smiod
4777*3d8817e4Smiod2003-01-24  Martin Schwidefsky  <schwidefsky@de.ibm.com>
4778*3d8817e4Smiod
4779*3d8817e4Smiod	* bfd-in2.h: Regenerate.
4780*3d8817e4Smiod	* elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
4781*3d8817e4Smiod	s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
4782*3d8817e4Smiod	(elf_howto_table): Add TLS relocs.
4783*3d8817e4Smiod	(elf_s390_reloc_type_lookup): Likewise.
4784*3d8817e4Smiod	(elf_s390_link_hash_entry): Add tls_type.
4785*3d8817e4Smiod	(elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
4786*3d8817e4Smiod	New macros.
4787*3d8817e4Smiod	(elf_s390_link_hash_table): Add tls_ldm_got.
4788*3d8817e4Smiod	(link_hash_newfunc): Initialize tls_type.
4789*3d8817e4Smiod	(elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
4790*3d8817e4Smiod	(elf_s390_copy_indirect_symbol): Copy tls_type information.
4791*3d8817e4Smiod	(elf_s390_check_relocs): Support TLS relocs.
4792*3d8817e4Smiod	(elf_s390_gc_sweep_hook): Likewise.
4793*3d8817e4Smiod	(allocate_dynrelocs): Likewise.
4794*3d8817e4Smiod	(elf_s390_size_dynamic_sections): Likewise.
4795*3d8817e4Smiod	(elf_s390_relocate_section): Likewise.
4796*3d8817e4Smiod	(elf_s390_finish_dynamic_symbol): Likewise.
4797*3d8817e4Smiod	(bfd_elf32_mkobject): Define for TLS.
4798*3d8817e4Smiod	* elf64-s390.c: Same changes as for elf32-s390.c.
4799*3d8817e4Smiod	* libbfd.h: Regenerate.
4800*3d8817e4Smiod	* reloc.c: Add s390 TLS relocations.
4801*3d8817e4Smiod
4802*3d8817e4Smiod2003-01-24  Charles Lepple  <clepple@ghz.cc>
4803*3d8817e4Smiod
4804*3d8817e4Smiod	* aclocal.m4: Fix name of --enable-install-libbfd switch.
4805*3d8817e4Smiod
4806*3d8817e4Smiod2003-01-23  Nick Clifton  <nickc@redhat.com>
4807*3d8817e4Smiod
4808*3d8817e4Smiod	* Add sh2e support:
4809*3d8817e4Smiod	2002-04-02  Elena Zannoni  <ezannoni@redhat.com>
4810*3d8817e4Smiod	* archures.c (bfd_mach_sh2e): Added.
4811*3d8817e4Smiod	* bfd-in2.h: Rebuilt.
4812*3d8817e4Smiod	* cpu-sh.c (arch_info_struct): Added SH2e.
4813*3d8817e4Smiod	* elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
4814*3d8817e4Smiod
4815*3d8817e4Smiod2003-01-23  Alan Modra  <amodra@bigpond.net.au>
4816*3d8817e4Smiod
4817*3d8817e4Smiod	* elf-bfd.h (struct bfd_elf_section_data): Remove tdata.  Change
4818*3d8817e4Smiod	dynindx to an int.  Rearrange for better packing.
4819*3d8817e4Smiod	* elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
4820*3d8817e4Smiod	* elf32-mips.c (bfd_elf32_new_section_hook): Define.
4821*3d8817e4Smiod	* elf32-sh64.h: New.  Split out from include/elf/sh.h.
4822*3d8817e4Smiod	(struct _sh64_elf_section_data): New struct.
4823*3d8817e4Smiod	(sh64_elf_section_data): Don't dereference sh64_info (was tdata).
4824*3d8817e4Smiod	* elf32-sh64-com.c: Include elf32-sh64.h.
4825*3d8817e4Smiod	* elf32-sh64.c: Likewise.
4826*3d8817e4Smiod	(sh64_elf_new_section_hook): New function.
4827*3d8817e4Smiod	(bfd_elf32_new_section_hook): Define.
4828*3d8817e4Smiod	(sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
4829*3d8817e4Smiod	(sh64_bfd_elf_copy_private_section_data): Likewise.
4830*3d8817e4Smiod	(sh64_elf_final_write_processing): Likewise.
4831*3d8817e4Smiod	* elf32-sparc.c (struct elf32_sparc_section_data): New.
4832*3d8817e4Smiod	(elf32_sparc_new_section_hook): New function.
4833*3d8817e4Smiod	(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
4834*3d8817e4Smiod	(sec_do_relax): Define.
4835*3d8817e4Smiod	(elf32_sparc_relax_section): Adjust to use sec_do_relax.
4836*3d8817e4Smiod	(elf32_sparc_relocate_section): Likewise.
4837*3d8817e4Smiod	* elf64-mips.c (bfd_elf64_new_section_hook): Define.
4838*3d8817e4Smiod	* elf64-mmix.c (struct _mmix_elf_section_data): New.
4839*3d8817e4Smiod	(mmix_elf_section_data): Define.  Use throughout file.
4840*3d8817e4Smiod	(mmix_elf_new_section_hook): New function.
4841*3d8817e4Smiod	(bfd_elf64_new_section_hook): Define.
4842*3d8817e4Smiod	* elf64-ppc.c (struct _ppc64_elf_section_data): New.
4843*3d8817e4Smiod	(ppc64_elf_section_data): Define.  Use throughout.
4844*3d8817e4Smiod	(ppc64_elf_new_section_hook): New function.
4845*3d8817e4Smiod	(bfd_elf64_new_section_hook): Define.
4846*3d8817e4Smiod	* elf64-sparc.c (struct sparc64_elf_section_data): New.
4847*3d8817e4Smiod	(sparc64_elf_new_section_hook): New function.
4848*3d8817e4Smiod	(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
4849*3d8817e4Smiod	(sec_do_relax): Define.
4850*3d8817e4Smiod	(sparc64_elf_relax_section): Adjust to use sec_do_relax.
4851*3d8817e4Smiod	(sparc64_elf_relocate_section): Likewise.
4852*3d8817e4Smiod	(bfd_elf64_new_section_hook): Define.
4853*3d8817e4Smiod	* elfn32-mips.c (bfd_elf32_new_section_hook): Define.
4854*3d8817e4Smiod	* elfxx-mips.c (struct _mips_elf_section_data): New.
4855*3d8817e4Smiod	(mips_elf_section_data): Define.  Use throughout.
4856*3d8817e4Smiod	(_bfd_mips_elf_new_section_hook): New function.
4857*3d8817e4Smiod	(mips_elf_create_got_section): Don't alloc used_by_bfd.
4858*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
4859*3d8817e4Smiod	* elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
4860*3d8817e4Smiod	* Makefile.am: Run "make dep-am".
4861*3d8817e4Smiod	* Makefile.in: Regenerate.
4862*3d8817e4Smiod
4863*3d8817e4Smiod2003-01-21  Richard Henderson  <rth@redhat.com>
4864*3d8817e4Smiod
4865*3d8817e4Smiod	* elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
4866*3d8817e4Smiod	(struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
4867*3d8817e4Smiod	(elf64_alpha_adjust_dynamic_symbol): Set them.
4868*3d8817e4Smiod	(elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
4869*3d8817e4Smiod	(elf64_alpha_relax_tls_get_addr): Handle LDM relocs.  Frob the
4870*3d8817e4Smiod	symbol index when relaxing LDM to TPREL.
4871*3d8817e4Smiod	(elf64_alpha_relax_section): Likewise.  Allow relaxation of GD
4872*3d8817e4Smiod	relocs, even if the target isn't locally defined.
4873*3d8817e4Smiod	(elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
4874*3d8817e4Smiod	(elf64_alpha_relocate_section): Likewise.  Force TP-relative
4875*3d8817e4Smiod	relocs vs symndx 0 to the tp base.
4876*3d8817e4Smiod
4877*3d8817e4Smiod2003-01-21  Fabio Alemagna  <falemagn@aros.org>
4878*3d8817e4Smiod
4879*3d8817e4Smiod	* config.bfd: Handle i[3456]86-*-aros*.
4880*3d8817e4Smiod
4881*3d8817e4Smiod2003-01-21  Andreas Schwab  <schwab@suse.de>
4882*3d8817e4Smiod
4883*3d8817e4Smiod	* elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
4884*3d8817e4Smiod	(struct ppc_elf_link_hash_entry): Define.
4885*3d8817e4Smiod	(ppc_elf_hash_entry): New function.
4886*3d8817e4Smiod	(struct ppc_elf_link_hash_table): Define.
4887*3d8817e4Smiod	(ppc_elf_hash_table): New function.
4888*3d8817e4Smiod	(ppc_elf_link_hash_newfunc): New function.
4889*3d8817e4Smiod	(ppc_elf_link_hash_table_create): New function.
4890*3d8817e4Smiod	(ppc_elf_copy_indirect_symbol): New function.
4891*3d8817e4Smiod	(allocate_dynrelocs): New function.
4892*3d8817e4Smiod	(readonly_dynrelocs): New function.
4893*3d8817e4Smiod	(ppc_elf_size_dynamic_sections): Allocate space for dynamic
4894*3d8817e4Smiod	relocs and determine DT_TEXTREL.
4895*3d8817e4Smiod	(ppc_elf_check_relocs): Don't do that here, just count the
4896*3d8817e4Smiod	dynamic relocs.
4897*3d8817e4Smiod	(ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
4898*3d8817e4Smiod	removed section.
4899*3d8817e4Smiod	(bfd_elf32_bfd_link_hash_table_create): Define.
4900*3d8817e4Smiod	(elf_backend_copy_indirect_symbol): Define.
4901*3d8817e4Smiod
4902*3d8817e4Smiod2003-01-21  Richard Henderson  <rth@redhat.com>
4903*3d8817e4Smiod
4904*3d8817e4Smiod	* elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
4905*3d8817e4Smiod	TPREL also get a reloc if shared.  Remove SREL support.
4906*3d8817e4Smiod	(elf64_alpha_emit_dynrel): New.
4907*3d8817e4Smiod	(elf64_alpha_relocate_section): Use it.  Resolve dynamic TPREL
4908*3d8817e4Smiod	and GOTTPREL relocs to local symbols against the tp base.
4909*3d8817e4Smiod	(elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
4910*3d8817e4Smiod
4911*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
4912*3d8817e4Smiod	use count before clobbering r_type.
4913*3d8817e4Smiod	(elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
4914*3d8817e4Smiod	ordering would mean dataflow inspection is necessary.
4915*3d8817e4Smiod
4916*3d8817e4Smiod2003-01-20  Svein E. Seldal  <Svein.Seldal@solidas.com>
4917*3d8817e4Smiod
4918*3d8817e4Smiod	* coffcode.h (coff_set_flags): Added get/set arch hooks.
4919*3d8817e4Smiod
4920*3d8817e4Smiod2003-01-20  Fabio Alemagna  <falemagn@aros.org>
4921*3d8817e4Smiod
4922*3d8817e4Smiod	* elf32-sh.c: Treat elfNN_bed like other macros defined in
4923*3d8817e4Smiod	  elfxx-target.h and #undef it before #define'ing it.
4924*3d8817e4Smiod	* elf32-i386.c: Likewise.
4925*3d8817e4Smiod	* elf32-sh64.c: Likewise.
4926*3d8817e4Smiod	* elf64-alpha.c: Likewise.
4927*3d8817e4Smiod	* elf64-sh64.c: Likewise.
4928*3d8817e4Smiod
4929*3d8817e4Smiod2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
4930*3d8817e4Smiod
4931*3d8817e4Smiod	* bfd-in2.h: Regenerate.
4932*3d8817e4Smiod	* elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
4933*3d8817e4Smiod	(elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
4934*3d8817e4Smiod	R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
4935*3d8817e4Smiod	R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
4936*3d8817e4Smiod	R_390_PLTOFF32 and R_390_PLTOFF64.
4937*3d8817e4Smiod	(elf_s390_reloc_type_lookup): Likewise.
4938*3d8817e4Smiod	(struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
4939*3d8817e4Smiod	of GOTPLT references to a function.
4940*3d8817e4Smiod	(link_hash_newfunc): Initialize gotplt_refcount.
4941*3d8817e4Smiod	(elf_s390_check_relocs): Move allocation of local_got_refcounts array
4942*3d8817e4Smiod	and creation of the got section out of the main switch. Add support
4943*3d8817e4Smiod	for the gotoff, gotplt and pltoff relocations.
4944*3d8817e4Smiod	(elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
4945*3d8817e4Smiod	and pltoff.
4946*3d8817e4Smiod	(elf_s390_adjust_gotplt): New function.
4947*3d8817e4Smiod	(elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
4948*3d8817e4Smiod	plt entries.
4949*3d8817e4Smiod	(allocate_dynrelocs): Add comment.
4950*3d8817e4Smiod	(elf_s390_relocate_section): Change r_type to unsigned. Add support
4951*3d8817e4Smiod	for gotoff, gotplt and pltoff relocations.
4952*3d8817e4Smiod	* elf64-s390.c: Same changes as for elf32-s390.c.
4953*3d8817e4Smiod	* libbfd.h: Regenerate.
4954*3d8817e4Smiod	* reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
4955*3d8817e4Smiod	BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
4956*3d8817e4Smiod	BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
4957*3d8817e4Smiod	and BFD_RELOC_390_PLTOFF64.
4958*3d8817e4Smiod
4959*3d8817e4Smiod2003-01-18  Jakub Jelinek  <jakub@redhat.com>
4960*3d8817e4Smiod
4961*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
4962*3d8817e4Smiod	R_IA64_TPREL64[LM]SB against non-global symbol properly.
4963*3d8817e4Smiod
4964*3d8817e4Smiod2003-01-16  Jakub Jelinek  <jakub@redhat.com>
4965*3d8817e4Smiod
4966*3d8817e4Smiod	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
4967*3d8817e4Smiod	self_dtpmod_done and self_dtpmod_offset.
4968*3d8817e4Smiod	(allocate_global_data_got): Only use one got entry for all
4969*3d8817e4Smiod	dtpmod relocs against local symbols.
4970*3d8817e4Smiod	(allocate_dynrel_entries): Only need .rela.got entry for
4971*3d8817e4Smiod	dtpmod against global symbol.
4972*3d8817e4Smiod	(elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
4973*3d8817e4Smiod	Reserve space in .rela.got for the local dtpmod entry.
4974*3d8817e4Smiod	(set_got_entry): Initialize the common local dtpmod .got entry.
4975*3d8817e4Smiod	(elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
4976*3d8817e4Smiod	and R_IA_64_DTPREL64MSB.
4977*3d8817e4Smiod
4978*3d8817e4Smiod2003-01-16  Alan Modra  <amodra@bigpond.net.au>
4979*3d8817e4Smiod
4980*3d8817e4Smiod	* elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
4981*3d8817e4Smiod	(R_PPC_*): Rename all occurrences to R_PPC64_*.
4982*3d8817e4Smiod	(R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
4983*3d8817e4Smiod	(enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
4984*3d8817e4Smiod	(ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
4985*3d8817e4Smiod	relative relocs, not with absolute ones.
4986*3d8817e4Smiod	* Makefile.am: Run "make dep-am".
4987*3d8817e4Smiod	* Makefile.in: Regenerate.
4988*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
4989*3d8817e4Smiod
4990*3d8817e4Smiod2003-01-15  Andreas Schwab  <schwab@suse.de>
4991*3d8817e4Smiod
4992*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
4993*3d8817e4Smiod	relocation against a non-allocated readonly section.
4994*3d8817e4Smiod
4995*3d8817e4Smiod2003-01-10  Alan Modra  <amodra@bigpond.net.au>
4996*3d8817e4Smiod
4997*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
4998*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.  PLTGOT16_HA too.
4999*3d8817e4Smiod
5000*3d8817e4Smiod2002-01-08  Klee Dienes  <kdienes@apple.com>
5001*3d8817e4Smiod
5002*3d8817e4Smiod	* Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
5003*3d8817e4Smiod	(BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
5004*3d8817e4Smiod	* Makefile.in: Regenerate.
5005*3d8817e4Smiod
5006*3d8817e4Smiod2003-01-08  Alexandre Oliva  <aoliva@redhat.com>
5007*3d8817e4Smiod
5008*3d8817e4Smiod	* elfn32-mips.c (prev_reloc_section): New.
5009*3d8817e4Smiod	(GET_RELOC_ADDEND): Use it.  Parenthesize macro arguments.
5010*3d8817e4Smiod	(SET_RELOC_ADDEND): Parenthesize macro argument.
5011*3d8817e4Smiod
5012*3d8817e4Smiod2003-01-07  John David Anglin  <dave.anglin@nrc.gc.ca>
5013*3d8817e4Smiod
5014*3d8817e4Smiod	* elf32-hppa.c (final_link_relocate): For all DP relative relocations,
5015*3d8817e4Smiod	adjust addil instructions if the symbol has no section.
5016*3d8817e4Smiod
5017*3d8817e4Smiod2003-01-07  DJ Delorie  <dj@redhat.com>
5018*3d8817e4Smiod
5019*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
5020*3d8817e4Smiod	partial_inplace.
5021*3d8817e4Smiod
5022*3d8817e4Smiod2003-01-07  Andreas Schwab  <schwab@suse.de>
5023*3d8817e4Smiod
5024*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
5025*3d8817e4Smiod	PC relative relocations.
5026*3d8817e4Smiod	(elf_m68k_discard_copies): Set it here instead.
5027*3d8817e4Smiod
5028*3d8817e4Smiod2002-01-02  Ben Elliston  <bje@redhat.com>
5029*3d8817e4Smiod	    Jeff Johnston  <jjohnstn@redhat.com>
5030*3d8817e4Smiod
5031*3d8817e4Smiod	* Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
5032*3d8817e4Smiod	(ALL_MACHINES_CFILES): Add cpu-iq2000.c.
5033*3d8817e4Smiod	(BFD32_BACKENDS): Add elf32-iq2000.lo.
5034*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
5035*3d8817e4Smiod	(cpu-iq2000.lo): New target.
5036*3d8817e4Smiod	* Makefile.in: Regenerate.
5037*3d8817e4Smiod	* config.bfd: Handle iq2000-*-elf.
5038*3d8817e4Smiod	* archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
5039*3d8817e4Smiod	(bfd_archures_list): Add bfd_iq2000_arch.
5040*3d8817e4Smiod	* configure.in: Handle bfd_elf32_iq2000_vec.
5041*3d8817e4Smiod	* configure: Regenerate.
5042*3d8817e4Smiod	* reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
5043*3d8817e4Smiod	and BFD_RELOC_IQ2000_UHI16.
5044*3d8817e4Smiod	* targets.c (bfd_elf32_iq2000_vec): Declare.
5045*3d8817e4Smiod	(bfd_target_vector): Add bfd_elf32_iq2000_vec.
5046*3d8817e4Smiod	* elf.c (prep_headers): Set e_machine to EM_IQ2000.
5047*3d8817e4Smiod	* cpu-iq2000.c: New file.
5048*3d8817e4Smiod	* elf32-iq2000.c: Likewise.
5049*3d8817e4Smiod	* libbfd.h: Regenerate.
5050*3d8817e4Smiod	* bfd-in2.h: Likewise.
5051*3d8817e4Smiod
5052*3d8817e4Smiod2003-01-02  Richard Sandiford  <rsandifo@redhat.com>
5053*3d8817e4Smiod
5054*3d8817e4Smiod	* elfxx-mips.c: Include libiberty.h.
5055*3d8817e4Smiod	(elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
5056*3d8817e4Smiod	(mips_set_isa_flags): New function, split out from...
5057*3d8817e4Smiod	(_bfd_mips_elf_final_write_processing): ...here.  Only call
5058*3d8817e4Smiod	mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
5059*3d8817e4Smiod	(mips_mach_extensions): New array.
5060*3d8817e4Smiod	(mips_32bit_flags_p): New function.
5061*3d8817e4Smiod	(_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
5062*3d8817e4Smiod	Use mips_32bit_flags_p to check if one binary is 32-bit and the
5063*3d8817e4Smiod	other is 64-bit.  When adopting IBFD's architecture, adopt the
5064*3d8817e4Smiod	bfd_mach as well as the flags.
5065*3d8817e4Smiod
5066*3d8817e4Smiod2003-01-02  Nick Kelsey  <nickk@ubicom.com>
5067*3d8817e4Smiod
5068*3d8817e4Smiod	* elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
5069*3d8817e4Smiod	fix internal errors, fix bad code generation, fix incorrect stabs
5070*3d8817e4Smiod	information, and improve ability to eliminate redundant page
5071*3d8817e4Smiod	instructions. Added code to ip2k_final_link_relocate to self-verify
5072*3d8817e4Smiod	the linker relaxation.  Fix formatting problems.
5073*3d8817e4Smiod
5074*3d8817e4Smiod2002-12-30  Chris Demetriou  <cgd@broadcom.com>
5075*3d8817e4Smiod
5076*3d8817e4Smiod	* aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
5077*3d8817e4Smiod	* archures.c (bfd_mach_mipsisa32r2): New define.
5078*3d8817e4Smiod	* bfd-in2.h: Regenerate.
5079*3d8817e4Smiod	* cpu-mips.c (I_mipsisa32r2): New enum value.
5080*3d8817e4Smiod	(arch_info_struct): Add entry for I_mipsisa32r2.
5081*3d8817e4Smiod	* elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
5082*3d8817e4Smiod	(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
5083*3d8817e4Smiod	(_bfd_mips_elf_final_write_processing): Add
5084*3d8817e4Smiod	bfd_mach_mipsisa32r2 case.
5085*3d8817e4Smiod	(_bfd_mips_elf_merge_private_bfd_data): Handle merging of
5086*3d8817e4Smiod	binaries marked as using MIPS32 Release 2.
5087*3d8817e4Smiod
5088*3d8817e4Smiod2002-12-30    Dmitry Diky <diwil@mail.ru>
5089*3d8817e4Smiod
5090*3d8817e4Smiod	* Makefile.am: Add msp430 target.
5091*3d8817e4Smiod	* configure.in: Likewise.
5092*3d8817e4Smiod	* Makefile.in: Regenerate.
5093*3d8817e4Smiod	* configure: Regenerate.
5094*3d8817e4Smiod	* archures.c: Add msp430 architecture vector.
5095*3d8817e4Smiod	* config.bfd: Likewise.
5096*3d8817e4Smiod	* reloc.c: Add msp430 relocs.
5097*3d8817e4Smiod	* targets.c: Add msp320 target.
5098*3d8817e4Smiod	* cpu-msp430.c: New file: msp430 cpu detection.
5099*3d8817e4Smiod	* elf32-msp430.c: New file: msp430 reloc processing.
5100*3d8817e4Smiod	* bfd-in2.h: Regenerate.
5101*3d8817e4Smiod	* libbfd.h: Regenerate.
5102*3d8817e4Smiod
5103*3d8817e4Smiod2002-12-28  Jakub Jelinek  <jakub@redhat.com>
5104*3d8817e4Smiod
5105*3d8817e4Smiod	* elf.c (elf_sort_sections): Don't reorder .tbss.
5106*3d8817e4Smiod	(assign_file_positions_for_segments): Only adjust off/voff
5107*3d8817e4Smiod	for increased alignment in PT_LOAD or PT_NOTE segment,
5108*3d8817e4Smiod	but adjust p_filesz for .tbss too.  in PT_LOAD consider
5109*3d8817e4Smiod	.tbss to have zero memory size.
5110*3d8817e4Smiod	(copy_private_bfd_data) [SECTION_SIZE]: Define.
5111*3d8817e4Smiod	[IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
5112*3d8817e4Smiod	[INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
5113*3d8817e4Smiod	into PT_TLS segment.  Never put SHF_TLS sections in
5114*3d8817e4Smiod	segments other than PT_TLS or PT_LOAD.
5115*3d8817e4Smiod
5116*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
5117*3d8817e4Smiod	sh_entsize.
5118*3d8817e4Smiod
5119*3d8817e4Smiod2002-12-23  DJ Delorie  <dj@redhat.com>
5120*3d8817e4Smiod
5121*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
5122*3d8817e4Smiod
5123*3d8817e4Smiod2002-12-23  Alan Modra  <amodra@bigpond.net.au>
5124*3d8817e4Smiod
5125*3d8817e4Smiod	* elflink.h (elf_link_output_extsym): Heed strip_discarded.
5126*3d8817e4Smiod
5127*3d8817e4Smiod2002-12-23  Nick Clifton  <nickc@redhat.com>
5128*3d8817e4Smiod
5129*3d8817e4Smiod	* archures.c (bfd_arch_get_compatible): Add third parameter
5130*3d8817e4Smiod	'accept_unknowns'.  Only accept unknown format BFDs if
5131*3d8817e4Smiod	accept_unknowns is true, or if the format is "binary".
5132*3d8817e4Smiod	* bfd-in2.h: Regenerate.
5133*3d8817e4Smiod
5134*3d8817e4Smiod2002-12-21  Nick Clifton  <nickc@redhat.com>
5135*3d8817e4Smiod
5136*3d8817e4Smiod	* coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
5137*3d8817e4Smiod	that subtracted 8 from pc relative relocations.
5138*3d8817e4Smiod
5139*3d8817e4Smiod2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
5140*3d8817e4Smiod
5141*3d8817e4Smiod	* coff-h8300.c: Fix comment typos.
5142*3d8817e4Smiod	* coffcode.h: Likewise.
5143*3d8817e4Smiod	* cpu-cris.c: Likewise.
5144*3d8817e4Smiod	* elf32-vax.c: Likewise.
5145*3d8817e4Smiod	* genlink.h: Likewise.
5146*3d8817e4Smiod	* linker.c: Likewise.
5147*3d8817e4Smiod	* som.c: Likewise.
5148*3d8817e4Smiod	* tekhex.c: Likewise.
5149*3d8817e4Smiod	* vms-misc.c: Likewise.
5150*3d8817e4Smiod
5151*3d8817e4Smiod2002-12-20  DJ Delorie  <dj@redhat.com>
5152*3d8817e4Smiod
5153*3d8817e4Smiod	* reloc.c: Add BFD_RELOC_XSTORMY16_12.
5154*3d8817e4Smiod	* libbfd.h: Regenerate.
5155*3d8817e4Smiod	* bfd-in2.h: Regenerate.
5156*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
5157*3d8817e4Smiod	(xstormy16_reloc_map): Add R_XSTORMY16_12.
5158*3d8817e4Smiod
5159*3d8817e4Smiod2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5160*3d8817e4Smiod
5161*3d8817e4Smiod	* doc/bfdint.texi: Fix typos.
5162*3d8817e4Smiod
5163*3d8817e4Smiod2002-12-20  Paul Eggert  <eggert@twinsun.com>
5164*3d8817e4Smiod
5165*3d8817e4Smiod	Port to POSIX 1003.1-2001.
5166*3d8817e4Smiod	* acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
5167*3d8817e4Smiod	* configure.in (build-warnings): Likewise.
5168*3d8817e4Smiod	(Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
5169*3d8817e4Smiod	* aclocal.m4: Regenerate.
5170*3d8817e4Smiod	* config.in: Regenerate.
5171*3d8817e4Smiod	* configure: Regenerate.
5172*3d8817e4Smiod
5173*3d8817e4Smiod2002-12-19  Alan Modra  <amodra@bigpond.net.au>
5174*3d8817e4Smiod
5175*3d8817e4Smiod	* coff-h8300.c: Include libiberty.h.
5176*3d8817e4Smiod	(h8300_reloc16_extra_cases): Check the hash table creator before
5177*3d8817e4Smiod	referencing h8300 specific fields.  Stash the hash table pointer
5178*3d8817e4Smiod	in a local var.  Comment typo fixes.
5179*3d8817e4Smiod	(h8300_bfd_link_add_symbols): Likewise.
5180*3d8817e4Smiod
5181*3d8817e4Smiod	* reloc.c (struct reloc_howto_struct): Revise src_mask and
5182*3d8817e4Smiod	dst_mask comments.
5183*3d8817e4Smiod	* bfd-in2.h: Regenerate.
5184*3d8817e4Smiod
5185*3d8817e4Smiod2002-12-18  Alan Modra  <amodra@bigpond.net.au>
5186*3d8817e4Smiod
5187*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
5188*3d8817e4Smiod	code a little.  Comment on dynamic relocs against section symbols.
5189*3d8817e4Smiod
5190*3d8817e4Smiod2002-12-17  Roger Sayle  <roger@eyesopen.com>
5191*3d8817e4Smiod
5192*3d8817e4Smiod	* configure.host (ia64-*-hpux*): Support 64 bit targets using
5193*3d8817e4Smiod	the HP compiler's "long long".
5194*3d8817e4Smiod
5195*3d8817e4Smiod2002-12-16  Andrew MacLeod  <amacleod@redhat.com>
5196*3d8817e4Smiod
5197*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
5198*3d8817e4Smiod	and R_XSTORMY16_HI16) howto entries.
5199*3d8817e4Smiod	(xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
5200*3d8817e4Smiod	(xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
5201*3d8817e4Smiod	determine the start of the second reloc table.
5202*3d8817e4Smiod
5203*3d8817e4Smiod2002-12-16  Nathan Tallent  <eraxxon@alumni.rice.edu>
5204*3d8817e4Smiod
5205*3d8817e4Smiod	* ecofflink.c: Fix the reading of the debugging information
5206*3d8817e4Smiod	of Tru64/Alpha binaries that are produced by recent Compaq
5207*3d8817e4Smiod	compilers.
5208*3d8817e4Smiod	(mk_fdrtab): Fix error in creating the FDR (file descriptor)
5209*3d8817e4Smiod	table.
5210*3d8817e4Smiod	(lookup_line): Because of the strange information sometimes
5211*3d8817e4Smiod	generated by Compaq's recent compilers, change how the FDR
5212*3d8817e4Smiod	table is searched so that PDRs (procedure descriptors) are
5213*3d8817e4Smiod	correctly found.  Note that this change is really more of a hack;
5214*3d8817e4Smiod	however, I have included extensive documentation as to why
5215*3d8817e4Smiod	this is the best solution short of an extensive rewrite or
5216*3d8817e4Smiod	another hack.
5217*3d8817e4Smiod	(fdrtab_lookup): Add comments to explain the algorithm.
5218*3d8817e4Smiod
5219*3d8817e4Smiod2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5220*3d8817e4Smiod
5221*3d8817e4Smiod	* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
5222*3d8817e4Smiod	initializers to match struct declaration.
5223*3d8817e4Smiod
5224*3d8817e4Smiod2002-12-12  Alan Modra  <amodra@bigpond.net.au>
5225*3d8817e4Smiod
5226*3d8817e4Smiod	* dwarf2.c (comp_unit_contains_address): Comment typo fix.
5227*3d8817e4Smiod	* elf.c (get_program_header_size): Likewise.
5228*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
5229*3d8817e4Smiod	(m32r_elf_generic_reloc): Likewise.
5230*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_howto_init): Likewise.
5231*3d8817e4Smiod	* elflink.h (elf_bfd_discard_info): Likewise.
5232*3d8817e4Smiod
5233*3d8817e4Smiod2002-12-12  Alan Modra  <amodra@bigpond.net.au>
5234*3d8817e4Smiod
5235*3d8817e4Smiod	* elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
5236*3d8817e4Smiod	to DT_JMPREL.  Use srelplt input section size for DT_PLTRELSZ and
5237*3d8817e4Smiod	DT_RELSZ adjustment, not output section.  Avoid writing tags when
5238*3d8817e4Smiod	unchanged.  Don't assume linker script is sane, adjust DT_REL too.
5239*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
5240*3d8817e4Smiod	size of srelplt for DT_PLTRELSZ.  Use srelplt input section size for
5241*3d8817e4Smiod	DT_RELASZ adjustment, not output section.  Avoid writing tags when
5242*3d8817e4Smiod	unchanged.  Adjust DT_RELA.
5243*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
5244*3d8817e4Smiod	formatting.  Avoid writing tags when unchanged.  Adjust DT_RELA.
5245*3d8817e4Smiod
5246*3d8817e4Smiod2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5247*3d8817e4Smiod
5248*3d8817e4Smiod	* elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
5249*3d8817e4Smiod	addend by 4.
5250*3d8817e4Smiod
5251*3d8817e4Smiod2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5252*3d8817e4Smiod
5253*3d8817e4Smiod	* elfxx-mips.c (struct mips_got_entry): New.
5254*3d8817e4Smiod	(struct mips_got_info): Added got_entries field.
5255*3d8817e4Smiod	(mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
5256*3d8817e4Smiod	(mips_elf_local_got_index, mips_elf_got_page,
5257*3d8817e4Smiod	mips_elf_got16_entry): Re-implement in terms of new...
5258*3d8817e4Smiod	(mips_elf_create_local_got_entry): Rewrite to use got_entries.
5259*3d8817e4Smiod	Change return type.
5260*3d8817e4Smiod	(mips_elf_highest): Warning clean-up.
5261*3d8817e4Smiod	(mips_elf_create_got_section): Initialize got_entries.
5262*3d8817e4Smiod	(_bfd_mips_elf_check_relocs): Use got_entries to estimate
5263*3d8817e4Smiod	local got size.
5264*3d8817e4Smiod	(_bfd_mips_elf_size_dynamic_sections): Do not account for
5265*3d8817e4Smiod	GOT_PAGE entries, since we now reuse GOT16 entries.
5266*3d8817e4Smiod
5267*3d8817e4Smiod2002-12-10  Jason Thorpe  <thorpej@wasabisystems.com>
5268*3d8817e4Smiod
5269*3d8817e4Smiod	* aoutx.h (set_section_contents): Allow an otherwise unrepresentable
5270*3d8817e4Smiod	read-only section that lies after .text and before .data to be
5271*3d8817e4Smiod	written into the output file and included in a_text.
5272*3d8817e4Smiod	(translate_to_native_sym_flags): If an otherwise unrepresentable
5273*3d8817e4Smiod	section was merged with .text, convert its symbols to N_TEXT
5274*3d8817e4Smiod	symbols.
5275*3d8817e4Smiod	* libaout.h (aout_section_merge_with_text_p): New macro.
5276*3d8817e4Smiod
5277*3d8817e4Smiod2002-12-08  Alan Modra  <amodra@bigpond.net.au>
5278*3d8817e4Smiod
5279*3d8817e4Smiod	* bfd-in.h: Comment typo fix.  Formatting.
5280*3d8817e4Smiod	* bfd-in2.h: Regenerate.
5281*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
5282*3d8817e4Smiod	* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
5283*3d8817e4Smiod	* elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
5284*3d8817e4Smiod
5285*3d8817e4Smiod2002-12-05  Richard Henderson  <rth@redhat.com>
5286*3d8817e4Smiod
5287*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
5288*3d8817e4Smiod	Only send PCREL21B though the plt.  Fix installed reloc type.
5289*3d8817e4Smiod	(elfNN_ia64_relocate_section): Give error for dynamic reloc
5290*3d8817e4Smiod	against PCREL22 or PCREL64I; clean up error messages for
5291*3d8817e4Smiod	branch relocs.
5292*3d8817e4Smiod
5293*3d8817e4Smiod2002-12-04  Kevin Buettner  <kevinb@redhat.com>
5294*3d8817e4Smiod
5295*3d8817e4Smiod	* elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
5296*3d8817e4Smiod	New functions.
5297*3d8817e4Smiod	(elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
5298*3d8817e4Smiod
5299*3d8817e4Smiod2002-12-04  David Mosberger  <davidm@hpl.hp.com>
5300*3d8817e4Smiod
5301*3d8817e4Smiod	* cpu-ia64-opc.c: Add operand constant "ar.csd".
5302*3d8817e4Smiod
5303*3d8817e4Smiod2002-12-04  H.J. Lu <hjl@gnu.org>
5304*3d8817e4Smiod
5305*3d8817e4Smiod	* elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
5306*3d8817e4Smiod	BFD address when constructing local name.
5307*3d8817e4Smiod
5308*3d8817e4Smiod2002-12-04  Andreas Schwab  <schwab@suse.de>
5309*3d8817e4Smiod
5310*3d8817e4Smiod	* elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
5311*3d8817e4Smiod	member.
5312*3d8817e4Smiod	(elf_m68k_link_hash_table_create): Initialize it.
5313*3d8817e4Smiod	(elf_m68k_check_relocs): Handle symbols that are forced to be
5314*3d8817e4Smiod	local due to visibility changes.
5315*3d8817e4Smiod	(elf_m68k_adjust_dynamic_symbol): Likewise.
5316*3d8817e4Smiod	(elf_m68k_size_dynamic_sections): Likewise.
5317*3d8817e4Smiod	(elf_m68k_discard_copies): Likewise.
5318*3d8817e4Smiod	(elf_m68k_relocate_section): Likewise.
5319*3d8817e4Smiod
5320*3d8817e4Smiod2002-12-04  Alan Modra  <amodra@bigpond.net.au>
5321*3d8817e4Smiod
5322*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
5323*3d8817e4Smiod
5324*3d8817e4Smiod2002-12-04  Alan Modra  <amodra@bigpond.net.au>
5325*3d8817e4Smiod
5326*3d8817e4Smiod	* srec.c (srec_write_symbols): Restore '$' prefix to address
5327*3d8817e4Smiod	accidentally removed in 2002-04-04 change.
5328*3d8817e4Smiod	(srec_get_symtab): Use 0 instead of `(long) FALSE'.
5329*3d8817e4Smiod
5330*3d8817e4Smiod2002-12-03  Nick Clifton  <nickc@redhat.com>
5331*3d8817e4Smiod
5332*3d8817e4Smiod	* elf32-ppc.c (apuinfo_list_init): New function.
5333*3d8817e4Smiod	(apuinfo_list_add): New function: Add a value to the list.
5334*3d8817e4Smiod	(apuinfo_list_length): New function: Return the number of
5335*3d8817e4Smiod	values on the list.
5336*3d8817e4Smiod	(apuinfo_list_element): New function: Return a value on the
5337*3d8817e4Smiod	list.
5338*3d8817e4Smiod	(apuinfo_list_finish): New function: Free the resources used
5339*3d8817e4Smiod	by the list.
5340*3d8817e4Smiod	(ppc_elf_begin_write_processing): New function.  Scan the
5341*3d8817e4Smiod	input bfds for apuinfo sections.
5342*3d8817e4Smiod	(ppc_elf_write_section): New function: Delay the creation of
5343*3d8817e4Smiod	the contents of an apuinfo section in an output bfd.
5344*3d8817e4Smiod	(ppc_elf_final_write_processing): New function.  Create the
5345*3d8817e4Smiod	contents of an apuinfo section in an output bfd.
5346*3d8817e4Smiod	(elf_backend_begin_write_processing): Define.
5347*3d8817e4Smiod	(elf_backend_final_write_processing): Define.
5348*3d8817e4Smiod	(elf_backend_write_section): Define.
5349*3d8817e4Smiod
5350*3d8817e4Smiod2002-12-03  Richard Henderson  <rth@redhat.com>
5351*3d8817e4Smiod
5352*3d8817e4Smiod	* cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
5353*3d8817e4Smiod
5354*3d8817e4Smiod2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
5355*3d8817e4Smiod
5356*3d8817e4Smiod	Fix PR savannah/1417:
5357*3d8817e4Smiod	* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
5358*3d8817e4Smiod	branch if it goes to the start of the deleted region.
5359*3d8817e4Smiod
5360*3d8817e4Smiod2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
5361*3d8817e4Smiod
5362*3d8817e4Smiod	* bfd-in2.h (bfd_mach_m6812): Rebuild.
5363*3d8817e4Smiod	* archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
5364*3d8817e4Smiod	bfd_mach_m6812s): Declare.
5365*3d8817e4Smiod
5366*3d8817e4Smiod	* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
5367*3d8817e4Smiod	(_bfd_m68hc12_elf_set_private_flags): Call it.
5368*3d8817e4Smiod	(_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
5369*3d8817e4Smiod	(_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
5370*3d8817e4Smiod	report microcontroller incompatibilities (HC12 vs HCS12).
5371*3d8817e4Smiod	(elf_backend_object_p): Update.
5372*3d8817e4Smiod
5373*3d8817e4Smiod2002-11-30  Alan Modra  <amodra@bigpond.net.au>
5374*3d8817e4Smiod
5375*3d8817e4Smiod	* bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
5376*3d8817e4Smiod	(enum bfd_boolean, boolean): Delete.
5377*3d8817e4Smiod	(bfd_boolean): Typedef to an int.
5378*3d8817e4Smiod	(FALSE, TRUE): Define.
5379*3d8817e4Smiod	* aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
5380*3d8817e4Smiod	aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
5381*3d8817e4Smiod	aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
5382*3d8817e4Smiod	binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
5383*3d8817e4Smiod	coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
5384*3d8817e4Smiod	coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
5385*3d8817e4Smiod	coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
5386*3d8817e4Smiod	coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
5387*3d8817e4Smiod	coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
5388*3d8817e4Smiod	coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
5389*3d8817e4Smiod	corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
5390*3d8817e4Smiod	cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
5391*3d8817e4Smiod	cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
5392*3d8817e4Smiod	cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
5393*3d8817e4Smiod	cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
5394*3d8817e4Smiod	cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
5395*3d8817e4Smiod	cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
5396*3d8817e4Smiod	cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
5397*3d8817e4Smiod	cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
5398*3d8817e4Smiod	cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
5399*3d8817e4Smiod	dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
5400*3d8817e4Smiod	elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
5401*3d8817e4Smiod	elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
5402*3d8817e4Smiod	elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
5403*3d8817e4Smiod	elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
5404*3d8817e4Smiod	elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
5405*3d8817e4Smiod	elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
5406*3d8817e4Smiod	elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
5407*3d8817e4Smiod	elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
5408*3d8817e4Smiod	elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
5409*3d8817e4Smiod	elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
5410*3d8817e4Smiod	elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
5411*3d8817e4Smiod	elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
5412*3d8817e4Smiod	elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
5413*3d8817e4Smiod	elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
5414*3d8817e4Smiod	elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
5415*3d8817e4Smiod	hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
5416*3d8817e4Smiod	i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
5417*3d8817e4Smiod	libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
5418*3d8817e4Smiod	libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
5419*3d8817e4Smiod	m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
5420*3d8817e4Smiod	mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
5421*3d8817e4Smiod	nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
5422*3d8817e4Smiod	pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
5423*3d8817e4Smiod	pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
5424*3d8817e4Smiod	pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
5425*3d8817e4Smiod	reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
5426*3d8817e4Smiod	som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
5427*3d8817e4Smiod	syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
5428*3d8817e4Smiod	vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
5429*3d8817e4Smiod	xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
5430*3d8817e4Smiod	bfd_boolean, true with TRUE, false with FALSE.  Simplify comparisons
5431*3d8817e4Smiod	of bfd_boolean vars with TRUE/FALSE.  Formatting.
5432*3d8817e4Smiod	* bfd-in2.h, libbfd.h, libcoff.h: Regenerate
5433*3d8817e4Smiod
5434*3d8817e4Smiod2002-11-28  Alan Modra  <amodra@bigpond.net.au>
5435*3d8817e4Smiod
5436*3d8817e4Smiod	* elf-bfd.h: Replace occurrences of Elf32_Internal_* and
5437*3d8817e4Smiod	Elf64_Internal_* with Elf_Internal_*.  Replace Elf_Internal_Rel
5438*3d8817e4Smiod	with Elf_Internal_Rela.
5439*3d8817e4Smiod	* elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
5440*3d8817e4Smiod	elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
5441*3d8817e4Smiod	elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
5442*3d8817e4Smiod	elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
5443*3d8817e4Smiod	elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
5444*3d8817e4Smiod	elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
5445*3d8817e4Smiod	elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
5446*3d8817e4Smiod	elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
5447*3d8817e4Smiod	elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
5448*3d8817e4Smiod	elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
5449*3d8817e4Smiod	elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
5450*3d8817e4Smiod	* elf-hppa.h (elf_hppa_internal_shdr): Delete.  Use Elf_Internal_Shdr
5451*3d8817e4Smiod	throughout instead.
5452*3d8817e4Smiod	* elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
5453*3d8817e4Smiod	* elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
5454*3d8817e4Smiod	Remove INLINE keyword.
5455*3d8817e4Smiod	(elf_swap_reloc_in): Likewise.  Also clear r_addend.
5456*3d8817e4Smiod	(elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
5457*3d8817e4Smiod	as a bfd_byte *.
5458*3d8817e4Smiod	(elf_write_relocs): Consolidate REL and RELA code.
5459*3d8817e4Smiod	(elf_slurp_reloc_table_from_section): Simplify REL code.
5460*3d8817e4Smiod	(NAME(_bfd_elf,size_info)): Populate reloc swap entries.
5461*3d8817e4Smiod	* elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
5462*3d8817e4Smiod	* elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
5463*3d8817e4Smiod	RELA code.
5464*3d8817e4Smiod	(elf_link_adjust_relocs): Likewise.  Don't malloc space for temp
5465*3d8817e4Smiod	reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
5466*3d8817e4Smiod	(elf_link_output_relocs): Likewise.
5467*3d8817e4Smiod	(elf_reloc_link_order): Likewise.
5468*3d8817e4Smiod	(elf_finish_pointer_linker_section): Likewise.
5469*3d8817e4Smiod	(struct elf_link_sort_rela): Remove union.
5470*3d8817e4Smiod	(elf_link_sort_cmp1): Update to suit.
5471*3d8817e4Smiod	(elf_link_sort_cmp2): Here too.
5472*3d8817e4Smiod	(elf_link_sort_relocs): Consolidate REL and RELA code.  Fix memory
5473*3d8817e4Smiod	over-allocation for int_rels_per_ext_rel != 1 case.
5474*3d8817e4Smiod	* elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
5475*3d8817e4Smiod	* elf32-i386.c: Likewise.
5476*3d8817e4Smiod	* elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
5477*3d8817e4Smiod	* elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
5478*3d8817e4Smiod	elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
5479*3d8817e4Smiod	* elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
5480*3d8817e4Smiod	* elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
5481*3d8817e4Smiod	elf64-sparc.c, elf64-x86-64.c: Likewise.
5482*3d8817e4Smiod	* elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
5483*3d8817e4Smiod	* elfxx-mips.c (sort_dynamic_relocs): Likewise for
5484*3d8817e4Smiod	bfd_elf32_swap_reloc_in.
5485*3d8817e4Smiod
5486*3d8817e4Smiod	* elf32-arm.h: Update elf32_arm_info_to_howto calls.
5487*3d8817e4Smiod	* elf32-mips.c: Likewise for mips_info_to_howto_rel.
5488*3d8817e4Smiod	(mips_elf64_swap_reloc_in): Zero r_addend.
5489*3d8817e4Smiod	(mips_elf64_be_swap_reloc_in): Likewise.
5490*3d8817e4Smiod	(mips_elf64_slurp_one_reloc_table): Simplify.
5491*3d8817e4Smiod
5492*3d8817e4Smiod	* elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
5493*3d8817e4Smiod	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
5494*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
5495*3d8817e4Smiod
5496*3d8817e4Smiod2002-11-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5497*3d8817e4Smiod
5498*3d8817e4Smiod	* elf32-sh.c (sh_elf_relocate_section): Don't complain about
5499*3d8817e4Smiod	unresolved debugging relocs in dynamic applications.
5500*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
5501*3d8817e4Smiod
5502*3d8817e4Smiod2002-11-26  Alan Modra  <amodra@bigpond.net.au>
5503*3d8817e4Smiod
5504*3d8817e4Smiod	* elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
5505*3d8817e4Smiod	(_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
5506*3d8817e4Smiod	on a relocatable link.  Comment typos.
5507*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
5508*3d8817e4Smiod	in the order they are declared.  Clear elf_hash_value too.
5509*3d8817e4Smiod	(_bfd_elf_link_hash_table_init): Likewise assign in order.  Clear
5510*3d8817e4Smiod	eh_info and tls_segment.
5511*3d8817e4Smiod	* elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
5512*3d8817e4Smiod	sorted when discarding relocs by turning them into R_*_NONE.
5513*3d8817e4Smiod
5514*3d8817e4Smiod	* libbfd.c (warn_deprecated): Comment spelling.
5515*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
5516*3d8817e4Smiod
5517*3d8817e4Smiod2002-11-21  Richard Henderson  <rth@redhat.com>
5518*3d8817e4Smiod
5519*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Don't overwrite the
5520*3d8817e4Smiod	arch's st_other bits when merging visibilities.
5521*3d8817e4Smiod	(elf_link_output_extsym): Tidy clearing of visibility field.
5522*3d8817e4Smiod
5523*3d8817e4Smiod2002-11-21  Alan Modra  <amodra@bigpond.net.au>
5524*3d8817e4Smiod
5525*3d8817e4Smiod	* coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
5526*3d8817e4Smiod	(SWAP_OUT_RELOC_OFFSET): Define.
5527*3d8817e4Smiod
5528*3d8817e4Smiod2002-11-20  Alexandre Oliva  <aoliva@redhat.com>
5529*3d8817e4Smiod
5530*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_table_init): Make sure
5531*3d8817e4Smiod	can_refcount is properly extended to the type of
5532*3d8817e4Smiod	init_refcount.
5533*3d8817e4Smiod
5534*3d8817e4Smiod2002-11-19  Alexandre Oliva  <aoliva@redhat.com>
5535*3d8817e4Smiod
5536*3d8817e4Smiod	* elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
5537*3d8817e4Smiod	(_bfd_mips_elf_relocate_section): Use it.
5538*3d8817e4Smiod
5539*3d8817e4Smiod	* elfxx-mips.c (MNAME): New macro.
5540*3d8817e4Smiod	(_bfd_mips_elf_check_relocs): Use it.
5541*3d8817e4Smiod	(_bfd_mips_elf_discard_info): Likewise.
5542*3d8817e4Smiod	(_bfd_mips_elf_final_link): Likewise.
5543*3d8817e4Smiod
5544*3d8817e4Smiod2002-11-19  Alan Modra  <amodra@bigpond.net.au>
5545*3d8817e4Smiod
5546*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
5547*3d8817e4Smiod	rel_hdr.sh_size too.
5548*3d8817e4Smiod
5549*3d8817e4Smiod2002-11-18  Klee Dienes  <kdienes@apple.com>
5550*3d8817e4Smiod
5551*3d8817e4Smiod	* Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
5552*3d8817e4Smiod	(BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
5553*3d8817e4Smiod	(BFD_H_FILES): Add bfdwin.c, bfdio.c.
5554*3d8817e4Smiod	(LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
5555*3d8817e4Smiod	Add dependencies for bfdwin.c, bfdio.c.
5556*3d8817e4Smiod	* bfd.c: Remove bfd_get_mtime, bfd_get_size.
5557*3d8817e4Smiod	* libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
5558*3d8817e4Smiod	bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
5559*3d8817e4Smiod	bfd_tell, bfd_flush, bfd_stat, bfd_seek.
5560*3d8817e4Smiod	* bfdio.c: New file.  Contains real_read, bfd_bread, bfd_write,
5561*3d8817e4Smiod	bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
5562*3d8817e4Smiod	bfd_get_size (moved from libbfd.c and bfd.c).
5563*3d8817e4Smiod	* bfdwin.c New file.  Contains _bfd_window_internal,
5564*3d8817e4Smiod	bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
5565*3d8817e4Smiod	libbfd.c and bfd.c).
5566*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
5567*3d8817e4Smiod	* po/bfd.pot: Regenerate.
5568*3d8817e4Smiod	* libbfd.h: Regenerate.
5569*3d8817e4Smiod	* bfd-in2.h: Regenerate.
5570*3d8817e4Smiod	* aclocal.m4: Regenerate.
5571*3d8817e4Smiod	* Makefile.in: Regenerate.
5572*3d8817e4Smiod	* configure: Regenerate.
5573*3d8817e4Smiod
5574*3d8817e4Smiod2002-11-18  Klee Dienes  <kdienes@apple.com>
5575*3d8817e4Smiod
5576*3d8817e4Smiod	* bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
5577*3d8817e4Smiod
5578*3d8817e4Smiod2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5579*3d8817e4Smiod
5580*3d8817e4Smiod	* coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
5581*3d8817e4Smiod	jsr after a short jump.
5582*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
5583*3d8817e4Smiod
5584*3d8817e4Smiod2002-11-15  Klee Dienes  <kdienes@apple.com>
5585*3d8817e4Smiod
5586*3d8817e4Smiod	* pef.c (bfd_pef_convert_architecture): Move declaration of
5587*3d8817e4Smiod	ARCH_POWERPC and ARCH_M68K to the start of the function.
5588*3d8817e4Smiod
5589*3d8817e4Smiod2002-11-14  Svein E. Seldal  <Svein.Seldal@solidas.com>
5590*3d8817e4Smiod
5591*3d8817e4Smiod	* coff-tic4x.c (tic4x_howto_table): Formatting fixup
5592*3d8817e4Smiod
5593*3d8817e4Smiod2002-11-14  Hans-Peter Nilsson  <hp@bitrange.com>
5594*3d8817e4Smiod
5595*3d8817e4Smiod	* elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
5596*3d8817e4Smiod	For bpo_gregs_section->contents, allocate _raw_size, not
5597*3d8817e4Smiod	_cooked_size.
5598*3d8817e4Smiod
5599*3d8817e4Smiod2002-11-13  Klee Dienes  <kdienes@apple.com>
5600*3d8817e4Smiod
5601*3d8817e4Smiod	* config.bfd: Add entries for powerpc-*-darwin and cousins.
5602*3d8817e4Smiod
5603*3d8817e4Smiod2002-11-13  H.J. Lu <hjl@gnu.org>
5604*3d8817e4Smiod
5605*3d8817e4Smiod	* elfcode.h (elf_object_p): Don't restore abfd->arch_info.
5606*3d8817e4Smiod
5607*3d8817e4Smiod2002-11-13  Klee Dienes  <kdienes@apple.com>
5608*3d8817e4Smiod	    Alan Modra  <amodra@bigpond.net.au>
5609*3d8817e4Smiod
5610*3d8817e4Smiod	* bfd.c (struct bfd_preserve): New.
5611*3d8817e4Smiod	(bfd_preserve_save): New function.
5612*3d8817e4Smiod	(bfd_preserve_restore): Ditto.
5613*3d8817e4Smiod	(bfd_preserve_finish): Ditto.
5614*3d8817e4Smiod	* bfd-in2.h: Regenerate.
5615*3d8817e4Smiod	* mach-o.c: Formatting.
5616*3d8817e4Smiod	(bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
5617*3d8817e4Smiod	(bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
5618*3d8817e4Smiod	(bfd_mach_o_core_p): Ditto.
5619*3d8817e4Smiod	(bfd_mach_o_scan): Pass in mdata.
5620*3d8817e4Smiod	* mach-o.h (bfd_mach_o_scan): Update prototype.
5621*3d8817e4Smiod	* pef.c: Formatting.
5622*3d8817e4Smiod	(bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
5623*3d8817e4Smiod	(bfd_pef_xlib_object_p): Ditto.
5624*3d8817e4Smiod	(bfd_pef_scan): Pass in mdata.  Move version check to bfd_pef_object_p.
5625*3d8817e4Smiod	* pef.h (bfd_pef_scan): Update prototype.
5626*3d8817e4Smiod	* xsym.c: Formatting, K&R fixes.
5627*3d8817e4Smiod	(bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
5628*3d8817e4Smiod	(bfd_sym_scan): New function split out from bfd_sym_object_p.
5629*3d8817e4Smiod	* xsym.h (bfd_sym_scan): Declare.
5630*3d8817e4Smiod	* elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
5631*3d8817e4Smiod	* elfcore.h (elf_core_file_p): Likewise.
5632*3d8817e4Smiod	* targets.c (_bfd_target_vector): Revert 2002-11-08 change.
5633*3d8817e4Smiod
5634*3d8817e4Smiod2002-11-12  Nick Clifton  <nickc@redhat.com>
5635*3d8817e4Smiod
5636*3d8817e4Smiod	* po/da.po: Updated Danish translation.
5637*3d8817e4Smiod
5638*3d8817e4Smiod2002-11-12  Alan Modra  <amodra@bigpond.net.au>
5639*3d8817e4Smiod
5640*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Optimize stabs for
5641*3d8817e4Smiod	relocatable link too.
5642*3d8817e4Smiod	(elf_link_input_bfd): When emitting relocs, adjust offsets for
5643*3d8817e4Smiod	eh_frame and stab sections.  Zap deleted relocs.
5644*3d8817e4Smiod	(elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
5645*3d8817e4Smiod	(elf_bfd_discard_info): Run for relocatable link too.
5646*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd.  Make global.
5647*3d8817e4Smiod	Handle ld -r case.
5648*3d8817e4Smiod	(ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
5649*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_edit_opd): Declare.
5650*3d8817e4Smiod
5651*3d8817e4Smiod	* elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
5652*3d8817e4Smiod	(struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
5653*3d8817e4Smiod	(struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
5654*3d8817e4Smiod	(enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
5655*3d8817e4Smiod	(struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
5656*3d8817e4Smiod	(struct elf_link_hash_table): Add eh_info.
5657*3d8817e4Smiod	(struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
5658*3d8817e4Smiod	(_bfd_elf_discard_section_eh_frame): Update prototype.
5659*3d8817e4Smiod	(_bfd_elf_discard_section_eh_frame_hdr): Likewise.
5660*3d8817e4Smiod	(_bfd_elf_write_section_eh_frame): Likewise.
5661*3d8817e4Smiod	(_bfd_elf_write_section_eh_frame_hdr): Likewise.
5662*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
5663*3d8817e4Smiod	param.  Get "hdr_info" from link hash table.
5664*3d8817e4Smiod	(_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param.  Get
5665*3d8817e4Smiod	header section from link hash table.  Save header section to elf_tdata.
5666*3d8817e4Smiod	(_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec".  Use
5667*3d8817e4Smiod	header section from link hash table.  Don't alloc hdr_info.  Clear
5668*3d8817e4Smiod	hdr_sec instead of setting "strip".
5669*3d8817e4Smiod	(_bfd_elf_eh_frame_section_offset): Formatting.
5670*3d8817e4Smiod	(_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
5671*3d8817e4Smiod	Get header section from link hash table.
5672*3d8817e4Smiod	(_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
5673*3d8817e4Smiod	Get header section from link hash table.
5674*3d8817e4Smiod	* elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
5675*3d8817e4Smiod	(get_program_header_size): Likewise.
5676*3d8817e4Smiod	(_bfd_elf_section_offset): Formatting.
5677*3d8817e4Smiod	* elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
5678*3d8817e4Smiod	section pointer in link hash table.
5679*3d8817e4Smiod	(elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
5680*3d8817e4Smiod	and _bfd_elf_write_section_eh_frame calls.  Update comment about
5681*3d8817e4Smiod	eh_frame entries.
5682*3d8817e4Smiod	(elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
5683*3d8817e4Smiod	_bfd_elf_discard_section_eh_frame_hdr calls.  Remove "ehdr".
5684*3d8817e4Smiod
5685*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
5686*3d8817e4Smiod
5687*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
5688*3d8817e4Smiod	relocs for discarded FDEs.  Remove dead code.
5689*3d8817e4Smiod	(_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
5690*3d8817e4Smiod	* elflink.h (elf_bfd_discard_info): Don't save edited relocs.
5691*3d8817e4Smiod	Tidy conditions under which stabs are edited.  Formatting.
5692*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
5693*3d8817e4Smiod	from discarded relocs.
5694*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
5695*3d8817e4Smiod	section adjustments after testing magic values.
5696*3d8817e4Smiod
5697*3d8817e4Smiod2002-11-12  Thomas Moestl <tmm@FreeBSD.org>
5698*3d8817e4Smiod
5699*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
5700*3d8817e4Smiod	references to large plt symbols.
5701*3d8817e4Smiod
5702*3d8817e4Smiod2002-11-12  Klee Dienes  <kdienes@apple.com>
5703*3d8817e4Smiod
5704*3d8817e4Smiod	* mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
5705*3d8817e4Smiod	looking for an unused section name.
5706*3d8817e4Smiod
5707*3d8817e4Smiod2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5708*3d8817e4Smiod
5709*3d8817e4Smiod	* coff-h8300.c: Fix formatting.
5710*3d8817e4Smiod	* elf32-h8300.c: Likewise.
5711*3d8817e4Smiod	* reloc16.c: Likewise.
5712*3d8817e4Smiod
5713*3d8817e4Smiod2002-11-09  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5714*3d8817e4Smiod
5715*3d8817e4Smiod	* elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
5716*3d8817e4Smiod	section when dynamic section unused;  _bfd_strip_section_from_output
5717*3d8817e4Smiod	instead.
5718*3d8817e4Smiod
5719*3d8817e4Smiod2002-11-08  Alan Modra  <amodra@bigpond.net.au>
5720*3d8817e4Smiod
5721*3d8817e4Smiod	* targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
5722*3d8817e4Smiod	and sym_vec.
5723*3d8817e4Smiod
5724*3d8817e4Smiod	* dwarf2.c: Revert last change.
5725*3d8817e4Smiod
5726*3d8817e4Smiod2002-11-07  Michal Ludvig  <mludvig@suse.cz>
5727*3d8817e4Smiod
5728*3d8817e4Smiod	* dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
5729*3d8817e4Smiod	_bfd_dwarf2_find_nearest_line): Use
5730*3d8817e4Smiod	bfd_simple_get_relocated_section_contents() instead of
5731*3d8817e4Smiod	bfd_get_section_contents().
5732*3d8817e4Smiod	* reloc.c (bfd_perform_relocation): Add sanity check.
5733*3d8817e4Smiod	* simple.c (simple_get_relocated_section_contents): If the section
5734*3d8817e4Smiod	does not have any relocs associated with it, just return the
5735*3d8817e4Smiod	unadjusted contents.
5736*3d8817e4Smiod
5737*3d8817e4Smiod2002-11-07  Hans-Peter Nilsson  <hp@axis.com>
5738*3d8817e4Smiod
5739*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
5740*3d8817e4Smiod	case R_CRIS_32_GOT>: Correct test for filling in constant .got
5741*3d8817e4Smiod	contents, enabling for a non-DSO, for symbols defined in the
5742*3d8817e4Smiod	program with --export-dynamic.
5743*3d8817e4Smiod
5744*3d8817e4Smiod2002-11-07  Alan Modra  <amodra@bigpond.net.au>
5745*3d8817e4Smiod
5746*3d8817e4Smiod	* elf64-ppc.c: Comment typo fixes.
5747*3d8817e4Smiod	(ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
5748*3d8817e4Smiod
5749*3d8817e4Smiod2002-11-07  Nick Clifton  <nickc@redhat.com>
5750*3d8817e4Smiod
5751*3d8817e4Smiod	* po/da.po: Updated Danish translation.
5752*3d8817e4Smiod
5753*3d8817e4Smiod2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5754*3d8817e4Smiod
5755*3d8817e4Smiod	* elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
5756*3d8817e4Smiod	exactly three internal relocs per external reloc.  Set reloc_count
5757*3d8817e4Smiod	to the external reloc count.
5758*3d8817e4Smiod
5759*3d8817e4Smiod2002-11-06  Klee Dienes  <kdienes@apple.com>
5760*3d8817e4Smiod
5761*3d8817e4Smiod	 * coff-stgo32.c (stub_bytes): Mark as const.
5762*3d8817e4Smiod	 Fix comment formatting.
5763*3d8817e4Smiod
5764*3d8817e4Smiod2002-11-06  Klee Dienes  <kdienes@apple.com>
5765*3d8817e4Smiod
5766*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
5767*3d8817e4Smiod	xsym.lo.
5768*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
5769*3d8817e4Smiod	(SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
5770*3d8817e4Smiod	* archures.c (enum bfd_architecture): Add bfd_arch_m98k.
5771*3d8817e4Smiod	* bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
5772*3d8817e4Smiod	* targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
5773*3d8817e4Smiod	sym.
5774*3d8817e4Smiod	(_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
5775*3d8817e4Smiod	* Makefile.in: Regenerate.
5776*3d8817e4Smiod	* doc/Makefile.in: Regenerate.
5777*3d8817e4Smiod	* bfd-in2.h: Regenerate.
5778*3d8817e4Smiod	* xsym.c: New file.  Contains support for the Apple/Metrowerks
5779*3d8817e4Smiod	xSYM debugging format.
5780*3d8817e4Smiod	* xsym.h: New file.
5781*3d8817e4Smiod	* pef.c: New file.  Contains support for the Apple Code Fragment
5782*3d8817e4Smiod	Manager Preferred Executable Format
5783*3d8817e4Smiod	* pef.h: New file.
5784*3d8817e4Smiod	* pef-traceback.h: New file.  Contains support for parsing PowerPC
5785*3d8817e4Smiod	traceback tables as used by PEF executables (and perhaps other
5786*3d8817e4Smiod	systems as well).
5787*3d8817e4Smiod	* mach-o.c: New file.  Contains support for the Mach-O object file
5788*3d8817e4Smiod	format.
5789*3d8817e4Smiod	* mach-o.h: New file.
5790*3d8817e4Smiod	* mach-o-target.c: New file.  Declares the mach-o targets
5791*3d8817e4Smiod	themselves.  Included three times by mach-o.c; each time with a
5792*3d8817e4Smiod	different set of macros set.
5793*3d8817e4Smiod
5794*3d8817e4Smiod2002-11-06  Graeme Peterson  <gp@qnx.com>
5795*3d8817e4Smiod
5796*3d8817e4Smiod	* Makefile.am: Remove entries for elf32-qnx.[ch].
5797*3d8817e4Smiod	* Makefile.in: Regenerate.
5798*3d8817e4Smiod	* config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
5799*3d8817e4Smiod	ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
5800*3d8817e4Smiod	bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
5801*3d8817e4Smiod	* configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
5802*3d8817e4Smiod	bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
5803*3d8817e4Smiod	and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
5804*3d8817e4Smiod	bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
5805*3d8817e4Smiod	* configure: Regenerate.
5806*3d8817e4Smiod	* elf32-qnx.c: Remove.
5807*3d8817e4Smiod	* elf32-qnx.h: Remove.
5808*3d8817e4Smiod	* elf.c: Remove calls to QNX specific set_nonloadable_filepos,
5809*3d8817e4Smiod	is_contained_by_filepos, and copy_private_bfd_data_p.
5810*3d8817e4Smiod	* elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
5811*3d8817e4Smiod	is_contained_by_filepos, and copy_private_bfd_data_p.
5812*3d8817e4Smiod	* elf32-i386.c: Remove QNX extended bfd support.
5813*3d8817e4Smiod	* elf32-ppc.c: Remove QNX extended bfd support.
5814*3d8817e4Smiod	* elf32-sh.c: Remove QNX extended bfd support.
5815*3d8817e4Smiod	* elfarm-nabi.c: Remove QNX extended bfd support.
5816*3d8817e4Smiod	* targets.c: Remove qnx vectors.
5817*3d8817e4Smiod	* elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
5818*3d8817e4Smiod	(elf_backend_is_contained_by_filepos): Remove.
5819*3d8817e4Smiod	(elf_backend_copy_private_bfd_data_p): Remove.
5820*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
5821*3d8817e4Smiod
5822*3d8817e4Smiod2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5823*3d8817e4Smiod	    Alan Modra  <amodra@bigpond.net.au>
5824*3d8817e4Smiod
5825*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
5826*3d8817e4Smiod	dynamic relocs against section symbols for the output section vma.
5827*3d8817e4Smiod
5828*3d8817e4Smiod2002-11-05  Alan Modra  <amodra@bigpond.net.au>
5829*3d8817e4Smiod
5830*3d8817e4Smiod	* elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
5831*3d8817e4Smiod	t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
5832*3d8817e4Smiod
5833*3d8817e4Smiod2002-11-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5834*3d8817e4Smiod	    Alan Modra  <amodra@bigpond.net.au>
5835*3d8817e4Smiod
5836*3d8817e4Smiod	* config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
5837*3d8817e4Smiod	vectors in target_selvecs.
5838*3d8817e4Smiod	(shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
5839*3d8817e4Smiod	in target_selvecs.
5840*3d8817e4Smiod	(sh-*-netbsdelf*): Likewise.
5841*3d8817e4Smiod	* configure.in (assocvecs): New variable.  Handle assocvecs like
5842*3d8817e4Smiod	selvecs.
5843*3d8817e4Smiod	* configure: Regenerate.
5844*3d8817e4Smiod	* format.c (bfd_check_format_matches): Store bfd_target pointers
5845*3d8817e4Smiod	in matching_vector instead of target names.  Select first target
5846*3d8817e4Smiod	from bfd_associated_vector that matches a list of ambiguous targets.
5847*3d8817e4Smiod	* targets.c (_bfd_associated_vector): New array.
5848*3d8817e4Smiod	(bfd_associated_vector): New variable.
5849*3d8817e4Smiod	(_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
5850*3d8817e4Smiod	* libbfd-in.h (bfd_associated_vector): Declare.
5851*3d8817e4Smiod	* libbfd.h: Regenerate.
5852*3d8817e4Smiod
5853*3d8817e4Smiod2002-11-05  Elias Athanasopoulos  <eathan@otenet.gr>
5854*3d8817e4Smiod
5855*3d8817e4Smiod	* vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
5856*3d8817e4Smiod	non-NULL before dereferencing.
5857*3d8817e4Smiod
5858*3d8817e4Smiod2002-11-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5859*3d8817e4Smiod
5860*3d8817e4Smiod	* vms.c (vms_object_p): Restore the start address when returning
5861*3d8817e4Smiod	NULL.
5862*3d8817e4Smiod
5863*3d8817e4Smiod2002-11-04  Alan Modra  <amodra@bigpond.net.au>
5864*3d8817e4Smiod	    Hans-Peter Nilsson  <hp@axis.com>
5865*3d8817e4Smiod
5866*3d8817e4Smiod	* elflink.h (struct elf_final_link_info): Add shndxbuf_size.
5867*3d8817e4Smiod	(elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
5868*3d8817e4Smiod	Set up a larger symshndxbuf, and write it out.  Free it on
5869*3d8817e4Smiod	exit rather than freeing symbuf twice.  Correct section index
5870*3d8817e4Smiod	on output section symbol loop.
5871*3d8817e4Smiod	(elf_link_output_sym): Accumulate symbol extension section
5872*3d8817e4Smiod	indices, reallocating symshndxbuf rather than writing it out.
5873*3d8817e4Smiod	(elf_link_flush_output_syms): Don't flush symshndxbuf.
5874*3d8817e4Smiod	* elf.c (assign_section_numbers): Init i_shdrp to all zero.
5875*3d8817e4Smiod	Use bfd_zalloc to clear i_shdrp[0] too.
5876*3d8817e4Smiod
5877*3d8817e4Smiod2002-11-03  Stephen Clarke <stephen.clarke@earthling.net>
5878*3d8817e4Smiod
5879*3d8817e4Smiod	 * elf32-sh64-com.c (sh64_address_in_cranges): Use
5880*3d8817e4Smiod	_raw_size of cranges section if _cooked_size not yet set.
5881*3d8817e4Smiod
5882*3d8817e4Smiod2002-11-03  Hans-Peter Nilsson  <hp@axis.com>
5883*3d8817e4Smiod
5884*3d8817e4Smiod	* elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
5885*3d8817e4Smiod	for bfd_elf32_swap_symbol_out.
5886*3d8817e4Smiod
5887*3d8817e4Smiod2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5888*3d8817e4Smiod
5889*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
5890*3d8817e4Smiod	signed and unsigned in comparison.
5891*3d8817e4Smiod
5892*3d8817e4Smiod2002-10-30  Daniel Jacobowitz  <drow@mvista.com>
5893*3d8817e4Smiod
5894*3d8817e4Smiod	* coffcode.h: Remove extraneous '\'.
5895*3d8817e4Smiod
5896*3d8817e4Smiod2002-10-28  H.J. Lu <hjl@gnu.org>
5897*3d8817e4Smiod
5898*3d8817e4Smiod	* Makefile.am (targets.lo): Depend on Makefile instead of
5899*3d8817e4Smiod	config.status.
5900*3d8817e4Smiod	(archures.lo): Likewise.
5901*3d8817e4Smiod	* Makefile.in: Regenerated.
5902*3d8817e4Smiod
5903*3d8817e4Smiod2002-10-25  Jason Thorpe  <thorpej@wasabisystems.com>
5904*3d8817e4Smiod
5905*3d8817e4Smiod	* config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
5906*3d8817e4Smiod	bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
5907*3d8817e4Smiod	targ_selvecs.
5908*3d8817e4Smiod
5909*3d8817e4Smiod2002-10-25  Jim Wilson  <wilson@redhat.com>
5910*3d8817e4Smiod
5911*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_relocate_section): Call
5912*3d8817e4Smiod	_bfd_elf_rela_local_sym.  Handle relocs against STT_SECTION symbol
5913*3d8817e4Smiod	of SHF_MERGE section.
5914*3d8817e4Smiod
5915*3d8817e4Smiod2002-10-25  Hans-Peter Nilsson  <hp@axis.com>
5916*3d8817e4Smiod
5917*3d8817e4Smiod	* simple.c: Correct placement of ATTRIBUTE_UNUSED.
5918*3d8817e4Smiod
5919*3d8817e4Smiod2002-10-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5920*3d8817e4Smiod
5921*3d8817e4Smiod	* aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
5922*3d8817e4Smiod	unsigned int.  Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
5923*3d8817e4Smiod	unsigned int.
5924*3d8817e4Smiod	(NAME(aout,final_link)): Cast enum used in assignment.
5925*3d8817e4Smiod	(aout_link_write_symbols): Cast enums in comparisons, int values to
5926*3d8817e4Smiod	boolean, enums in assignments to int.
5927*3d8817e4Smiod	(aout_link_input_section_std): Cast rel->r_index to unsigned int.
5928*3d8817e4Smiod	(aout_link_input_section_ext): Likewise.  Cast enums used in
5929*3d8817e4Smiod	comparisons with unsigned ints.
5930*3d8817e4Smiod	(aout_link_reloc_link_order): Cast enum to int in assignment.
5931*3d8817e4Smiod	* archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
5932*3d8817e4Smiod	calls to char *.
5933*3d8817e4Smiod	* bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
5934*3d8817e4Smiod	assignment.
5935*3d8817e4Smiod	* bfd-in2.h (bfd_set_section_vma): Likewise.
5936*3d8817e4Smiod	* bfd.c (bfd_record_phdr): Cast enums in assignments.
5937*3d8817e4Smiod	* binary.c (bfd_alloc): Cast enum to long.
5938*3d8817e4Smiod	* coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
5939*3d8817e4Smiod	* dwarf2.c (read_abbrevs): Add casts to enum types.
5940*3d8817e4Smiod	(read_attribute_value): Likewise.
5941*3d8817e4Smiod	(arange_add): Cast result of bfd_zalloc call.
5942*3d8817e4Smiod	(comp_unit_contains_address): Return true and false.
5943*3d8817e4Smiod	(comp_unit_find_nearest_line): Cast return to boolean.
5944*3d8817e4Smiod	* format.c (bfd_check_format_matches, bfd_set_format): Likewise.
5945*3d8817e4Smiod	* gen-aout.c: define macro '_' if not defined.
5946*3d8817e4Smiod	* libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
5947*3d8817e4Smiod	(bfd_bwrite): Cast bfd_realloc to bfd_byte *.
5948*3d8817e4Smiod	(bfd_write_bigendian_4byte_int): Cast return to boolean.
5949*3d8817e4Smiod	(bfd_seek): Cast bfd_realloc to bfd_byte *.
5950*3d8817e4Smiod	(bfd_generic_is_local_label_name): Cast return to boolean.
5951*3d8817e4Smiod	* libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
5952*3d8817e4Smiod	* linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
5953*3d8817e4Smiod	struct bfd_hash_entry *.
5954*3d8817e4Smiod	(_bfd_generic_link_hash_newfunc): likewise.
5955*3d8817e4Smiod	(_bfd_generic_final_link): Cast enum to unsigned int.
5956*3d8817e4Smiod	* merge.c (sec_merge_emit): Cast return to boolean.
5957*3d8817e4Smiod	(merge_strings): Add casts to const unsigned char *.
5958*3d8817e4Smiod	* reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
5959*3d8817e4Smiod	(bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
5960*3d8817e4Smiod	* section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
5961*3d8817e4Smiod	to struct bfd_hash_entry *.
5962*3d8817e4Smiod	(bfd_set_section_content): Add cast to PTR in comparison.
5963*3d8817e4Smiod	* simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
5964*3d8817e4Smiod	simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
5965*3d8817e4Smiod	simple_dummy_unattached_reloc,
5966*3d8817e4Smiod	bfd_simple_get_relocated_section_contents): Add K&R declarations and
5967*3d8817e4Smiod	function definitions.
5968*3d8817e4Smiod	* srec.c (S3Forced): Initialize to false.
5969*3d8817e4Smiod	(srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
5970*3d8817e4Smiod	* stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
5971*3d8817e4Smiod	(_bfd_discard_section_stabs): Likewise.  Also cast return to boolean.
5972*3d8817e4Smiod	* syms.c (bfd_is_undefined_symclass): Cast return to boolean.
5973*3d8817e4Smiod	(_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
5974*3d8817e4Smiod	comparisons.
5975*3d8817e4Smiod
5976*3d8817e4Smiod2002-10-23  Jakub Jelinek  <jakub@redhat.com>
5977*3d8817e4Smiod
5978*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
5979*3d8817e4Smiod	relocs into shared lib non-allocated reloc sections.
5980*3d8817e4Smiod
5981*3d8817e4Smiod2002-10-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
5982*3d8817e4Smiod
5983*3d8817e4Smiod	* dwarf2.c (add_line_info): Ensure that the line_info_table is
5984*3d8817e4Smiod	sorted even when given an out-of-order line sequence.
5985*3d8817e4Smiod	(lookup_address_in_line_info_table): When an exact VMA match is
5986*3d8817e4Smiod	not found, return line information with the closest VMA.
5987*3d8817e4Smiod
5988*3d8817e4Smiod2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
5989*3d8817e4Smiod
5990*3d8817e4Smiod	* elf64-hppa.c: Force DT_FLAGS to always be set.  Required by
5991*3d8817e4Smiod	HPUX 11.00 patch PHSS_26559.
5992*3d8817e4Smiod
5993*3d8817e4Smiod2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
5994*3d8817e4Smiod
5995*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
5996*3d8817e4Smiod	the options section into a separate section unless IRIX 6
5997*3d8817e4Smiod	compatibility is enabled.
5998*3d8817e4Smiod
5999*3d8817e4Smiod2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
6000*3d8817e4Smiod
6001*3d8817e4Smiod	* elflink.h (struct elf_link_sort_rela): Turn rel and rela
6002*3d8817e4Smiod	into arrays.
6003*3d8817e4Smiod	(elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
6004*3d8817e4Smiod	(elf_link_sort_relocs): Likewise.  Take int_rels_per_ext_rel
6005*3d8817e4Smiod	into account.
6006*3d8817e4Smiod	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
6007*3d8817e4Smiod	R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
6008*3d8817e4Smiod
6009*3d8817e4Smiod2002-10-21  Graeme Peterson  <gp@qnx.com>
6010*3d8817e4Smiod
6011*3d8817e4Smiod	* targets.c (_bfd_target_vector): Add missing qnx vectors.
6012*3d8817e4Smiod
6013*3d8817e4Smiod2002-10-21  Alan Modra  <amodra@bigpond.net.au>
6014*3d8817e4Smiod
6015*3d8817e4Smiod	* targets.c (bfd_target_list): Don't return the default target twice.
6016*3d8817e4Smiod
6017*3d8817e4Smiod2002-10-21  Elias Athanasopoulos  <eathan@otenet.gr>
6018*3d8817e4Smiod
6019*3d8817e4Smiod	* archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
6020*3d8817e4Smiod	perror with bfd_perror.
6021*3d8817e4Smiod
6022*3d8817e4Smiod2002-10-19  H.J. Lu <hjl@gnu.org>
6023*3d8817e4Smiod
6024*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Correctly handle
6025*3d8817e4Smiod	DT_RPATH and DT_RUNPATH.
6026*3d8817e4Smiod
6027*3d8817e4Smiod2002-10-19  Mark Kettenis  <kettenis@gnu.org>
6028*3d8817e4Smiod
6029*3d8817e4Smiod	* elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
6030*3d8817e4Smiod
6031*3d8817e4Smiod2002-10-17  Denis Chertykov  <denisc@overta.ru>
6032*3d8817e4Smiod
6033*3d8817e4Smiod	* elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
6034*3d8817e4Smiod	for ip2k port.
6035*3d8817e4Smiod
6036*3d8817e4Smiod2002-10-17  Alan Modra  <amodra@bigpond.net.au>
6037*3d8817e4Smiod
6038*3d8817e4Smiod	* elfxx-target.h (USE_REL): Don't define as 1.
6039*3d8817e4Smiod	* elf32-arm.h (USE_REL): Provide a default define of 0.
6040*3d8817e4Smiod	Use #if rather than #ifdef when testing USE_REL.
6041*3d8817e4Smiod	* elf32-m32r.c: Likewise.
6042*3d8817e4Smiod
6043*3d8817e4Smiod	* elf32-arc.c (USE_REL): Define as 1.
6044*3d8817e4Smiod	* elf32-d10v.c (USE_REL): Likewise.
6045*3d8817e4Smiod	* elf32-m32r.c (USE_REL): Likewise.
6046*3d8817e4Smiod	* elf32-m68hc11.c (USE_REL): Likewise.
6047*3d8817e4Smiod	* elf32-m68hc12.c (USE_REL): Likewise.
6048*3d8817e4Smiod	* elf32-or32.c (USE_REL): Likewise.
6049*3d8817e4Smiod	* elfarm-nabi.c (USE_REL): Likewise.
6050*3d8817e4Smiod
6051*3d8817e4Smiod2002-10-16  Jakub Jelinek  <jakub@redhat.com>
6052*3d8817e4Smiod
6053*3d8817e4Smiod	* config.bfd (s390-*-linux*): Add targ64_selvecs.
6054*3d8817e4Smiod	(s390x-*-linux*): Add targ_selvecs.
6055*3d8817e4Smiod
6056*3d8817e4Smiod2002-10-16  Alan Modra  <amodra@bigpond.net.au>
6057*3d8817e4Smiod
6058*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
6059*3d8817e4Smiod	elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
6060*3d8817e4Smiod	elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
6061*3d8817e4Smiod	elf32-sh64-nbsd.lo, elf32-shqnx.lo.  Add elf32-qnx.lo.
6062*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
6063*3d8817e4Smiod	(BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
6064*3d8817e4Smiod	(BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
6065*3d8817e4Smiod	(SOURCE_HFILES): Add elf32-qnx.h.
6066*3d8817e4Smiod	(BUILD_HFILES): Add bfdver.h.
6067*3d8817e4Smiod	Run "make dep-am".
6068*3d8817e4Smiod	* Makefile.in: Regenerate.
6069*3d8817e4Smiod	* configure.in Update bfd vector dependencies.
6070*3d8817e4Smiod	* configure: Regenerate.
6071*3d8817e4Smiod	* elf32-i386-fbsd.c: Delete.  Move code to elf32-i386.c.
6072*3d8817e4Smiod	* elf32-i386qnx.c: Likewise.
6073*3d8817e4Smiod	* elf32-ppcqnx.c: Delete.  Move code to elf32-ppc.c.
6074*3d8817e4Smiod	* elf32-sh-nbsd.c: Delete.  Move code to elf32-sh.c.
6075*3d8817e4Smiod	* elf32-sh-lin.c: Likewise.
6076*3d8817e4Smiod	* elf32-shqnx.c: Likewise.
6077*3d8817e4Smiod	* elf32-sh64-lin.c: Delete.  Move code to elf32-sh64.c.
6078*3d8817e4Smiod	* elf32-sh64-nbsd.c: Likewise.
6079*3d8817e4Smiod	* elf64-sh64-lin.c: Delete.  Move code to elf64-sh64.c.
6080*3d8817e4Smiod	* elf64-sh64-nbsd.c: Likewise.
6081*3d8817e4Smiod	* elfarmqnx-nabi.c: Delete.  Move code to elfarm-nabi.c.
6082*3d8817e4Smiod	* elf32-arm.h (ELF_MAXPAGESIZE): Always define.
6083*3d8817e4Smiod	* elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
6084*3d8817e4Smiod	* elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
6085*3d8817e4Smiod	* elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
6086*3d8817e4Smiod	(elf_backend_is_contained_by_filepos): Likewise.
6087*3d8817e4Smiod	(elf_backend_copy_private_bfd_data_p): Likewise.
6088*3d8817e4Smiod	Globalize and move functions to..
6089*3d8817e4Smiod	* elf32-qnx.c: ..here.  New file.
6090*3d8817e4Smiod	* elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests.  Don't
6091*3d8817e4Smiod	emit target vectors when INCLUDE_SHMEDIA.
6092*3d8817e4Smiod	* elf32-sh64.c: Remove ELF_ARCH test.  Move TARGET_* etc. defines to
6093*3d8817e4Smiod	end of file.
6094*3d8817e4Smiod	* elf64-sh64.c: Remove ELF_ARCH test.
6095*3d8817e4Smiod	* elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
6096*3d8817e4Smiod	* po/BLD-POTFILES.in: Regenerate.
6097*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
6098*3d8817e4Smiod
6099*3d8817e4Smiod2002-10-16  Alan Modra  <amodra@bigpond.net.au>
6100*3d8817e4Smiod
6101*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
6102*3d8817e4Smiod	loaded with --just-symbols.
6103*3d8817e4Smiod
6104*3d8817e4Smiod	* elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
6105*3d8817e4Smiod	* elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
6106*3d8817e4Smiod	* elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
6107*3d8817e4Smiod	* elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
6108*3d8817e4Smiod
6109*3d8817e4Smiod2002-10-15  Richard Henderson  <rth@redhat.com>
6110*3d8817e4Smiod
6111*3d8817e4Smiod	* Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
6112*3d8817e4Smiod	(BFD64_BACKENDS_CFILES): Likewise.
6113*3d8817e4Smiod	* configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
6114*3d8817e4Smiod	* elf64-alpha-fbsd.c: Remove file, move code ...
6115*3d8817e4Smiod	* elf64-alpha.c: ... here.
6116*3d8817e4Smiod	* Makefile.in, configure: Rebuild.
6117*3d8817e4Smiod
6118*3d8817e4Smiod2002-10-14  Richard Henderson  <rth@redhat.com>
6119*3d8817e4Smiod
6120*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
6121*3d8817e4Smiod	VALUE, not ADDEND.
6122*3d8817e4Smiod
6123*3d8817e4Smiod2002-10-14  Stephen Clarke <stephen.clarke@superh.com>
6124*3d8817e4Smiod
6125*3d8817e4Smiod	* elf32-sh.c (elf_sh_link_hash_entry): Replace
6126*3d8817e4Smiod	datalabel_got_offset with union of datalabel_got
6127*3d8817e4Smiod	offset and refcount.
6128*3d8817e4Smiod	(sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
6129*3d8817e4Smiod	(allocate_dynrelocs): Delete unnecessary code for
6130*3d8817e4Smiod	STT_DATALABEL type.  Create entry in got for
6131*3d8817e4Smiod	datalabel version of symbol if datalabel_got.refcount > 0.
6132*3d8817e4Smiod	(sh_elf_relocate_section): Use datalabel_got union.
6133*3d8817e4Smiod	(sh_elf_gc_sweep_hook): Pull common code to initialize
6134*3d8817e4Smiod	h and eh out of switch statement.  Declare seen_stt_datalabel.
6135*3d8817e4Smiod	Initialize it.  Decrement datalabel_got.refcount for
6136*3d8817e4Smiod	got relocs when seen_stt_datalabel is true.
6137*3d8817e4Smiod	Decrement local_got_refcounts entry for datalabel got relocs
6138*3d8817e4Smiod	of local symbols.
6139*3d8817e4Smiod	(sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
6140*3d8817e4Smiod	(sh_elf_check_relocs): Declare seen_stt_datalabel.
6141*3d8817e4Smiod	Initialize it.  When seen_stt_datalabel is true, increment
6142*3d8817e4Smiod	datalabel_got refcount rather than got.refcount.
6143*3d8817e4Smiod	(sh_elf_finish_dynamic_symbol): Create relocs to
6144*3d8817e4Smiod	initialize got entry for datalabel version of symbol.
6145*3d8817e4Smiod
6146*3d8817e4Smiod2002-10-14  Alan Modra  <amodra@bigpond.net.au>
6147*3d8817e4Smiod
6148*3d8817e4Smiod	* Makefile.am: Run "make dep-am".
6149*3d8817e4Smiod	(BFD_H_FILES): Remove version.h.
6150*3d8817e4Smiod	* bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
6151*3d8817e4Smiod	* version.h: ..to here.
6152*3d8817e4Smiod	* configure.in (bfd_version_date): Remove.
6153*3d8817e4Smiod	(AC_OUTPUT): Make bfdver.h from version.h.
6154*3d8817e4Smiod	* bfd.c: #include "bfdver.h".
6155*3d8817e4Smiod	* vms-hdr.c: Likewise.
6156*3d8817e4Smiod	* Makefile.in: Regenerate.
6157*3d8817e4Smiod	* bfd-in2.h: Regenerate.
6158*3d8817e4Smiod	* configure: Regenerate.
6159*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
6160*3d8817e4Smiod
6161*3d8817e4Smiod2002-10-14  Alan Modra  <amodra@bigpond.net.au>
6162*3d8817e4Smiod
6163*3d8817e4Smiod	* archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
6164*3d8817e4Smiod	bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
6165*3d8817e4Smiod	bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
6166*3d8817e4Smiod	bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
6167*3d8817e4Smiod	bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
6168*3d8817e4Smiod	bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
6169*3d8817e4Smiod	bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
6170*3d8817e4Smiod	bfd_mach_ip2022, bfd_mach_ip2022ext,
6171*3d8817e4Smiod	bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
6172*3d8817e4Smiod	* bfd-in2.h: Regenerate.
6173*3d8817e4Smiod
6174*3d8817e4Smiod2002-10-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
6175*3d8817e4Smiod
6176*3d8817e4Smiod	* config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
6177*3d8817e4Smiod	endian vector to targ_selvecs.
6178*3d8817e4Smiod
6179*3d8817e4Smiod2002-10-13  Alexandre Oliva  <aoliva@redhat.com>
6180*3d8817e4Smiod
6181*3d8817e4Smiod	* elfxx-mips.c (mips_elf_calculate_relocation): Take
6182*3d8817e4Smiod	save_addend argument.  Don't apply the 32-bit mask to a
6183*3d8817e4Smiod	GPREL32 value if it's to be used in another relocation.  Don't
6184*3d8817e4Smiod	use forced-check computation of local_p to decide whether to
6185*3d8817e4Smiod	add gp0 to GPREL16 value.  Don't use only the lowest 16 bits
6186*3d8817e4Smiod	of the addend of a non-in-place GPREL16 relocation.
6187*3d8817e4Smiod	(_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
6188*3d8817e4Smiod	mips_elf_calculate_relocation().
6189*3d8817e4Smiod
6190*3d8817e4Smiod2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
6191*3d8817e4Smiod
6192*3d8817e4Smiod	* elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
6193*3d8817e4Smiod	with symbols in other sections if we relaxed something;  the sections
6194*3d8817e4Smiod	output offsets must be re-computed before.
6195*3d8817e4Smiod
6196*3d8817e4Smiod2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
6197*3d8817e4Smiod
6198*3d8817e4Smiod	* elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
6199*3d8817e4Smiod	handling to use Elf_Internal_Sym.
6200*3d8817e4Smiod	(m68hc11_elf_relax_delete_bytes): Likewise.
6201*3d8817e4Smiod
6202*3d8817e4Smiod2002-10-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
6203*3d8817e4Smiod
6204*3d8817e4Smiod	* elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
6205*3d8817e4Smiod	sh_elf_object_p, dtpoff_base): New functions.
6206*3d8817e4Smiod	(sh_elf_howto_table): Add TLS relocs.
6207*3d8817e4Smiod	(sh_reloc_map): Likewise.
6208*3d8817e4Smiod	(sh_elf_info_to_howto): Support TLS relocs.
6209*3d8817e4Smiod	(elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
6210*3d8817e4Smiod	(sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
6211*3d8817e4Smiod	New macros.
6212*3d8817e4Smiod	(sh_elf_obj_tdata): New.
6213*3d8817e4Smiod	(elf_sh_link_hash_table): Add tls_ldm_got.
6214*3d8817e4Smiod	(sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
6215*3d8817e4Smiod	(allocate_dynrelocs): Support TLS relocs.
6216*3d8817e4Smiod	(sh_elf_size_dynamic_sections): Likewise.
6217*3d8817e4Smiod	(sh_elf_relocate_section): Support TLS relocs.  Don't try to find
6218*3d8817e4Smiod	.rela.got section when found already.  Return false after printing
6219*3d8817e4Smiod	error about unresolvable relocation.
6220*3d8817e4Smiod	(sh_elf_gc_sweep_hook): Support TLS relocs.
6221*3d8817e4Smiod	(sh_elf_check_relocs): Likewise.
6222*3d8817e4Smiod	(sh_elf_finish_dynamic_symbol): Likewise.
6223*3d8817e4Smiod	(bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
6224*3d8817e4Smiod	* reloc.c: Add SH TLS relocs.
6225*3d8817e4Smiod	* bfd-in2.h, libbfd.h: Regenerate.
6226*3d8817e4Smiod
6227*3d8817e4Smiod2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
6228*3d8817e4Smiod
6229*3d8817e4Smiod	* Makefile.in: Regenerated.
6230*3d8817e4Smiod
6231*3d8817e4Smiod2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
6232*3d8817e4Smiod
6233*3d8817e4Smiod	* Makefile.am: Run dep-am.
6234*3d8817e4Smiod	(BFD_H_DEP): Add simple.c and linker.c.
6235*3d8817e4Smiod	(BFD32_LIBS): Add simple.lo.
6236*3d8817e4Smiod	(BFD32_LIBS_CFILES): Add simple.c.
6237*3d8817e4Smiod	* Makefile.in: Regenerated.
6238*3d8817e4Smiod	* bfd-in2.h: Regenerated.
6239*3d8817e4Smiod	* simple.c: New file.
6240*3d8817e4Smiod
6241*3d8817e4Smiod2002-10-11  Alan Modra  <amodra@bigpond.net.au>
6242*3d8817e4Smiod
6243*3d8817e4Smiod	* coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
6244*3d8817e4Smiod	(record_thumb_to_arm_glue): Likewise.
6245*3d8817e4Smiod	* ecoff.c (ecoff_link_add_externals): Likewise.
6246*3d8817e4Smiod	* elf32-arm.h (record_arm_to_thumb_glue): Likewise.
6247*3d8817e4Smiod	(record_thumb_to_arm_glue): Likewise.
6248*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
6249*3d8817e4Smiod	* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
6250*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
6251*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
6252*3d8817e4Smiod	* elf64-ppc.c (func_desc_adjust): Likewise.
6253*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
6254*3d8817e4Smiod	(sh64_elf64_create_dynamic_sections): Likewise.
6255*3d8817e4Smiod	* elflink.c (_bfd_elf_create_got_section): Likewise.
6256*3d8817e4Smiod	(_bfd_elf_create_dynamic_sections): Likewise.
6257*3d8817e4Smiod	(_bfd_elf_create_linker_section): Likewise.
6258*3d8817e4Smiod	* elflink.h (elf_add_default_symbol): Likewise.
6259*3d8817e4Smiod	(elf_link_create_dynamic_sections): Likewise.
6260*3d8817e4Smiod	(NAME(bfd_elf,size_dynamic_sections)): Likewise.
6261*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
6262*3d8817e4Smiod	* elfxx-mips.c (mips_elf_create_got_section): Likewise.
6263*3d8817e4Smiod	(_bfd_mips_elf_add_symbol_hook): Likewise.
6264*3d8817e4Smiod	(_bfd_mips_elf_create_dynamic_sections): Likewise.
6265*3d8817e4Smiod	* linker.c (generic_link_add_symbol_list): Likewise.
6266*3d8817e4Smiod	* xcofflink.c (xcoff_link_add_symbols): Likewise.
6267*3d8817e4Smiod
6268*3d8817e4Smiod	* elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
6269*3d8817e4Smiod
6270*3d8817e4Smiod	* elf64-ppc.c (edit_opd): Only zero opd syms when function is
6271*3d8817e4Smiod	completely removed.  Correct local sym adjustment.
6272*3d8817e4Smiod
6273*3d8817e4Smiod2002-10-10  Stephen Clarke <stephen.clarke@superh.com>
6274*3d8817e4Smiod
6275*3d8817e4Smiod	* elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
6276*3d8817e4Smiod	Correct mistake in calculation of address of .got.
6277*3d8817e4Smiod	* elf64-sh64.c (elf_sh64_pic_plt_entry_be,
6278*3d8817e4Smiod	elf_sh64_pic_plt_entry_le): Likewise.
6279*3d8817e4Smiod
6280*3d8817e4Smiod2002-10-09  Richard Shann <richard.shann@superh.com>
6281*3d8817e4Smiod	    Stephen Clarke <stephen.clarke@superh.com>
6282*3d8817e4Smiod
6283*3d8817e4Smiod	* Makefile.am: Add entries for elf32-sh64-lin.c and
6284*3d8817e4Smiod	elf64-sh64-lin.c. Regenerate.
6285*3d8817e4Smiod	* Makefile.in: Regenerate.
6286*3d8817e4Smiod	* config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
6287*3d8817e4Smiod	to use sh64 vectors rather than sh vectors.
6288*3d8817e4Smiod	* configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
6289*3d8817e4Smiod	bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
6290*3d8817e4Smiod	* configure: Regenerate.
6291*3d8817e4Smiod	* elf32-sh64-lin.c: New file.
6292*3d8817e4Smiod	* elf64-sh64-lin.c: New file.
6293*3d8817e4Smiod	* targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
6294*3d8817e4Smiod	bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
6295*3d8817e4Smiod
6296*3d8817e4Smiod2002-10-08  H.J. Lu <hjl@gnu.org>
6297*3d8817e4Smiod
6298*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Re-arrange the
6299*3d8817e4Smiod	IE->LE transition for R_386_TLS_IE.
6300*3d8817e4Smiod
6301*3d8817e4Smiod2002-10-08  Alan Modra  <amodra@bigpond.net.au>
6302*3d8817e4Smiod
6303*3d8817e4Smiod	* elf64-ppc.c (edit_opd): Correct test for discarded sections.
6304*3d8817e4Smiod
6305*3d8817e4Smiod2002-10-07  Mark Elbrecht  <snowball3@softhome.net>
6306*3d8817e4Smiod
6307*3d8817e4Smiod	* cofflink.c (mark_relocs): Don't mark relocations in excluded
6308*3d8817e4Smiod	sections.
6309*3d8817e4Smiod
6310*3d8817e4Smiod2002-10-07  Alan Modra  <amodra@bigpond.net.au>
6311*3d8817e4Smiod
6312*3d8817e4Smiod	* elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
6313*3d8817e4Smiod	code.
6314*3d8817e4Smiod
6315*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
6316*3d8817e4Smiod
6317*3d8817e4Smiod2002-10-06  Alan Modra  <amodra@bigpond.net.au>
6318*3d8817e4Smiod
6319*3d8817e4Smiod	* opncls.c: Formatting.
6320*3d8817e4Smiod	(_bfd_new_bfd): Use a smaller section hash table.
6321*3d8817e4Smiod
6322*3d8817e4Smiod2002-10-05  Alexandre Oliva  <aoliva@redhat.com>
6323*3d8817e4Smiod
6324*3d8817e4Smiod	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
6325*3d8817e4Smiod	of the other two relocations packed with a REL32 to NONE.
6326*3d8817e4Smiod
6327*3d8817e4Smiod2002-10-02  Stephen Clarke <stephen.clarke@superh.com>
6328*3d8817e4Smiod
6329*3d8817e4Smiod	* elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
6330*3d8817e4Smiod	(sh_elf_link_hash_newfunc): Initialize it.
6331*3d8817e4Smiod	(allocate_dynrelocs): Transfer gotplt refs from plt.refcount
6332*3d8817e4Smiod	to got.refcount for symbols that are forced local or when
6333*3d8817e4Smiod	we have direct got refs.
6334*3d8817e4Smiod	(sh_elf_gc_sweep_hook): Adjust gotplt_refcount.  Use it
6335*3d8817e4Smiod	to correctly adjust got.refcount and plt.refcount.
6336*3d8817e4Smiod	(sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
6337*3d8817e4Smiod	(sh_elf_check_relocs): Increment gotplt_refcount.
6338*3d8817e4Smiod
6339*3d8817e4Smiod2002-10-01  Jakub Jelinek  <jakub@redhat.com>
6340*3d8817e4Smiod
6341*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Fix
6342*3d8817e4Smiod	movl foo@indntpoff, %eax IE->LE transition.
6343*3d8817e4Smiod
6344*3d8817e4Smiod2002-10-01  Jakub Jelinek  <jakub@redhat.com>
6345*3d8817e4Smiod
6346*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
6347*3d8817e4Smiod	sequence and its transitions.
6348*3d8817e4Smiod
6349*3d8817e4Smiod2002-10-01  Jakub Jelinek  <jakub@redhat.com>
6350*3d8817e4Smiod
6351*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
6352*3d8817e4Smiod	to st_value + addend in non-code sections.
6353*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
6354*3d8817e4Smiod	R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
6355*3d8817e4Smiod
6356*3d8817e4Smiod2002-09-30  Gavin Romig-Koch  <gavin@redhat.com>
6357*3d8817e4Smiod	    Ken Raeburn  <raeburn@cygnus.com>
6358*3d8817e4Smiod	    Aldy Hernandez  <aldyh@redhat.com>
6359*3d8817e4Smiod	    Eric Christopher  <echristo@redhat.com>
6360*3d8817e4Smiod	    Richard Sandiford  <rsandifo@redhat.com>
6361*3d8817e4Smiod
6362*3d8817e4Smiod	* archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
6363*3d8817e4Smiod	(bfd_mach_mips5500): New.
6364*3d8817e4Smiod	* cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
6365*3d8817e4Smiod	(arch_info_struct): Add corresponding entries here.
6366*3d8817e4Smiod	* elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
6367*3d8817e4Smiod	E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
6368*3d8817e4Smiod	(_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
6369*3d8817e4Smiod	bfd_mach_mips5400 and bfd_mach_mips5500.
6370*3d8817e4Smiod	(_bfd_mips_elf_mach_extends_p): New function.
6371*3d8817e4Smiod	(_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
6372*3d8817e4Smiod	the EF_MIPS_MACH flags.
6373*3d8817e4Smiod	* bfd-in2.h: Regenerate.
6374*3d8817e4Smiod
6375*3d8817e4Smiod2002-09-28  Jason Thorpe  <thorpej@wasabisystems.com>
6376*3d8817e4Smiod
6377*3d8817e4Smiod	* elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
6378*3d8817e4Smiod	.got sections.
6379*3d8817e4Smiod
6380*3d8817e4Smiod2002-09-28  Alan Modra  <amodra@bigpond.net.au>
6381*3d8817e4Smiod
6382*3d8817e4Smiod	* elf.c (map_sections_to_segments): Correct test for start of
6383*3d8817e4Smiod	writable section in the same page as end of read-only section.
6384*3d8817e4Smiod
6385*3d8817e4Smiod2002-09-27  Matt Thomas  <matt@3am-software.com>
6386*3d8817e4Smiod
6387*3d8817e4Smiod	* elf32-vax.c (elf_vax_check_relocs): Remove unused
6388*3d8817e4Smiod	local_got_refcounts usage.  Remove allocation of got slot.
6389*3d8817e4Smiod	(elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
6390*3d8817e4Smiod	Remove de-allocation of got slot.
6391*3d8817e4Smiod	(elf_vax_size_dynamic_section): Fix some indentation.  Add hash
6392*3d8817e4Smiod	traversal for elf_vax_instantiate_got_entries.  Allow empty .got
6393*3d8817e4Smiod	sections to be GC'ed.
6394*3d8817e4Smiod	(elf_vax_instantiate_got_entries): New function.
6395*3d8817e4Smiod	(elf_vax_relocate_section): Simplify R_VAX_GOT32 handling.  Remove
6396*3d8817e4Smiod	tests that are now handled by elf_vax_instantiate_got_entries.
6397*3d8817e4Smiod	Assert GOT entry falls within .got section size.  Remove redundant
6398*3d8817e4Smiod	comparisions.  Fix comments.
6399*3d8817e4Smiod
6400*3d8817e4Smiod2002-09-27  Jakub Jelinek  <jakub@redhat.com>
6401*3d8817e4Smiod
6402*3d8817e4Smiod	* reloc.c: Add x86-64 TLS relocs.
6403*3d8817e4Smiod	* bfd-in2.h, libbfd.h: Rebuilt.
6404*3d8817e4Smiod	* elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
6405*3d8817e4Smiod	relocs.  Add TLS relocs.
6406*3d8817e4Smiod	(x86_64_reloc_map): Add TLS relocs.
6407*3d8817e4Smiod	(elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
6408*3d8817e4Smiod	(struct elf64_x86_64_link_hash_entry): Add tls_type field.
6409*3d8817e4Smiod	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
6410*3d8817e4Smiod	(elf64_x86_64_hash_entry): Define.
6411*3d8817e4Smiod	(struct elf64_x86_64_obj_tdata): New.
6412*3d8817e4Smiod	(elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
6413*3d8817e4Smiod	(struct elf64_x86_64_link_hash_table): Add tls_ld_got.
6414*3d8817e4Smiod	(link_hash_newfunc): Initialize tls_type.
6415*3d8817e4Smiod	(elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
6416*3d8817e4Smiod	(elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
6417*3d8817e4Smiod	(elf64_x86_64_mkobject): New.
6418*3d8817e4Smiod	(elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
6419*3d8817e4Smiod	(elf64_x86_64_tls_transition): New.
6420*3d8817e4Smiod	(elf64_x86_64_check_relocs): Add r_type variable and use it.
6421*3d8817e4Smiod	Handle TLS relocs.
6422*3d8817e4Smiod	(elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
6423*3d8817e4Smiod	(allocate_dynrelocs): Allocate GOT space for TLS relocs.
6424*3d8817e4Smiod	(elf64_x86_64_size_dynamic_sections): Likewise.
6425*3d8817e4Smiod	(dtpoff_base, tpoff): New.
6426*3d8817e4Smiod	(elf64_x86_64_relocate_section): Handle TLS relocs.
6427*3d8817e4Smiod	(elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
6428*3d8817e4Smiod	entries.
6429*3d8817e4Smiod	(bfd_elf64_mkobject): Define.
6430*3d8817e4Smiod
6431*3d8817e4Smiod	* elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
6432*3d8817e4Smiod	DF_STATIC_TLS if shared.
6433*3d8817e4Smiod
6434*3d8817e4Smiod2002-09-26  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6435*3d8817e4Smiod
6436*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
6437*3d8817e4Smiod	empty relocation sections.
6438*3d8817e4Smiod
6439*3d8817e4Smiod2002-09-26  Alan Modra  <amodra@bigpond.net.au>
6440*3d8817e4Smiod
6441*3d8817e4Smiod	* elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
6442*3d8817e4Smiod	(ppc64_elf_build_stubs): Build them here instead.
6443*3d8817e4Smiod
6444*3d8817e4Smiod2002-09-24  Jakub Jelinek  <jakub@redhat.com>
6445*3d8817e4Smiod
6446*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
6447*3d8817e4Smiod	addend into r_addend, not *r_offset.
6448*3d8817e4Smiod	(elf32_sparc_finish_dynamic_symbol): Likewise.
6449*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
6450*3d8817e4Smiod	R_SPARC_RELATIVE's r_offset.
6451*3d8817e4Smiod
6452*3d8817e4Smiod2002-09-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
6453*3d8817e4Smiod
6454*3d8817e4Smiod	* dwarf2.c (decode_line_info): Update to correctly decode
6455*3d8817e4Smiod	the (non-standard DWARF2) out-of-order address sequences
6456*3d8817e4Smiod	generated by the Intel C++ 6.0 compiler for ia64-Linux.
6457*3d8817e4Smiod
6458*3d8817e4Smiod2002-09-23  Mark Elbrecht  <snowball3@softhome.net>
6459*3d8817e4Smiod
6460*3d8817e4Smiod	* config.bfd: For DJGPP targets, match with any cpu and any machine.
6461*3d8817e4Smiod
6462*3d8817e4Smiod2002-09-23  Alan Modra  <amodra@bigpond.net.au>
6463*3d8817e4Smiod
6464*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
6465*3d8817e4Smiod	for discarded FDEs.  Remove redundant assignment.
6466*3d8817e4Smiod	* elflink.h (elf_bfd_discard_info): Save edited relocs.
6467*3d8817e4Smiod
6468*3d8817e4Smiod2002-09-22  H.J. Lu <hjl@gnu.org>
6469*3d8817e4Smiod
6470*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
6471*3d8817e4Smiod	the relocation count between different .reloc sections.
6472*3d8817e4Smiod
6473*3d8817e4Smiod2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6474*3d8817e4Smiod
6475*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
6476*3d8817e4Smiod	".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
6477*3d8817e4Smiod	R_PPC_EMB_SDA2REL.  Similarly for R_PPC_EMB_SDA21 and
6478*3d8817e4Smiod	R_PPC_EMB_RELSDA.
6479*3d8817e4Smiod
6480*3d8817e4Smiod	* elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
6481*3d8817e4Smiod	unsigned.  Move "symcount" assignment out of loop.
6482*3d8817e4Smiod	* Makefile.am: Run "make dep-am".
6483*3d8817e4Smiod	* Makefile.in: Regenerate.
6484*3d8817e4Smiod	* configure: Regenerate.
6485*3d8817e4Smiod	* po/SRC-POTFILES.in: Regnerate.
6486*3d8817e4Smiod
6487*3d8817e4Smiod2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
6488*3d8817e4Smiod
6489*3d8817e4Smiod	* dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
6490*3d8817e4Smiod	zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
6491*3d8817e4Smiod	(e.g. IRIX64).
6492*3d8817e4Smiod
6493*3d8817e4Smiod2002-09-19  Jakub Jelinek  <jakub@redhat.com>
6494*3d8817e4Smiod
6495*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
6496*3d8817e4Smiod	even if generating R_PPC_RELATIVE reloc.
6497*3d8817e4Smiod	(ppc_elf_relocate_section): Make sure relocation is performed
6498*3d8817e4Smiod	if skip == -2.  Clear memory at r_offset when creating dynamic
6499*3d8817e4Smiod	relocation.
6500*3d8817e4Smiod
6501*3d8817e4Smiod2002-09-19  Jakub Jelinek  <jakub@redhat.com>
6502*3d8817e4Smiod
6503*3d8817e4Smiod	* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
6504*3d8817e4Smiod	BFD_RELOC_386_TLS_GOTIE): Add.
6505*3d8817e4Smiod	* bfd-in2.h, libbfd.h: Rebuilt.
6506*3d8817e4Smiod	* elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
6507*3d8817e4Smiod	and R_386_TLS_GOTIE.
6508*3d8817e4Smiod	(elf_i386_reloc_type_lookup): Handle it.
6509*3d8817e4Smiod	(struct elf_i386_link_hash_entry): Change tls_type type to unsigned
6510*3d8817e4Smiod	char instead of enum, change GOT_* into defines.
6511*3d8817e4Smiod	(GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
6512*3d8817e4Smiod	(elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
6513*3d8817e4Smiod	(elf_i386_check_relocs): Likewise.  Avoid crash if local symbol is
6514*3d8817e4Smiod	accessed both as normal and TLS symbol.  Move R_386_TLS_LDM and
6515*3d8817e4Smiod	R_386_PLT32 cases so that R_386_TLS_IE can fall through.
6516*3d8817e4Smiod	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
6517*3d8817e4Smiod	(elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
6518*3d8817e4Smiod	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
6519*3d8817e4Smiod	(allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
6520*3d8817e4Smiod	tls_type is GOT_TLS_IE_BOTH.
6521*3d8817e4Smiod	(elf_i386_size_dynamic_sections): Likewise.
6522*3d8817e4Smiod	(elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
6523*3d8817e4Smiod	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
6524*3d8817e4Smiod	(elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
6525*3d8817e4Smiod	all 4 GOT_TLS_* TLS types.
6526*3d8817e4Smiod
6527*3d8817e4Smiod2002-09-19  Nick Clifton  <nickc@redhat.com>
6528*3d8817e4Smiod
6529*3d8817e4Smiod	* elflink.h (elf_fix_symbol_flags): When examining weak symbols,
6530*3d8817e4Smiod	follow indirect links.
6531*3d8817e4Smiod
6532*3d8817e4Smiod2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
6533*3d8817e4Smiod
6534*3d8817e4Smiod	* ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
6535*3d8817e4Smiod	correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
6536*3d8817e4Smiod	on 64 bit machines.
6537*3d8817e4Smiod	(ecoff_swap_sym_in) <iss>: Likewise.
6538*3d8817e4Smiod	* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
6539*3d8817e4Smiod	ECOFF information: 'ioptMax' refers to the actual *size*
6540*3d8817e4Smiod	of the optimization symtab, not the number of entries.
6541*3d8817e4Smiod
6542*3d8817e4Smiod2002-09-19  Daniel Jacobowitz  <drow@mvista.com>
6543*3d8817e4Smiod
6544*3d8817e4Smiod	* elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
6545*3d8817e4Smiod	ELF_LINK_HASH_NEEDS_PLT logic.
6546*3d8817e4Smiod
6547*3d8817e4Smiod2002-09-18  Daniel Jacobowitz  <drow@mvista.com>
6548*3d8817e4Smiod
6549*3d8817e4Smiod	* elfcode.h (elf_slurp_reloc_table_from_section): Check
6550*3d8817e4Smiod	correct relocation count.
6551*3d8817e4Smiod
6552*3d8817e4Smiod2002-09-17  Daniel Jacobowitz  <drow@mvista.com>
6553*3d8817e4Smiod
6554*3d8817e4Smiod	* bfd-in.h (bfd_get_dynamic_symcount): Define.
6555*3d8817e4Smiod	* bfd.c (struct _bfd): Add dynsymcount.
6556*3d8817e4Smiod	* bfd-in2.h: Regenerated.
6557*3d8817e4Smiod	* elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
6558*3d8817e4Smiod	abfd->dynsymcount.
6559*3d8817e4Smiod	* elfcode.h (elf_slurp_reloc_table_from_section): Check
6560*3d8817e4Smiod	for overflow.
6561*3d8817e4Smiod
6562*3d8817e4Smiod2002-09-17  Stan Cox <scox@redhat.com>
6563*3d8817e4Smiod
6564*3d8817e4Smiod	* elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
6565*3d8817e4Smiod	(mips_elf64_final_gp): Don't make up gp value.
6566*3d8817e4Smiod	* elfn32-mips.c (mips_elf_final_gp): Likewise.
6567*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_final_link): Always create
6568*3d8817e4Smiod	.MIPS.options/.options section.
6569*3d8817e4Smiod
6570*3d8817e4Smiod2002-09-17  David O'Brien  <obrien@FreeBSD.org>
6571*3d8817e4Smiod
6572*3d8817e4Smiod	* elf32-i386-fbsd.c: Always label using the EI_OSABI method.
6573*3d8817e4Smiod	It is benign for FreeBSD < 4.1.  Minor reformatting.
6574*3d8817e4Smiod	* elf64-alpha-fbsd.c: Likewise.
6575*3d8817e4Smiod
6576*3d8817e4Smiod2002-09-17  Jakub Jelinek  <jakub@redhat.com>
6577*3d8817e4Smiod
6578*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
6579*3d8817e4Smiod	addend.
6580*3d8817e4Smiod
6581*3d8817e4Smiod2002-09-17  Alan Modra  <amodra@bigpond.net.au>
6582*3d8817e4Smiod
6583*3d8817e4Smiod	* elf64-alpha.c (alpha_elf_size_info): Make static.
6584*3d8817e4Smiod
6585*3d8817e4Smiod2002-09-17  Svein E. Seldal  <Svein.Seldal@solidas.com>
6586*3d8817e4Smiod
6587*3d8817e4Smiod	* coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
6588*3d8817e4Smiod	* cpu-tic4x.c: Ditto.
6589*3d8817e4Smiod
6590*3d8817e4Smiod2002-09-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6591*3d8817e4Smiod
6592*3d8817e4Smiod	* elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
6593*3d8817e4Smiod	duplicate define.
6594*3d8817e4Smiod
6595*3d8817e4Smiod2002-09-16  Bruno Haible  <bruno@clisp.org>
6596*3d8817e4Smiod
6597*3d8817e4Smiod	* elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
6598*3d8817e4Smiod	by a target variant implementation.
6599*3d8817e4Smiod	* elf64-alpha.c: Likewise.
6600*3d8817e4Smiod	* elf32-i386-fbsd.c: New file.
6601*3d8817e4Smiod	* elf64-alpha-fbsd.c: New file.
6602*3d8817e4Smiod	* targets.c: Support bfd_elf32_i386_freebsd_vec and
6603*3d8817e4Smiod	bfd_elf64_alpha_freebsd_vec.
6604*3d8817e4Smiod	* configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
6605*3d8817e4Smiod	bfd_elf64_alpha_freebsd_vec.
6606*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
6607*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
6608*3d8817e4Smiod	(BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
6609*3d8817e4Smiod	(BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
6610*3d8817e4Smiod	(elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
6611*3d8817e4Smiod	* config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
6612*3d8817e4Smiod	specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
6613*3d8817e4Smiod
6614*3d8817e4Smiod2002-09-12  Jakub Jelinek  <jakub@redhat.com>
6615*3d8817e4Smiod
6616*3d8817e4Smiod	* elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
6617*3d8817e4Smiod	NULL.
6618*3d8817e4Smiod	(elf_i386_relocate_section): Return false after printing error about
6619*3d8817e4Smiod	unresolvable relocation.
6620*3d8817e4Smiod
6621*3d8817e4Smiod2002-09-12  Nick Clifton  <nickc@redhat.com>
6622*3d8817e4Smiod
6623*3d8817e4Smiod	* elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
6624*3d8817e4Smiod	R_ARM_THM_PC11.
6625*3d8817e4Smiod
6626*3d8817e4Smiod2002-09-11  Jeffrey Law  <law@redhat.com>
6627*3d8817e4Smiod
6628*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_relax_section): Fix typo.
6629*3d8817e4Smiod
6630*3d8817e4Smiod2002-09-11  Andrew Haley  <aph@cambridge.redhat.com>
6631*3d8817e4Smiod
6632*3d8817e4Smiod	* elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
6633*3d8817e4Smiod	line_ptr before deciding we've found a symbol.
6634*3d8817e4Smiod
6635*3d8817e4Smiod2002-09-11  Nick Clifton  <nickc@redhat.com>
6636*3d8817e4Smiod
6637*3d8817e4Smiod	* po/da.po: New Danish translation file.
6638*3d8817e4Smiod	* configure.in (LINGUAS): Add 'da'.
6639*3d8817e4Smiod	* configure: Regenerate.
6640*3d8817e4Smiod
6641*3d8817e4Smiod2002-09-10  Michael Snyder  <msnyder@redhat.com>
6642*3d8817e4Smiod
6643*3d8817e4Smiod	* irix-core.c (do_sections, do_sections64): New functions.
6644*3d8817e4Smiod	(irix_core_core_file_p): Call new functions do_sections,
6645*3d8817e4Smiod	do_sections64, depending on corefile (32-bit or 64-bit).
6646*3d8817e4Smiod
6647*3d8817e4Smiod2002-09-09  Richard Henderson  <rth@redhat.com>
6648*3d8817e4Smiod
6649*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
6650*3d8817e4Smiod	and PCREL21F like PCREL21B.
6651*3d8817e4Smiod
6652*3d8817e4Smiod2002-09-04  Kevin Buettner  <kevinb@redhat.com>
6653*3d8817e4Smiod
6654*3d8817e4Smiod	* config.bfd (mips*-*-irix6*): Add new ABI vectors.  Make n32 default
6655*3d8817e4Smiod	vector.
6656*3d8817e4Smiod
6657*3d8817e4Smiod2002-09-02  Nick Clifton  <nickc@redhat.com>
6658*3d8817e4Smiod
6659*3d8817e4Smiod	* elf32-v850.c (v850_elf_final_link_relocate): Use helpful
6660*3d8817e4Smiod	names instead of cryptically overloaded bfd_reloc error
6661*3d8817e4Smiod	codes.
6662*3d8817e4Smiod	(v850_elf_relocate_section): Likewise.
6663*3d8817e4Smiod	(v850_elf_relax_section): Replace caching of external symbols
6664*3d8817e4Smiod	with caching of internal symbols obtained from calling
6665*3d8817e4Smiod	bfd_elf_get_elf_syms().
6666*3d8817e4Smiod	Fixup problems with freeing cached allocated memory blocks.
6667*3d8817e4Smiod
6668*3d8817e4Smiod2002-09-02  Alan Modra  <amodra@bigpond.net.au>
6669*3d8817e4Smiod
6670*3d8817e4Smiod	* cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
6671*3d8817e4Smiod	(bfd_pj_arch): Use bfd_default_scan.
6672*3d8817e4Smiod	* cpu-v850.c (scan): Remove.
6673*3d8817e4Smiod	(N): Use bfd_default_scan.
6674*3d8817e4Smiod	* cpu-z8k.c (scan_mach): Remove.
6675*3d8817e4Smiod	(arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
6676*3d8817e4Smiod	first.  Use bfd_default_scan.
6677*3d8817e4Smiod
6678*3d8817e4Smiod	* ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
6679*3d8817e4Smiod	bfd_mach constants.
6680*3d8817e4Smiod	(ecoff_get_magic): Likewise.
6681*3d8817e4Smiod	* elf32-v850.c (v850_elf_object_p): Likewise.
6682*3d8817e4Smiod	(v850_elf_final_write_processing): Likewise.
6683*3d8817e4Smiod	* mipsbsd.c (MY(set_arch_mach)): Likewise.
6684*3d8817e4Smiod	(MY(write_object_contents)): Likewise.
6685*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
6686*3d8817e4Smiod	* coffcode.h (coff_write_object_contents): Likewise.
6687*3d8817e4Smiod	(coff_set_arch_mach_hook): Add comment describing machine == 0.
6688*3d8817e4Smiod	Remove unnecessary "machine" assignments.
6689*3d8817e4Smiod	(coff_write_relocs): Test for the absolute section sym by testing
6690*3d8817e4Smiod	section and flags.
6691*3d8817e4Smiod
6692*3d8817e4Smiod	* aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
6693*3d8817e4Smiod	and bfd_mach_i386_i386_intel_syntax.
6694*3d8817e4Smiod	* pdp11.c (NAME(aout,machine_type)): Likewise.
6695*3d8817e4Smiod
6696*3d8817e4Smiod2002-08-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6697*3d8817e4Smiod
6698*3d8817e4Smiod	* bfd-in.h (align_power): Cast constants to bfd_vma type.
6699*3d8817e4Smiod	* bfd-in2.h (align_power): Likewise.
6700*3d8817e4Smiod
6701*3d8817e4Smiod2002-08-30  Alan Modra  <amodra@bigpond.net.au>
6702*3d8817e4Smiod
6703*3d8817e4Smiod	* Makefile.am: Run "make dep-am".
6704*3d8817e4Smiod	* Makefile.in: Regenerate.
6705*3d8817e4Smiod
6706*3d8817e4Smiod	* cpu-avr.c (compatible): Don't use hard-coded mach constants.
6707*3d8817e4Smiod	* cpu-powerpc.c (powerpc_compatible): Likewise.
6708*3d8817e4Smiod	* cpu-rs6000.c (rs6000_compatible): Likewise.
6709*3d8817e4Smiod
6710*3d8817e4Smiod2002-08-28  Catherine Moore  <clm@redhat.com>
6711*3d8817e4Smiod
6712*3d8817e4Smiod	* elf32-v850.c (v850_elf_reloc_map): Add new relocs.
6713*3d8817e4Smiod	(v850-elf-reloc): Don't resolve pc relative relocs.
6714*3d8817e4Smiod	(v850_elf_ignore_reloc): New routine.
6715*3d8817e4Smiod	(v850_elf_final_link_relocate): Handle new relocs.
6716*3d8817e4Smiod	(v850_elf_relax_delete_bytes ): New routine.
6717*3d8817e4Smiod	(v850_elf_relax_section): New routine.
6718*3d8817e4Smiod	(bfd_elf32_bfd_relax_section): Define.
6719*3d8817e4Smiod	(HOWTO): New entries for new relocs.
6720*3d8817e4Smiod	* reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
6721*3d8817e4Smiod	(BFD_RELOC_V850_LONGJUMP): New reloc.
6722*3d8817e4Smiod	(BFD_RELOC_V850_ALIGN): New reloc.
6723*3d8817e4Smiod	* archures.c: Remove redundant v850ea architecture.
6724*3d8817e4Smiod	* cpu-v850.c: Remove redundant v850ea support.
6725*3d8817e4Smiod	* libbfd.h: Regenerate.
6726*3d8817e4Smiod	* bfd-in2.h: Regenerated.
6727*3d8817e4Smiod
6728*3d8817e4Smiod2002-08-28  Svein E. Seldal  <Svein.Seldal@solidas.com>
6729*3d8817e4Smiod
6730*3d8817e4Smiod	* config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
6731*3d8817e4Smiod	* configure.in: Add tic4x_coff vector files.
6732*3d8817e4Smiod	* configure: Regenerate.
6733*3d8817e4Smiod	* Makefile.am: Add tic4x target.
6734*3d8817e4Smiod	* Makefile.in: Regenerate.
6735*3d8817e4Smiod
6736*3d8817e4Smiod2002-08-27  Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6737*3d8817e4Smiod
6738*3d8817e4Smiod	* archures.c: Add the BFD arch type tic4x.
6739*3d8817e4Smiod	* bfd-in.h: Add BFD_IN_MEMORY flag.
6740*3d8817e4Smiod	* coff-tic4x.c: New file.
6741*3d8817e4Smiod	* coffswap.h (coff_swap_sym_out): Add preadjuster.
6742*3d8817e4Smiod	* cpu-tic4x.c: New file.
6743*3d8817e4Smiod	* targets.c: Added tic4x- in list of xvecs.
6744*3d8817e4Smiod	* ticoff.h: New file.
6745*3d8817e4Smiod	* bfd-in2.h: Regenerate.
6746*3d8817e4Smiod
6747*3d8817e4Smiod2002-08-27  Adam Nemet  <anemet@lnxw.com>
6748*3d8817e4Smiod
6749*3d8817e4Smiod	* elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
6750*3d8817e4Smiod	bit of DT_INIT and DT_FINI for Thumb functions.
6751*3d8817e4Smiod
6752*3d8817e4Smiod2002-08-26  Alan Modra  <amodra@bigpond.net.au>
6753*3d8817e4Smiod
6754*3d8817e4Smiod	* coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
6755*3d8817e4Smiod
6756*3d8817e4Smiod2002-08-26  Alan Modra  <amodra@bigpond.net.au>
6757*3d8817e4Smiod
6758*3d8817e4Smiod	* aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
6759*3d8817e4Smiod
6760*3d8817e4Smiod2002-08-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
6761*3d8817e4Smiod
6762*3d8817e4Smiod	* elf32-sh.c (sh_elf_copy_indirect_symbol): New.
6763*3d8817e4Smiod	(create_got_section, allocate_dynrelocs, readonly_dynrelocs):
6764*3d8817e4Smiod	Likewise.
6765*3d8817e4Smiod	(struct elf_sh_pcrel_relocs_copied): Removed.
6766*3d8817e4Smiod	(struct elf_sh_dyn_relocs): New.
6767*3d8817e4Smiod	(struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
6768*3d8817e4Smiod	field with dyn_relocs.
6769*3d8817e4Smiod	(struct elf_sh_link_hash_table): Add short-cuts to get dynamic
6770*3d8817e4Smiod	sections and sym_sec.
6771*3d8817e4Smiod	(sh_elf_link_hash_newfunc): Clear dyn_relocs.
6772*3d8817e4Smiod	(sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
6773*3d8817e4Smiod	(sh_elf_create_dynamic_sections): Use create_got_section instead
6774*3d8817e4Smiod	of _bfd_elf_create_got_section.
6775*3d8817e4Smiod	(sh_elf_check_relocs): Likewise.
6776*3d8817e4Smiod	(sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
6777*3d8817e4Smiod	sections.
6778*3d8817e4Smiod	(sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
6779*3d8817e4Smiod	sh_elf_relocate_section, sh_elf_check_relocs,
6780*3d8817e4Smiod	sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
6781*3d8817e4Smiod	Likewise.
6782*3d8817e4Smiod	(sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
6783*3d8817e4Smiod	dynamic relocations and avoiding the copy relocation when we
6784*3d8817e4Smiod	didn't find any dynamic relocations in the section which has
6785*3d8817e4Smiod	contents or is read-only.
6786*3d8817e4Smiod	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
6787*3d8817e4Smiod	(sh_elf_size_dynamic_sections): Don't reset the size of
6788*3d8817e4Smiod	.rela.got section even if dynamic_sections_created flag is off.
6789*3d8817e4Smiod	Don't use sh_elf_discard_copies. Scan all input bfd and use
6790*3d8817e4Smiod	allocate_dynrelocs. Call readonly_dynrelocs to determine
6791*3d8817e4Smiod	whether we need DT_TEXTREL.
6792*3d8817e4Smiod	(sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
6793*3d8817e4Smiod	whether the symbol was never referred to.
6794*3d8817e4Smiod	(sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
6795*3d8817e4Smiod	(sh_elf_gc_sweep_hook): Fill with the real sweep function.
6796*3d8817e4Smiod	(sh_elf_check_relocs): Call create_got_section if the short-cut
6797*3d8817e4Smiod	to .got is null. Increment reference counters only instead of
6798*3d8817e4Smiod	allocating space on dynamic sections here. Don't conditionalize
6799*3d8817e4Smiod	uninitialized got.offset value when marking the symbol as a
6800*3d8817e4Smiod	global offset table entry. Keep relocations for symbols satisfied
6801*3d8817e4Smiod	by a dynamic library to avoid copy relocations for the symbol.
6802*3d8817e4Smiod	Set dynobj field of an elf hash table if needed.
6803*3d8817e4Smiod	(sh_elf_finish_dynamic_sections): Handle null section pointer
6804*3d8817e4Smiod	correctly.
6805*3d8817e4Smiod	(elf_backend_copy_indirect_symbol): Defined.
6806*3d8817e4Smiod	(elf_backend_can_refcount): Defined.
6807*3d8817e4Smiod
6808*3d8817e4Smiod2002-08-23  Nick Clifton  <nickc@redhat.com>
6809*3d8817e4Smiod
6810*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
6811*3d8817e4Smiod	previous change.  Add comment explaining why.
6812*3d8817e4Smiod
6813*3d8817e4Smiod2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
6814*3d8817e4Smiod
6815*3d8817e4Smiod	* elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
6816*3d8817e4Smiod	contents of .got.plt[2] to tr0, not address of .got.plt.
6817*3d8817e4Smiod	(sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
6818*3d8817e4Smiod	patching absolute plt entry. For shmedia plt entry, set bottom bit
6819*3d8817e4Smiod	of branch to plt0 as this is a branch to an shmedia instruction.
6820*3d8817e4Smiod	* elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
6821*3d8817e4Smiod	Copy contents of .got.plt[2] to tr0, not address of .got.plt.
6822*3d8817e4Smiod	(elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
6823*3d8817e4Smiod	branch to plt0.
6824*3d8817e4Smiod	(sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
6825*3d8817e4Smiod	patching absolute plt entry. For shmedia plt entry, branch to
6826*3d8817e4Smiod	plt0 is now ptrel, so use relative offset.  Set bottom bit of
6827*3d8817e4Smiod	branch target as it is a branch to an shmedia instruction.
6828*3d8817e4Smiod
6829*3d8817e4Smiod2002-08-23  Stephen Clarke <stephen.clarke@superh.com>,
6830*3d8817e4Smiod	    Richard Shann <richard.shann@superh.com>
6831*3d8817e4Smiod
6832*3d8817e4Smiod	* elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
6833*3d8817e4Smiod	value if .init is an SHmedia function.  Similarly for DT_FINI.
6834*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
6835*3d8817e4Smiod
6836*3d8817e4Smiod2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
6837*3d8817e4Smiod
6838*3d8817e4Smiod	* elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
6839*3d8817e4Smiod	dynamic section.
6840*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
6841*3d8817e4Smiod
6842*3d8817e4Smiod2002-08-22  Kaz Kojima <kkojima@rr.iij4u.or.jp>
6843*3d8817e4Smiod
6844*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
6845*3d8817e4Smiod	byte read when reading the return address register column.
6846*3d8817e4Smiod
6847*3d8817e4Smiod2002-08-22  Nick Clifton  <nickc@redhat.com>
6848*3d8817e4Smiod
6849*3d8817e4Smiod	* config.bfd: Add powepc64-*-*bsd* target.
6850*3d8817e4Smiod
6851*3d8817e4Smiod2002-08-22  Graeme Peterson  <gp@qnx.com>
6852*3d8817e4Smiod
6853*3d8817e4Smiod	* Makefile.am: Add entries for elf32-shqnx.c
6854*3d8817e4Smiod	* Makefile.in: Regenerate.
6855*3d8817e4Smiod	* config.bfd: Add support sh-*-nto* target.
6856*3d8817e4Smiod	* configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
6857*3d8817e4Smiod	* configure: Regenerate.
6858*3d8817e4Smiod	* elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
6859*3d8817e4Smiod	* elf32-sh.c: Do not include elf32-target.h if
6860*3d8817e4Smiod	ELF32_SH_C_INCLUDED is defined.
6861*3d8817e4Smiod	* elf32-shqnx.c: New file: Support for QNX.
6862*3d8817e4Smiod	* targets.c: Add bfd_elf32_sh{l}qnx_vec.
6863*3d8817e4Smiod
6864*3d8817e4Smiod2002-08-22  Nick Clifton  <nickc@redhat.com>
6865*3d8817e4Smiod
6866*3d8817e4Smiod	* po/tr.po: Updated Turkish translation.
6867*3d8817e4Smiod
6868*3d8817e4Smiod	* syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
6869*3d8817e4Smiod	symbols are not read.
6870*3d8817e4Smiod
6871*3d8817e4Smiod2002-08-22  Alan Modra  <amodra@bigpond.net.au>
6872*3d8817e4Smiod
6873*3d8817e4Smiod	* elf32-m68hc11.c: Formatting fixes.
6874*3d8817e4Smiod	(elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
6875*3d8817e4Smiod	* elf32-m68hc12.c: Formatting fixes.
6876*3d8817e4Smiod	(elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
6877*3d8817e4Smiod
6878*3d8817e4Smiod2002-08-22  Alan Modra  <amodra@bigpond.net.au>
6879*3d8817e4Smiod
6880*3d8817e4Smiod	* coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
6881*3d8817e4Smiod	SEC_DATA.
6882*3d8817e4Smiod	(pmac_xcoff_vec): Likewise.
6883*3d8817e4Smiod	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
6884*3d8817e4Smiod	(aix5coff64_vec): Likewise.
6885*3d8817e4Smiod
6886*3d8817e4Smiod2002-08-22  Alan Modra  <amodra@bigpond.net.au>
6887*3d8817e4Smiod
6888*3d8817e4Smiod	* elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
6889*3d8817e4Smiod	param to elf_backend_copy_indirect_symbol.
6890*3d8817e4Smiod	(_bfd_elf_link_hash_copy_indirect): Likewise.
6891*3d8817e4Smiod	* elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
6892*3d8817e4Smiod	calls to copy_indirect_symbol.
6893*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
6894*3d8817e4Smiod	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
6895*3d8817e4Smiod	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
6896*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
6897*3d8817e4Smiod	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
6898*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
6899*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
6900*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
6901*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
6902*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_copy_indirect): Likewise.  Properly
6903*3d8817e4Smiod	test refcounts for "used" values.
6904*3d8817e4Smiod
6905*3d8817e4Smiod2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6906*3d8817e4Smiod
6907*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
6908*3d8817e4Smiod	argument declaration.
6909*3d8817e4Smiod
6910*3d8817e4Smiod2002-08-19  Elena Zannoni <ezannoni@redhat.com>
6911*3d8817e4Smiod
6912*3d8817e4Smiod	* archures.c (bfd_mach_ppc_e500): Added.
6913*3d8817e4Smiod	* bfd-in2.h: Rebuilt.
6914*3d8817e4Smiod	* cpu-powerpc.c (bfd_powerpc_archs): Added e500.
6915*3d8817e4Smiod
6916*3d8817e4Smiod2002-08-19  Alan Modra  <amodra@bigpond.net.au>
6917*3d8817e4Smiod
6918*3d8817e4Smiod	* elf32-m68hc12.c (elf_backend_can_gc_sections): False.
6919*3d8817e4Smiod
6920*3d8817e4Smiod2002-08-17  Andrew Cagney  <ac131313@redhat.com>
6921*3d8817e4Smiod
6922*3d8817e4Smiod	* elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
6923*3d8817e4Smiod	`bfd_byte'.
6924*3d8817e4Smiod
6925*3d8817e4Smiod2002-08-17  Stan Cox  <scox@redhat.com>
6926*3d8817e4Smiod
6927*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
6928*3d8817e4Smiod	IRIX 6 segment layout for NEWABI.
6929*3d8817e4Smiod
6930*3d8817e4Smiod2002-08-16  Stephen Clarke <stephen.clarke@superh.com>
6931*3d8817e4Smiod
6932*3d8817e4Smiod	* elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
6933*3d8817e4Smiod	symbols when looking for section referred to by a relocation.
6934*3d8817e4Smiod	* elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
6935*3d8817e4Smiod
6936*3d8817e4Smiod2002-08-15  Alan Modra  <amodra@bigpond.net.au>
6937*3d8817e4Smiod
6938*3d8817e4Smiod	* elf32-i370.c: Move reloc enum to include/elf/i370.h.
6939*3d8817e4Smiod
6940*3d8817e4Smiod2002-08-15  Hans-Peter Nilsson  <hp@axis.com>
6941*3d8817e4Smiod
6942*3d8817e4Smiod	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
6943*3d8817e4Smiod	missing check for whether the symbol is referenced by DSO before
6944*3d8817e4Smiod	unexporting it as an unneeded dynamic symbol.
6945*3d8817e4Smiod
6946*3d8817e4Smiod2002-08-14  H.J. Lu <hjl@gnu.org>
6947*3d8817e4Smiod
6948*3d8817e4Smiod	* libbfd.h: Regenerate.
6949*3d8817e4Smiod
6950*3d8817e4Smiod2002-08-14  H.J. Lu <hjl@gnu.org>
6951*3d8817e4Smiod
6952*3d8817e4Smiod	* config.bfd: Always add 64bit vectors to 32bit Linux/mips.
6953*3d8817e4Smiod
6954*3d8817e4Smiod2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
6955*3d8817e4Smiod
6956*3d8817e4Smiod	* elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
6957*3d8817e4Smiod	instructions.
6958*3d8817e4Smiod	(m68hc11_direct_relax): New to define table of relaxable instructions.
6959*3d8817e4Smiod	(find_relaxable_insn): New, find a relaxable insn.
6960*3d8817e4Smiod	(compare_reloc): New to compare two relocs.
6961*3d8817e4Smiod	(m68hc11_elf_relax_section): New, relax text sections.
6962*3d8817e4Smiod	(m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
6963*3d8817e4Smiod	(elf32_m68hc11_check_relocs): New function for GC support.
6964*3d8817e4Smiod	(elf32_m68hc11_relocate_section): New function for GC support.
6965*3d8817e4Smiod	(bfd_elf32_bfd_relax_section): Define to support linker relaxation.
6966*3d8817e4Smiod	(elf_backend_check_relocs): Likewise.
6967*3d8817e4Smiod	(elf_backend_relocate_section): Likewise.
6968*3d8817e4Smiod
6969*3d8817e4Smiod2002-08-13  H.J. Lu <hjl@gnu.org>
6970*3d8817e4Smiod
6971*3d8817e4Smiod	* elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
6972*3d8817e4Smiod	definitions in shared objects when checking symbol with
6973*3d8817e4Smiod	undefined version.
6974*3d8817e4Smiod
6975*3d8817e4Smiod2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
6976*3d8817e4Smiod
6977*3d8817e4Smiod	* elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
6978*3d8817e4Smiod	(elf32_m68hc11_gc_sweep_hook): Likewise.
6979*3d8817e4Smiod	(elf_backend_gc_mark_hook): Define for GC section support.
6980*3d8817e4Smiod	(elf_backend_gc_sweep_hook): Likewise.
6981*3d8817e4Smiod	(elf_backend_can_gc_sections): Likewise.
6982*3d8817e4Smiod
6983*3d8817e4Smiod	* elf32-m68hc12.c: Likewise.
6984*3d8817e4Smiod
6985*3d8817e4Smiod2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
6986*3d8817e4Smiod
6987*3d8817e4Smiod	* elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
6988*3d8817e4Smiod	(_bfd_m68hc11_elf_merge_private_bfd_data): New function.
6989*3d8817e4Smiod	(_bfd_m68hc11_elf_set_private_flags): New function.
6990*3d8817e4Smiod	Use them to set/check/print ELF flags specific to 68HC11.
6991*3d8817e4Smiod
6992*3d8817e4Smiod	* elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
6993*3d8817e4Smiod	(_bfd_m68hc12_elf_merge_private_bfd_data): New function.
6994*3d8817e4Smiod	(_bfd_m68hc12_elf_set_private_flags): New function.
6995*3d8817e4Smiod	Use them to set/check/print ELF flags specific to 68HC12.
6996*3d8817e4Smiod
6997*3d8817e4Smiod2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
6998*3d8817e4Smiod
6999*3d8817e4Smiod	* elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
7000*3d8817e4Smiod	fix masks for PC-rel relocs.
7001*3d8817e4Smiod	(m68hc11_elf_ignore_reloc): New function.
7002*3d8817e4Smiod
7003*3d8817e4Smiod	* elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
7004*3d8817e4Smiod	68HC12 banked addressing relocs.
7005*3d8817e4Smiod	(m68hc12_phys_addr): New to compute physical address of banked memory.
7006*3d8817e4Smiod	(m68hc12_phys_page): Likewise for page.
7007*3d8817e4Smiod	(m68hc12_addr_is_banked): New to see if address is in banked area.
7008*3d8817e4Smiod	(elf_m68hc12_howto_table): Add new relocs and rename to xx12.
7009*3d8817e4Smiod
7010*3d8817e4Smiod2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
7011*3d8817e4Smiod
7012*3d8817e4Smiod	* reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
7013*3d8817e4Smiod	BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
7014*3d8817e4Smiod	BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
7015*3d8817e4Smiod	* bfd-in2.h: Regenerate.
7016*3d8817e4Smiod
7017*3d8817e4Smiod2002-08-12  H.J. Lu <hjl@gnu.org>
7018*3d8817e4Smiod
7019*3d8817e4Smiod	* elflink.h (elf_add_default_symbol): Preserve section across
7020*3d8817e4Smiod	elf_merge_symbol.
7021*3d8817e4Smiod
7022*3d8817e4Smiod2002-08-09  Graeme Peterson  <gp@qnx.com>
7023*3d8817e4Smiod
7024*3d8817e4Smiod	* Makefile.am: Add entries for elf32-ppcqnx.c, and add
7025*3d8817e4Smiod	elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
7026*3d8817e4Smiod	* Makefile.in: Regenerate.
7027*3d8817e4Smiod	* config.bfd: Add support for powerpc{le}-*-nto targets.
7028*3d8817e4Smiod	* configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
7029*3d8817e4Smiod	* configure: Regenerate.
7030*3d8817e4Smiod	* elf32-i386qnx.c: Moved backend functions into a QNX specific
7031*3d8817e4Smiod	common file "elf32-qnx.h", and now include that file.
7032*3d8817e4Smiod	* elf32-qnx.h: New file: QNX specific common elf backend.
7033*3d8817e4Smiod	* elf32-ppc.c: Do not include elf32-target.h if
7034*3d8817e4Smiod	ELF32_PPC_C_INCLUDED is defined.
7035*3d8817e4Smiod	* elf32-ppcqnx.c: New file: Support for QNX.
7036*3d8817e4Smiod	* elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
7037*3d8817e4Smiod	* targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
7038*3d8817e4Smiod
7039*3d8817e4Smiod2002-08-09  Nick Clifton  <nickc@redhat.com>
7040*3d8817e4Smiod
7041*3d8817e4Smiod	* po/sv.po: Updated Swedish translation.
7042*3d8817e4Smiod
7043*3d8817e4Smiod2002-08-09  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7044*3d8817e4Smiod
7045*3d8817e4Smiod	* elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
7046*3d8817e4Smiod	g->global_gotsym is NULL.
7047*3d8817e4Smiod
7048*3d8817e4Smiod2002-08-08  H.J. Lu <hjl@gnu.org>
7049*3d8817e4Smiod
7050*3d8817e4Smiod	* elflink.h (elf_add_default_symbol): Don't warn if a definition
7051*3d8817e4Smiod	overrides an indirect versioned symbol.
7052*3d8817e4Smiod
7053*3d8817e4Smiod2002-08-08  Jakub Jelinek  <jakub@redhat.com>
7054*3d8817e4Smiod
7055*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
7056*3d8817e4Smiod	for R_386_TLS_TPOFF32 relocs against symndx 0.
7057*3d8817e4Smiod
7058*3d8817e4Smiod2002-08-07  H.J. Lu <hjl@gnu.org>
7059*3d8817e4Smiod
7060*3d8817e4Smiod	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
7061*3d8817e4Smiod	with undefined version if needed.
7062*3d8817e4Smiod	(elf_link_assign_sym_version): Match a default symbol with a
7063*3d8817e4Smiod	version without definition. No need to hide the default
7064*3d8817e4Smiod	definition separately.
7065*3d8817e4Smiod
7066*3d8817e4Smiod2002-08-08  Alan Modra  <amodra@bigpond.net.au>
7067*3d8817e4Smiod
7068*3d8817e4Smiod	* elflink.h (elf_link_output_extsym): Don't output symbols from
7069*3d8817e4Smiod	SEC_EXCLUDE sections.
7070*3d8817e4Smiod
7071*3d8817e4Smiod	* aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
7072*3d8817e4Smiod
7073*3d8817e4Smiod2002-08-07  Alan Modra  <amodra@bigpond.net.au>
7074*3d8817e4Smiod
7075*3d8817e4Smiod	* elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
7076*3d8817e4Smiod	entries.
7077*3d8817e4Smiod
7078*3d8817e4Smiod2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7079*3d8817e4Smiod
7080*3d8817e4Smiod	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
7081*3d8817e4Smiod	mismatch.
7082*3d8817e4Smiod
7083*3d8817e4Smiod2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7084*3d8817e4Smiod
7085*3d8817e4Smiod	* elfxx-mips.c (ABI_64_P): Remove superfluous check.
7086*3d8817e4Smiod
7087*3d8817e4Smiod2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7088*3d8817e4Smiod
7089*3d8817e4Smiod	* elf32-mips.c (mips_reloc_map): Fix typo.
7090*3d8817e4Smiod
7091*3d8817e4Smiod2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7092*3d8817e4Smiod
7093*3d8817e4Smiod	* xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
7094*3d8817e4Smiod
7095*3d8817e4Smiod2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7096*3d8817e4Smiod
7097*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
7098*3d8817e4Smiod
7099*3d8817e4Smiod2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7100*3d8817e4Smiod
7101*3d8817e4Smiod	* libxcoff.h: Use PARAMS on function declarations.
7102*3d8817e4Smiod	* coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
7103*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
7104*3d8817e4Smiod
7105*3d8817e4Smiod	* coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
7106*3d8817e4Smiod	addend.
7107*3d8817e4Smiod	* coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
7108*3d8817e4Smiod
7109*3d8817e4Smiod2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7110*3d8817e4Smiod
7111*3d8817e4Smiod	* coff-rs6000.c: Formatting fixes.
7112*3d8817e4Smiod	(xcoff_calculate_relocation): Use PARAMS in declaration.
7113*3d8817e4Smiod	(xcoff_complain_overflow): Likewise.
7114*3d8817e4Smiod	(xcoff_ppc_relocate_section): Use old-style function pointer call.
7115*3d8817e4Smiod	(bfd_xcoff_backend_data): Remove useless comments.
7116*3d8817e4Smiod	(rs6000coff_vec): Likewise.
7117*3d8817e4Smiod	(bfd_pmac_xcoff_backend_data): Likewise.
7118*3d8817e4Smiod	(pmac_xcoff_vec): Likewise.
7119*3d8817e4Smiod
7120*3d8817e4Smiod	* coff64-rs6000.c: Formatting fixes.
7121*3d8817e4Smiod	(xcoff64_calculate_relocation): Use PARAMS in declaration.
7122*3d8817e4Smiod	(xcoff64_ppc_relocate_section): Use old-style function pointer call.
7123*3d8817e4Smiod	(bfd_xcoff_backend_data): Remove useless comments.
7124*3d8817e4Smiod	(rs6000coff64_vec): Likewise.
7125*3d8817e4Smiod	(bfd_xcoff_aix5_backend_data): Likewise.
7126*3d8817e4Smiod	(aix5coff64_vec): Likewise.
7127*3d8817e4Smiod
7128*3d8817e4Smiod2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7129*3d8817e4Smiod
7130*3d8817e4Smiod	* coff-rs6000.c (xcoff_howto_table): Revert some of last change to
7131*3d8817e4Smiod	mask entries.  Use complain_overflow_dont for R_REF.
7132*3d8817e4Smiod	(xcoff_reloc_type_ba): Revert last change.
7133*3d8817e4Smiod	(xcoff_reloc_type_br): Likewise.
7134*3d8817e4Smiod	(xcoff_reloc_type_crel): Likewise.
7135*3d8817e4Smiod	(xcoff_ppc_relocate_section): Likewise.
7136*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
7137*3d8817e4Smiod	(xcoff64_ppc_relocate_section): Likewise.
7138*3d8817e4Smiod	(xcoff64_howto_table): Revert some of last change to mask entries.
7139*3d8817e4Smiod	Use complain_overflow_dont for R_REF.
7140*3d8817e4Smiod
7141*3d8817e4Smiod	* coff-rs6000.c (xcoff_howto_table): Fix src_mask entries.  Make all
7142*3d8817e4Smiod	relocs with bitsize == 16 have size = 1.
7143*3d8817e4Smiod	(xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
7144*3d8817e4Smiod	(xcoff_reloc_type_br): Likewise.
7145*3d8817e4Smiod	(xcoff_reloc_type_crel): Likewise.
7146*3d8817e4Smiod	(xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
7147*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
7148*3d8817e4Smiod	dst_mask adjustment.
7149*3d8817e4Smiod	(xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
7150*3d8817e4Smiod	(xcoff64_howto_table): Fix src_mask entries.  Make all relocs with
7151*3d8817e4Smiod	bitsize == 16 have size = 1.
7152*3d8817e4Smiod
7153*3d8817e4Smiod2002-08-01  Denis Chertykov  <denisc@overta.ru>
7154*3d8817e4Smiod
7155*3d8817e4Smiod	* elf32-ip2k.c: Processor manufacturer changed to Ubicom.
7156*3d8817e4Smiod	(struct misc): New field isymbuf. All free_* fields removed.
7157*3d8817e4Smiod	(symbol_value): Pass in internal syms. No need to swap syms in.
7158*3d8817e4Smiod	(ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
7159*3d8817e4Smiod	possibly cached info.
7160*3d8817e4Smiod	(tidyup_after_error): Removed.
7161*3d8817e4Smiod	(ip2k_elf_relax_section_pass1): Don't use removed fields of struct
7162*3d8817e4Smiod	misc. Use new field.
7163*3d8817e4Smiod	(adjust_all_relocations): Use internal syms. No need to swap syms
7164*3d8817e4Smiod	in and out.
7165*3d8817e4Smiod	(add_page_insn): Don't use removed fields of struct misc.
7166*3d8817e4Smiod
7167*3d8817e4Smiod2002-08-01  Nick Clifton  <nickc@redhat.com>
7168*3d8817e4Smiod
7169*3d8817e4Smiod	* elf32-arm.h: Revert previous delta.
7170*3d8817e4Smiod
7171*3d8817e4Smiod2002-08-01  Nick Clifton  <nickc@redhat.com>
7172*3d8817e4Smiod
7173*3d8817e4Smiod	* configure.in (AM_INIT_AUTOMAKE): Bump version number.
7174*3d8817e4Smiod	* configure: Regenerate.
7175*3d8817e4Smiod
7176*3d8817e4Smiod2002-07-31  H.J. Lu <hjl@gnu.org>
7177*3d8817e4Smiod
7178*3d8817e4Smiod	* config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
7179*3d8817e4Smiod	selected.
7180*3d8817e4Smiod
7181*3d8817e4Smiod2002-07-31  H.J. Lu <hjl@gnu.org>
7182*3d8817e4Smiod
7183*3d8817e4Smiod	* config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
7184*3d8817e4Smiod	is selected.
7185*3d8817e4Smiod
7186*3d8817e4Smiod2002-07-31  Jakub Jelinek  <jakub@redhat.com>
7187*3d8817e4Smiod
7188*3d8817e4Smiod	* elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
7189*3d8817e4Smiod	if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
7190*3d8817e4Smiod
7191*3d8817e4Smiod2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
7192*3d8817e4Smiod
7193*3d8817e4Smiod	* cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
7194*3d8817e4Smiod	There is no 8 byte relocation type for this architecture.
7195*3d8817e4Smiod	(do_ns32k_reloc): Use bfd_vma instead of native types.
7196*3d8817e4Smiod	(bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
7197*3d8817e4Smiod	returns void.
7198*3d8817e4Smiod	(_bfd_ns32k_put_displacement): Don't check for overflow. We can
7199*3d8817e4Smiod	rely on generic code to do that.
7200*3d8817e4Smiod	* aout-ns32k.c (howto_table): Add appropriate overflow detection
7201*3d8817e4Smiod	to all table entries.
7202*3d8817e4Smiod	(_bfd_ns32k_relocate_contents): put_data returns void.
7203*3d8817e4Smiod	* ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
7204*3d8817e4Smiod	(_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
7205*3d8817e4Smiod	return void.
7206*3d8817e4Smiod
7207*3d8817e4Smiod2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
7208*3d8817e4Smiod
7209*3d8817e4Smiod	* aoutx.h (aout_link_check_ar_symbols): Whether to include an
7210*3d8817e4Smiod	archive object is target dependant.
7211*3d8817e4Smiod
7212*3d8817e4Smiod2002-07-31  Adam Nemet  <anemet@lnxw.com>
7213*3d8817e4Smiod
7214*3d8817e4Smiod	* elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
7215*3d8817e4Smiod	(THUMB_PLT_ENTRY_SIZE): New macro.
7216*3d8817e4Smiod	(PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
7217*3d8817e4Smiod	(elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
7218*3d8817e4Smiod	ARM_PLT_ENTRY_SIZE.
7219*3d8817e4Smiod	(elf32_arm_plt_entry): Likewise.
7220*3d8817e4Smiod	(elf_backend_plt_header_size): Likewise.
7221*3d8817e4Smiod	(elf32_thumb_plt0_entry): New global.
7222*3d8817e4Smiod	(elf32_arm_finish_dynamic_sections): Use it.  Put Thumb entries
7223*3d8817e4Smiod	into .plt.thumb.
7224*3d8817e4Smiod	(elf32_thumb_plt_entry): New global.
7225*3d8817e4Smiod	(elf32_arm_finish_dynamic_symbol): Use it.  Use .thumb.plt for
7226*3d8817e4Smiod	Thumb entries.  Set the bottom bit of the corresponding GOT entry
7227*3d8817e4Smiod	for a Thumb PLT entry.
7228*3d8817e4Smiod	(struct elf32_arm_plt_entry_info): New structure.
7229*3d8817e4Smiod	(struct elf32_arm_link_hash_entry, plt_info): New member of this
7230*3d8817e4Smiod	type.
7231*3d8817e4Smiod	(elf32_arm_link_hash_newfunc): Initialize new member.
7232*3d8817e4Smiod	(elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
7233*3d8817e4Smiod	relocations against the PLT.
7234*3d8817e4Smiod	(elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
7235*3d8817e4Smiod	first_rel_type if this is the first time we encounter the symbol.
7236*3d8817e4Smiod	(elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
7237*3d8817e4Smiod	Determine if relocation needs a PLT entry.  Set first_rel_type if
7238*3d8817e4Smiod	this is the first time we encounter the symbol
7239*3d8817e4Smiod	(elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
7240*3d8817e4Smiod	functions as well.
7241*3d8817e4Smiod	(elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
7242*3d8817e4Smiod	(elf32_arm_create_dynamic_sections): New function.  Create the
7243*3d8817e4Smiod	.plt.thumb section.
7244*3d8817e4Smiod	(elf_backend_create_dynamic_sections): Call it.
7245*3d8817e4Smiod
7246*3d8817e4Smiod2002-07-31  Nick Clifton  <nickc@redhat.com>
7247*3d8817e4Smiod
7248*3d8817e4Smiod	* bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
7249*3d8817e4Smiod	'alternative' in order to avoid shadowing global symbol of the
7250*3d8817e4Smiod	same name.
7251*3d8817e4Smiod	* bfd-in2.h: Regenerate.
7252*3d8817e4Smiod	* libbfd.h: Regenerate.
7253*3d8817e4Smiod	* libcoff.h: Regenerate.
7254*3d8817e4Smiod
7255*3d8817e4Smiod2002-07-31  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7256*3d8817e4Smiod
7257*3d8817e4Smiod	* Makefile.am: Add n32 ABI support.
7258*3d8817e4Smiod	* Makefile.in: Regenerate.
7259*3d8817e4Smiod	* config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
7260*3d8817e4Smiod	bit vectors for mips*-*-linux targets as optional.
7261*3d8817e4Smiod	* configure.in: Add n32 ABI vectors.
7262*3d8817e4Smiod	* configure: Regenerate.
7263*3d8817e4Smiod	* elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
7264*3d8817e4Smiod	* elfn32-mips.c: New file, n32 ABI support.
7265*3d8817e4Smiod	* targets.c: Add n32 ABI vectors.
7266*3d8817e4Smiod
7267*3d8817e4Smiod2002-07-30  Graeme Peterson  <gp@qnx.com>
7268*3d8817e4Smiod
7269*3d8817e4Smiod	* elfarmqnx-nabi.c: New file: Support for QNX.
7270*3d8817e4Smiod	* config.bfd: Add support for arm-*-nto target.
7271*3d8817e4Smiod	* configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
7272*3d8817e4Smiod	* configure: Regenerate.
7273*3d8817e4Smiod	* Makefile.am: Add entries for elfarmqnx-nabi.c.
7274*3d8817e4Smiod	* Makefile.in: Regenerate.
7275*3d8817e4Smiod	* elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
7276*3d8817e4Smiod	Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
7277*3d8817e4Smiod	* elfarm-nabi.c: Do not include elf32-arm.h if
7278*3d8817e4Smiod	ELFARM_NABI_C_INCLUDED is defined.
7279*3d8817e4Smiod	* targets.c: Add bfd_elf32_{big|little}armqnx_vec.
7280*3d8817e4Smiod
7281*3d8817e4Smiod2002-07-30  Nick Clifton  <nickc@redhat.com>
7282*3d8817e4Smiod
7283*3d8817e4Smiod	* po/sv.po: Updated Swedish translation.
7284*3d8817e4Smiod
7285*3d8817e4Smiod2002-07-30  Jakub Jelinek  <jakub@redhat.com>
7286*3d8817e4Smiod
7287*3d8817e4Smiod	* elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
7288*3d8817e4Smiod
7289*3d8817e4Smiod2002-07-30  Alan Modra  <amodra@bigpond.net.au>
7290*3d8817e4Smiod
7291*3d8817e4Smiod	* aoutx.h (some_aout_object_p): Clean up tdata properly on error.
7292*3d8817e4Smiod	* archive.c (bfd_generic_archive_p): Likewise.
7293*3d8817e4Smiod	* coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
7294*3d8817e4Smiod	(_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
7295*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
7296*3d8817e4Smiod	(xcoff64_archive_p): Likewise.
7297*3d8817e4Smiod	(xcoff64_openr_next_archived_file): Likewise.
7298*3d8817e4Smiod	(xcoff64_archive_p): Clean up tdata properly on error.
7299*3d8817e4Smiod	* coffgen.c (coff_real_object_p): Likewise.
7300*3d8817e4Smiod	(coff_object_p): Release filehdr and opthdr.
7301*3d8817e4Smiod	* ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
7302*3d8817e4Smiod	* ieee.c (ieee_archive_p): Likewise.
7303*3d8817e4Smiod	* ihex.c (ihex_object_p): Likewise.
7304*3d8817e4Smiod	(ihex_mkobject): Always allocate tdata.
7305*3d8817e4Smiod	* peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
7306*3d8817e4Smiod	* srec.c (srec_mkobject): Always allocate tdata.
7307*3d8817e4Smiod	(srec_object_p): Clean up tdata properly on error.
7308*3d8817e4Smiod	(symbolsrec_object_p): Likewise.
7309*3d8817e4Smiod	* versados.c (versados_object_p): Likewise.
7310*3d8817e4Smiod	* vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
7311*3d8817e4Smiod	and bfd_realloc instead of realloc.
7312*3d8817e4Smiod	(add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
7313*3d8817e4Smiod	* vms.c (vms_initialize): Always allocate tdata.  Use bfd_alloc in
7314*3d8817e4Smiod	place of bfd_malloc, simplifying error freeing.  Free hash table too.
7315*3d8817e4Smiod	(vms_object_p): Clean up tdata on error.
7316*3d8817e4Smiod	(vms_mkobject): Don't complain on stderr if vms_initialize fails.
7317*3d8817e4Smiod	(vms_close_and_cleanup): Adjust for bfd_alloc use.
7318*3d8817e4Smiod
7319*3d8817e4Smiod2002-07-30  Alan Modra  <amodra@bigpond.net.au>
7320*3d8817e4Smiod
7321*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
7322*3d8817e4Smiod
7323*3d8817e4Smiod2002-07-26  Chris Demetriou  <cgd@broadcom.com>
7324*3d8817e4Smiod
7325*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
7326*3d8817e4Smiod	flags into resulting BFD.
7327*3d8817e4Smiod
7328*3d8817e4Smiod2002-07-26  Alan Modra  <amodra@bigpond.net.au>
7329*3d8817e4Smiod
7330*3d8817e4Smiod	From John Reiser <jreiser@BitWagon.com>
7331*3d8817e4Smiod	* elf32-i386.c (elf_i386_link_hash_table_create): Clear
7332*3d8817e4Smiod	tls_ldm_got.refcount.
7333*3d8817e4Smiod
7334*3d8817e4Smiod2002-07-25  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7335*3d8817e4Smiod
7336*3d8817e4Smiod	* elf64-mips.c: Update TODO comment.
7337*3d8817e4Smiod	(mips_elf64_higher_reloc,mips_elf64_highest_reloc,
7338*3d8817e4Smiod	mips_elf64_gprel16_reloca): Remove prototypes.
7339*3d8817e4Smiod	(mips16_jump_reloc,mips16_gprel_reloc): Add functions.
7340*3d8817e4Smiod	(UNUSED_RELOC): Replace by EMPTY_RELOC.
7341*3d8817e4Smiod	(mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
7342*3d8817e4Smiod	wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
7343*3d8817e4Smiod	R_MIPS_HIGHEST.
7344*3d8817e4Smiod	(mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
7345*3d8817e4Smiod	R_MIPS_GOT16. Remove wrong comments.
7346*3d8817e4Smiod	(elf_mips16_jump_howto,elf_mips16_gprel_howto,
7347*3d8817e4Smiod	elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
7348*3d8817e4Smiod	from elf32-mips.c.
7349*3d8817e4Smiod	(mips_elf64_hi16_reloc): Fix formatting.
7350*3d8817e4Smiod	(mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
7351*3d8817e4Smiod	(mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
7352*3d8817e4Smiod	Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
7353*3d8817e4Smiod	(mips_elf64_gprel16_reloc): Make static. Add check for
7354*3d8817e4Smiod	partial_inplace.
7355*3d8817e4Smiod	(mips_elf64_gprel16_reloca): Remove.
7356*3d8817e4Smiod	(mips_elf64_literal_reloc): New function.
7357*3d8817e4Smiod	(mips_elf64_gprel32_reloc): Fix formatting.
7358*3d8817e4Smiod	(mips_elf64_shift6_reloc): Fix comment. Make static.
7359*3d8817e4Smiod	(mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
7360*3d8817e4Smiod	elf32-mips.c.
7361*3d8817e4Smiod	(elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
7362*3d8817e4Smiod	elf32-mips.c
7363*3d8817e4Smiod	(bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
7364*3d8817e4Smiod	specific relocations.
7365*3d8817e4Smiod	(mips_elf64_rtype_to_howto): Enable GNU specific relocations.
7366*3d8817e4Smiod	(mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
7367*3d8817e4Smiod	(ELF_MAXPAGESIZE): Add comment.
7368*3d8817e4Smiod
7369*3d8817e4Smiod2002-07-25  Nick Clifton  <nickc@redhat.com>
7370*3d8817e4Smiod
7371*3d8817e4Smiod	* po/sv.po: Updated Swedish translation.
7372*3d8817e4Smiod	* po/es.po: Updated Spanish translation.
7373*3d8817e4Smiod	* po/fr.po: Updated French translation.
7374*3d8817e4Smiod
7375*3d8817e4Smiod2002-07-25  Alan Modra  <amodra@bigpond.net.au>
7376*3d8817e4Smiod
7377*3d8817e4Smiod	* elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
7378*3d8817e4Smiod	as elf_link_record_local_dynamic_symbol.
7379*3d8817e4Smiod	(_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
7380*3d8817e4Smiod	(elf_link_record_local_dynamic_symbol): Declare.  Now returns int.
7381*3d8817e4Smiod	* elflink.h (elf_link_record_local_dynamic_symbol): Move to..
7382*3d8817e4Smiod	* elflink.c: .. here.  Use bfd_elf_get_elf_syms.  Check whether an
7383*3d8817e4Smiod	attempt is made to record a symbol in a discarded section, and
7384*3d8817e4Smiod	return `2' in that case.
7385*3d8817e4Smiod
7386*3d8817e4Smiod2002-07-24  Nick Clifton  <nickc@redhat.com>
7387*3d8817e4Smiod
7388*3d8817e4Smiod	* po/sv.po: Updated Swedish translation.
7389*3d8817e4Smiod	* po/es.po: Updated Spanish translation.
7390*3d8817e4Smiod
7391*3d8817e4Smiod2002-07-23  Alan Modra  <amodra@bigpond.net.au>
7392*3d8817e4Smiod
7393*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
7394*3d8817e4Smiod
7395*3d8817e4Smiod	* elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
7396*3d8817e4Smiod	immediately.  Remove code handling relocatable linking.
7397*3d8817e4Smiod	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
7398*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section): Likewise.
7399*3d8817e4Smiod	* elf32-fr30.c (elf32_frv_relocate_section): Likewise.
7400*3d8817e4Smiod	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
7401*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
7402*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
7403*3d8817e4Smiod	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
7404*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
7405*3d8817e4Smiod	* elf32-v850.c (v850_elf_relocate_section): Likewise.
7406*3d8817e4Smiod	* elf32-vax.c (elf_vax_relocate_section): Likewise.
7407*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
7408*3d8817e4Smiod	* elf32-avr.c (elf_backend_rela_normal): Define.
7409*3d8817e4Smiod	* elf32-cris.c: Likewise.
7410*3d8817e4Smiod	* elf32-fr30.c: Likewise.
7411*3d8817e4Smiod	* elf32-frv.c: Likewise.
7412*3d8817e4Smiod	* elf32-h8300.c: Likewise.
7413*3d8817e4Smiod	* elf32-hppa.c: Likewise.
7414*3d8817e4Smiod	* elf32-ip2k.c: Likewise.
7415*3d8817e4Smiod	* elf32-sparc.c: Likewise.
7416*3d8817e4Smiod	* elf32-v850.c: Likewise.
7417*3d8817e4Smiod	* elf32-vax.c: Likewise.
7418*3d8817e4Smiod	* elf64-hppa.c: Likewise.
7419*3d8817e4Smiod	* elf64-sparc.c: Likewise.
7420*3d8817e4Smiod	* elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
7421*3d8817e4Smiod	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
7422*3d8817e4Smiod	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
7423*3d8817e4Smiod	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
7424*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
7425*3d8817e4Smiod	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
7426*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
7427*3d8817e4Smiod	* elf-m10200.c (USE_RELA): Don't define.
7428*3d8817e4Smiod	* elf-m10300.c: Likewise.
7429*3d8817e4Smiod	* elfarm-oabi.c: Likewise.
7430*3d8817e4Smiod	* elf32-i370.c: Likewise.
7431*3d8817e4Smiod	* elf32-ip2k.c: Likewise.
7432*3d8817e4Smiod	* elf32-m68k.c: Likewise.
7433*3d8817e4Smiod	* elf32-mcore.c: Likewise.
7434*3d8817e4Smiod	* elf32-ppc.c: Likewise.
7435*3d8817e4Smiod	* elf32-s390.c: Likewise.
7436*3d8817e4Smiod	* elf32-vax.c: Likewise.
7437*3d8817e4Smiod	* elf64-ppc.c: Likewise.
7438*3d8817e4Smiod	* elf64-s390.c: Likewise.
7439*3d8817e4Smiod	* elf64-x86-64.c: Likewise.
7440*3d8817e4Smiod	* elfxx-ia64.c: Likewise.
7441*3d8817e4Smiod	* elf32-avr.c (USE_REL): Don't undef.
7442*3d8817e4Smiod	* elf32-ip2k.c: Likewise.
7443*3d8817e4Smiod
7444*3d8817e4Smiod2002-07-23  Nick Clifton  <nickc@redhat.com>
7445*3d8817e4Smiod
7446*3d8817e4Smiod	* elf-bfd.h (struct elf_backend_data): Add new bitfield
7447*3d8817e4Smiod	'want_p_paddr_set_to_zero'.
7448*3d8817e4Smiod	* elfxx-target.h: Set default value for want_p_paddr_set_to_zero
7449*3d8817e4Smiod	to false;
7450*3d8817e4Smiod	* elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
7451*3d8817e4Smiod	* elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
7452*3d8817e4Smiod
7453*3d8817e4Smiod2002-07-23  Gabor Keresztfalvi  <keresztg@mail.com>
7454*3d8817e4Smiod
7455*3d8817e4Smiod	* nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
7456*3d8817e4Smiod	the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
7457*3d8817e4Smiod	show the Copyright string.
7458*3d8817e4Smiod	Minor formatting tidy ups.
7459*3d8817e4Smiod
7460*3d8817e4Smiod2002-07-23  Nick Clifton  <nickc@redhat.com>
7461*3d8817e4Smiod
7462*3d8817e4Smiod	* po/fr.po: Updated French translation.
7463*3d8817e4Smiod	* po/sv.po: Updated Swedish translation.
7464*3d8817e4Smiod
7465*3d8817e4Smiod2002-07-23  Alan Modra  <amodra@bigpond.net.au>
7466*3d8817e4Smiod
7467*3d8817e4Smiod	* elflink.h (elf_link_input_bfd): Don't change internal symbols
7468*3d8817e4Smiod	when outputting relocs.
7469*3d8817e4Smiod
7470*3d8817e4Smiod2002-07-20  Jason Thorpe  <thorpej@wasabisystems.com>
7471*3d8817e4Smiod
7472*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
7473*3d8817e4Smiod	DT_PLTGOT into the dynamic section if there is a PLT.
7474*3d8817e4Smiod
7475*3d8817e4Smiod2002-07-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7476*3d8817e4Smiod
7477*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
7478*3d8817e4Smiod	elf32-mips.c.
7479*3d8817e4Smiod	(_bfd_mips_elf_write_section): Likewise.
7480*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
7481*3d8817e4Smiod	(_bfd_mips_elf_write_section): Likewise.
7482*3d8817e4Smiod	* elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
7483*3d8817e4Smiod	(elf32_mips_write_section): Likewise.
7484*3d8817e4Smiod	* elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
7485*3d8817e4Smiod	(_bfd_mips_elf_write_section): Likewise.
7486*3d8817e4Smiod
7487*3d8817e4Smiod2002-07-19  Alan Modra  <amodra@bigpond.net.au>
7488*3d8817e4Smiod
7489*3d8817e4Smiod	* elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
7490*3d8817e4Smiod	PT_IA_64_UNWIND segments for a given section.
7491*3d8817e4Smiod
7492*3d8817e4Smiod2002-07-17  H.J. Lu <hjl@gnu.org>
7493*3d8817e4Smiod
7494*3d8817e4Smiod	* Makefile.am: Fix a typo.
7495*3d8817e4Smiod	* Makefile.in: Regenerate.
7496*3d8817e4Smiod
7497*3d8817e4Smiod2002-07-15  Denis Chertykov  <denisc@overta.ru>
7498*3d8817e4Smiod	    Frank Ch. Eigler  <fche@redhat.com>
7499*3d8817e4Smiod	    Ben Elliston  <bje@redhat.com>
7500*3d8817e4Smiod	    Alan Lehotsky  <alehotsky@cygnus.com>
7501*3d8817e4Smiod	    John Healy  <jhealy@redhat.com>
7502*3d8817e4Smiod	    Graham Stott  <grahams@redhat.com>
7503*3d8817e4Smiod	    Jeff Johnston  <jjohnstn@redhat.com>
7504*3d8817e4Smiod
7505*3d8817e4Smiod	* Makefile.am: Add support for ip2k.
7506*3d8817e4Smiod	* Makefile.in: Regenerate.
7507*3d8817e4Smiod	* doc/Makefile.in: Regenerate.
7508*3d8817e4Smiod	* archures.c: Add support for ip2k.
7509*3d8817e4Smiod	* config.bfd: Add support for ip2k.
7510*3d8817e4Smiod	* configure.in: Add support for ip2k.
7511*3d8817e4Smiod	* configure: Regenerate.
7512*3d8817e4Smiod	* reloc.c: Add support for ip2k.
7513*3d8817e4Smiod	* targets.c: Add support for ip2k.
7514*3d8817e4Smiod	* bfd-in2.h: Regenerate.
7515*3d8817e4Smiod	* libbfd.h: Regenerate.
7516*3d8817e4Smiod	* cpu-ip2k.c: New file.
7517*3d8817e4Smiod	* elf32-ip2k.c: New file.
7518*3d8817e4Smiod
7519*3d8817e4Smiod2002-07-17  Ian Rickards  <irickard@arm.com>
7520*3d8817e4Smiod
7521*3d8817e4Smiod	* dwarf2.c (concat_filename): If we can't establish the directory
7522*3d8817e4Smiod	just return the filename.
7523*3d8817e4Smiod
7524*3d8817e4Smiod2002-07-16  Moritz Jodeit  <moritz@jodeit.org>
7525*3d8817e4Smiod
7526*3d8817e4Smiod	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
7527*3d8817e4Smiod
7528*3d8817e4Smiod2002-07-16  Alan Modra  <amodra@bigpond.net.au>
7529*3d8817e4Smiod
7530*3d8817e4Smiod	* elflink.h: Formatting fixes, tidy prototypes.
7531*3d8817e4Smiod	(elf_link_assign_sym_version): Move common code out of loop.
7532*3d8817e4Smiod
7533*3d8817e4Smiod2002-07-16  Alan Modra  <amodra@bigpond.net.au>
7534*3d8817e4Smiod
7535*3d8817e4Smiod	* elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
7536*3d8817e4Smiod	reloc section size is zero.  Correct reloc output location.
7537*3d8817e4Smiod
7538*3d8817e4Smiod2002-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7539*3d8817e4Smiod
7540*3d8817e4Smiod	* elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
7541*3d8817e4Smiod	the final type for the e_fsel selector when generating PA2.0W code.
7542*3d8817e4Smiod	(elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
7543*3d8817e4Smiod	relocations.
7544*3d8817e4Smiod
7545*3d8817e4Smiod2002-07-14  H.J. Lu <hjl@gnu.org>
7546*3d8817e4Smiod
7547*3d8817e4Smiod	* elflink.h (elf_link_assign_sym_version): Hide the default
7548*3d8817e4Smiod	definition if there is a hidden versioned definition.
7549*3d8817e4Smiod
7550*3d8817e4Smiod2002-07-12  Hans-Peter Nilsson  <hp@axis.com>
7551*3d8817e4Smiod
7552*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
7553*3d8817e4Smiod	dynamic reference test in assertion when initializing GOT with
7554*3d8817e4Smiod	static contents.  Just assert that there are either no dynamic
7555*3d8817e4Smiod	sections, the symbol is defined in the regular objects or that the
7556*3d8817e4Smiod	symbol is undef weak.  Tweak comment.
7557*3d8817e4Smiod	(elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
7558*3d8817e4Smiod	only if the symbol isn't defined in the program and isn't undef
7559*3d8817e4Smiod	weak.
7560*3d8817e4Smiod	(elf_cris_adjust_dynamic_symbol): Simplify condition for getting
7561*3d8817e4Smiod	rid of PLT entry: only do it if the symbol isn't defined in a DSO.
7562*3d8817e4Smiod	When doing so, clear ELF_LINK_HASH_NEEDS_PLT.  Tweak comments.
7563*3d8817e4Smiod	(elf_cris_discard_excess_program_dynamics): Don't consider
7564*3d8817e4Smiod	ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
7565*3d8817e4Smiod
7566*3d8817e4Smiod2002-07-11  Alan Modra  <amodra@bigpond.net.au>
7567*3d8817e4Smiod
7568*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Don't complain about
7569*3d8817e4Smiod	unresolved debugging relocs in dynamic applications.
7570*3d8817e4Smiod	* elf32-s390.c (elf_s390_relocate_section): Likewise.
7571*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
7572*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
7573*3d8817e4Smiod	* elf64-s390.c (elf_s390_relocate_section): Likewise.
7574*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
7575*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
7576*3d8817e4Smiod
7577*3d8817e4Smiod2002-07-10  Alan Modra  <amodra@bigpond.net.au>
7578*3d8817e4Smiod
7579*3d8817e4Smiod	* elf64-ppc.c (ONES): Define.
7580*3d8817e4Smiod	(ppc64_elf_howto_table): Use ONES here to avoid warnings.  Fill in
7581*3d8817e4Smiod	missing src_mask fields.  Tweak R_PPC64_NONE, R_PPC64_COPY.  Fill
7582*3d8817e4Smiod	in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
7583*3d8817e4Smiod
7584*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
7585*3d8817e4Smiod	(ppc64_elf_set_private_flags): Delete.
7586*3d8817e4Smiod	(ppc64_elf_section_from_shdr): Delete.
7587*3d8817e4Smiod	(ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
7588*3d8817e4Smiod	(ppc64_elf_fake_sections): Delete.
7589*3d8817e4Smiod	(bfd_elf64_bfd_set_private_flags): Don't define.
7590*3d8817e4Smiod	(bfd_elf64_get_symbol_info): Likewise.
7591*3d8817e4Smiod	(elf_backend_section_from_shdr): Likewise.
7592*3d8817e4Smiod	(elf_backend_fake_sections): Likewise.
7593*3d8817e4Smiod
7594*3d8817e4Smiod2002-07-10  Marco Walther  <Marco.Walther@sun.com>
7595*3d8817e4Smiod
7596*3d8817e4Smiod	* elf.c: (assign_section_numbers) Set sh_entsize for .stab only
7597*3d8817e4Smiod	when not already set.
7598*3d8817e4Smiod	* elf64-sparc.c: (sparc64_elf_fake_sections): New function.
7599*3d8817e4Smiod	(elf_backend_fake_sections): Define.
7600*3d8817e4Smiod
7601*3d8817e4Smiod2002-07-10  Alan Modra  <amodra@bigpond.net.au>
7602*3d8817e4Smiod
7603*3d8817e4Smiod	* merge.c (_bfd_merge_section): Remove redundant output_section check.
7604*3d8817e4Smiod	Formatting.
7605*3d8817e4Smiod	(_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
7606*3d8817e4Smiod
7607*3d8817e4Smiod2002-07-09  Hans-Peter Nilsson  <hp@axis.com>
7608*3d8817e4Smiod
7609*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
7610*3d8817e4Smiod	NULL sym_hashes to just before use.
7611*3d8817e4Smiod	<case R_CRIS_32_GOTREL>: In test for local symbol, accept also
7612*3d8817e4Smiod	symbol with non-default visibility.
7613*3d8817e4Smiod	<case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
7614*3d8817e4Smiod	<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
7615*3d8817e4Smiod	Ditto.
7616*3d8817e4Smiod	(cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
7617*3d8817e4Smiod	symbol with non-default visibility.
7618*3d8817e4Smiod	(cris_elf_check_relocs): At tests for local symbol before
7619*3d8817e4Smiod	increasing h->plt.refcount, also check for non-default
7620*3d8817e4Smiod	visibility.  Ditto when checking for local symbol to eliminate
7621*3d8817e4Smiod	pc-relative runtime relocs.
7622*3d8817e4Smiod
7623*3d8817e4Smiod2002-07-08  Alan Modra  <amodra@bigpond.net.au>
7624*3d8817e4Smiod
7625*3d8817e4Smiod	* elf.c: Formatting.
7626*3d8817e4Smiod	(IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
7627*3d8817e4Smiod	(INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
7628*3d8817e4Smiod	(copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
7629*3d8817e4Smiod	segments.
7630*3d8817e4Smiod
7631*3d8817e4Smiod2002-07-07  Mark Mitchell  <mark@codesourcery.com>
7632*3d8817e4Smiod	    Alan Modra  <amodra@bigpond.net.au>
7633*3d8817e4Smiod
7634*3d8817e4Smiod	* cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
7635*3d8817e4Smiod	account the impact of relocation count overflow when computing
7636*3d8817e4Smiod	section offsets.
7637*3d8817e4Smiod	* coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
7638*3d8817e4Smiod	or not to apply the PE COFF reloc overflow handling.  Fix a
7639*3d8817e4Smiod	fencepost error in deciding whether or not to use that technique.
7640*3d8817e4Smiod
7641*3d8817e4Smiod2002-07-07  Alan Modra  <amodra@bigpond.net.au>
7642*3d8817e4Smiod
7643*3d8817e4Smiod	* elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
7644*3d8817e4Smiod	change type of locsyms.
7645*3d8817e4Smiod	(bfd_elf_get_elf_syms): Declare.
7646*3d8817e4Smiod	* elf.c (bfd_elf_get_elf_syms): New function.
7647*3d8817e4Smiod	(group_signature): Use bfd_elf_get_elf_syms.
7648*3d8817e4Smiod	(bfd_section_from_r_symndx): Likewise.
7649*3d8817e4Smiod	* elfcode.h (elf_slurp_symbol_table): Likewise.
7650*3d8817e4Smiod	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
7651*3d8817e4Smiod	(elf_link_add_object_symbols): Likewise.  Reorganise to increase
7652*3d8817e4Smiod	locality of various data structures.  Properly free internal relocs.
7653*3d8817e4Smiod	(elf_bfd_final_link): Properly free internal relocs.
7654*3d8817e4Smiod	(elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
7655*3d8817e4Smiod	(elf_link_input_bfd): Likewise.
7656*3d8817e4Smiod	(elf_gc_mark): Likewise.  Properly free internal relocs.
7657*3d8817e4Smiod	(elf_gc_sweep): Properly free internal relocs.
7658*3d8817e4Smiod	(elf_reloc_symbol_deleted_p): No need to swap syms in.
7659*3d8817e4Smiod	(elf_bfd_discard_info): Use bfd_elf_get_elf_syms.  Properly free
7660*3d8817e4Smiod	internal relocs.
7661*3d8817e4Smiod	* elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
7662*3d8817e4Smiod	Properly free possibly cached info.
7663*3d8817e4Smiod	(mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
7664*3d8817e4Smiod	(mn10200_elf_symbol_address_p): Pass in internal syms.  Remove
7665*3d8817e4Smiod	symbol swapping code.
7666*3d8817e4Smiod	(mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
7667*3d8817e4Smiod	Properly free possibly cached info.
7668*3d8817e4Smiod	* elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
7669*3d8817e4Smiod	(mn10300_elf_relax_delete_bytes): Likewise.
7670*3d8817e4Smiod	(mn10300_elf_symbol_address_p): Likewise.
7671*3d8817e4Smiod	(mn10300_elf_get_relocated_section_contents): Likewise.
7672*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
7673*3d8817e4Smiod	(elf32_h8_relax_delete_bytes): Likewise.
7674*3d8817e4Smiod	(elf32_h8_symbol_address_p): Likewise.
7675*3d8817e4Smiod	(elf32_h8_get_relocated_section_contents): Likewise.
7676*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
7677*3d8817e4Smiod	(m32r_elf_relax_delete_bytes): Likewise.
7678*3d8817e4Smiod	(m32r_elf_get_relocated_section_contents): Likewise.
7679*3d8817e4Smiod	* elf32-sh.c (sh_elf_reloc_loop): Free section contents using
7680*3d8817e4Smiod	elf_section_data to determine whether cached.
7681*3d8817e4Smiod	(sh_elf_relax_section): As above for elf-m10200.c.
7682*3d8817e4Smiod	(sh_elf_relax_delete_bytes): Likewise.
7683*3d8817e4Smiod	(sh_elf_get_relocated_section_contents): Likewise.
7684*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
7685*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relax_section): As above.  Also delay
7686*3d8817e4Smiod	reading of local syms.
7687*3d8817e4Smiod	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
7688*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
7689*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): As above.
7690*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
7691*3d8817e4Smiod	relocs.
7692*3d8817e4Smiod	* elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
7693*3d8817e4Smiod	free internal relocs and section contents.  Don't read symbols.
7694*3d8817e4Smiod	* elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
7695*3d8817e4Smiod	(elf32_hppa_size_stubs): Don't free local syms.
7696*3d8817e4Smiod	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
7697*3d8817e4Smiod	reading of local syms.  Use bfd_elf_get_elf_syms.  Properly free
7698*3d8817e4Smiod	possibly cached info.
7699*3d8817e4Smiod	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
7700*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
7701*3d8817e4Smiod	* elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
7702*3d8817e4Smiod	all_local_syms.
7703*3d8817e4Smiod	(get_local_syms): Delete function.
7704*3d8817e4Smiod	(edit_opd): Use bfd_elf_get_elf_syms.  Free on error exit.  Cache
7705*3d8817e4Smiod	on exit.
7706*3d8817e4Smiod	(ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms.  Free/cache on exit.
7707*3d8817e4Smiod
7708*3d8817e4Smiod2002-07-05  Jim Wilson  <wilson@redhat.com>
7709*3d8817e4Smiod
7710*3d8817e4Smiod	* syms.c (decode_section_type): New.
7711*3d8817e4Smiod	(bfd_decode_symclass): Call decode_section_type.
7712*3d8817e4Smiod
7713*3d8817e4Smiod2002-07-04  Jakub Jelinek  <jakub@redhat.com>
7714*3d8817e4Smiod
7715*3d8817e4Smiod	* merge.c (_bfd_merged_section_offset): Avoid accessing byte before
7716*3d8817e4Smiod	section content start.
7717*3d8817e4Smiod	Reported by Michael Schumacher <mike@hightec-rt.com>.
7718*3d8817e4Smiod
7719*3d8817e4Smiod2002-07-04  Alan Modra  <amodra@bigpond.net.au>
7720*3d8817e4Smiod
7721*3d8817e4Smiod	* section.c (_bfd_strip_section_from_output): Remove unnecessary
7722*3d8817e4Smiod	link order code.  Don't actually remove the output section here;
7723*3d8817e4Smiod	Just set a flag for the linker to do so.
7724*3d8817e4Smiod	* elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
7725*3d8817e4Smiod	sections when setting up output section dynsyms.
7726*3d8817e4Smiod
7727*3d8817e4Smiod2002-07-04  Alan Modra  <amodra@bigpond.net.au>
7728*3d8817e4Smiod
7729*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
7730*3d8817e4Smiod	fudge.
7731*3d8817e4Smiod	* elf.c (bfd_section_from_shdr): Work around broken hpux shared
7732*3d8817e4Smiod	libs here instead.
7733*3d8817e4Smiod
7734*3d8817e4Smiod2002-07-02  Martin Schwidefsky  <schwidefsky@de.ibm.com>
7735*3d8817e4Smiod
7736*3d8817e4Smiod	* elf64-s390.c (create_got_section): Set .got section alignment to
7737*3d8817e4Smiod	8 bytes.
7738*3d8817e4Smiod	(elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
7739*3d8817e4Smiod
7740*3d8817e4Smiod2002-07-02  Alan Modra  <amodra@bigpond.net.au>
7741*3d8817e4Smiod
7742*3d8817e4Smiod	* elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
7743*3d8817e4Smiod
7744*3d8817e4Smiod2002-07-01  Matt Thomas  <matt@3am-software.com>
7745*3d8817e4Smiod
7746*3d8817e4Smiod	* elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
7747*3d8817e4Smiod	to EF_VAX_*.
7748*3d8817e4Smiod
7749*3d8817e4Smiod2002-07-01  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7750*3d8817e4Smiod
7751*3d8817e4Smiod	* elfxx-mips.c (ABI_64_P): Fix comment.
7752*3d8817e4Smiod	(MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
7753*3d8817e4Smiod	new section names for N64 ABI.
7754*3d8817e4Smiod	(mips_elf_output_extsym): No special _gp_disp handling for NewABI.
7755*3d8817e4Smiod	(mips_elf_calculate_relocation): Code formatting.
7756*3d8817e4Smiod	(mips_elf_create_dynamic_relocation): Likewise.
7757*3d8817e4Smiod	(_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
7758*3d8817e4Smiod	(_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
7759*3d8817e4Smiod	(_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
7760*3d8817e4Smiod	in any NewABI.
7761*3d8817e4Smiod	(_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
7762*3d8817e4Smiod	for NewABI.
7763*3d8817e4Smiod	(_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
7764*3d8817e4Smiod	(_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
7765*3d8817e4Smiod	here, too.
7766*3d8817e4Smiod
7767*3d8817e4Smiod2002-07-01  Andreas Schwab  <schwab@suse.de>
7768*3d8817e4Smiod
7769*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
7770*3d8817e4Smiod	R_X86_64_64 to R_X86_64_RELATIVE.
7771*3d8817e4Smiod
7772*3d8817e4Smiod2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7773*3d8817e4Smiod
7774*3d8817e4Smiod	* vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
7775*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
7776*3d8817e4Smiod	Run "make dep-am".
7777*3d8817e4Smiod	* config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
7778*3d8817e4Smiod	host_aout_vec.
7779*3d8817e4Smiod	* configure.in (vaxbsd_vec): Add.
7780*3d8817e4Smiod	* targets.c (vaxbsd_vec): Add.
7781*3d8817e4Smiod	* Makefile.in: Rebuild.
7782*3d8817e4Smiod	* configure: Rebuild.
7783*3d8817e4Smiod	* po/SRC-POTFILES.in: Rebuild.
7784*3d8817e4Smiod
7785*3d8817e4Smiod2002-07-01  Alan Modra  <amodra@bigpond.net.au>
7786*3d8817e4Smiod
7787*3d8817e4Smiod	* elflink.h (elf_gc_mark): Pass in the section whose relocs we are
7788*3d8817e4Smiod	examining to gc_mark_hook, rather than the bfd.
7789*3d8817e4Smiod	(elf_gc_sections): Adjust.
7790*3d8817e4Smiod	* elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
7791*3d8817e4Smiod	* elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
7792*3d8817e4Smiod	* elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
7793*3d8817e4Smiod	* elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
7794*3d8817e4Smiod	* elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
7795*3d8817e4Smiod	* elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
7796*3d8817e4Smiod	* elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
7797*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
7798*3d8817e4Smiod	* elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
7799*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
7800*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
7801*3d8817e4Smiod	* elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
7802*3d8817e4Smiod	* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
7803*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
7804*3d8817e4Smiod	* elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
7805*3d8817e4Smiod	* elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
7806*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
7807*3d8817e4Smiod	* elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
7808*3d8817e4Smiod	* elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
7809*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
7810*3d8817e4Smiod	* elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
7811*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
7812*3d8817e4Smiod	* elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
7813*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
7814*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
7815*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
7816*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
7817*3d8817e4Smiod	* elf32-frv.c (elf32_frv_gc_mark_hook): Likewise.  Also remove
7818*3d8817e4Smiod	redundant local sym tests.
7819*3d8817e4Smiod	* elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
7820*3d8817e4Smiod	(link_hash_newfunc): Init is_entry.
7821*3d8817e4Smiod	(ppc64_elf_copy_indirect_symbol): Copy is_entry.
7822*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): Init all_local_syms.
7823*3d8817e4Smiod	(create_linkage_sections): Use bfd_make_section_anyway rather than
7824*3d8817e4Smiod	bfd_make_section.
7825*3d8817e4Smiod	(ppc64_elf_mark_entry_syms): New function.
7826*3d8817e4Smiod	(ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab.  Set
7827*3d8817e4Smiod	up opd entry to function section map.
7828*3d8817e4Smiod	(ppc64_elf_gc_mark_hook): Special case opd section relocs, and
7829*3d8817e4Smiod	relocs that reference the opd section.
7830*3d8817e4Smiod	(edit_opd): New function.
7831*3d8817e4Smiod	(ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
7832*3d8817e4Smiod	(ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
7833*3d8817e4Smiod	(get_local_syms): Do so here.  Exit if we already have local syms.
7834*3d8817e4Smiod	Remove bogus comment imported from elf32-hppa.c.  Don't attempt to
7835*3d8817e4Smiod	read local syms on non-ELF input.
7836*3d8817e4Smiod	(ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
7837*3d8817e4Smiod	than duplicating it's function here.  Adjust free of internal
7838*3d8817e4Smiod	relocs to suit.
7839*3d8817e4Smiod	(ppc64_elf_relocate_section): Adjust local syms in opd section.
7840*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
7841*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_size_stubs): Call
7842*3d8817e4Smiod	_bfd_elf32_link_read_relocs rather than duplicating it's function
7843*3d8817e4Smiod	here.  Adjust free of internal relocs to suit.
7844*3d8817e4Smiod
7845*3d8817e4Smiod2002-07-01  Andreas Jaeger  <aj@suse.de>
7846*3d8817e4Smiod
7847*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
7848*3d8817e4Smiod	are not allowed in shared libs code, enforce -fPIC.
7849*3d8817e4Smiod
7850*3d8817e4Smiod2002-06-29  Hans-Peter Nilsson  <hp@bitrange.com>
7851*3d8817e4Smiod
7852*3d8817e4Smiod	* mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
7853*3d8817e4Smiod	trailing zero-sequences when there's previous left-over data.
7854*3d8817e4Smiod
7855*3d8817e4Smiod2002-06-27  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7856*3d8817e4Smiod
7857*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
7858*3d8817e4Smiod	(elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
7859*3d8817e4Smiod	and opd_rel_sec in order for starting rela section.  Check _raw_size.
7860*3d8817e4Smiod	(elf_backend_reloc_type_class): Define.
7861*3d8817e4Smiod
7862*3d8817e4Smiod2002-06-27  Kevin Buettner <kevinb@redhat.com>
7863*3d8817e4Smiod
7864*3d8817e4Smiod	* dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
7865*3d8817e4Smiod	DWARF2 formats.
7866*3d8817e4Smiod
7867*3d8817e4Smiod2002-06-27  Alan Modra  <amodra@bigpond.net.au>
7868*3d8817e4Smiod
7869*3d8817e4Smiod	* cpu-powerpc.c: Comment on ordering of arch_info.
7870*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_object_p): New function.
7871*3d8817e4Smiod	(elf_backend_object_p): Define.
7872*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_object_p): New function.
7873*3d8817e4Smiod	(elf_backend_object_p): Define.
7874*3d8817e4Smiod
7875*3d8817e4Smiod2002-06-26  Jason Thorpe  <thorpej@wasabisystems.com>
7876*3d8817e4Smiod
7877*3d8817e4Smiod	* configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
7878*3d8817e4Smiod	* configure: Regenerate.
7879*3d8817e4Smiod
7880*3d8817e4Smiod2002-06-25  Jason Eckhardt  <jle@rice.edu>
7881*3d8817e4Smiod
7882*3d8817e4Smiod	* dwarf2.c (decode_line_info): Check unit->addr_size
7883*3d8817e4Smiod	to read in the proper number of prologue bytes.
7884*3d8817e4Smiod
7885*3d8817e4Smiod2002-06-25  Nick Clifton  <nickc@cambridge.redhat.com>
7886*3d8817e4Smiod
7887*3d8817e4Smiod	* config.bfd (powerpc-*-aix5*): Only create a selvecs for
7888*3d8817e4Smiod	aix5coff64_vec if 64-bit bfd support has been enabled.
7889*3d8817e4Smiod	(powerpc64-*-aix5*): Only define if 64-bit bfd support has
7890*3d8817e4Smiod	been enabled.
7891*3d8817e4Smiod
7892*3d8817e4Smiod	* targets.c (_bfd_target_vector[]): Only include
7893*3d8817e4Smiod	aix5coff64_vec if 64-bit bfd support has been enabled.
7894*3d8817e4Smiod
7895*3d8817e4Smiod2002-06-25  Alan Modra  <amodra@bigpond.net.au>
7896*3d8817e4Smiod
7897*3d8817e4Smiod	* elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
7898*3d8817e4Smiod	* elf32-hppa.c (hppa_add_stub): Likewise.
7899*3d8817e4Smiod	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
7900*3d8817e4Smiod	* elflink.h (elf_add_default_symbol): Fix comment typo.
7901*3d8817e4Smiod	(elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
7902*3d8817e4Smiod	(elf_link_add_object_symbols): Likewise.
7903*3d8817e4Smiod	(elf_link_assign_sym_version): Likewise.
7904*3d8817e4Smiod	* hash.c (bfd_hash_lookup): Likewise.
7905*3d8817e4Smiod	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
7906*3d8817e4Smiod	* section.c (bfd_get_unique_section_name): Likewise.
7907*3d8817e4Smiod	* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
7908*3d8817e4Smiod	* elf.c (_bfd_elf_make_section_from_phdr): Likewise.
7909*3d8817e4Smiod	(assign_section_numbers): Likewise.
7910*3d8817e4Smiod	(_bfd_elfcore_make_pseudosection): Likewise.
7911*3d8817e4Smiod	(elfcore_grok_lwpstatus): Likewise.
7912*3d8817e4Smiod	(elfcore_grok_win32pstatus): Likewise.
7913*3d8817e4Smiod	(elfcore_write_note): Constify input params.  Use PTR instead of
7914*3d8817e4Smiod	void *.  Include terminating NUL in namesz.  Correct padding.
7915*3d8817e4Smiod	Support NULL "name" param.  Use memcpy instead of strcpy.
7916*3d8817e4Smiod	(elfcore_write_prpsinfo): Constify input params.
7917*3d8817e4Smiod	(elfcore_write_prstatus): Likewise.  Use PTR instead of void *.
7918*3d8817e4Smiod	(elfcore_write_lwpstatus): Likewise.
7919*3d8817e4Smiod	(elfcore_write_pstatus): Likewise.
7920*3d8817e4Smiod	(elfcore_write_prfpreg): Likewise.
7921*3d8817e4Smiod	(elfcore_write_prxfpreg): Likewise.
7922*3d8817e4Smiod	* elf-bfd.h (elfcore_write_note): Update declaration.
7923*3d8817e4Smiod	(elfcore_write_prpsinfo): Likewise.
7924*3d8817e4Smiod	(elfcore_write_prstatus): Likewise.
7925*3d8817e4Smiod	(elfcore_write_pstatus): Likewise.
7926*3d8817e4Smiod	(elfcore_write_prfpreg): Likewise.
7927*3d8817e4Smiod	(elfcore_write_prxfpreg): Likewise.
7928*3d8817e4Smiod	(elfcore_write_lwpstatus): Likewise.
7929*3d8817e4Smiod
7930*3d8817e4Smiod2002-06-25  Jason Eckhardt  <jle@rice.edu>
7931*3d8817e4Smiod
7932*3d8817e4Smiod	* ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
7933*3d8817e4Smiod	symbols of type stProc and stStaticProc.
7934*3d8817e4Smiod
7935*3d8817e4Smiod2002-06-25  Nick Clifton  <nickc@redhat.com>
7936*3d8817e4Smiod
7937*3d8817e4Smiod	* ecoff.c: VArious formatting fixes.
7938*3d8817e4Smiod
7939*3d8817e4Smiod2002-06-25  Alan Modra  <amodra@bigpond.net.au>
7940*3d8817e4Smiod
7941*3d8817e4Smiod	* coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
7942*3d8817e4Smiod
7943*3d8817e4Smiod2002-06-25  Alan Modra  <amodra@bigpond.net.au>
7944*3d8817e4Smiod
7945*3d8817e4Smiod	* aout-adobe.c: Don't compare against "true" or "false.
7946*3d8817e4Smiod	* aout-target.h: Likewise.
7947*3d8817e4Smiod	* aoutx.h: Likewise.
7948*3d8817e4Smiod	* archive.c: Likewise.
7949*3d8817e4Smiod	* bout.c: Likewise.
7950*3d8817e4Smiod	* cache.c: Likewise.
7951*3d8817e4Smiod	* coff-a29k.c: Likewise.
7952*3d8817e4Smiod	* coff-alpha.c: Likewise.
7953*3d8817e4Smiod	* coff-i386.c: Likewise.
7954*3d8817e4Smiod	* coff-mips.c: Likewise.
7955*3d8817e4Smiod	* coff-or32.c: Likewise.
7956*3d8817e4Smiod	* coff64-rs6000.c: Likewise.
7957*3d8817e4Smiod	* coffcode.h: Likewise.
7958*3d8817e4Smiod	* coffgen.c: Likewise.
7959*3d8817e4Smiod	* cpu-ns32k.c: Likewise.
7960*3d8817e4Smiod	* ecoff.c: Likewise.
7961*3d8817e4Smiod	* ecofflink.c: Likewise.
7962*3d8817e4Smiod	* elf.c: Likewise.
7963*3d8817e4Smiod	* elf32-arm.h: Likewise.
7964*3d8817e4Smiod	* elf32-cris.c: Likewise.
7965*3d8817e4Smiod	* elf32-d30v.c: Likewise.
7966*3d8817e4Smiod	* elf32-i386.c: Likewise.
7967*3d8817e4Smiod	* elf32-mcore.c: Likewise.
7968*3d8817e4Smiod	* elf32-ppc.c: Likewise.
7969*3d8817e4Smiod	* elf32-sh.c: Likewise.
7970*3d8817e4Smiod	* elf32-sh64.c: Likewise.
7971*3d8817e4Smiod	* elf32-v850.c: Likewise.
7972*3d8817e4Smiod	* elf64-alpha.c: Likewise.
7973*3d8817e4Smiod	* elf64-sh64.c: Likewise.
7974*3d8817e4Smiod	* elfcode.h: Likewise.
7975*3d8817e4Smiod	* elfcore.h: Likewise.
7976*3d8817e4Smiod	* elflink.h: Likewise.
7977*3d8817e4Smiod	* elfxx-mips.c: Likewise.
7978*3d8817e4Smiod	* i386os9k.c: Likewise.
7979*3d8817e4Smiod	* ieee.c: Likewise.
7980*3d8817e4Smiod	* libbfd.c: Likewise.
7981*3d8817e4Smiod	* linker.c: Likewise.
7982*3d8817e4Smiod	* mmo.c: Likewise.
7983*3d8817e4Smiod	* nlm32-alpha.c: Likewise.
7984*3d8817e4Smiod	* nlm32-i386.c: Likewise.
7985*3d8817e4Smiod	* nlm32-ppc.c: Likewise.
7986*3d8817e4Smiod	* nlm32-sparc.c: Likewise.
7987*3d8817e4Smiod	* nlmcode.h: Likewise.
7988*3d8817e4Smiod	* oasys.c: Likewise.
7989*3d8817e4Smiod	* pdp11.c: Likewise.
7990*3d8817e4Smiod	* peicode.h: Likewise.
7991*3d8817e4Smiod	* reloc.c: Likewise.
7992*3d8817e4Smiod	* som.c: Likewise.
7993*3d8817e4Smiod	* srec.c: Likewise.
7994*3d8817e4Smiod	* tekhex.c: Likewise.
7995*3d8817e4Smiod	* vms.c: Likewise.
7996*3d8817e4Smiod	* xcofflink.c: Likewise.
7997*3d8817e4Smiod	* elf64-sparc.c: Edit comment to not use "== false".
7998*3d8817e4Smiod
7999*3d8817e4Smiod	* aoutf1.h: Don't use "? true : false".
8000*3d8817e4Smiod	* ecoff.c: Likewise.
8001*3d8817e4Smiod	* format.c: Likewise.
8002*3d8817e4Smiod	* ieee.c: Likewise.
8003*3d8817e4Smiod	* linker.c: Likewise.
8004*3d8817e4Smiod	* mmo.c: Likewise.
8005*3d8817e4Smiod	* oasys.c: Likewise.
8006*3d8817e4Smiod
8007*3d8817e4Smiod2002-06-23  H.J. Lu  <hjl@gnu.org>
8008*3d8817e4Smiod
8009*3d8817e4Smiod	* elflink.h (elf_link_add_archive_symbols): For the default
8010*3d8817e4Smiod	version, check references with only one `@' first.
8011*3d8817e4Smiod
8012*3d8817e4Smiod2002-06-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8013*3d8817e4Smiod
8014*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
8015*3d8817e4Smiod	function.
8016*3d8817e4Smiod	(allocate_global_data_dlt): Don't add millicode symbols to dynamic
8017*3d8817e4Smiod	symbol table.
8018*3d8817e4Smiod	(allocate_global_data_opd, allocate_dynrel_entries): Likewise.
8019*3d8817e4Smiod	(elf64_hppa_size_dynamic_sections): Revise to use
8020*3d8817e4Smiod	elf64_hppa_mark_milli_and_exported_functions.
8021*3d8817e4Smiod	(elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
8022*3d8817e4Smiod	symbols out of dynamic symbol table.
8023*3d8817e4Smiod
8024*3d8817e4Smiod2002-06-23  Alan Modra  <amodra@bigpond.net.au>
8025*3d8817e4Smiod
8026*3d8817e4Smiod	* Makefile.in: Regenerate.
8027*3d8817e4Smiod	* libbfd.h: Regenerate.
8028*3d8817e4Smiod	* bfd-in2.h: Regenerate.
8029*3d8817e4Smiod	* configure: Regenerate.
8030*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
8031*3d8817e4Smiod
8032*3d8817e4Smiod	* elflink.h: Comment typo fixes.
8033*3d8817e4Smiod
8034*3d8817e4Smiod2002-06-23  H.J. Lu  <hjl@gnu.org>
8035*3d8817e4Smiod
8036*3d8817e4Smiod	* elf-bfd.h (elf_link_loaded_list): New structure.
8037*3d8817e4Smiod	(elf_link_hash_table): Add "loaded".
8038*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
8039*3d8817e4Smiod	* elflink.h (elf_link_check_versioned_symbol): New function.
8040*3d8817e4Smiod	(elf_link_output_extsym): Call elf_link_check_versioned_symbol.
8041*3d8817e4Smiod
8042*3d8817e4Smiod2002-06-19  Nick Clifton  <nickc@cambridge.redhat.com>
8043*3d8817e4Smiod
8044*3d8817e4Smiod	* elflink.h (size_dynamic_sections): If the target does not
8045*3d8817e4Smiod	support an ELF style hash table, return true, indicating that
8046*3d8817e4Smiod	nothing needed to be done, rather than false, indicating that the
8047*3d8817e4Smiod	section's size could not be computed.
8048*3d8817e4Smiod
8049*3d8817e4Smiod2002-06-18  Dave Brolley  <brolley@redhat.com>
8050*3d8817e4Smiod
8051*3d8817e4Smiod	From Catherine Moore, Michael Meissner, Dave Brolley:
8052*3d8817e4Smiod	* po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
8053*3d8817e4Smiod	* targets.c: Support bfd_elf32_frv_vec.
8054*3d8817e4Smiod	* reloc.c: Add FRV relocs.
8055*3d8817e4Smiod	* configure.in: Add support for bfd-elf32-frv-vec.
8056*3d8817e4Smiod	* config.bfd (targ_cpu): Add support for frv-*-elf.
8057*3d8817e4Smiod	* archures.c: Add frv arch and machines.
8058*3d8817e4Smiod	* Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
8059*3d8817e4Smiod	(ALL_MACHINES_CFILES): Add cpu-frv.c.
8060*3d8817e4Smiod	(BFD32_BACKENDS): Add elf32-frv.lo.
8061*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add elf32-frv.c
8062*3d8817e4Smiod	(cpu-frv.lo): New target.
8063*3d8817e4Smiod	(elf32-frv.lo): New target.
8064*3d8817e4Smiod	* cpu-frv.c: New file.
8065*3d8817e4Smiod	* elf32-frv.c: New file.
8066*3d8817e4Smiod
8067*3d8817e4Smiod2002-06-18  Jakub Jelinek  <jakub@redhat.com>
8068*3d8817e4Smiod
8069*3d8817e4Smiod	* elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
8070*3d8817e4Smiod	e_shnum == 0.
8071*3d8817e4Smiod	Only read the first section header if e_shoff is non-zero.
8072*3d8817e4Smiod	Don't consider e_shstrndx if there are no sections.
8073*3d8817e4Smiod
8074*3d8817e4Smiod2002-06-17  Tom Rix <trix@redhat.com>
8075*3d8817e4Smiod
8076*3d8817e4Smiod	* elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
8077*3d8817e4Smiod	R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
8078*3d8817e4Smiod	complain_overflow_bitfield.
8079*3d8817e4Smiod
8080*3d8817e4Smiod2002-06-17  Alan Modra  <amodra@bigpond.net.au>
8081*3d8817e4Smiod
8082*3d8817e4Smiod	* opncls.c (bfd_openr): Remove redundant bfd_set_error.
8083*3d8817e4Smiod	(bfd_fdopenr): Likewise.
8084*3d8817e4Smiod	(bfd_openstreamr): Likewise.
8085*3d8817e4Smiod	(bfd_openw): Likewise.
8086*3d8817e4Smiod
8087*3d8817e4Smiod	* targets.c: Sort target vecs.
8088*3d8817e4Smiod	(_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
8089*3d8817e4Smiod	bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
8090*3d8817e4Smiod	bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
8091*3d8817e4Smiod	bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
8092*3d8817e4Smiod	* configure.in: Sort target vecs.  Add m88kmach3_vec.
8093*3d8817e4Smiod	* configure: Regenerate.
8094*3d8817e4Smiod
8095*3d8817e4Smiod2002-06-16  Hans-Peter Nilsson  <hp@bitrange.com>
8096*3d8817e4Smiod
8097*3d8817e4Smiod	* elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
8098*3d8817e4Smiod	bpo_reloc_no to break sort order ties, not address of items.
8099*3d8817e4Smiod
8100*3d8817e4Smiod2002-06-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8101*3d8817e4Smiod
8102*3d8817e4Smiod	* elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
8103*3d8817e4Smiod	Skip excluded sections in determing __gp value.
8104*3d8817e4Smiod	(elf_hppa_final_link_relocate): Use the symbol's address in
8105*3d8817e4Smiod	R_PARISC_FPTR64 relocations that don't need an opd entry.
8106*3d8817e4Smiod	* elf64-hppa.c (allocate_dynrel_entries): Simplify code.
8107*3d8817e4Smiod	(elf64_hppa_finalize_dynreloc): Likewise.
8108*3d8817e4Smiod	(elf64_hppa_size_dynamic_sections): Move comments and fix typo.
8109*3d8817e4Smiod	(elf64_hppa_finish_dynamic_symbol): Break up assert.
8110*3d8817e4Smiod
8111*3d8817e4Smiod2002-06-14  Sergey Grigoriev  <serge@leopold.Physik.Uni-Augsburg.DE>
8112*3d8817e4Smiod
8113*3d8817e4Smiod	* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
8114*3d8817e4Smiod	alignment for .bss, .data and .text sections so that sse and sse2
8115*3d8817e4Smiod	code will work.
8116*3d8817e4Smiod	* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
8117*3d8817e4Smiod
8118*3d8817e4Smiod2002-06013  J"orn Rennecke  <joern.rennecke@superh.com>
8119*3d8817e4Smiod
8120*3d8817e4Smiod	config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
8121*3d8817e4Smiod	sh[1234]*-elf*.
8122*3d8817e4Smiod
8123*3d8817e4Smiod2002-06-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8124*3d8817e4Smiod
8125*3d8817e4Smiod	* elflink.h (elf_bfd_final_link): Improve error handling for missing
8126*3d8817e4Smiod	dynamic sections.
8127*3d8817e4Smiod
8128*3d8817e4Smiod	* elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
8129*3d8817e4Smiod	for a symbol that has no output section.
8130*3d8817e4Smiod	(allocate_dynrel_entries): Correct comment.
8131*3d8817e4Smiod	(elf64_hppa_finalize_dynreloc): Likewise.  Don't create an opd entry
8132*3d8817e4Smiod	unless we want one.
8133*3d8817e4Smiod	(elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
8134*3d8817e4Smiod	(elf64_hppa_finalize_dlt): Likewise.  Prevent segfault for symbols
8135*3d8817e4Smiod	with no section.  Remove unnecessary parentheses.
8136*3d8817e4Smiod
8137*3d8817e4Smiod2002-06-11  Tom Rix  <trix@redhat.com>
8138*3d8817e4Smiod
8139*3d8817e4Smiod	* coffcode.h (coff_compute_section_file_positions): Add data
8140*3d8817e4Smiod	section to AIX loader alignment check.
8141*3d8817e4Smiod
8142*3d8817e4Smiod	* coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
8143*3d8817e4Smiod	alignment to 4 bytes.
8144*3d8817e4Smiod	(_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
8145*3d8817e4Smiod	power accessor macro.
8146*3d8817e4Smiod	(do_shared_object_padding): Remove invalid assertion.
8147*3d8817e4Smiod
8148*3d8817e4Smiod2002-06-10  Richard Sandiford  <rsandifo@redhat.com>
8149*3d8817e4Smiod
8150*3d8817e4Smiod	* section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
8151*3d8817e4Smiod	for removed output sections.
8152*3d8817e4Smiod
8153*3d8817e4Smiod2002-06-10  Geoffrey Keating  <geoffk@redhat.com>
8154*3d8817e4Smiod
8155*3d8817e4Smiod	* merge.c (merge_strings): Use htab_create_alloc with calloc, not
8156*3d8817e4Smiod	htab_alloc.
8157*3d8817e4Smiod	* elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
8158*3d8817e4Smiod
8159*3d8817e4Smiod2002-06-08  H.J. Lu <hjl@gnu.org>
8160*3d8817e4Smiod
8161*3d8817e4Smiod	* elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
8162*3d8817e4Smiod	work around a long long bug in gcc 2.96 on mips.
8163*3d8817e4Smiod
8164*3d8817e4Smiod2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
8165*3d8817e4Smiod
8166*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
8167*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
8168*3d8817e4Smiod	Regenerate dependency lists.
8169*3d8817e4Smiod	* Makefile.in: Regenerate.
8170*3d8817e4Smiod	* config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
8171*3d8817e4Smiod	vax1knetbsd_vec to targ_selvecs.
8172*3d8817e4Smiod	* configure.in: Add vax1knetbsd_vec.
8173*3d8817e4Smiod	* configure: Regenerate.
8174*3d8817e4Smiod	* targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
8175*3d8817e4Smiod	* vax1knetbsd.c: New file.
8176*3d8817e4Smiod	* vaxnetbsd.c: Update copyright years.
8177*3d8817e4Smiod	(TARGET_PAGE_SIZE): Set to 0x1000.
8178*3d8817e4Smiod	(DEFAULT_MID): Set to M_VAX4K_NETBSD.
8179*3d8817e4Smiod
8180*3d8817e4Smiod2002-06-08  Matt Thomas  <matt@3am-software.com>
8181*3d8817e4Smiod
8182*3d8817e4Smiod	* libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
8183*3d8817e4Smiod
8184*3d8817e4Smiod2002-06-08  Alan Modra  <amodra@bigpond.net.au>
8185*3d8817e4Smiod
8186*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
8187*3d8817e4Smiod
8188*3d8817e4Smiod2002-06-08  Alan Modra  <amodra@bigpond.net.au>
8189*3d8817e4Smiod
8190*3d8817e4Smiod	* Makefile.am: Run "make dep-am".
8191*3d8817e4Smiod	* Makefile.in: Regenerate.
8192*3d8817e4Smiod
8193*3d8817e4Smiod	* armnetbsd.c: Replace CONST with const.
8194*3d8817e4Smiod	* corefile.c: Likewise.
8195*3d8817e4Smiod	* elf32-dlx.c: Likewise.
8196*3d8817e4Smiod	* elf64-mips.c: Likewise.
8197*3d8817e4Smiod	* mmo.c: Likewise.
8198*3d8817e4Smiod	* ns32knetbsd.c: Likewise.
8199*3d8817e4Smiod
8200*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
8201*3d8817e4Smiod	table is elf64-sparc.
8202*3d8817e4Smiod
8203*3d8817e4Smiod2002-06-08  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8204*3d8817e4Smiod
8205*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
8206*3d8817e4Smiod	Fix RELA addends to get not shifted in the result. Don't do special
8207*3d8817e4Smiod	handling of R_MIPS_64 for NewABI.
8208*3d8817e4Smiod
8209*3d8817e4Smiod2002-06-07  Alan Modra  <amodra@bigpond.net.au>
8210*3d8817e4Smiod
8211*3d8817e4Smiod	* aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
8212*3d8817e4Smiod	(NAME(aout,slurp_reloc_table)): Likewise.
8213*3d8817e4Smiod	* coff-mips.c (mips_relax_section): Use bfd_zalloc.
8214*3d8817e4Smiod	* coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
8215*3d8817e4Smiod	(xcoff_write_archive_contents_big): Likewise.
8216*3d8817e4Smiod	(xcoff_generate_rtinit): Likewise.
8217*3d8817e4Smiod	(xcoff_generate_rtinit): Likewise, and check error return.
8218*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
8219*3d8817e4Smiod	* coffgen.c (coff_section_symbol): Use bfd_zalloc.
8220*3d8817e4Smiod	(coff_get_normalized_symtab): Likewise.
8221*3d8817e4Smiod	(coff_make_empty_symbol): Likewise.
8222*3d8817e4Smiod	(bfd_coff_set_symbol_class): Likewise.
8223*3d8817e4Smiod	* cofflink.c (coff_link_add_symbols): Likewise.
8224*3d8817e4Smiod	* ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
8225*3d8817e4Smiod	* ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
8226*3d8817e4Smiod	(bfd_ecoff_write_accumulated_debug): Likewise.
8227*3d8817e4Smiod	* elf64-alpha.c (get_got_entry): Use bfd_zalloc.
8228*3d8817e4Smiod	* i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
8229*3d8817e4Smiod	* i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
8230*3d8817e4Smiod	* ieee.c (do_with_relocs): Use bfd_zalloc.
8231*3d8817e4Smiod	* m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
8232*3d8817e4Smiod	* pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
8233*3d8817e4Smiod	(NAME(aout,slurp_reloc_table)): Likewise.
8234*3d8817e4Smiod	(NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
8235*3d8817e4Smiod	* reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
8236*3d8817e4Smiod	* som.c (som_build_and_write_symbol_table): Likewise.
8237*3d8817e4Smiod	(som_slurp_string_table): Likewise.
8238*3d8817e4Smiod	(som_slurp_symbol_table): Likewise.
8239*3d8817e4Smiod	(som_bfd_ar_write_symbol_stuff): Likewise.
8240*3d8817e4Smiod	* sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
8241*3d8817e4Smiod	* sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
8242*3d8817e4Smiod	* tekhex.c (find_chunk): Likewise.  Get rid of unused "sname".
8243*3d8817e4Smiod	* vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
8244*3d8817e4Smiod	* xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
8245*3d8817e4Smiod
8246*3d8817e4Smiod2002-06-07  Alan Modra  <amodra@bigpond.net.au>
8247*3d8817e4Smiod
8248*3d8817e4Smiod	* elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
8249*3d8817e4Smiod	"group" union.
8250*3d8817e4Smiod	(elf_group_name): Update.
8251*3d8817e4Smiod	(elf_group_id): Define.
8252*3d8817e4Smiod	(bfd_elf_set_group_contents): Declare.
8253*3d8817e4Smiod	* elf.c (elf_fake_sections): Qualify use of elf_group_name.
8254*3d8817e4Smiod	(set_group_contents): Rename to bfd_elf_set_group_contents.  Remove
8255*3d8817e4Smiod	ATTRIBUTE_UNUSED from failedptrarg.  If elf_group_id is set, use
8256*3d8817e4Smiod	that sym for the signature.
8257*3d8817e4Smiod	(_bfd_elf_compute_section_file_positions): Don't call
8258*3d8817e4Smiod	set_group_contents for "ld -r" case.
8259*3d8817e4Smiod	(swap_out_syms): Use bfd_zalloc.
8260*3d8817e4Smiod	* elflink.h (elf_link_add_archive_symbols): Likewise.
8261*3d8817e4Smiod	(NAME(bfd_elf,size_dynamic_sections)): Likewise.
8262*3d8817e4Smiod	(elf_bfd_final_link): Call bfd_elf_set_group_contents.
8263*3d8817e4Smiod
8264*3d8817e4Smiod2002-06-07  Alan Modra  <amodra@bigpond.net.au>
8265*3d8817e4Smiod
8266*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
8267*3d8817e4Smiod	relocs in opd for non-shared too.
8268*3d8817e4Smiod
8269*3d8817e4Smiod2002-06-06  Jeffrey Law  <law@redhat.com>
8270*3d8817e4Smiod
8271*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
8272*3d8817e4Smiod	relocations.
8273*3d8817e4Smiod
8274*3d8817e4Smiod2002-06-06  Nick Clifton  <nickc@cambridge.redhat.com>
8275*3d8817e4Smiod
8276*3d8817e4Smiod	* merge.c: Include libiberty.h.
8277*3d8817e4Smiod	* elf-strtab.c: Include libiberty.h.
8278*3d8817e4Smiod
8279*3d8817e4Smiod2002-06-06  Elias Athanasopoulos  <eathan@otenet.gr>
8280*3d8817e4Smiod
8281*3d8817e4Smiod	* peXXigen.c (pe_print_idata): Remove unused variable.
8282*3d8817e4Smiod
8283*3d8817e4Smiod2002-06-06  David Heine <dlheine@tensilica.com>
8284*3d8817e4Smiod
8285*3d8817e4Smiod	* elf.c (assign_file_positions_for_segments): Remove unallocated
8286*3d8817e4Smiod	sections from the section to segment mapping for PT_LOAD segments.
8287*3d8817e4Smiod	Update comment about empty loadable segments.
8288*3d8817e4Smiod
8289*3d8817e4Smiod2002-06-06  Richard Sandiford  <rsandifo@redhat.com>
8290*3d8817e4Smiod
8291*3d8817e4Smiod	* stabs.c (_bfd_link_section_stabs): Check that the symbol offset
8292*3d8817e4Smiod	is within the .stabstr section.
8293*3d8817e4Smiod
8294*3d8817e4Smiod2002-06-06  Alan Modra  <amodra@bigpond.net.au>
8295*3d8817e4Smiod
8296*3d8817e4Smiod	* elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
8297*3d8817e4Smiod	are "const PTR", not "const PTR *".
8298*3d8817e4Smiod	(bfd_elf32_swap_symbol_in): Likewise.
8299*3d8817e4Smiod	(bfd_elf64_swap_symbol_in): Likewise.
8300*3d8817e4Smiod	* elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
8301*3d8817e4Smiod	(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
8302*3d8817e4Smiod	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
8303*3d8817e4Smiod	(elf_link_add_object_symbols): Likewise.
8304*3d8817e4Smiod	(elf_link_record_local_dynamic_symbol): Likewise.
8305*3d8817e4Smiod	(elf_link_input_bfd): Likewise.
8306*3d8817e4Smiod	(elf_gc_mark): Likewise.
8307*3d8817e4Smiod	(elf_reloc_symbol_deleted_p): Likewise.
8308*3d8817e4Smiod	* elf-m10200.c (mn10200_elf_relax_section): Likewise.
8309*3d8817e4Smiod	(mn10200_elf_relax_delete_bytes): Likewise.
8310*3d8817e4Smiod	(mn10200_elf_symbol_address_p): Likewise.
8311*3d8817e4Smiod	(mn10200_elf_get_relocated_section_contents): Likewise.
8312*3d8817e4Smiod	* elf-m10300.c (mn10300_elf_relax_section): Likewise.
8313*3d8817e4Smiod	(mn10300_elf_relax_section): Likewise.
8314*3d8817e4Smiod	(mn10300_elf_relax_delete_bytes): Likewise.
8315*3d8817e4Smiod	(mn10300_elf_symbol_address_p): Likewise.
8316*3d8817e4Smiod	(mn10300_elf_get_relocated_section_contents): Likewise.
8317*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
8318*3d8817e4Smiod	(elf32_h8_relax_delete_bytes): Likewise.
8319*3d8817e4Smiod	(elf32_h8_symbol_address_p): Likewise.
8320*3d8817e4Smiod	(elf32_h8_get_relocated_section_contents): Likewise.
8321*3d8817e4Smiod	* elf32-hppa.c (get_local_syms): Likewise.
8322*3d8817e4Smiod	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
8323*3d8817e4Smiod	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
8324*3d8817e4Smiod	* elf32-sh.c (sh_elf_relax_section): Likewise.
8325*3d8817e4Smiod	(sh_elf_relax_delete_bytes): Likewise.
8326*3d8817e4Smiod	(sh_elf_get_relocated_section_contents): Likewise.
8327*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
8328*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
8329*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
8330*3d8817e4Smiod	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
8331*3d8817e4Smiod	* elf64-ppc.c (get_local_syms): Likewise.
8332*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
8333*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
8334*3d8817e4Smiod
8335*3d8817e4Smiod2002-06-05  J"orn Rennecke <joern.rennecke@superh.com>
8336*3d8817e4Smiod
8337*3d8817e4Smiod	* config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
8338*3d8817e4Smiod
8339*3d8817e4Smiod2002-06-05  Alan Modra  <amodra@bigpond.net.au>
8340*3d8817e4Smiod
8341*3d8817e4Smiod	* elf.c (group_signature): Swap in the whole symbol, and handle
8342*3d8817e4Smiod	extracting section symbol names.
8343*3d8817e4Smiod	(setup_group): Add comment.
8344*3d8817e4Smiod	(set_group_contents): When called from objcopy or ld, arrange for
8345*3d8817e4Smiod	section contents to be written.  Write group member output section
8346*3d8817e4Smiod	indices to allow objcopy to reorganize sections.
8347*3d8817e4Smiod	(_bfd_elf_copy_private_section_data): Copy group info.
8348*3d8817e4Smiod
8349*3d8817e4Smiod	* elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
8350*3d8817e4Smiod	(bfd_elf32_swap_symbol_in): Update prototype.
8351*3d8817e4Smiod	(bfd_elf64_swap_symbol_in): Likewise.
8352*3d8817e4Smiod	* elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
8353*3d8817e4Smiod	(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
8354*3d8817e4Smiod	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
8355*3d8817e4Smiod	(elf_link_add_object_symbols): Likewise.
8356*3d8817e4Smiod	(elf_link_record_local_dynamic_symbol): Likewise.
8357*3d8817e4Smiod	(elf_link_input_bfd): Likewise.
8358*3d8817e4Smiod	(elf_gc_mark): Likewise.
8359*3d8817e4Smiod	(elf_reloc_symbol_deleted_p): Likewise.
8360*3d8817e4Smiod	* elf-m10200.c (mn10200_elf_relax_section): Likewise.
8361*3d8817e4Smiod	(mn10200_elf_relax_delete_bytes): Likewise.
8362*3d8817e4Smiod	(mn10200_elf_symbol_address_p): Likewise.
8363*3d8817e4Smiod	(mn10200_elf_get_relocated_section_contents): Likewise.
8364*3d8817e4Smiod	* elf-m10300.c (mn10300_elf_relax_section): Likewise.
8365*3d8817e4Smiod	(mn10300_elf_relax_section): Likewise.
8366*3d8817e4Smiod	(mn10300_elf_relax_delete_bytes): Likewise.
8367*3d8817e4Smiod	(mn10300_elf_symbol_address_p): Likewise.
8368*3d8817e4Smiod	(mn10300_elf_get_relocated_section_contents): Likewise.
8369*3d8817e4Smiod	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
8370*3d8817e4Smiod	(elf32_h8_relax_delete_bytes): Likewise.
8371*3d8817e4Smiod	(elf32_h8_symbol_address_p): Likewise.
8372*3d8817e4Smiod	(elf32_h8_get_relocated_section_contents): Likewise.
8373*3d8817e4Smiod	* elf32-hppa.c (get_local_syms): Likewise.
8374*3d8817e4Smiod	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
8375*3d8817e4Smiod	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
8376*3d8817e4Smiod	* elf32-sh.c (sh_elf_relax_section): Likewise.
8377*3d8817e4Smiod	(sh_elf_relax_delete_bytes): Likewise.
8378*3d8817e4Smiod	(sh_elf_get_relocated_section_contents): Likewise.
8379*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
8380*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
8381*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
8382*3d8817e4Smiod	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
8383*3d8817e4Smiod	* elf64-ppc.c (get_local_syms): Likewise.
8384*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
8385*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
8386*3d8817e4Smiod	* elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
8387*3d8817e4Smiod	* elf64-alpha.c (alpha_elf_size_info): Likewise.
8388*3d8817e4Smiod	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
8389*3d8817e4Smiod	* elf64-mips.c (mips_elf64_size_info): Likewise.
8390*3d8817e4Smiod	* elf64-s390.c (s390_elf64_size_info): Likewise.
8391*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
8392*3d8817e4Smiod
8393*3d8817e4Smiod2002-06-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
8394*3d8817e4Smiod
8395*3d8817e4Smiod	* elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
8396*3d8817e4Smiod	elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
8397*3d8817e4Smiod	elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
8398*3d8817e4Smiod	_bfd_mips_elf_ignore_discarded_relocs.
8399*3d8817e4Smiod	elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
8400*3d8817e4Smiod
8401*3d8817e4Smiod2002-06-05  H.J. Lu <hjl@gnu.org>
8402*3d8817e4Smiod
8403*3d8817e4Smiod	* elfxx-mips.c (mips_elf_calculate_relocation): Call
8404*3d8817e4Smiod	_bfd_elf_rel_local_sym for STT_SECTION relocations against
8405*3d8817e4Smiod	the SEC_MERGE section.
8406*3d8817e4Smiod
8407*3d8817e4Smiod2002-06-05  Alan Modra  <amodra@bigpond.net.au>
8408*3d8817e4Smiod
8409*3d8817e4Smiod	* coff-alpha.c: Update copyright date.
8410*3d8817e4Smiod	* coff-mips.c: Likewise.
8411*3d8817e4Smiod	* xcoff-target.h: Likewise.
8412*3d8817e4Smiod
8413*3d8817e4Smiod	* bfd-in.h: Remove "taken from the source" comment.
8414*3d8817e4Smiod	* libbfd-in.h: Likewise.
8415*3d8817e4Smiod	* libcoff-in.h: Likewise.
8416*3d8817e4Smiod	* bfd-in2.h: Regenerate.
8417*3d8817e4Smiod	* libbfd.h: Regenerate.
8418*3d8817e4Smiod	* libcoff.h: Regenerate.
8419*3d8817e4Smiod
8420*3d8817e4Smiod	* elf.c (bfd_elf_discard_group): Return true.
8421*3d8817e4Smiod	* elf-bfd.h (bfd_elf_discard_group): Declare.
8422*3d8817e4Smiod	* bfd-in.h (bfd_elf_discard_group): Don't declare here.
8423*3d8817e4Smiod	* section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
8424*3d8817e4Smiod	* bfd.c (bfd_discard_group): Define.
8425*3d8817e4Smiod	* targets.c (struct bfd_target): Add _bfd_discard_group.
8426*3d8817e4Smiod	(BFD_JUMP_TABLE_LINK): Here too.
8427*3d8817e4Smiod	* libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
8428*3d8817e4Smiod	* aout-adobe.c (aout_32_bfd_discard_group): Define.
8429*3d8817e4Smiod	* aout-target.h (MY_bfd_discard_group): Define.
8430*3d8817e4Smiod	* aout-tic30.c (MY_bfd_discard_group): Define.
8431*3d8817e4Smiod	* binary.c (binary_bfd_discard_group): Define.
8432*3d8817e4Smiod	* bout.c (b_out_bfd_discard_group): Define.
8433*3d8817e4Smiod	* coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
8434*3d8817e4Smiod	* coffcode.h (coff_bfd_discard_group): Define.
8435*3d8817e4Smiod	* coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
8436*3d8817e4Smiod	* elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
8437*3d8817e4Smiod	* i386msdos.c (msdos_bfd_discard_group): Define.
8438*3d8817e4Smiod	* i386os9k.c (os9k_bfd_discard_group): Define.
8439*3d8817e4Smiod	* ieee.c (ieee_bfd_discard_group): Define.
8440*3d8817e4Smiod	* ihex.c (ihex_bfd_discard_group): Define.
8441*3d8817e4Smiod	* mmo.c (mmo_bfd_discard_group): Define.
8442*3d8817e4Smiod	* nlm-target.h (nlm_bfd_discard_group): Define.
8443*3d8817e4Smiod	* oasys.c (oasys_bfd_discard_group): Define.
8444*3d8817e4Smiod	* ppcboot.c (ppcboot_bfd_discard_group): Define.
8445*3d8817e4Smiod	* som.c (som_bfd_discard_group): Define.
8446*3d8817e4Smiod	* srec.c (srec_bfd_discard_group): Define.
8447*3d8817e4Smiod	* tekhex.c (tekhex_bfd_discard_group): Define.
8448*3d8817e4Smiod	* versados.c (versados_bfd_discard_group): Define.
8449*3d8817e4Smiod	* vms.c (vms_bfd_discard_group): Define.
8450*3d8817e4Smiod	* xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
8451*3d8817e4Smiod	* coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
8452*3d8817e4Smiod	(aix5coff64_vec): Likewise.
8453*3d8817e4Smiod	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
8454*3d8817e4Smiod
8455*3d8817e4Smiod2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
8456*3d8817e4Smiod
8457*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
8458*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
8459*3d8817e4Smiod	(elf32-sh64-com.lo): New dependency list.
8460*3d8817e4Smiod	* Makefile.in: Regenerate.
8461*3d8817e4Smiod	* configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
8462*3d8817e4Smiod	(bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
8463*3d8817e4Smiod	elf32-sh64-com.lo.
8464*3d8817e4Smiod	* configure: Regenerate.
8465*3d8817e4Smiod	* elf32-sh64.c (sh64_address_in_cranges)
8466*3d8817e4Smiod	(sh64_get_contents_type, sh64_address_is_shmedia): Move to...
8467*3d8817e4Smiod	(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
8468*3d8817e4Smiod	(crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
8469*3d8817e4Smiod	* elf32-sh64-com.c: ...here.  New file.
8470*3d8817e4Smiod
8471*3d8817e4Smiod2002-06-04  Alan Modra  <amodra@bigpond.net.au>
8472*3d8817e4Smiod
8473*3d8817e4Smiod	* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
8474*3d8817e4Smiod	ATTRIBUTE_UNUSED on used params.
8475*3d8817e4Smiod	* elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
8476*3d8817e4Smiod	before calling bfd_section_from_elf_index on local syms.
8477*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
8478*3d8817e4Smiod
8479*3d8817e4Smiod2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
8480*3d8817e4Smiod
8481*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
8482*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
8483*3d8817e4Smiod	(BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
8484*3d8817e4Smiod	(BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
8485*3d8817e4Smiod	(elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
8486*3d8817e4Smiod	* Makefile.in: Regenerate.
8487*3d8817e4Smiod	* config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
8488*3d8817e4Smiod	(sh64-*-netbsd*): New targets.
8489*3d8817e4Smiod	* configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
8490*3d8817e4Smiod	bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
8491*3d8817e4Smiod	* configure: Regenerate.
8492*3d8817e4Smiod	* elf32-sh64-nbsd.c: New file.
8493*3d8817e4Smiod	* elf64-sh64-nbsd.c: New file.
8494*3d8817e4Smiod	* targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
8495*3d8817e4Smiod	bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
8496*3d8817e4Smiod	bfd_elf64_sh64lnbsd_vec.
8497*3d8817e4Smiod
8498*3d8817e4Smiod2002-06-04  Alan Modra  <amodra@bigpond.net.au>
8499*3d8817e4Smiod
8500*3d8817e4Smiod	* elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
8501*3d8817e4Smiod	(bfd_section_from_shdr): Likewise.  Set section name of group
8502*3d8817e4Smiod	sections from signature.
8503*3d8817e4Smiod	(group_signature): Split out from setup_group.  Ensure symbol table
8504*3d8817e4Smiod	is available.
8505*3d8817e4Smiod	(bfd_elf_discard_group): New function.
8506*3d8817e4Smiod	(_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
8507*3d8817e4Smiod	.gnu.linkonce* sections if they are members of a group.
8508*3d8817e4Smiod	(set_group_contents): Set GRP_COMDAT flag.
8509*3d8817e4Smiod	* section.c (bfd_discard_group): New function.
8510*3d8817e4Smiod	* bfd-in.h (bfd_elf_discard_group): Declare.
8511*3d8817e4Smiod	* bfd-in2.h: Regenerate.
8512*3d8817e4Smiod	* elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
8513*3d8817e4Smiod	(elf_linkonce_p): Define.
8514*3d8817e4Smiod
8515*3d8817e4Smiod2002-06-04  Alan Modra  <amodra@bigpond.net.au>
8516*3d8817e4Smiod
8517*3d8817e4Smiod	* elf.c (bfd_section_from_shdr): Make "name" const.
8518*3d8817e4Smiod	* elf-bfd.h (elf_backend_section_from_shdr): Likewise.
8519*3d8817e4Smiod	* elf32-i370.c (i370_elf_section_from_shdr): Likewise.
8520*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
8521*3d8817e4Smiod	* elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
8522*3d8817e4Smiod	* elf32-v850.c (v850_elf_section_from_shdr): Likewise.
8523*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
8524*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
8525*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
8526*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
8527*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
8528*3d8817e4Smiod	* elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
8529*3d8817e4Smiod
8530*3d8817e4Smiod2002-06-03  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
8531*3d8817e4Smiod
8532*3d8817e4Smiod	* elfxx-mips.c (ABI_64_P): Use backend's data to determine the
8533*3d8817e4Smiod	ABI.
8534*3d8817e4Smiod
8535*3d8817e4Smiod2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
8536*3d8817e4Smiod
8537*3d8817e4Smiod	* elf32-arc.c: Fix formatting.
8538*3d8817e4Smiod	* elf32-arm.h: Likewise.
8539*3d8817e4Smiod	* elf32-cris.c: Likewise.
8540*3d8817e4Smiod	* elf32-dlx.c: Likewise.
8541*3d8817e4Smiod	* elf32-hppa.c: Likewise.
8542*3d8817e4Smiod	* elf32-i386.c: Likewise.
8543*3d8817e4Smiod	* elf32-i386qnx.c: Likewise.
8544*3d8817e4Smiod	* elf32-or32.c: Likewise.
8545*3d8817e4Smiod	* elf32-s390.c: Likewise.
8546*3d8817e4Smiod	* elf32-sh64.c: Likewise.
8547*3d8817e4Smiod	* elf32-vax.c: Likewise.
8548*3d8817e4Smiod	* elf32-xstormy16.c: Likewise.
8549*3d8817e4Smiod	* elf64-alpha.c: Likewise.
8550*3d8817e4Smiod	* elf64-mmix.c: Likewise.
8551*3d8817e4Smiod	* elf64-ppc.c: Likewise.
8552*3d8817e4Smiod	* elf64-s390.c: Likewise.
8553*3d8817e4Smiod	* elf64-sh64.c: Likewise.
8554*3d8817e4Smiod	* elf64-x86-64.c: Likewise.
8555*3d8817e4Smiod
8556*3d8817e4Smiod2002-06-02  Richard Henderson  <rth@redhat.com>
8557*3d8817e4Smiod
8558*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
8559*3d8817e4Smiod	null when there are no got entries for a symbol.
8560*3d8817e4Smiod	(elf64_alpha_relax_find_tls_segment): Rearrange to avoid
8561*3d8817e4Smiod	uninitialized variable warning.
8562*3d8817e4Smiod
8563*3d8817e4Smiod2002-06-01  Richard Henderson  <rth@redhat.com>
8564*3d8817e4Smiod
8565*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
8566*3d8817e4Smiod	undefined symbols here.
8567*3d8817e4Smiod	(elf64_alpha_relax_section): Do it here.  Also test for not
8568*3d8817e4Smiod	defined in the current module.
8569*3d8817e4Smiod	(elf64_alpha_relocate_section_r): Split out of ...
8570*3d8817e4Smiod	(elf64_alpha_relocate_section): ... here.  Don't dereference
8571*3d8817e4Smiod	NULL when looking up local got entries.
8572*3d8817e4Smiod
8573*3d8817e4Smiod2002-06-01  Richard Henderson  <rth@redhat.com>
8574*3d8817e4Smiod
8575*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
8576*3d8817e4Smiod	symbols from JSR relaxation.
8577*3d8817e4Smiod	(elf64_alpha_size_plt_section_1): New.
8578*3d8817e4Smiod	(elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
8579*3d8817e4Smiod	(elf64_alpha_size_rela_got_1): ... here.
8580*3d8817e4Smiod	(elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
8581*3d8817e4Smiod	(elf64_alpha_size_rela_got_section): ... here.
8582*3d8817e4Smiod	(elf64_alpha_size_plt_section): New.
8583*3d8817e4Smiod	(elf64_alpha_relax_section): Call them.
8584*3d8817e4Smiod	(elf64_alpha_size_got_sections): Remove output_bfd arg.
8585*3d8817e4Smiod	(elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
8586*3d8817e4Smiod
8587*3d8817e4Smiod2002-06-01  Richard Henderson  <rth@redhat.com>
8588*3d8817e4Smiod
8589*3d8817e4Smiod	* elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
8590*3d8817e4Smiod	(elf64_alpha_relocate_section): Use them.  Reject LE TLS relocs
8591*3d8817e4Smiod	in shared libraries.  Fix DTPRELHI and TPRELHI value.
8592*3d8817e4Smiod	(INSN_ADDQ, INSN_RDUNIQ): New.
8593*3d8817e4Smiod	(struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
8594*3d8817e4Smiod	(elf64_alpha_relax_with_lituse): Return boolean.  Remove irelend
8595*3d8817e4Smiod	argument.  Reject dynamic symbols.  Use LITUSE symbolic constants.
8596*3d8817e4Smiod	(elf64_alpha_relax_got_load): Rename from relax_without_lituse.
8597*3d8817e4Smiod	Handle GOTDTPREL and GOTTPREL relocations.
8598*3d8817e4Smiod	(elf64_alpha_relax_gprelhilo): New.
8599*3d8817e4Smiod	(elf64_alpha_relax_tls_get_addr): New.
8600*3d8817e4Smiod	(elf64_alpha_relax_find_tls_segment): New.
8601*3d8817e4Smiod	(elf64_alpha_relax_section): Handle TLS relocations.
8602*3d8817e4Smiod	(ALPHA_ELF_LINK_HASH_TLS_IE): New.
8603*3d8817e4Smiod	(elf64_alpha_check_relocs): Set it.
8604*3d8817e4Smiod
8605*3d8817e4Smiod2002-06-01  Richard Henderson  <rth@redhat.com>
8606*3d8817e4Smiod
8607*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
8608*3d8817e4Smiod
8609*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
8610*3d8817e4Smiod	check; don't suppress dynamic relocs for non-allocated sections.
8611*3d8817e4Smiod
8612*3d8817e4Smiod	* elf64-alpha.c: Remove dead code.
8613*3d8817e4Smiod
8614*3d8817e4Smiod2002-05-31  Alan Modra  <amodra@bigpond.net.au>
8615*3d8817e4Smiod
8616*3d8817e4Smiod	* bfd-in2.h: Regenerate.
8617*3d8817e4Smiod	* libbfd.h: Regenerate.
8618*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
8619*3d8817e4Smiod
8620*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
8621*3d8817e4Smiod	space for bss .plt.
8622*3d8817e4Smiod
8623*3d8817e4Smiod2002-05-31  Graeme Peterson  <gp@qnx.com>
8624*3d8817e4Smiod
8625*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
8626*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
8627*3d8817e4Smiod	Run "make dep-am".
8628*3d8817e4Smiod	* Makefile.in: Regenerate.
8629*3d8817e4Smiod	* config.bfd: Add i[3456]86-*-nto-qnx* support.
8630*3d8817e4Smiod	* configure.in: Add bfd_elf32_i386qnx_vec support.
8631*3d8817e4Smiod	* configure: Regenerate.
8632*3d8817e4Smiod	* elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
8633*3d8817e4Smiod	is_contained_by_filepos, and copy_private_bfd_data_p.
8634*3d8817e4Smiod	* elf.c (assign_file_positions_for_segments): Call backend
8635*3d8817e4Smiod	set_nonloadable_filepos.  Fix non-K&R call to _bfd_error_handler.
8636*3d8817e4Smiod	(IS_CONTAINED_BY_FILEPOS): Define.
8637*3d8817e4Smiod	(INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
8638*3d8817e4Smiod	(copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS.  Typo fix.
8639*3d8817e4Smiod	Fix non-K&R call to _bfd_error_handler.
8640*3d8817e4Smiod	(_bfd_elf_copy_private_section_data): Use backend
8641*3d8817e4Smiod	copy_private_bfd_data_p.
8642*3d8817e4Smiod	* elf32-i386.c: Don't include elfxx-target.h when
8643*3d8817e4Smiod	ELF32_I386_C_INCLUDED is defined.
8644*3d8817e4Smiod	* elf32-i386qnx.c: New QNX elf backend file.
8645*3d8817e4Smiod	* elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
8646*3d8817e4Smiod	elf_backend_is_contained_by_filepos, and
8647*3d8817e4Smiod	elf_backend_do_copy_private_bfd_data.
8648*3d8817e4Smiod	* targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
8649*3d8817e4Smiod
8650*3d8817e4Smiod2002-05-31  Alan Modra  <amodra@bigpond.net.au>
8651*3d8817e4Smiod
8652*3d8817e4Smiod	* elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
8653*3d8817e4Smiod	Move other similar defines to start of file.
8654*3d8817e4Smiod
8655*3d8817e4Smiod2002-05-30  Tom Rix  <trix@redhat.com>
8656*3d8817e4Smiod
8657*3d8817e4Smiod	* coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
8658*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_rtype2howto): Same.
8659*3d8817e4Smiod
8660*3d8817e4Smiod2002-05-30  Richard Henderson  <rth@redhat.com>
8661*3d8817e4Smiod
8662*3d8817e4Smiod	* elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
8663*3d8817e4Smiod	ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
8664*3d8817e4Smiod	(ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
8665*3d8817e4Smiod	(ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
8666*3d8817e4Smiod	(struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
8667*3d8817e4Smiod	(struct alpha_elf_obj_tdata): Rename total_got_entries and
8668*3d8817e4Smiod	n_local_got_entries to total_got_size and local_got_size.
8669*3d8817e4Smiod	(elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
8670*3d8817e4Smiod	(alpha_got_entry_size): New.
8671*3d8817e4Smiod	(elf64_alpha_relax_with_lituse): Use it.
8672*3d8817e4Smiod	(elf64_alpha_relax_without_lituse): Likewise.
8673*3d8817e4Smiod	(MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
8674*3d8817e4Smiod	(get_got_entry): New.
8675*3d8817e4Smiod	(elf64_alpha_check_relocs): Handle TLS relocs.  Reorganize.
8676*3d8817e4Smiod	(elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
8677*3d8817e4Smiod	(elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
8678*3d8817e4Smiod	(elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
8679*3d8817e4Smiod	(elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
8680*3d8817e4Smiod	(elf64_alpha_calc_got_offsets): Likewise.
8681*3d8817e4Smiod	(alpha_dynamic_entries_for_reloc): New.
8682*3d8817e4Smiod	(elf64_alpha_calc_dynrel_sizes): Use it.
8683*3d8817e4Smiod	(elf64_alpha_size_dynamic_sections): Likewise.
8684*3d8817e4Smiod	(elf64_alpha_relocate_section): Handle TLS relocations.
8685*3d8817e4Smiod	* reloc.c: Add Alpha TLS relocations.
8686*3d8817e4Smiod	* bfd-in2.h, libbfd.h: Rebuild.
8687*3d8817e4Smiod
8688*3d8817e4Smiod2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
8689*3d8817e4Smiod
8690*3d8817e4Smiod	* peXXigen.c (pe_print_idata): Remove double printed
8691*3d8817e4Smiod	import table lines; add Bound-To comment.
8692*3d8817e4Smiod
8693*3d8817e4Smiod2002-05-29  Matt Thomas  <matt@3am-software.com>
8694*3d8817e4Smiod
8695*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
8696*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add elf32-vax.c.
8697*3d8817e4Smiod	(elf32-vax.lo): New rule.
8698*3d8817e4Smiod	* Makefile.in: Regenerate.
8699*3d8817e4Smiod	* configure.in (bfd_elf32_vax_vec)
8700*3d8817e4Smiod	(vaxnetbsd_vec): New vectors.
8701*3d8817e4Smiod	* configure: Regenerate.
8702*3d8817e4Smiod	* config.bfd (vax-*-netbsdelf*)
8703*3d8817e4Smiod	(vax-*-netbsdaout*)
8704*3d8817e4Smiod	(vax-*-netbsd*): New targets.
8705*3d8817e4Smiod	* elf32-vax.c: New file.
8706*3d8817e4Smiod	* reloc.c: Add VAX relocations.
8707*3d8817e4Smiod	* bfd-in2.h: Regenerate.
8708*3d8817e4Smiod	* targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
8709*3d8817e4Smiod
8710*3d8817e4Smiod2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
8711*3d8817e4Smiod
8712*3d8817e4Smiod	* config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
8713*3d8817e4Smiod	and bfd_elf32_bigarm_vec to targ_selvecs.
8714*3d8817e4Smiod
8715*3d8817e4Smiod2002-05-29  Ralf Habacker  <ralf.habacker@freenet.de>
8716*3d8817e4Smiod
8717*3d8817e4Smiod	* peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
8718*3d8817e4Smiod	with auto-imported symbols.
8719*3d8817e4Smiod
8720*3d8817e4Smiod2002-05-29  Adam Nemet  <anemet@lnxw.com>
8721*3d8817e4Smiod
8722*3d8817e4Smiod	* elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
8723*3d8817e4Smiod	sections only record bfd.
8724*3d8817e4Smiod	(bfd_elf32_arm_add_glue_sections_to_bfd): New function.
8725*3d8817e4Smiod	* bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
8726*3d8817e4Smiod	* bfd-in2.h: Regenerate.
8727*3d8817e4Smiod
8728*3d8817e4Smiod2002-05-28  Nick Clifton  <nickc@cambridge.redhat.com>
8729*3d8817e4Smiod
8730*3d8817e4Smiod	* syms.c (_bfd_stab_section_find_nearest_line): Move
8731*3d8817e4Smiod	declaration and initialisation of saw_line and saw_func out of
8732*3d8817e4Smiod	for loop.
8733*3d8817e4Smiod
8734*3d8817e4Smiod2002-05-29  Alan Modra  <amodra@bigpond.net.au>
8735*3d8817e4Smiod
8736*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
8737*3d8817e4Smiod	(bfd_elf64_get_symbol_info): Define.
8738*3d8817e4Smiod	* elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
8739*3d8817e4Smiod
8740*3d8817e4Smiod2002-05-29  Andrey Volkov  <avolkov@transas.com>
8741*3d8817e4Smiod
8742*3d8817e4Smiod	* cpu-h8300.c: Make default h8300 machine first in machine list.
8743*3d8817e4Smiod
8744*3d8817e4Smiod2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
8745*3d8817e4Smiod
8746*3d8817e4Smiod	* config.bfd: Added DLX configuraton.
8747*3d8817e4Smiod	* Makefile.am: Added DLX configuraton.
8748*3d8817e4Smiod	* configure.in: Added DLX configuraton.
8749*3d8817e4Smiod	* archures.c: Add DLX architecture.
8750*3d8817e4Smiod	* reloc.c: Add DLX relocs.
8751*3d8817e4Smiod	* targets.c: Added DLX target vector.
8752*3d8817e4Smiod	* configure: Regenerate.
8753*3d8817e4Smiod	* Makefile.in: Regenreate.
8754*3d8817e4Smiod	* bfd-in2.h: Regenreate.
8755*3d8817e4Smiod	* elf32-dlx.c: New file: Support DLX target.
8756*3d8817e4Smiod	* cpu-dlx.c: New file: Support DLX target.
8757*3d8817e4Smiod
8758*3d8817e4Smiod2002-05-25  Alan Modra  <amodra@bigpond.net.au>
8759*3d8817e4Smiod
8760*3d8817e4Smiod	* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
8761*3d8817e4Smiod
8762*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
8763*3d8817e4Smiod	(ppc64_elf_check_relocs): Don't set up function descriptor symbol
8764*3d8817e4Smiod	strings to point inside function code sym string.
8765*3d8817e4Smiod	(func_desc_adjust): Likewise.
8766*3d8817e4Smiod	(ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
8767*3d8817e4Smiod
8768*3d8817e4Smiod2002-05-24  Michal Ludvig  <mludvig@suse.cz>
8769*3d8817e4Smiod
8770*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
8771*3d8817e4Smiod	(elf64_x86_64_grok_psinfo): Added.
8772*3d8817e4Smiod
8773*3d8817e4Smiod2002-05-24  TAMURA Kent <kent@netbsd.org>
8774*3d8817e4Smiod
8775*3d8817e4Smiod	* config.bfd: Add a target for i386-netbsdpe.
8776*3d8817e4Smiod
8777*3d8817e4Smiod2002-05-24  Alan Modra  <amodra@bigpond.net.au>
8778*3d8817e4Smiod
8779*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
8780*3d8817e4Smiod	and is_func_descriptor.
8781*3d8817e4Smiod	(func_desc_adjust): Hide function code sym in shared libs unless
8782*3d8817e4Smiod	there is a matching exported function descriptor sym.
8783*3d8817e4Smiod
8784*3d8817e4Smiod2002-05-23  Jakub Jelinek  <jakub@redhat.com>
8785*3d8817e4Smiod
8786*3d8817e4Smiod	* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
8787*3d8817e4Smiod	for symbols from SHF_TLS section.
8788*3d8817e4Smiod	(_bfd_elf_print_private_bfd_data): Add PT_TLS.
8789*3d8817e4Smiod	(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
8790*3d8817e4Smiod	(map_sections_to_segments): Build PT_TLS segment if necessary.
8791*3d8817e4Smiod	(assign_file_positions_for_segments): Likewise.
8792*3d8817e4Smiod	(get_program_header_size): Account for PT_TLS segment.
8793*3d8817e4Smiod	(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
8794*3d8817e4Smiod	SEC_THREAD_LOCAL sections to STT_TLS.
8795*3d8817e4Smiod	* reloc.c: Add 386 and IA-64 TLS relocs.
8796*3d8817e4Smiod	* section.c (SEC_THREAD_LOCAL): Define.
8797*3d8817e4Smiod	(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
8798*3d8817e4Smiod	Remove.
8799*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Support .tcommon.
8800*3d8817e4Smiod	(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
8801*3d8817e4Smiod	unconditionally.
8802*3d8817e4Smiod	(struct elf_final_link_info): Add first_tls_sec.
8803*3d8817e4Smiod	(elf_bfd_final_link): Set first_tls_sec.
8804*3d8817e4Smiod	Compute elf_hash_table (info)->tls_segment.
8805*3d8817e4Smiod	(elf_link_output_extsym): Handle STT_TLS symbols.
8806*3d8817e4Smiod	(elf_link_input_bfd): Likewise.
8807*3d8817e4Smiod	* syms.c (BSF_THREAD_LOCAL): Define.
8808*3d8817e4Smiod	* bfd-in2.h: Rebuilt.
8809*3d8817e4Smiod	* libbfd.h: Rebuilt.
8810*3d8817e4Smiod	* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
8811*3d8817e4Smiod	elf_i386_mkobject, elf_i386_object_p): New functions.
8812*3d8817e4Smiod	(elf_howto_table): Add TLS relocs.
8813*3d8817e4Smiod	(elf_i386_reloc_type_lookup): Support TLS relocs.
8814*3d8817e4Smiod	(elf_i386_info_to_howto_rel): Likewise.
8815*3d8817e4Smiod	(struct elf_i386_link_hash_entry): Add tls_type.
8816*3d8817e4Smiod	(struct elf_i386_obj_tdata): New.
8817*3d8817e4Smiod	(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
8818*3d8817e4Smiod	New macros.
8819*3d8817e4Smiod	(struct elf_i386_link_hash_table): Add tls_ldm_got.
8820*3d8817e4Smiod	(link_hash_newfunc): Clear tls_type.
8821*3d8817e4Smiod	(elf_i386_check_relocs): Support TLS relocs.
8822*3d8817e4Smiod	(elf_i386_gc_sweep_hook): Likewise.
8823*3d8817e4Smiod	(allocate_dynrelocs): Likewise.
8824*3d8817e4Smiod	(elf_i386_size_dynamic_sections): Likewise.
8825*3d8817e4Smiod	(elf_i386_relocate_section): Likewise.
8826*3d8817e4Smiod	(elf_i386_finish_dynamic_symbol): Likewise.
8827*3d8817e4Smiod	(bfd_elf32_mkobject, elf_backend_object_p): Define.
8828*3d8817e4Smiod	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
8829*3d8817e4Smiod	dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
8830*3d8817e4Smiod	want_tprel, want_dtpmod, want_dtprel.
8831*3d8817e4Smiod	(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
8832*3d8817e4Smiod	(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
8833*3d8817e4Smiod	R_IA64_LTOFF_TPREL22.
8834*3d8817e4Smiod	(elf_code_to_howto_index): Add TLS relocs.
8835*3d8817e4Smiod	(elfNN_ia64_check_relocs): Support TLS relocs.
8836*3d8817e4Smiod	(allocate_global_data_got): Account for TLS .got data.
8837*3d8817e4Smiod	(allocate_dynrel_entries): Account for TLS dynamic relocations.
8838*3d8817e4Smiod	(elfNN_ia64_install_value): Supprt TLS relocs.
8839*3d8817e4Smiod	(set_got_entry): Support TLS relocs.
8840*3d8817e4Smiod	(elfNN_ia64_relocate_section): Likewise.
8841*3d8817e4Smiod
8842*3d8817e4Smiod2002-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
8843*3d8817e4Smiod
8844*3d8817e4Smiod	* elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
8845*3d8817e4Smiod	BLX reloc round the relocation up rather than down.
8846*3d8817e4Smiod	* coff-arm.c (coff_arm_relocate_section): Likewise.
8847*3d8817e4Smiod
8848*3d8817e4Smiod2002-05-21  H.J. Lu  (hjl@gnu.org)
8849*3d8817e4Smiod
8850*3d8817e4Smiod	* linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
8851*3d8817e4Smiod	definition.
8852*3d8817e4Smiod
8853*3d8817e4Smiod2002-05-22  Alan Modra  <amodra@bigpond.net.au>
8854*3d8817e4Smiod
8855*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
8856*3d8817e4Smiod	(ppc64_elf_relocate_section): Handle unresolved relocs in opd.
8857*3d8817e4Smiod
8858*3d8817e4Smiod2002-05-22  Alan Modra  <amodra@bigpond.net.au>
8859*3d8817e4Smiod
8860*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Return false for
8861*3d8817e4Smiod	unresolved relocs.
8862*3d8817e4Smiod	(ppc64_elf_size_dynamic_sections): Check for splt NULL.
8863*3d8817e4Smiod
8864*3d8817e4Smiod2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8865*3d8817e4Smiod
8866*3d8817e4Smiod	* bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
8867*3d8817e4Smiod	non-ELF targets.
8868*3d8817e4Smiod
8869*3d8817e4Smiod2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8870*3d8817e4Smiod
8871*3d8817e4Smiod	* elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
8872*3d8817e4Smiod	an error value.
8873*3d8817e4Smiod	* elflink.h (elf_link_output_relocs): Likewise. Improve error message.
8874*3d8817e4Smiod	return with false on error.
8875*3d8817e4Smiod	(elf_link_input_bfd): Check reloc_emitter return value.
8876*3d8817e4Smiod
8877*3d8817e4Smiod2002-05-21  Jason Thorpe  <thorpej@wasabisystems.com>
8878*3d8817e4Smiod
8879*3d8817e4Smiod	* config.bfd (armeb-*-netbsdelf*): New target.
8880*3d8817e4Smiod
8881*3d8817e4Smiod2002-05-20  Alan Modra  <amodra@bigpond.net.au>
8882*3d8817e4Smiod
8883*3d8817e4Smiod	* elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
8884*3d8817e4Smiod	at the plt call stub.
8885*3d8817e4Smiod
8886*3d8817e4Smiod2002-05-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8887*3d8817e4Smiod
8888*3d8817e4Smiod	* cpu-mips.c (mips_compatible): Don't try to check machine
8889*3d8817e4Smiod	compatibility.
8890*3d8817e4Smiod
8891*3d8817e4Smiod2002-05-18  Tom Rix  <trix@redhat.com>
8892*3d8817e4Smiod
8893*3d8817e4Smiod	* coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
8894*3d8817e4Smiod
8895*3d8817e4Smiod2002-05-17  Alan Modra  <amodra@bigpond.net.au>
8896*3d8817e4Smiod
8897*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
8898*3d8817e4Smiod	(ppc64_elf_relocate_section): Don't warn about reloc overflow when
8899*3d8817e4Smiod	we've already warned about an undefined symbol.  Report more
8900*3d8817e4Smiod	detail on reloc errors.
8901*3d8817e4Smiod
8902*3d8817e4Smiod2002-05-17  Alan Modra  <amodra@bigpond.net.au>
8903*3d8817e4Smiod
8904*3d8817e4Smiod	* acinclude.m4 (AM_INSTALL_LIBBFD): New.
8905*3d8817e4Smiod	* configure.in: Invoke AM_INSTALL_LIBBFD.
8906*3d8817e4Smiod	* Makefile.am (install-data-local): Revert 2002-05-13.  Move to..
8907*3d8817e4Smiod	(install_libbfd): .. New target.
8908*3d8817e4Smiod	(uninstall_libbfd): Likewise.
8909*3d8817e4Smiod	(install-bfdlibLTLIBRARIES): Likewise.
8910*3d8817e4Smiod	(uninstall-bfdlibLTLIBRARIES): Likewise.
8911*3d8817e4Smiod	(bfdlibdir): New.
8912*3d8817e4Smiod	(bfdincludedir): New.
8913*3d8817e4Smiod	(lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
8914*3d8817e4Smiod	* aclocal.m4: Regenerate.
8915*3d8817e4Smiod	* configure: Regenerate.
8916*3d8817e4Smiod	* Makefile.in: Regenerate.
8917*3d8817e4Smiod
8918*3d8817e4Smiod2002-05-17  Stuart Balfour <sbalfour@cisco.com>
8919*3d8817e4Smiod
8920*3d8817e4Smiod	* hash.c (bfd_hash_lookup): Remove computation of len from inside
8921*3d8817e4Smiod	hash loop.
8922*3d8817e4Smiod
8923*3d8817e4Smiod2002-05-16  Nick Clifton  <nickc@cambridge.redhat.com>
8924*3d8817e4Smiod
8925*3d8817e4Smiod	* config.bfd: Add targets for sh64-linux (little endian and
8926*3d8817e4Smiod	big endian).
8927*3d8817e4Smiod
8928*3d8817e4Smiod2002-05-15  Laurent Pinchart <laurent.pinchart@skynet.be>
8929*3d8817e4Smiod
8930*3d8817e4Smiod	* peXXigen.c (pe_print_idata): Do not assume that the first thunk
8931*3d8817e4Smiod	is located in the same section as the import table.  Instead
8932*3d8817e4Smiod	check, and if necessary load the section containing the thunk.
8933*3d8817e4Smiod
8934*3d8817e4Smiod2002-05-15  Nick Clifton  <nickc@cambridge.redhat.com>
8935*3d8817e4Smiod
8936*3d8817e4Smiod	* aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
8937*3d8817e4Smiod	bfd_bread.
8938*3d8817e4Smiod	(xcoff64_core_file_matches_executable_p): Replace bfd_read
8939*3d8817e4Smiod	with bfd_bread.
8940*3d8817e4Smiod
8941*3d8817e4Smiod2002-05-15  Alan Modra  <amodra@bigpond.net.au>
8942*3d8817e4Smiod
8943*3d8817e4Smiod	* aix5ppc-core.c: Warning fixes.
8944*3d8817e4Smiod	* aout-adobe.c (aout_32_bfd_link_just_syms): Define.
8945*3d8817e4Smiod	* aout-target.h (MY_bfd_link_just_syms): Define.
8946*3d8817e4Smiod	* aout-tic30.c (MY_bfd_link_just_syms): Define.
8947*3d8817e4Smiod	* bfd.c (bfd_link_just_syms): Define.
8948*3d8817e4Smiod	* binary.c (binary_bfd_link_just_syms): Define.
8949*3d8817e4Smiod	* bout.c (b_out_bfd_link_just_syms): Define.
8950*3d8817e4Smiod	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
8951*3d8817e4Smiod	* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
8952*3d8817e4Smiod	* coffcode.h (coff_bfd_link_just_syms): Define.
8953*3d8817e4Smiod	* elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
8954*3d8817e4Smiod	(elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
8955*3d8817e4Smiod	(_bfd_elf_link_just_syms): Declare.
8956*3d8817e4Smiod	* elf.c (_bfd_elf_link_just_syms): New function.
8957*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
8958*3d8817e4Smiod	sections haven't already been discarded by the linker.
8959*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Likewise for stab
8960*3d8817e4Smiod	sections and SEC_MERGE sections.
8961*3d8817e4Smiod	(elf_bfd_discard_info): Similarly here.
8962*3d8817e4Smiod	* elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
8963*3d8817e4Smiod	* i386msdos.c (msdos_bfd_link_just_syms): Define.
8964*3d8817e4Smiod	* i386os9k.c (os9k_bfd_link_just_syms): Define.
8965*3d8817e4Smiod	* ieee.c (ieee_bfd_link_just_syms): Define.
8966*3d8817e4Smiod	* ihex.c (ihex_bfd_link_just_syms): Define.
8967*3d8817e4Smiod	* libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
8968*3d8817e4Smiod	(_bfd_generic_link_just_syms): Declare.
8969*3d8817e4Smiod	* libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
8970*3d8817e4Smiod	* linker.c (_bfd_generic_link_just_syms): New function.
8971*3d8817e4Smiod	* mmo.c (mmo_bfd_link_just_syms): Define.
8972*3d8817e4Smiod	* nlm-target.h (nlm_bfd_link_just_syms): Define.
8973*3d8817e4Smiod	* oasys.c (oasys_bfd_link_just_syms): Define.
8974*3d8817e4Smiod	* ppcboot.c (ppcboot_bfd_link_just_syms): Define.
8975*3d8817e4Smiod	* som.c (som_bfd_link_just_syms): Define.
8976*3d8817e4Smiod	* srec.c (srec_bfd_link_just_syms): Define.
8977*3d8817e4Smiod	* targets.c (struct bfd_target): Add _bfd_link_just_syms.
8978*3d8817e4Smiod	(BFD_JUMP_TABLE_LINK): And here.
8979*3d8817e4Smiod	* tekhex.c (tekhex_bfd_link_just_syms): Define.
8980*3d8817e4Smiod	* versados.c (versados_bfd_link_just_syms): Define.
8981*3d8817e4Smiod	* vms.c (vms_bfd_link_just_syms): Define.
8982*3d8817e4Smiod	* libbfd.h: Regenerate.
8983*3d8817e4Smiod	* bfd-in2.h: Regenerate.
8984*3d8817e4Smiod
8985*3d8817e4Smiod2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8986*3d8817e4Smiod
8987*3d8817e4Smiod	* elf32-mips.c: Remove superfluous definitions copied from
8988*3d8817e4Smiod	elfxx-mips.c.
8989*3d8817e4Smiod	(bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
8990*3d8817e4Smiod	SGIish vectors to check the special case.
8991*3d8817e4Smiod	(mips_elf_hi16_reloc): Fix comment.
8992*3d8817e4Smiod	(mips_elf_got16_reloc): Likewise.
8993*3d8817e4Smiod	(_bfd_mips_elf32_gprel16_reloc): Likewise.
8994*3d8817e4Smiod	(elf_reloc_map): Code cleanup.
8995*3d8817e4Smiod	(mips_reloc_map): Add comment.
8996*3d8817e4Smiod	(bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
8997*3d8817e4Smiod	(mips_elf32_rtype_to_howto): Likewise.
8998*3d8817e4Smiod	(mips_elf32_discard_info): Likewise.
8999*3d8817e4Smiod	(elf32_mips_irix_compat): Invert logic: Only SGIish vectors
9000*3d8817e4Smiod	lead to IRIX compatibility now.
9001*3d8817e4Smiod
9002*3d8817e4Smiod2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
9003*3d8817e4Smiod
9004*3d8817e4Smiod	* elfxx-mips.c: Call it IRIX, not Irix in comments.
9005*3d8817e4Smiod
9006*3d8817e4Smiod2002-05-13  Jason Thorpe  <thorpej@wasabisystems.com>
9007*3d8817e4Smiod
9008*3d8817e4Smiod	* config.bfd (shle-*-netbsdelf*): Add target which includes
9009*3d8817e4Smiod	sh64 support.
9010*3d8817e4Smiod
9011*3d8817e4Smiod2002-05-13  David Edelsohn  <edelsohn@gnu.org>
9012*3d8817e4Smiod
9013*3d8817e4Smiod	* configure.in: Revert 2002-04-07.  Instead, auto-configure
9014*3d8817e4Smiod	HAVE_ST_C_IMPL.
9015*3d8817e4Smiod	* configure: Regenerate.
9016*3d8817e4Smiod	* config.in: Regenerate.
9017*3d8817e4Smiod	* rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
9018*3d8817e4Smiod	or AIX_5_CORE.
9019*3d8817e4Smiod
9020*3d8817e4Smiod2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
9021*3d8817e4Smiod
9022*3d8817e4Smiod	* configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
9023*3d8817e4Smiod	corefiles as well.2
9024*3d8817e4Smiod	* configure: Regenerate.
9025*3d8817e4Smiod
9026*3d8817e4Smiod2002-05-13  Alan Modra  <amodra@bigpond.net.au>
9027*3d8817e4Smiod
9028*3d8817e4Smiod	* Makefile.am (install-data-local): Install headers to
9029*3d8817e4Smiod	$(exec_prefix)/include.
9030*3d8817e4Smiod	* Makefile.in: Regenerate.
9031*3d8817e4Smiod
9032*3d8817e4Smiod2002-05-11  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
9033*3d8817e4Smiod	    Daniel Jacobowitz  <drow@mvista.com>
9034*3d8817e4Smiod
9035*3d8817e4Smiod	* coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE.  Don't
9036*3d8817e4Smiod	map BFD_RELOC_RVA.
9037*3d8817e4Smiod
9038*3d8817e4Smiod2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
9039*3d8817e4Smiod
9040*3d8817e4Smiod	* config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
9041*3d8817e4Smiod	hppa*-*-openbsd*): New targets.
9042*3d8817e4Smiod	* configure.in (alpha*-*-openbsd*): Set COREFILE.
9043*3d8817e4Smiod	* configure: Regenerate.
9044*3d8817e4Smiod
9045*3d8817e4Smiod2002-05-10  Tom Rix  <trix@redhat.com>
9046*3d8817e4Smiod
9047*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_reloc_type_br): New function for
9048*3d8817e4Smiod	xcoff64_ppc_relocate_section.
9049*3d8817e4Smiod	* coff-rs6000.c : Extern common xcoff_reloc_type functions.
9050*3d8817e4Smiod	* libxcoff.h: Common xcoff_reloc_type function declaration.
9051*3d8817e4Smiod
9052*3d8817e4Smiod2002-05-10  Alan Modra  <amodra@bigpond.net.au>
9053*3d8817e4Smiod
9054*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
9055*3d8817e4Smiod	added in 2002-05-09 commit.
9056*3d8817e4Smiod
9057*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
9058*3d8817e4Smiod	don't look for stubs on all undefined syms.
9059*3d8817e4Smiod
9060*3d8817e4Smiod2002-05-09  Alan Modra  <amodra@bigpond.net.au>
9061*3d8817e4Smiod
9062*3d8817e4Smiod	* elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
9063*3d8817e4Smiod	(ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
9064*3d8817e4Smiod	pcrel_offset.
9065*3d8817e4Smiod
9066*3d8817e4Smiod	* elf32-i386.c (elf_howto_table): Comments.
9067*3d8817e4Smiod	(elf_i386_relocate_section): Handle more relocs for relocatable
9068*3d8817e4Smiod	linking and against SEC_MERGE sections.
9069*3d8817e4Smiod
9070*3d8817e4Smiod2002-05-08  Alan Modra  <amodra@bigpond.net.au>
9071*3d8817e4Smiod
9072*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_create_got): New function.
9073*3d8817e4Smiod	(ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
9074*3d8817e4Smiod	_bfd_elf_create_dynamic_sections.  Correct .plt flags.
9075*3d8817e4Smiod	(ppc_elf_check_relocs): Use ppc_elf_create_got in place of
9076*3d8817e4Smiod	_bfd_elf_create_got_section.
9077*3d8817e4Smiod
9078*3d8817e4Smiod2002-05-07  Alan Modra  <amodra@bigpond.net.au>
9079*3d8817e4Smiod
9080*3d8817e4Smiod	* elf-bfd.h (struct elf_backend_data): Add rela_normal.
9081*3d8817e4Smiod	* elfxx-target.h (elf_backend_rela_normal): Define.
9082*3d8817e4Smiod	(elfNN_bed): Init rela_normal.
9083*3d8817e4Smiod	* elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
9084*3d8817e4Smiod	for section symbols here if rela_normal.  Simplify abs section test.
9085*3d8817e4Smiod	* elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
9086*3d8817e4Smiod	return immediately.  Remove code handling relocatable linking.
9087*3d8817e4Smiod	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
9088*3d8817e4Smiod	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
9089*3d8817e4Smiod	* elf32-i370.c (i370_elf_relocate_section): Likewise.
9090*3d8817e4Smiod	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
9091*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
9092*3d8817e4Smiod	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
9093*3d8817e4Smiod	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
9094*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
9095*3d8817e4Smiod	* elf32-s390.c (elf_s390_relocate_section): Likewise.
9096*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
9097*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
9098*3d8817e4Smiod	* elf64-s390.c (elf_s390_relocate_section): Likewise.
9099*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
9100*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
9101*3d8817e4Smiod	* elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
9102*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
9103*3d8817e4Smiod	* elf-m10200.c (elf_backend_rela_normal): Define.
9104*3d8817e4Smiod	* elf-m10300.c (elf_backend_rela_normal): Define.
9105*3d8817e4Smiod	* elf32-fr30.c (elf_backend_rela_normal): Define.
9106*3d8817e4Smiod	* elf32-i370.c (elf_backend_rela_normal): Define.
9107*3d8817e4Smiod	* elf32-i860.c (elf_backend_rela_normal): Define.
9108*3d8817e4Smiod	* elf32-m68k.c (elf_backend_rela_normal): Define.
9109*3d8817e4Smiod	* elf32-mcore.c (elf_backend_rela_normal): Define.
9110*3d8817e4Smiod	* elf32-openrisc.c (elf_backend_rela_normal): Define.
9111*3d8817e4Smiod	* elf32-ppc.c (elf_backend_rela_normal): Define.
9112*3d8817e4Smiod	* elf32-s390.c (elf_backend_rela_normal): Define.
9113*3d8817e4Smiod	* elf32-xstormy16.c (elf_backend_rela_normal): Define.
9114*3d8817e4Smiod	* elf64-ppc.c (elf_backend_rela_normal): Define.
9115*3d8817e4Smiod	* elf64-s390.c (elf_backend_rela_normal): Define.
9116*3d8817e4Smiod	* elf64-x86-64.c (elf_backend_rela_normal): Define.
9117*3d8817e4Smiod	* elfxx-ia64.c (elf_backend_rela_normal): Define.
9118*3d8817e4Smiod	* elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
9119*3d8817e4Smiod	* elf32-m32r.c (elf_backend_rela_normal): Likewise.
9120*3d8817e4Smiod
9121*3d8817e4Smiod2002-05-06  Nick Clifton  <nickc@cambridge.redhat.com>
9122*3d8817e4Smiod
9123*3d8817e4Smiod	* elf32-arm.h (elf32_arm_final_link_relocate): Convert
9124*3d8817e4Smiod	'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
9125*3d8817e4Smiod
9126*3d8817e4Smiod2002-05-06  Alan Modra  <amodra@bigpond.net.au>
9127*3d8817e4Smiod
9128*3d8817e4Smiod	* elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
9129*3d8817e4Smiod	when not relocatable.  Fix reloc_emitter call for K&R.
9130*3d8817e4Smiod
9131*3d8817e4Smiod2002-05-04  Alan Modra  <amodra@bigpond.net.au>
9132*3d8817e4Smiod
9133*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
9134*3d8817e4Smiod	reloading local sym addend mistakenly removed in 2002-05-01 change.
9135*3d8817e4Smiod
9136*3d8817e4Smiod	* dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
9137*3d8817e4Smiod	(read_abbrevs): Change "offset" param to bfd_vma.
9138*3d8817e4Smiod	(parse_comp_unit): Change "version" and addr_size to unsigned ints.
9139*3d8817e4Smiod	Change "abbrev_offset" to bfd_vma.
9140*3d8817e4Smiod	(read_indirect_string): Use correct conversion chars in error
9141*3d8817e4Smiod	message format string, cast bfd_vma's to unsigned long.
9142*3d8817e4Smiod	(read_abbrevs): Likewise.
9143*3d8817e4Smiod	(read_attribute_value): Likewise.
9144*3d8817e4Smiod	(decode_line_info): Likewise.
9145*3d8817e4Smiod	(scan_unit_for_functions): Likewise.
9146*3d8817e4Smiod	(parse_comp_unit): Likewise.
9147*3d8817e4Smiod
9148*3d8817e4Smiod2002-05-04  Tom Rix  <trix@redhat.com>
9149*3d8817e4Smiod
9150*3d8817e4Smiod	* coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
9151*3d8817e4Smiod	(coff_swap_reloc_out): Same.
9152*3d8817e4Smiod	* coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
9153*3d8817e4Smiod	(xcoff_swap_reloc_out): Same.
9154*3d8817e4Smiod	(xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
9155*3d8817e4Smiod	case some 16 bit relocs. Add reloc value to output.
9156*3d8817e4Smiod	(xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
9157*3d8817e4Smiod	R_RBR. Improve names.
9158*3d8817e4Smiod	(_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
9159*3d8817e4Smiod	(bfd_xcoff_backend_data): Update with new reloc swap names.
9160*3d8817e4Smiod	(bfd_pmac_xcoff_backend_data) : Same.
9161*3d8817e4Smiod	* coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
9162*3d8817e4Smiod	(xcoff64_swap_reloc_out): Same.
9163*3d8817e4Smiod	(xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
9164*3d8817e4Smiod	R_POS. Add reloc value to output.
9165*3d8817e4Smiod	(xcoff64_howto_table): Move 64 bit R_POS to first entry.  Add 16
9166*3d8817e4Smiod	bit R_RBR. Improve names, masks.
9167*3d8817e4Smiod	(xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
9168*3d8817e4Smiod	(bfd_xcoff_backend_data): Update with new reloc swap names.
9169*3d8817e4Smiod	(bfd_xcoff_aix5_backend_data) : Same.
9170*3d8817e4Smiod
9171*3d8817e4Smiod2002-05-04  Alan Modra  <amodra@bigpond.net.au>
9172*3d8817e4Smiod
9173*3d8817e4Smiod	* elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
9174*3d8817e4Smiod	bfd_count top_index, input_list, all_local_syms.
9175*3d8817e4Smiod	(elf32_hppa_setup_section_lists): New function, split from
9176*3d8817e4Smiod	elf32_hppa_size_stubs.
9177*3d8817e4Smiod	(elf32_hppa_next_input_section): Likewise.
9178*3d8817e4Smiod	(group_sections): Likewise.
9179*3d8817e4Smiod	(get_local_syms): Likewise.
9180*3d8817e4Smiod	(elf32_hppa_size_stubs): Adjust for split out functions.  Look for
9181*3d8817e4Smiod	stubs on undefined syms too.
9182*3d8817e4Smiod	(elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
9183*3d8817e4Smiod	Only access htab elf fields when we have an elf hash table.
9184*3d8817e4Smiod	* elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
9185*3d8817e4Smiod	(elf32_hppa_next_input_section): Declare.
9186*3d8817e4Smiod
9187*3d8817e4Smiod2002-05-04  Bob Byrnes  <byrnes@curl.com>
9188*3d8817e4Smiod
9189*3d8817e4Smiod	* opncls.c (_bfd_new_bfd_contained_in): Check return value of
9190*3d8817e4Smiod	_bfd_new_bfd.
9191*3d8817e4Smiod
9192*3d8817e4Smiod2002-05-03  H.J. Lu  (hjl@gnu.org)
9193*3d8817e4Smiod
9194*3d8817e4Smiod	* elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
9195*3d8817e4Smiod	(mips_elf_link_hash_newfunc): Initialize forced_local to false.
9196*3d8817e4Smiod	(mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
9197*3d8817e4Smiod	to hide a global symbol.
9198*3d8817e4Smiod	(_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
9199*3d8817e4Smiod	forced_local to true.
9200*3d8817e4Smiod
9201*3d8817e4Smiod2002-05-02  Richard Henderson  <rth@redhat.com>
9202*3d8817e4Smiod
9203*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
9204*3d8817e4Smiod	vs SHN_UNDEF to zero.
9205*3d8817e4Smiod
9206*3d8817e4Smiod2002-05-02  Alan Modra  <amodra@bigpond.net.au>
9207*3d8817e4Smiod
9208*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
9209*3d8817e4Smiod	16 bit reloc.
9210*3d8817e4Smiod	<R_PPC64_SECTOFF_DS>: Likewise.
9211*3d8817e4Smiod	(ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
9212*3d8817e4Smiod	SECTOFF reloc.
9213*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
9214*3d8817e4Smiod	(ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
9215*3d8817e4Smiod	SECTOFF reloc.
9216*3d8817e4Smiod
9217*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
9218*3d8817e4Smiod	(ppc64_elf_ha_reloc): New function.
9219*3d8817e4Smiod	(ppc64_elf_brtaken_reloc): New function.
9220*3d8817e4Smiod	(ppc64_elf_sectoff_reloc): New function.
9221*3d8817e4Smiod	(ppc64_elf_sectoff_ha_reloc): New function.
9222*3d8817e4Smiod	(ppc64_elf_toc_reloc): New function.
9223*3d8817e4Smiod	(ppc64_elf_toc_ha_reloc): New function.
9224*3d8817e4Smiod	(ppc64_elf_toc64_reloc): New function.
9225*3d8817e4Smiod	(ppc64_elf_unhandled_reloc): New function.
9226*3d8817e4Smiod	(ppc64_elf_howto_raw): Use the above.
9227*3d8817e4Smiod	<R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
9228*3d8817e4Smiod	<R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset.  Fix dst_mask.
9229*3d8817e4Smiod	<R_PPC64_SECTOFF_DS>: Likewise.
9230*3d8817e4Smiod	(IS_ABSOLUTE_RELOC): Update.
9231*3d8817e4Smiod	(struct ppc_link_hash_table): Add have_undefweak.
9232*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): Init.
9233*3d8817e4Smiod	(func_desc_adjust): Set have_undefweak.
9234*3d8817e4Smiod	(ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier.  Only
9235*3d8817e4Smiod	add the .sfpr blr when have_undefweak.
9236*3d8817e4Smiod	(ppc64_elf_setup_section_lists): Check hash table flavour.
9237*3d8817e4Smiod	(ppc64_elf_next_input_section): Move output_section->owner test to
9238*3d8817e4Smiod	ppc64elf.em.
9239*3d8817e4Smiod	(ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
9240*3d8817e4Smiod	and relocatable test.  Return TOCstart and don't set elf_gp.
9241*3d8817e4Smiod	(ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
9242*3d8817e4Smiod	offset calculation.  Add assert on weak sym branch tweaks.
9243*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_set_toc): Delete.
9244*3d8817e4Smiod	(ppc64_elf_toc): Declare.
9245*3d8817e4Smiod	(ppc64_elf_next_input_section): Update.
9246*3d8817e4Smiod
9247*3d8817e4Smiod2002-05-01  Alan Modra  <amodra@bigpond.net.au>
9248*3d8817e4Smiod
9249*3d8817e4Smiod	* syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
9250*3d8817e4Smiod	file_name.
9251*3d8817e4Smiod
9252*3d8817e4Smiod2002-05-01  Alan Modra  <amodra@bigpond.net.au>
9253*3d8817e4Smiod
9254*3d8817e4Smiod	* elf64-ppc.c (CROR_151515, CROR_313131): Define.
9255*3d8817e4Smiod	(ppc64_elf_relocate_section): Use them.  Don't look for plt calls
9256*3d8817e4Smiod	on R_PPC64_ADDR24 relocs.  Require a nop or no link reg on plt
9257*3d8817e4Smiod	call branches.  Correct undefined weak destination.
9258*3d8817e4Smiod	(ppc64_elf_func_desc_adjust): Always create at least one blr in
9259*3d8817e4Smiod	.sfpr, and correct case where either only savef* or restf* is
9260*3d8817e4Smiod	needed.
9261*3d8817e4Smiod
9262*3d8817e4Smiod	Long branch stubs, multiple stub sections.
9263*3d8817e4Smiod	* elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
9264*3d8817e4Smiod	(ppc64_elf_next_input_section): Declare.
9265*3d8817e4Smiod	* elf64-ppc.c: Move linker-only prototypes.
9266*3d8817e4Smiod	(STUB_SUFFIX): Define.
9267*3d8817e4Smiod	(enum ppc_stub_type): New.
9268*3d8817e4Smiod	(struct ppc_stub_hash_entry): New.
9269*3d8817e4Smiod	(struct ppc_branch_hash_entry): New.
9270*3d8817e4Smiod	(struct ppc_link_hash_entry): Add stub_cache, oh.
9271*3d8817e4Smiod	(struct ppc_link_hash_table): Add stub_hash_table etc.  Remove
9272*3d8817e4Smiod	sstub.  Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
9273*3d8817e4Smiod	Rename plt_overflow to stub_error.
9274*3d8817e4Smiod	(ppc_stub_hash_lookup): Define.
9275*3d8817e4Smiod	(ppc_branch_hash_lookup): Define.
9276*3d8817e4Smiod	(stub_hash_newfunc): New function.
9277*3d8817e4Smiod	(branch_hash_newfunc): New function.
9278*3d8817e4Smiod	(link_hash_newfunc): Init new fields.
9279*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): Likewise.
9280*3d8817e4Smiod	(ppc64_elf_link_hash_table_free): New function.
9281*3d8817e4Smiod	(ppc_stub_name): New function.
9282*3d8817e4Smiod	(ppc_get_stub_entry): New function.
9283*3d8817e4Smiod	(ppc_add_stub): New function.
9284*3d8817e4Smiod	(create_linkage_sections): Use bfd_make_section_anyway.  Create
9285*3d8817e4Smiod	.branch_lt and .rela.branch_lt sections.  Don't create .stub.
9286*3d8817e4Smiod	(ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
9287*3d8817e4Smiod	and set up for plt call stubs.  Link func and func desc syms.
9288*3d8817e4Smiod	(ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
9289*3d8817e4Smiod	(func_desc_adjust): Avoid hash lookup when func desc sym available
9290*3d8817e4Smiod	via shortcut, and set links when processing.
9291*3d8817e4Smiod	(ppc64_elf_hide_symbol): Likewise.
9292*3d8817e4Smiod	(allocate_dynrelocs): Don't allocate stub section here.
9293*3d8817e4Smiod	(ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
9294*3d8817e4Smiod	Remove sstub code.
9295*3d8817e4Smiod	(ppc_type_of_stub): New function.
9296*3d8817e4Smiod	(build_one_stub): Delete.
9297*3d8817e4Smiod	(ppc_build_one_stub): New function.
9298*3d8817e4Smiod	(ppc_size_one_stub): New function.
9299*3d8817e4Smiod	(ppc64_elf_setup_section_lists): New function.
9300*3d8817e4Smiod	(ppc64_elf_next_input_section): New function.
9301*3d8817e4Smiod	(group_sections): New function.
9302*3d8817e4Smiod	(get_local_syms): New function.
9303*3d8817e4Smiod	(ppc64_elf_size_stubs): Rewrite.
9304*3d8817e4Smiod	(ppc64_elf_build_stubs): Rewrite.
9305*3d8817e4Smiod	(ppc64_elf_relocate_section): Look up stub entry for REL24
9306*3d8817e4Smiod	relocs.  Don't propagate REL14* to dynamic objects.  Look for long
9307*3d8817e4Smiod	branch stubs if REL14* or REL24 relocs won't reach.
9308*3d8817e4Smiod	(bfd_elf64_bfd_link_hash_table_free): Define.
9309*3d8817e4Smiod
9310*3d8817e4Smiod2002-04-30  Mark Mitchell  <mark@codesourcery.com>
9311*3d8817e4Smiod
9312*3d8817e4Smiod	* config.bfd: Add support for powerpc-*-windiss.
9313*3d8817e4Smiod
9314*3d8817e4Smiod2002-04-30  Tom Rix  <trix@redhat.com>
9315*3d8817e4Smiod
9316*3d8817e4Smiod	* xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
9317*3d8817e4Smiod	symbol names into the hash table.
9318*3d8817e4Smiod
9319*3d8817e4Smiod2002-04-28  Tom Rix  <trix@redhat.com>
9320*3d8817e4Smiod
9321*3d8817e4Smiod	* coff-rs6000.c (xcoff_calculate_relocation) : Function table for
9322*3d8817e4Smiod	calulating relocations.
9323*3d8817e4Smiod	(xcoff_complain_overflow) : Function table for relocation errors.
9324*3d8817e4Smiod	(xcoff_ppc_relocate_section): Use relocation and complain function
9325*3d8817e4Smiod	tables.
9326*3d8817e4Smiod	(xcoff_complain_overflow_unsigned_func): New complain function.
9327*3d8817e4Smiod	(xcoff_complain_overflow_signed_func): Same.
9328*3d8817e4Smiod	(xcoff_complain_overflow_bitfield_func): Same.
9329*3d8817e4Smiod	(xcoff_complain_overflow_dont_func): Same.
9330*3d8817e4Smiod	(xcoff_reloc_type_crel): New recot function.
9331*3d8817e4Smiod	(xcoff_reloc_type_br): Same.
9332*3d8817e4Smiod	(xcoff_reloc_type_ba): Same.
9333*3d8817e4Smiod	(xcoff_reloc_type_toc): Same.
9334*3d8817e4Smiod	(xcoff_reloc_type_rel): Same.
9335*3d8817e4Smiod	(xcoff_reloc_type_neg): Same.
9336*3d8817e4Smiod	(xcoff_reloc_type_pos): Same.
9337*3d8817e4Smiod	(xcoff_reloc_type_fail): Same.
9338*3d8817e4Smiod	(xcoff_reloc_type_noop): Same.
9339*3d8817e4Smiod	* libxcoff.h : Declare common parts for xcoff64.
9340*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
9341*3d8817e4Smiod	and complain function tables.
9342*3d8817e4Smiod
9343*3d8817e4Smiod2002-04-28  Alan Modra  <amodra@bigpond.net.au>
9344*3d8817e4Smiod
9345*3d8817e4Smiod	* elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
9346*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_final_link): Formatting.
9347*3d8817e4Smiod
9348*3d8817e4Smiod2002-04-26  Alan Modra  <amodra@bigpond.net.au>
9349*3d8817e4Smiod
9350*3d8817e4Smiod	* opncls.c (bfd_make_readable): Call bfd_section_list_clear.
9351*3d8817e4Smiod	* xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
9352*3d8817e4Smiod
9353*3d8817e4Smiod	* elflink.h (elf_bfd_final_link): Ensure input bfd class is the
9354*3d8817e4Smiod	same as the output before calling elf_link_input_bfd.
9355*3d8817e4Smiod
9356*3d8817e4Smiod	* coffcode.h (coff_compute_section_file_positions): Set
9357*3d8817e4Smiod	section_tail after shuffling section list.
9358*3d8817e4Smiod
9359*3d8817e4Smiod2002-04-24  Christian Groessler <chris@groessler.org>
9360*3d8817e4Smiod
9361*3d8817e4Smiod	* coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
9362*3d8817e4Smiod	addresses are 23bit with a special layout, not plain 32bit
9363*3d8817e4Smiod	values.  Prevent relocation of immediate values.
9364*3d8817e4Smiod
9365*3d8817e4Smiod2002-04-24  Chris G. Demetriou  <cgd@broadcom.com>
9366*3d8817e4Smiod
9367*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
9368*3d8817e4Smiod	MIPS-16 ASE flags are set, print something to indicate that.
9369*3d8817e4Smiod
9370*3d8817e4Smiod2002-04-23  Alan Modra  <amodra@bigpond.net.au>
9371*3d8817e4Smiod
9372*3d8817e4Smiod	* elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
9373*3d8817e4Smiod	under which a plt call stub is used.
9374*3d8817e4Smiod	(final_link_relocate): Similarly.
9375*3d8817e4Smiod	(allocate_plt_static): Clear h-plabel except when plt entry is
9376*3d8817e4Smiod	exclusively used for a plabel.
9377*3d8817e4Smiod	(allocate_dynrelocs): Use the above to simplify plt sizing.
9378*3d8817e4Smiod	(struct elf32_hppa_link_hash_table): Add has_22bit_branch.
9379*3d8817e4Smiod	(elf32_hppa_link_hash_table_create): Init.
9380*3d8817e4Smiod	(BL22_RP): Define.
9381*3d8817e4Smiod	(hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
9382*3d8817e4Smiod	(elf32_hppa_check_relocs): Set has_22bit_branch.
9383*3d8817e4Smiod
9384*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
9385*3d8817e4Smiod	(final_link_relocate): Likewise.
9386*3d8817e4Smiod
9387*3d8817e4Smiod2002-04-22  Jakub Jelinek  <jakub@redhat.com>
9388*3d8817e4Smiod
9389*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
9390*3d8817e4Smiod	search table if some FDE is DW_EH_PE_aligned encoded either.
9391*3d8817e4Smiod	(_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
9392*3d8817e4Smiod
9393*3d8817e4Smiod2002-04-22  Richard Smith  <richard@ex-parrot.com>
9394*3d8817e4Smiod	    Jakub Jelinek  <jakub@redhat.com>
9395*3d8817e4Smiod
9396*3d8817e4Smiod	* elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
9397*3d8817e4Smiod	(_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
9398*3d8817e4Smiod	encoded personality.
9399*3d8817e4Smiod	(_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
9400*3d8817e4Smiod	for CIE/FDE removal.
9401*3d8817e4Smiod
9402*3d8817e4Smiod2002-04-20  Tom Rix  <trix@redhat.com>
9403*3d8817e4Smiod
9404*3d8817e4Smiod	* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
9405*3d8817e4Smiod
9406*3d8817e4Smiod2002-04-20  Alan Modra  <amodra@bigpond.net.au>
9407*3d8817e4Smiod
9408*3d8817e4Smiod	* archures.c (bfd_lookup_arch): Move the list order comment..
9409*3d8817e4Smiod	(struct bfd_arch_info): ..to where it belongs.
9410*3d8817e4Smiod	* bfd-in2.h: Regenerate.
9411*3d8817e4Smiod
9412*3d8817e4Smiod	* archures.c (bfd_lookup_arch): Add comment on list order.
9413*3d8817e4Smiod	(bfd_default_set_arch_mach): Use bfd_lookup_arch.
9414*3d8817e4Smiod	* cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
9415*3d8817e4Smiod	is always at head of list.
9416*3d8817e4Smiod
9417*3d8817e4Smiod2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
9418*3d8817e4Smiod
9419*3d8817e4Smiod	* coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
9420*3d8817e4Smiod	insert_thumb_branch, record_thumb_to_arm_glue): Suppress
9421*3d8817e4Smiod	definition of these functions for ARM_WINCE builds as they are
9422*3d8817e4Smiod	not used.
9423*3d8817e4Smiod	(SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
9424*3d8817e4Smiod	for ARM_WINCE builds.
9425*3d8817e4Smiod
9426*3d8817e4Smiod2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
9427*3d8817e4Smiod
9428*3d8817e4Smiod	* coff-arm.c (bfd_arm_process_before_allocation):
9429*3d8817e4Smiod
9430*3d8817e4Smiod2002-04-17  J"orn Rennecke <joern.rennecke@superh.com>
9431*3d8817e4Smiod
9432*3d8817e4Smiod	* cpu-sh.c (scan_mach): Delete.
9433*3d8817e4Smiod	(arch_info_struct): Replace scan_mach with bfd_default_scan.
9434*3d8817e4Smiod	(bfd_sh_arch): Likewise.
9435*3d8817e4Smiod
9436*3d8817e4Smiod2002-04-16  Nick Clifton  <nickc@cambridge.redhat.com>
9437*3d8817e4Smiod
9438*3d8817e4Smiod	* ihex.c (ihex_write_object_contents): Fix check for records
9439*3d8817e4Smiod	crossing 64K boundaries.
9440*3d8817e4Smiod
9441*3d8817e4Smiod2002-04-16  Alan Modra  <amodra@bigpond.net.au>
9442*3d8817e4Smiod
9443*3d8817e4Smiod	* elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
9444*3d8817e4Smiod	type rather than just assuming entries are ELF.
9445*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
9446*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
9447*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
9448*3d8817e4Smiod	* elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
9449*3d8817e4Smiod	rather than elf_link_hash_entry.
9450*3d8817e4Smiod
9451*3d8817e4Smiod2002-04-15  Richard Henderson  <rth@redhat.com>
9452*3d8817e4Smiod
9453*3d8817e4Smiod	* elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
9454*3d8817e4Smiod	n32 binaries.
9455*3d8817e4Smiod
9456*3d8817e4Smiod2002-04-15  Michael Snyder  <msnyder@redhat.com>
9457*3d8817e4Smiod
9458*3d8817e4Smiod	* opncls.c (bfd_close): Write contents if writeable.
9459*3d8817e4Smiod	Minor formatting tidy-ups.
9460*3d8817e4Smiod
9461*3d8817e4Smiod2002-04-15  Alan Modra  <amodra@bigpond.net.au>
9462*3d8817e4Smiod
9463*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
9464*3d8817e4Smiod
9465*3d8817e4Smiod2002-04-12  Michael Snyder  <msnyder@redhat.com>
9466*3d8817e4Smiod
9467*3d8817e4Smiod	* bfd-in.h (bfd_get_section_lma): New access macro.
9468*3d8817e4Smiod	Minor white-space fix-up.
9469*3d8817e4Smiod
9470*3d8817e4Smiod2002-04-12  Alan Modra  <amodra@bigpond.net.au>
9471*3d8817e4Smiod
9472*3d8817e4Smiod	* elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
9473*3d8817e4Smiod	header pad.
9474*3d8817e4Smiod
9475*3d8817e4Smiod2002-04-09  DJ Delorie  <dj@redhat.com>
9476*3d8817e4Smiod
9477*3d8817e4Smiod	* elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
9478*3d8817e4Smiod
9479*3d8817e4Smiod2002-04-09  Casper S. Hornstrup <chorns@users.sourceforge.net>
9480*3d8817e4Smiod
9481*3d8817e4Smiod	* coffcode.h (coff_read_word): New.
9482*3d8817e4Smiod	(coff_compute_checksum): New.
9483*3d8817e4Smiod	(coff_apply_checksum): New.
9484*3d8817e4Smiod	(coff_write_object_contents): Call coff_apply_checksum () to
9485*3d8817e4Smiod	apply checksum to PE image.
9486*3d8817e4Smiod
9487*3d8817e4Smiod2002-04-08  Randolph Chung  <tausq@debian.org>
9488*3d8817e4Smiod
9489*3d8817e4Smiod	* elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
9490*3d8817e4Smiod	(elf32_hppa_final_link): Split out sorting logic to..
9491*3d8817e4Smiod	* elf-hppa.h (elf_hppa_sort_unwind): ..here.
9492*3d8817e4Smiod	(elf_hppa_final_link): Call elf_hppa_sort_unwind.
9493*3d8817e4Smiod
9494*3d8817e4Smiod2002-04-07  Andrew Cagney  <ac131313@redhat.com>
9495*3d8817e4Smiod
9496*3d8817e4Smiod	* configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
9497*3d8817e4Smiod	pattern.
9498*3d8817e4Smiod	* configure: Re-generate.
9499*3d8817e4Smiod
9500*3d8817e4Smiod2002-04-07  Andrew Cagney  <ac131313@redhat.com>
9501*3d8817e4Smiod
9502*3d8817e4Smiod	* configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
9503*3d8817e4Smiod	is greater or equal to 4.3.3.
9504*3d8817e4Smiod	* configure: Regenerate.
9505*3d8817e4Smiod	Fix PR gdb/344.
9506*3d8817e4Smiod
9507*3d8817e4Smiod2002-04-05  Hans-Peter Nilsson  <hp@axis.com>
9508*3d8817e4Smiod
9509*3d8817e4Smiod	* elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
9510*3d8817e4Smiod	R_CRIS_32_PCREL>: Fix typo in name.
9511*3d8817e4Smiod	(cris_elf_check_relocs): Always create .rela.got here when
9512*3d8817e4Smiod	R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
9513*3d8817e4Smiod	(elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
9514*3d8817e4Smiod	assume it's created.
9515*3d8817e4Smiod
9516*3d8817e4Smiod2002-04-04  Daniel Jacobowitz  <drow@mvista.com>
9517*3d8817e4Smiod
9518*3d8817e4Smiod	* aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
9519*3d8817e4Smiod	* aout-target.h (MY_bfd_link_hash_table_free): Conditionally
9520*3d8817e4Smiod	define.
9521*3d8817e4Smiod	* aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
9522*3d8817e4Smiod	* bfd.c (bfd_link_hash_table_free): Define.
9523*3d8817e4Smiod	* binary.c (binary_bfd_link_hash_table_free): Define.
9524*3d8817e4Smiod	* bout.c (b_out_bfd_link_hash_table_free): Define.
9525*3d8817e4Smiod	* coff-rs6000.c (rs6000coff_vec): Include
9526*3d8817e4Smiod	_bfd_generic_link_hash_table_free.
9527*3d8817e4Smiod	(pmac_xcoff_vec): Likewise.
9528*3d8817e4Smiod	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
9529*3d8817e4Smiod	(aix5coff64_vec): Likewise.
9530*3d8817e4Smiod	* coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
9531*3d8817e4Smiod	* elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
9532*3d8817e4Smiod	(bfd_elf32_bfd_link_hash_table_free): Define.
9533*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
9534*3d8817e4Smiod	(bfd_elf32_bfd_link_hash_table_free): Define.
9535*3d8817e4Smiod	* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
9536*3d8817e4Smiod	define.
9537*3d8817e4Smiod	* i386msdos.c (msdos_bfd_link_hash_table_free): Define.
9538*3d8817e4Smiod	* i386os9k.c (os9k_bfd_link_hash_table_free): Define.
9539*3d8817e4Smiod	* ieee.c (ieee_bfd_link_hash_table_free): Define.
9540*3d8817e4Smiod	* ihex.c (ihex_bfd_link_hash_table_free): Define.
9541*3d8817e4Smiod	* libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
9542*3d8817e4Smiod	(_bfd_generic_link_hash_table_free): Add prototype.
9543*3d8817e4Smiod	* libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
9544*3d8817e4Smiod	* libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
9545*3d8817e4Smiod	* linker.c (_bfd_generic_link_hash_table_free): New function.
9546*3d8817e4Smiod	* mmo.c (mmo_bfd_link_hash_table_free): Define.
9547*3d8817e4Smiod	* nlm-target.h (nlm_bfd_link_hash_table_free): Define.
9548*3d8817e4Smiod	* oasys.c (oasys_bfd_link_hash_table_free): Define.
9549*3d8817e4Smiod	* ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
9550*3d8817e4Smiod	* som.c (som_bfd_link_hash_table_free): Define.
9551*3d8817e4Smiod	* srec.c (srec_bfd_link_hash_table_free): Define.
9552*3d8817e4Smiod	* tekhex.c (tekhex_bfd_link_hash_table_free): Define.
9553*3d8817e4Smiod	* versados.c (versados_bfd_link_hash_table_free): Define.
9554*3d8817e4Smiod	* vms.c (vms_bfd_link_hash_table_free): New function.
9555*3d8817e4Smiod	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
9556*3d8817e4Smiod
9557*3d8817e4Smiod	* coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
9558*3d8817e4Smiod	instead of bfd_alloc.
9559*3d8817e4Smiod	* coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
9560*3d8817e4Smiod	* coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
9561*3d8817e4Smiod	* coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
9562*3d8817e4Smiod	* cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
9563*3d8817e4Smiod	* ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
9564*3d8817e4Smiod	* elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
9565*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_table_create): Likewise.
9566*3d8817e4Smiod	* elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
9567*3d8817e4Smiod	* elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
9568*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
9569*3d8817e4Smiod	* elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
9570*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
9571*3d8817e4Smiod	* elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
9572*3d8817e4Smiod	* elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
9573*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
9574*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
9575*3d8817e4Smiod	* elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
9576*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
9577*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
9578*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
9579*3d8817e4Smiod	* elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
9580*3d8817e4Smiod	* linker.c (_bfd_generic_link_hash_table_create): Likewise.
9581*3d8817e4Smiod	* m68klinux.c (linux_link_hash_table_create): Likewise.
9582*3d8817e4Smiod	* sparclinux.c (linux_link_hash_table_create): Likewise.
9583*3d8817e4Smiod	* sunos.c (sunos_link_hash_table_create): Likewise.
9584*3d8817e4Smiod	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
9585*3d8817e4Smiod
9586*3d8817e4Smiod	* targets.c: Add _bfd_link_hash_table_free to xvec.
9587*3d8817e4Smiod
9588*3d8817e4Smiod	* bfd-in2.h: Regenerate.
9589*3d8817e4Smiod	* libbfd.h: Regenerate.
9590*3d8817e4Smiod	* libcoff.h: Regenerate.
9591*3d8817e4Smiod
9592*3d8817e4Smiod2002-04-04  Alan Modra  <amodra@bigpond.net.au>
9593*3d8817e4Smiod
9594*3d8817e4Smiod	* dep-in.sed: Cope with absolute paths.
9595*3d8817e4Smiod	* Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
9596*3d8817e4Smiod	Run "make dep-am".
9597*3d8817e4Smiod	* Makefile.in: Regenerate.
9598*3d8817e4Smiod	* coff-arm.c: Fix copyright date.
9599*3d8817e4Smiod	* cpu-h8300.c: Likewise.
9600*3d8817e4Smiod	* cpu-i370.c: Likewise.
9601*3d8817e4Smiod	* cpu-s390.c: Likewise.
9602*3d8817e4Smiod	* cpu-mips.c: Likewise.
9603*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
9604*3d8817e4Smiod
9605*3d8817e4Smiod2002-04-04  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
9606*3d8817e4Smiod
9607*3d8817e4Smiod	* Makefile.am: Add elfxx-mips.c to the known backends.
9608*3d8817e4Smiod	(elf32-mips.lo): remove dependency to coff/external.h.
9609*3d8817e4Smiod	* Makefile.in: Regenerate.
9610*3d8817e4Smiod	* configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
9611*3d8817e4Smiod	Remove elf32-mips.lo from 64 bit vectors. Update dependencies
9612*3d8817e4Smiod	accordingly.
9613*3d8817e4Smiod	* configure: Regenerate.
9614*3d8817e4Smiod	* elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
9615*3d8817e4Smiod	(irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
9616*3d8817e4Smiod	(elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
9617*3d8817e4Smiod	MIPS specific backend functions.
9618*3d8817e4Smiod	* elf32-mips.c: Moved most code to elfxx-mips.c.
9619*3d8817e4Smiod	(mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
9620*3d8817e4Smiod	static.
9621*3d8817e4Smiod	(mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
9622*3d8817e4Smiod	(mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
9623*3d8817e4Smiod	(mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
9624*3d8817e4Smiod	(mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
9625*3d8817e4Smiod	interface to allow selection of the right REL or RELA howto table.
9626*3d8817e4Smiod	(mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
9627*3d8817e4Smiod	static. Let it refuse n32 objects.
9628*3d8817e4Smiod	(elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
9629*3d8817e4Smiod	(elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
9630*3d8817e4Smiod	(elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
9631*3d8817e4Smiod	(elf32_mips_ignore_discarded_relocs): Rename from
9632*3d8817e4Smiod	_bfd_elf32_mips_ignore_discarded_relocs.
9633*3d8817e4Smiod	(elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
9634*3d8817e4Smiod	(elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
9635*3d8817e4Smiod	(elf_mips_howto_table_rela): Remove.
9636*3d8817e4Smiod	* elf64-mips.c: Moved most code to elfxx-mips.c.
9637*3d8817e4Smiod	(bfd_elf64_bfd_reloc_type_lookup): Make static.
9638*3d8817e4Smiod	(mips_elf64_rtype_to_howto): New function.
9639*3d8817e4Smiod	(mips_elf64_object_p): Likewise.
9640*3d8817e4Smiod	(elf64_mips_irix_compat): Likewise.
9641*3d8817e4Smiod	* elfxx-mips.c: New file containing common code merged together from
9642*3d8817e4Smiod	elf32-mips.c and elf64-mips.c.
9643*3d8817e4Smiod	* elfxx-mips.h: New file containing MIPS specific prototypes from
9644*3d8817e4Smiod	elf-bfd.h.
9645*3d8817e4Smiod	* elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
9646*3d8817e4Smiod	elf_backend_mips_rtype_to_howto.
9647*3d8817e4Smiod
9648*3d8817e4Smiod2002-04-04  Alan Modra  <amodra@bigpond.net.au>
9649*3d8817e4Smiod
9650*3d8817e4Smiod	* srec.c (MAXCHUNK, Chunk): Revise comments.
9651*3d8817e4Smiod	(srec_write_record): Correct buffer size.
9652*3d8817e4Smiod	(srec_write_header): Do without intermediate buffer.
9653*3d8817e4Smiod	(srec_write_section): Validate Chunk.
9654*3d8817e4Smiod	(srec_write_terminator): Pass NULL instead of dummy buffer.
9655*3d8817e4Smiod	(srec_write_symbols): Pass file and symbol names directly to
9656*3d8817e4Smiod	bfd_bwrite so sprintf won't overflow buffer.
9657*3d8817e4Smiod
9658*3d8817e4Smiod2002-04-03  Jakub Jelinek  <jakub@redhat.com>
9659*3d8817e4Smiod
9660*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
9661*3d8817e4Smiod	PC relative relocs against hidden symbols.
9662*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
9663*3d8817e4Smiod
9664*3d8817e4Smiod2002-04-03  Alan Modra  <amodra@bigpond.net.au>
9665*3d8817e4Smiod
9666*3d8817e4Smiod	* elf.c (_bfd_elf_make_section_from_shdr): When setting section
9667*3d8817e4Smiod	LMAs, loop over segments until p_vaddr and p_memsz specify an
9668*3d8817e4Smiod	extent enclosing the section.
9669*3d8817e4Smiod
9670*3d8817e4Smiod2002-04-02  Nick Clifton  <nickc@cambridge.redhat.com>
9671*3d8817e4Smiod
9672*3d8817e4Smiod	* ihex.c (ihex_write_object_contents): Do not allow records to
9673*3d8817e4Smiod	cross a 64K boundary - wrap if necessary.
9674*3d8817e4Smiod
9675*3d8817e4Smiod2002-04-01  Nathan Williams  <nathanw@wasabisystems.com>
9676*3d8817e4Smiod
9677*3d8817e4Smiod	* elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
9678*3d8817e4Smiod	which caused the returned LWP ID to always be 0.
9679*3d8817e4Smiod
9680*3d8817e4Smiod2002-04-01  Richard Henderson  <rth@redhat.com>
9681*3d8817e4Smiod
9682*3d8817e4Smiod	* elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
9683*3d8817e4Smiod	(elf32_sparc_relocate_section): Use it to figure out when to
9684*3d8817e4Smiod	initialize .got entries.
9685*3d8817e4Smiod	* elf64-sparc.c: Similarly.
9686*3d8817e4Smiod
9687*3d8817e4Smiod2002-03-28  Alan Modra  <amodra@bigpond.net.au>
9688*3d8817e4Smiod
9689*3d8817e4Smiod	* linker.c (link_action): Ignore duplicate warning syms.
9690*3d8817e4Smiod	(_bfd_generic_link_write_global_symbol): Follow warning symbol link.
9691*3d8817e4Smiod	* elflink.h (elf_adjust_dynstr_offsets): Likewise.
9692*3d8817e4Smiod	(elf_adjust_dynamic_symbol): Likewise.
9693*3d8817e4Smiod	(elf_export_symbol): Likewise.
9694*3d8817e4Smiod	(elf_link_find_version_dependencies): Likewise.
9695*3d8817e4Smiod	(elf_link_assign_sym_version): Likewise.
9696*3d8817e4Smiod	(elf_link_sec_merge_syms): Likewise.
9697*3d8817e4Smiod	(elf_link_output_extsym): Likewise.
9698*3d8817e4Smiod	(elf_gc_sweep_symbol): Likewise.
9699*3d8817e4Smiod	(elf_gc_propagate_vtable_entries_used): Likewise.
9700*3d8817e4Smiod	(elf_gc_smash_unused_vtentry_relocs): Likewise.
9701*3d8817e4Smiod	(elf_gc_allocate_got_offsets): Likewise.
9702*3d8817e4Smiod	(elf_collect_hash_codes): Likewise.
9703*3d8817e4Smiod	* elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
9704*3d8817e4Smiod	* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
9705*3d8817e4Smiod	(elf_hppa_remark_useless_dynamic_symbols): Likewise.
9706*3d8817e4Smiod	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
9707*3d8817e4Smiod	* elf32-arm.h (elf32_arm_discard_copies): Likewise.
9708*3d8817e4Smiod	* elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
9709*3d8817e4Smiod	(elf_cris_discard_excess_dso_dynamics): Likewise.
9710*3d8817e4Smiod	* elf32-hppa.c (clobber_millicode_symbols): Likewise.
9711*3d8817e4Smiod	(mark_PIC_calls): Likewise.
9712*3d8817e4Smiod	(allocate_plt_static): Likewise.
9713*3d8817e4Smiod	(allocate_dynrelocs): Likewise.
9714*3d8817e4Smiod	(readonly_dynrelocs): Likewise.
9715*3d8817e4Smiod	* elf32-i386.c (allocate_dynrelocs): Likewise.
9716*3d8817e4Smiod	(readonly_dynrelocs): Likewise.
9717*3d8817e4Smiod	* elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
9718*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_discard_copies): Likewise.
9719*3d8817e4Smiod	* elf32-mips.c (mips_elf_output_extsym): Likewise.
9720*3d8817e4Smiod	(mips_elf_sort_hash_table_f): Likewise.
9721*3d8817e4Smiod	(mips_elf_check_mips16_stubs): Likewise.
9722*3d8817e4Smiod	* elf32-s390.c (allocate_dynrelocs): Likewise.
9723*3d8817e4Smiod	(readonly_dynrelocs): Likewise.
9724*3d8817e4Smiod	* elf32-sh.c (sh_elf_discard_copies): Likewise.
9725*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
9726*3d8817e4Smiod	(xstormy16_relax_plt_realloc): Likewise.
9727*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
9728*3d8817e4Smiod	(elf64_alpha_output_extsym): Likewise.
9729*3d8817e4Smiod	* elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
9730*3d8817e4Smiod	* elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
9731*3d8817e4Smiod	(mips_elf64_check_mips16_stubs): Likewise.
9732*3d8817e4Smiod	(mips_elf64_output_extsym): Likewise.
9733*3d8817e4Smiod	* elf64-ppc.c (func_desc_adjust): Likewise.
9734*3d8817e4Smiod	(allocate_dynrelocs): Likewise.
9735*3d8817e4Smiod	(readonly_dynrelocs): Likewise.
9736*3d8817e4Smiod	* elf64-s390.c (allocate_dynrelocs): Likewise.
9737*3d8817e4Smiod	(readonly_dynrelocs): Likewise.
9738*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
9739*3d8817e4Smiod	* elf64-x86-64.c (allocate_dynrelocs): Likewise.
9740*3d8817e4Smiod	(readonly_dynrelocs): Likewise.
9741*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
9742*3d8817e4Smiod	* aoutx.h (aout_link_write_other_symbol): Likewise.
9743*3d8817e4Smiod	* cofflink.c (_bfd_coff_write_task_globals): Likewise.
9744*3d8817e4Smiod	(_bfd_coff_write_global_sym): Likewise.
9745*3d8817e4Smiod	* i386linux.c (linux_tally_symbols): Likewise.
9746*3d8817e4Smiod	* m68klinux.c (linux_tally_symbols): Likewise.
9747*3d8817e4Smiod	* sparclinux.c (linux_tally_symbols): Likewise.
9748*3d8817e4Smiod	* pdp11.c (aout_link_write_other_symbol): Likewise.
9749*3d8817e4Smiod	* sunos.c (sunos_scan_dynamic_symbol): Likewise.
9750*3d8817e4Smiod	* xcofflink.c (xcoff_build_ldsyms): Likewise.
9751*3d8817e4Smiod	(xcoff_write_global_symbol): Likewise.
9752*3d8817e4Smiod
9753*3d8817e4Smiod	* cofflink.c (_bfd_coff_final_link): Formatting.
9754*3d8817e4Smiod	* cpu-mips.c (mips_compatible): Make static, prototype.
9755*3d8817e4Smiod	* elf32-i386.c (elf_i386_check_relocs): Formatting.
9756*3d8817e4Smiod	* elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
9757*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
9758*3d8817e4Smiod	* elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
9759*3d8817e4Smiod	(mips_elf64_final_link): Likewise.
9760*3d8817e4Smiod	* elflink.h (elf_link_find_version_dependencies): Remove duplicate
9761*3d8817e4Smiod	prototype.
9762*3d8817e4Smiod
9763*3d8817e4Smiod2002-03-27  Nick Clifton  <nickc@cambridge.redhat.com>
9764*3d8817e4Smiod
9765*3d8817e4Smiod	* coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
9766*3d8817e4Smiod	(SWAP_OUT_RELOC_OFFSET): Define.
9767*3d8817e4Smiod
9768*3d8817e4Smiod2002-03-27  Gregory Steuck <greg@nest.cx>
9769*3d8817e4Smiod
9770*3d8817e4Smiod	* elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
9771*3d8817e4Smiod	terminating NULL if empty symbol table.
9772*3d8817e4Smiod	(_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
9773*3d8817e4Smiod
9774*3d8817e4Smiod2002-03-26  H.J. Lu  (hjl@gnu.org)
9775*3d8817e4Smiod
9776*3d8817e4Smiod	* elflink.h (elf_link_input_bfd): Revert the last change since
9777*3d8817e4Smiod	the gcc exception handling isn't fixed yet.
9778*3d8817e4Smiod
9779*3d8817e4Smiod2002-03-26  H.J. Lu  (hjl@gnu.org)
9780*3d8817e4Smiod
9781*3d8817e4Smiod	* elflink.h (elf_link_input_bfd): Complain about relocations
9782*3d8817e4Smiod	against local symbols in discarded sections.
9783*3d8817e4Smiod
9784*3d8817e4Smiod2002-03-26  Alan Modra  <amodra@bigpond.net.au>
9785*3d8817e4Smiod
9786*3d8817e4Smiod	* elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
9787*3d8817e4Smiod
9788*3d8817e4Smiod2002-03-23  Alan Modra  <amodra@bigpond.net.au>
9789*3d8817e4Smiod
9790*3d8817e4Smiod	* elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
9791*3d8817e4Smiod	section file offset for !SEC_LOAD sections.
9792*3d8817e4Smiod
9793*3d8817e4Smiod2002-03-21  Richard Earnshaw  <rearnsha@arm.com>
9794*3d8817e4Smiod
9795*3d8817e4Smiod	* elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
9796*3d8817e4Smiod	<case R_ARM_GOT>): Handle relocations to Thumb functions.
9797*3d8817e4Smiod
9798*3d8817e4Smiod2002-03-21  Alan Modra  <amodra@bigpond.net.au>
9799*3d8817e4Smiod
9800*3d8817e4Smiod	* coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
9801*3d8817e4Smiod	Whitespace changes.
9802*3d8817e4Smiod	* archive.c: Update copyright date.
9803*3d8817e4Smiod	* bfd-in2.h: Regenerate.
9804*3d8817e4Smiod	* libbfd.h: Regenerate.
9805*3d8817e4Smiod	* Makefile.am: Run "make dep-am"
9806*3d8817e4Smiod	* Makefile.in: Regenerate.
9807*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
9808*3d8817e4Smiod
9809*3d8817e4Smiod2002-03-20  Daniel Jacobowitz  <drow@mvista.com>
9810*3d8817e4Smiod
9811*3d8817e4Smiod	* dwarf2.c (struct funcinfo): Move up.
9812*3d8817e4Smiod	(lookup_address_in_function_table): New argument function_ptr.
9813*3d8817e4Smiod	Set it.
9814*3d8817e4Smiod	(lookup_address_in_line_table): New argument function.  If function
9815*3d8817e4Smiod	is non-NULL, use it to handle ``addr'' before the first line note of
9816*3d8817e4Smiod	the function.
9817*3d8817e4Smiod	(comp_unit_find_nearest_line): Update and swap calls to
9818*3d8817e4Smiod	lookup_address_in_function_table and lookup_address_in_line_table.
9819*3d8817e4Smiod	* syms.c (_bfd_stab_section_find_nearest_line): Use the first
9820*3d8817e4Smiod	N_SLINE encountered if we see an N_FUN before any N_SLINE.
9821*3d8817e4Smiod
9822*3d8817e4Smiod2002-03-20  Tom Rix  <trix@redhat.com>
9823*3d8817e4Smiod
9824*3d8817e4Smiod	* coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
9825*3d8817e4Smiod	_bfd_xcoff_generic_stat_arch_elt.  Fix format check.
9826*3d8817e4Smiod	* coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
9827*3d8817e4Smiod
9828*3d8817e4Smiod2002-03-19  Tom Rix  <trix@redhat.com>
9829*3d8817e4Smiod
9830*3d8817e4Smiod	* xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
9831*3d8817e4Smiod	dynamic objects in archives.
9832*3d8817e4Smiod
9833*3d8817e4Smiod2002-03-19  Hans-Peter Nilsson  <hp@bitrange.com>
9834*3d8817e4Smiod
9835*3d8817e4Smiod	* elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
9836*3d8817e4Smiod	STT_NOTYPE symbols to STT_OBJECT.
9837*3d8817e4Smiod
9838*3d8817e4Smiod2002-03-18  Jan Hubicka  <jh@suse.cz>
9839*3d8817e4Smiod
9840*3d8817e4Smiod	* cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
9841*3d8817e4Smiod
9842*3d8817e4Smiod2002-03-18  Tom Rix  <trix@redhat.com>
9843*3d8817e4Smiod
9844*3d8817e4Smiod	* aix5ppc.core.c : New file for AIX 5 64 bit core support.
9845*3d8817e4Smiod	* bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
9846*3d8817e4Smiod	* coff-rs6000 (do_pad) : New function for archive padding.
9847*3d8817e4Smiod	(do_copy) : New function for object file copying in archives.
9848*3d8817e4Smiod	(do_shared_object_padding) : New function for padding shared
9849*3d8817e4Smiod	objects to their text section alignment in archives.
9850*3d8817e4Smiod	(bfd_xcoff_ar_achive_set_magic) : Stub.
9851*3d8817e4Smiod	(xcoff_write_armap_big) : Use do_copy and do_pad.
9852*3d8817e4Smiod	(xcoff_write_archive_contents_big) : Use do_shared_object_padding,
9853*3d8817e4Smiod	do_copy and do_pad.
9854*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
9855*3d8817e4Smiod	bfd_xcoff_magic_number.
9856*3d8817e4Smiod	(xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
9857*3d8817e4Smiod	fop.
9858*3d8817e4Smiod	(xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
9859*3d8817e4Smiod	(bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
9860*3d8817e4Smiod	(aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
9861*3d8817e4Smiod	* rs6000-core.c : Update copyright date.
9862*3d8817e4Smiod	* xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
9863*3d8817e4Smiod	csectpp.
9864*3d8817e4Smiod	* coffcode.h (coff_new_section_hook) : Use new accessor macros.
9865*3d8817e4Smiod	(coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
9866*3d8817e4Smiod	(coff_set_flags) : Use bfd_xcoff_magic_number.
9867*3d8817e4Smiod	* libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
9868*3d8817e4Smiod	* configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
9869*3d8817e4Smiod	* Makefile.am : Same.
9870*3d8817e4Smiod	* config.bfd : Same.
9871*3d8817e4Smiod	* targets.c : Same.
9872*3d8817e4Smiod	* configure : Regnerate.
9873*3d8817e4Smiod	* Makefile.in : Same.
9874*3d8817e4Smiod	* bfd-in2.h : Same.
9875*3d8817e4Smiod
9876*3d8817e4Smiod2002-03-18  Nick Clifton  <nickc@cambridge.redhat.com>
9877*3d8817e4Smiod
9878*3d8817e4Smiod	* po/fr.po: Updated version.
9879*3d8817e4Smiod
9880*3d8817e4Smiod2002-03-18  Alan Modra  <amodra@bigpond.net.au>
9881*3d8817e4Smiod
9882*3d8817e4Smiod	* libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
9883*3d8817e4Smiod	* libbfd.h: Regenerate.
9884*3d8817e4Smiod	* archive.c (coff_write_armap): Pass on failures from
9885*3d8817e4Smiod	bfd_write_bigendian_4byte_int.
9886*3d8817e4Smiod
9887*3d8817e4Smiod2002-03-14  H.J. Lu <hjl@gnu.org>
9888*3d8817e4Smiod
9889*3d8817e4Smiod	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
9890*3d8817e4Smiod	error to bfd_error_nonrepresentable_section for reinit_array
9891*3d8817e4Smiod	section in DSO.
9892*3d8817e4Smiod
9893*3d8817e4Smiod2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
9894*3d8817e4Smiod
9895*3d8817e4Smiod	* coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
9896*3d8817e4Smiod	OR it in rather than replacing previously selected flags.
9897*3d8817e4Smiod
9898*3d8817e4Smiod	* elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
9899*3d8817e4Smiod	(TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
9900*3d8817e4Smiod
9901*3d8817e4Smiod2002-03-14  Alan Modra  <amodra@bigpond.net.au>
9902*3d8817e4Smiod
9903*3d8817e4Smiod	* cpu-mips.c (mips_compatible): New.  Don't check bits_per_word.
9904*3d8817e4Smiod	(N): Use the above.
9905*3d8817e4Smiod	* elflink.h (elf_bfd_final_link): Revert last change.  Instead,
9906*3d8817e4Smiod	ensure reloc size matches before calling elf_link_input_bfd.
9907*3d8817e4Smiod	Add an assert to check reloc size when counting output relocs.
9908*3d8817e4Smiod
9909*3d8817e4Smiod2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
9910*3d8817e4Smiod
9911*3d8817e4Smiod	* mmo.c (mmo_get_loc): Return NULL rather than false.
9912*3d8817e4Smiod
9913*3d8817e4Smiod2002-03-13  Nick Clifton  <nickc@cambridge.redhat.com>
9914*3d8817e4Smiod
9915*3d8817e4Smiod	* po/fr.po: Updated version.
9916*3d8817e4Smiod
9917*3d8817e4Smiod2002-03-13  Alan Modra  <amodra@bigpond.net.au>
9918*3d8817e4Smiod
9919*3d8817e4Smiod	* archures.c (bfd_default_compatible): Test bits_per_word.
9920*3d8817e4Smiod	* cpu-i386.c (i386_compatible): Remove.  Replace occurrences with
9921*3d8817e4Smiod	bfd_default_compatible.
9922*3d8817e4Smiod	* cpu-i370.c (i370_compatible): Likewise.
9923*3d8817e4Smiod	* cpu-sparc.c (sparc_compatible): Likewise.
9924*3d8817e4Smiod	* cpu-h8300.c (compatible): Test in->arch == out->arch.
9925*3d8817e4Smiod
9926*3d8817e4Smiod	* elflink.h: Formatting fixes.
9927*3d8817e4Smiod	(elf_link_output_extsym): Merge undefined and undef weak cases.
9928*3d8817e4Smiod
9929*3d8817e4Smiod	* elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
9930*3d8817e4Smiod	when word size of input matches output word size.
9931*3d8817e4Smiod
9932*3d8817e4Smiod2002-03-12  Andreas Jaeger  <aj@suse.de>
9933*3d8817e4Smiod
9934*3d8817e4Smiod	* cpu-i386.c (i386_compatible): New.  Use it instead of
9935*3d8817e4Smiod	bfd_default_compatible.
9936*3d8817e4Smiod
9937*3d8817e4Smiod2002-03-07  H.J. Lu  (hjl@gnu.org)
9938*3d8817e4Smiod
9939*3d8817e4Smiod	* coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
9940*3d8817e4Smiod	as the type for bfd_reloc_val.
9941*3d8817e4Smiod
9942*3d8817e4Smiod2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9943*3d8817e4Smiod
9944*3d8817e4Smiod	* elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
9945*3d8817e4Smiod	(elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
9946*3d8817e4Smiod	(elf_hppa_final_link_relocate): Correct relocations for indirect
9947*3d8817e4Smiod	references to local data through the DLT.  Fix .opd creation for
9948*3d8817e4Smiod	local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
9949*3d8817e4Smiod	relocations.  Use e_lsel selector for R_PARISC_DLTIND21L,
9950*3d8817e4Smiod	R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
9951*3d8817e4Smiod	"Processor-Specific ELF for PA_RISC, Version 1.43" document.
9952*3d8817e4Smiod	Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
9953*3d8817e4Smiod	* elf32-hppa.c (final_link_relocate): Revise relocation selectors
9954*3d8817e4Smiod	as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
9955*3d8817e4Smiod
9956*3d8817e4Smiod2002-03-05  Jakub Jelinek  <jakub@redhat.com>
9957*3d8817e4Smiod
9958*3d8817e4Smiod	* merge.c (_bfd_merge_sections): Don't segfault if there
9959*3d8817e4Smiod	is nothing to merge due to GC.
9960*3d8817e4Smiod
9961*3d8817e4Smiod2002-03-05  Alan Modra  <amodra@bigpond.net.au>
9962*3d8817e4Smiod
9963*3d8817e4Smiod	* elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
9964*3d8817e4Smiod	symbols that have been forced local.
9965*3d8817e4Smiod
9966*3d8817e4Smiod	* elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
9967*3d8817e4Smiod	to output forced local syms for non-shared link.
9968*3d8817e4Smiod	(elf_link_output_extsym): Tweak condition for calling backend
9969*3d8817e4Smiod	adjust_dynamic_symbol so that previous behaviour is kept.
9970*3d8817e4Smiod	Whitespace changes throughout file.
9971*3d8817e4Smiod
9972*3d8817e4Smiod2002-03-04  H.J. Lu <hjl@gnu.org>
9973*3d8817e4Smiod
9974*3d8817e4Smiod	* elf.c (bfd_section_from_shdr): Handle special sections,
9975*3d8817e4Smiod	.init_array, .fini_array and .preinit_array.
9976*3d8817e4Smiod	(elf_fake_sections): Likewise.
9977*3d8817e4Smiod
9978*3d8817e4Smiod	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
9979*3d8817e4Smiod	DT entry only if the section is in output for .init_array,
9980*3d8817e4Smiod	.fini_array and .preinit_array. Complain about .preinit_array
9981*3d8817e4Smiod	section in DSO.
9982*3d8817e4Smiod	(elf_bfd_final_link): Warn zero size for .init_array,
9983*3d8817e4Smiod	.fini_array and .preinit_array sections.
9984*3d8817e4Smiod
9985*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
9986*3d8817e4Smiod	SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
9987*3d8817e4Smiod	(elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
9988*3d8817e4Smiod	.preinit_array.
9989*3d8817e4Smiod
9990*3d8817e4Smiod2002-03-04  Alan Modra  <amodra@bigpond.net.au>
9991*3d8817e4Smiod
9992*3d8817e4Smiod	* configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
9993*3d8817e4Smiod	* configure: Regenerate.
9994*3d8817e4Smiod
9995*3d8817e4Smiod2002-03-02  Tom Rix  <trix@redhat.com>
9996*3d8817e4Smiod
9997*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
9998*3d8817e4Smiod	symbolic equiv.
9999*3d8817e4Smiod	* coff-rs6000.c (xcoff_howto_table): Same.
10000*3d8817e4Smiod
10001*3d8817e4Smiod2002-03-01  David Mosberger  <davidm@hpl.hp.com>
10002*3d8817e4Smiod
10003*3d8817e4Smiod	* elflink.h (size_dynamic_sections): If section named
10004*3d8817e4Smiod	".preinit_array" exists, create DT_PREINIT_ARRAY and
10005*3d8817e4Smiod	DT_PREINIT_ARRAYSZ entries in dynamic table.  Analogously for
10006*3d8817e4Smiod	".init_array" and ".fini_array".
10007*3d8817e4Smiod	(elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
10008*3d8817e4Smiod	DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
10009*3d8817e4Smiod	DT_FINI_ARRAY.
10010*3d8817e4Smiod
10011*3d8817e4Smiod2002-02-26  Andrew Macleod  <amacleod@cygnus.com>
10012*3d8817e4Smiod
10013*3d8817e4Smiod	* elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
10014*3d8817e4Smiod	dynsyms.
10015*3d8817e4Smiod
10016*3d8817e4Smiod2002-02-25  Alan Modra  <amodra@bigpond.net.au>
10017*3d8817e4Smiod
10018*3d8817e4Smiod	* elf64-hppa.h: Update copyright date.
10019*3d8817e4Smiod
10020*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
10021*3d8817e4Smiod	(ppc64_elf_relocate_section): Don't generate power4 style branch
10022*3d8817e4Smiod	hints for *_BRTAKEN and *_BRNTAKEN relocs.
10023*3d8817e4Smiod
10024*3d8817e4Smiod2002-02-22  Jakub Jelinek  <jakub@redhat.com>
10025*3d8817e4Smiod
10026*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
10027*3d8817e4Smiod	last patch.
10028*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
10029*3d8817e4Smiod
10030*3d8817e4Smiod2002-02-21  Andreas Jaeger  <aj@suse.de>
10031*3d8817e4Smiod
10032*3d8817e4Smiod	* elf64-x86-64.c: Major rework that introduces all recent changes
10033*3d8817e4Smiod	to the x86-64 backend.  Get a closer match to elf32-i386.
10034*3d8817e4Smiod	(struct elf64_x86_64_dyn_relocs): Rename from
10035*3d8817e4Smiod	elf64_x86_64_pcrel_relocs_copied, add additional fields.  Change
10036*3d8817e4Smiod	all users.
10037*3d8817e4Smiod	(struct elf64_x86_64_link_hash_table): Add short cuts to some
10038*3d8817e4Smiod	sections.
10039*3d8817e4Smiod	(link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
10040*3d8817e4Smiod	remove casts, initialize new hash members.
10041*3d8817e4Smiod	(create_got_section): New.
10042*3d8817e4Smiod	(elf64_x86_64_create_dynamic_sections): New.
10043*3d8817e4Smiod	(elf64_x86_64_copy_indirect_symbol): New.
10044*3d8817e4Smiod	(elf64_x86_64_check_relocs): Don't allocate space for dynamic
10045*3d8817e4Smiod	relocs, .got or .relgot here but do it in allocate_dynrelocs.
10046*3d8817e4Smiod	Reference count possible .plt and .got entries.  Don't test input
10047*3d8817e4Smiod	section SEC_READONLY here to try to avoid copy relocs, and keep
10048*3d8817e4Smiod	dyn_relocs regardless of ELF_LINK_NON_GOT_REF.  Don't set
10049*3d8817e4Smiod	DF_TEXTREL here.  Delay setting of variables until needed.  Cache
10050*3d8817e4Smiod	pointer to "sreloc" section in elf_section_data. Tweak condition
10051*3d8817e4Smiod	under which .got created.  Report files with bad relocation
10052*3d8817e4Smiod	section names.
10053*3d8817e4Smiod	(elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
10054*3d8817e4Smiod	Reference count possible .plt entries.  Don't deallocate .got and
10055*3d8817e4Smiod	.relgot space here.
10056*3d8817e4Smiod	(elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc.  Don't
10057*3d8817e4Smiod	do copy reloc processing for weakdefs.  Remove redundant casts and
10058*3d8817e4Smiod	aborts.  Delay setting of vars until needed.  Move creation of
10059*3d8817e4Smiod	dynamic symbols and allocation of .plt and .rela.plt to
10060*3d8817e4Smiod	allocate_dynrelocs.  Replace BFD_ASSERT with abort.
10061*3d8817e4Smiod	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
10062*3d8817e4Smiod	(allocate_dynrelocs): New.
10063*3d8817e4Smiod	(readonly_dynrelocs): New.
10064*3d8817e4Smiod	(elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
10065*3d8817e4Smiod	Allocate space for dyn relocs.  Replace BFD_ASSERT with abort.
10066*3d8817e4Smiod	Zero out the dynamic allocated content space.
10067*3d8817e4Smiod	(elf64_x86_64_discard_copies): Removed.
10068*3d8817e4Smiod	(elf64_x86_64_relocate_section): Make use of dynamic section
10069*3d8817e4Smiod	short-cuts.  Localise vars, and delay setting.  Better error
10070*3d8817e4Smiod	reporting, replace BFD_ASSERT with abort.  Check
10071*3d8817e4Smiod	ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
10072*3d8817e4Smiod	regular object file and tread the weak definition as the normal
10073*3d8817e4Smiod	one.  Don't discard relocs for undefweak or undefined symbols and
10074*3d8817e4Smiod	check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
10075*3d8817e4Smiod	relocs.
10076*3d8817e4Smiod	(elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
10077*3d8817e4Smiod	symbols that have been forced local.  Use same test to decide if
10078*3d8817e4Smiod	we can use a relative reloc for got as relocate_section.  Expand
10079*3d8817e4Smiod	SHN_UNDEF comment.  Move expressions out of function calls.
10080*3d8817e4Smiod	Replace BFD_ASSERT with abort.
10081*3d8817e4Smiod	(bfd_elf64_bfd_final_link): Removed.
10082*3d8817e4Smiod	(elf_backend_copy_indirect_symbol): Define.
10083*3d8817e4Smiod
10084*3d8817e4Smiod2002-02-20  Tom Rix  <trix@redhat.com>
10085*3d8817e4Smiod
10086*3d8817e4Smiod	* coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
10087*3d8817e4Smiod	(_bfd_xcoff_reloc_type_lookup): Use it.
10088*3d8817e4Smiod	* coff64-rs6000.c (xcoff64_howto_table): Same.
10089*3d8817e4Smiod	(xcoff64_reloc_type_lookup): Same.
10090*3d8817e4Smiod
10091*3d8817e4Smiod2002-02-20  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
10092*3d8817e4Smiod
10093*3d8817e4Smiod	* osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
10094*3d8817e4Smiod	little endian.
10095*3d8817e4Smiod
10096*3d8817e4Smiod2002-02-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>
10097*3d8817e4Smiod
10098*3d8817e4Smiod	* archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
10099*3d8817e4Smiod	(bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
10100*3d8817e4Smiod	* bfd-in2.h: Regenerate.
10101*3d8817e4Smiod	* cpu-s390.c (arch_info_struct): Use renamed architecture defines.
10102*3d8817e4Smiod	Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
10103*3d8817e4Smiod	with "s390:64-bit".
10104*3d8817e4Smiod	* elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
10105*3d8817e4Smiod	(elf_s390_reloc_type_lookup): Likewise.
10106*3d8817e4Smiod	(elf_s390_check_relocs): Likewise.
10107*3d8817e4Smiod	(elf_s390_gc_sweep_hook): Likewise.
10108*3d8817e4Smiod	(elf_s390_relocate_section): Likewise.
10109*3d8817e4Smiod	(elf_s390_object_p): Use renamed architecture define.
10110*3d8817e4Smiod	* elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
10111*3d8817e4Smiod
10112*3d8817e4Smiod2002-02-19  Frank Ch. Eigler  <fche@redhat.com>
10113*3d8817e4Smiod
10114*3d8817e4Smiod	* syms.c (stt[]): Sorted.  Added .init/.fini -> "t" mapping.
10115*3d8817e4Smiod
10116*3d8817e4Smiod2002-02-19  Jakub Jelinek  <jakub@redhat.com>
10117*3d8817e4Smiod
10118*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
10119*3d8817e4Smiod	absptr -> pcrel optimization for shared libs.
10120*3d8817e4Smiod	Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
10121*3d8817e4Smiod	library cannot be converted to pcrel.
10122*3d8817e4Smiod	(_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
10123*3d8817e4Smiod	relative.
10124*3d8817e4Smiod	* elf32-i386.c (elf_i386_relocate_section): If
10125*3d8817e4Smiod	_bfd_elf_section_offset returned -2, skip, but make sure the
10126*3d8817e4Smiod	relocation is installed.
10127*3d8817e4Smiod	* elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
10128*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section): Likewise.
10129*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
10130*3d8817e4Smiod	* elf32-i370.c (i370_elf_relocate_section): Likewise.
10131*3d8817e4Smiod	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
10132*3d8817e4Smiod	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
10133*3d8817e4Smiod	* elf32-s390.c (elf_s390_relocate_section): Likewise.
10134*3d8817e4Smiod	* elf32-sh.c (sh_elf_relocate_section): Likewise.
10135*3d8817e4Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
10136*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
10137*3d8817e4Smiod	* elf64-s390.c (elf_s390_relocate_section): Likewise.
10138*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
10139*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
10140*3d8817e4Smiod	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
10141*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section): Handle
10142*3d8817e4Smiod	_bfd_elf_section_offset returning -2 the same way as -1.
10143*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
10144*3d8817e4Smiod	* elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
10145*3d8817e4Smiod	and BFD_ASSERT.
10146*3d8817e4Smiod	* elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
10147*3d8817e4Smiod
10148*3d8817e4Smiod2002-02-18  Tom Rix  <trix@redhat.com>
10149*3d8817e4Smiod
10150*3d8817e4Smiod	* xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
10151*3d8817e4Smiod	(bfd_xcoff_size_dynamic_sections): Same.
10152*3d8817e4Smiod	* bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
10153*3d8817e4Smiod	(bfd_xcoff_size_dynamic_sections): Same.
10154*3d8817e4Smiod	* coff-rs6000.c (xcoff_generate_rtinit): Same.
10155*3d8817e4Smiod	* coff-rs646000.c (xcoff64_generate_rtinit): Same.
10156*3d8817e4Smiod	* libxcoff.h (struct xcoff_backend_data_rec): Same.
10157*3d8817e4Smiod	* xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
10158*3d8817e4Smiod	* bfd-in2.h: Regenerate.
10159*3d8817e4Smiod
10160*3d8817e4Smiod2002-02-18  Alan Modra  <amodra@bigpond.net.au>
10161*3d8817e4Smiod
10162*3d8817e4Smiod	* elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
10163*3d8817e4Smiod	(struct ppc_link_hash_table): Add sfpr.
10164*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): Init it.
10165*3d8817e4Smiod	(ppc64_elf_create_dynamic_sections): Split creation of .stub and
10166*3d8817e4Smiod	.glink out to..
10167*3d8817e4Smiod	(create_linkage_sections): ..here.  Make .sfpr too.
10168*3d8817e4Smiod	(ppc64_elf_check_relocs): Call create_linkage_sections, and set
10169*3d8817e4Smiod	dynobj early.
10170*3d8817e4Smiod	(MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
10171*3d8817e4Smiod	(ppc64_elf_func_desc_adjust): Look for missing ._savef* and
10172*3d8817e4Smiod	._restf* functions, and create as needed.
10173*3d8817e4Smiod	(func_desc_adjust): Only force_local for shared libs.
10174*3d8817e4Smiod
10175*3d8817e4Smiod2002-02-18  David O'Brien  <obrien@FreeBSD.org>
10176*3d8817e4Smiod
10177*3d8817e4Smiod	* configure.in: Bump version number post 2.12 branching.
10178*3d8817e4Smiod	* configure: Regenerate.
10179*3d8817e4Smiod
10180*3d8817e4Smiod2002-02-17  Hans-Peter Nilsson  <hp@bitrange.com>
10181*3d8817e4Smiod
10182*3d8817e4Smiod	* mmo.c: Correct and improve comments.
10183*3d8817e4Smiod	(mmo_write_chunk): Store trailing byte in bfd buffer; don't
10184*3d8817e4Smiod	zero-pad.  Use input to fill up non-empty bfd buffer.
10185*3d8817e4Smiod	(mmo_flush_chunk): New function.
10186*3d8817e4Smiod	(mmo_write_loc_chunk): Add parameter last_vmap, all callers
10187*3d8817e4Smiod	changed.  Don't emit location specifier if VMA is same as
10188*3d8817e4Smiod	*LAST_VMAP after omitting leading zero contents.  Call
10189*3d8817e4Smiod	mmo_flush_chunk before emitting location specifier.
10190*3d8817e4Smiod	(mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
10191*3d8817e4Smiod	with mmo_write_loc_chunk calls.
10192*3d8817e4Smiod	(mmo_internal_write_section): Call mmo_flush_chunk after
10193*3d8817e4Smiod	mmo_write_chunk.
10194*3d8817e4Smiod	(mmo_write_symbols_and_terminator): Move :Main to first position
10195*3d8817e4Smiod	in symbol array.  Add faked one if it does not exist if there are
10196*3d8817e4Smiod	other symbols.  Don't add it if there are no symbols at all.  Move
10197*3d8817e4Smiod	out test for value of :Main from symbol loop.  Rename table
10198*3d8817e4Smiod	fakemain to maintable and variable mainsym to fakemain.
10199*3d8817e4Smiod
10200*3d8817e4Smiod2002-02-15  Richard Henderson  <rth@redhat.com>
10201*3d8817e4Smiod
10202*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
10203*3d8817e4Smiod	section with no got matches any got.  Simplify error generaion.
10204*3d8817e4Smiod
10205*3d8817e4Smiod2002-02-15  Alan Modra  <amodra@bigpond.net.au>
10206*3d8817e4Smiod
10207*3d8817e4Smiod	Support arbitrary length fill patterns.
10208*3d8817e4Smiod	* linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
10209*3d8817e4Smiod	(_bfd_default_link_order): Remove bfd_fill_link_order code.
10210*3d8817e4Smiod	Call default_data_link_order.
10211*3d8817e4Smiod	(default_fill_link_order): Delete.
10212*3d8817e4Smiod	(default_data_link_order): New function.
10213*3d8817e4Smiod	* elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
10214*3d8817e4Smiod	of bfd_fill_link_order with bfd_data_link_order.
10215*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_final_link): Likewise.
10216*3d8817e4Smiod	* elf64-mips.c (mips_elf64_final_link): Likewise.
10217*3d8817e4Smiod
10218*3d8817e4Smiod	* bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
10219*3d8817e4Smiod	Correct value returned in "end" for "0x<non-hex>".
10220*3d8817e4Smiod
10221*3d8817e4Smiod2002-02-14  Nick Clifton  <nickc@cambridge.redhat.com>
10222*3d8817e4Smiod
10223*3d8817e4Smiod	* cpu-arm.c (processors): Replace 'arch' field with 'mach'.
10224*3d8817e4Smiod	(scan): Test against 'mach' field in info structure.
10225*3d8817e4Smiod
10226*3d8817e4Smiod2002-02-14  Alan Modra  <amodra@bigpond.net.au>
10227*3d8817e4Smiod
10228*3d8817e4Smiod	* elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
10229*3d8817e4Smiod
10230*3d8817e4Smiod2002-02-14  Matt Fredette  <fredette@netbsd.org>
10231*3d8817e4Smiod
10232*3d8817e4Smiod	* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
10233*3d8817e4Smiod	EF_M68000.
10234*3d8817e4Smiod
10235*3d8817e4Smiod2002-02-13  Nick Clifton  <nickc@cambridge.redhat.com>
10236*3d8817e4Smiod
10237*3d8817e4Smiod	* elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
10238*3d8817e4Smiod	non-zero physical addresses when adjusting the LMAs of new
10239*3d8817e4Smiod	sections.
10240*3d8817e4Smiod
10241*3d8817e4Smiod2002-02-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10242*3d8817e4Smiod
10243*3d8817e4Smiod	* elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
10244*3d8817e4Smiod	from _bfd_elf_hppa_gen_reloc_type.
10245*3d8817e4Smiod	(_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
10246*3d8817e4Smiod	* elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
10247*3d8817e4Smiod	* elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
10248*3d8817e4Smiod	* elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
10249*3d8817e4Smiod
10250*3d8817e4Smiod2002-02-12  Alexandre Oliva  <aoliva@redhat.com>
10251*3d8817e4Smiod
10252*3d8817e4Smiod	* elf-m10300.c (mn10300_elf_relax_section): Skip section before
10253*3d8817e4Smiod	loading its contents if there's nothing to do in it.
10254*3d8817e4Smiod
10255*3d8817e4Smiod2002-02-12  Alan Modra  <amodra@bigpond.net.au>
10256*3d8817e4Smiod
10257*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
10258*3d8817e4Smiod	64k boundary.
10259*3d8817e4Smiod
10260*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
10261*3d8817e4Smiod	DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
10262*3d8817e4Smiod	(ppc64_elf_finish_dynamic_sections): Set values for them.
10263*3d8817e4Smiod
10264*3d8817e4Smiod2002-02-11  Michael Snyder  <msnyder@redhat.com>
10265*3d8817e4Smiod
10266*3d8817e4Smiod	* elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
10267*3d8817e4Smiod	* elf.c (elfcore_grok_pstatus): Add prototype.
10268*3d8817e4Smiod	(elfcore_grok_lwpstatus): Add prototype.
10269*3d8817e4Smiod	(elfcore_write_lwpstatus): New function.
10270*3d8817e4Smiod	(elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
10271*3d8817e4Smiod
10272*3d8817e4Smiod2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
10273*3d8817e4Smiod
10274*3d8817e4Smiod	* elf32-sh.c: Added missing prototypes.
10275*3d8817e4Smiod	* elf32-sh64.c: Likewise.
10276*3d8817e4Smiod	(sh_elf_align_loads): Mark unused args as such.
10277*3d8817e4Smiod	* elf64-sh64.c: Added missing prototypes.
10278*3d8817e4Smiod	(struct elf_sh64_link_hash_entry): Fix typo.
10279*3d8817e4Smiod	(sh_elf64_relocate_section): Fix info argument passed to
10280*3d8817e4Smiod	_bfd_elf_section_offset.
10281*3d8817e4Smiod
10282*3d8817e4Smiod2002-02-11  Alan Modra  <amodra@bigpond.net.au>
10283*3d8817e4Smiod
10284*3d8817e4Smiod	* Makefile.am: "make dep-am".
10285*3d8817e4Smiod	* Makefile.in: Regenerate.
10286*3d8817e4Smiod	* aclocal.m4: Regenerate.
10287*3d8817e4Smiod	* config.in: Regenerate.
10288*3d8817e4Smiod	* configure: Regenerate.
10289*3d8817e4Smiod
10290*3d8817e4Smiod2002-02-10  Daniel Jacobowitz  <drow@mvista.com>
10291*3d8817e4Smiod
10292*3d8817e4Smiod	* coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
10293*3d8817e4Smiod	variable warnings.
10294*3d8817e4Smiod	* elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
10295*3d8817e4Smiod	comparison warning.
10296*3d8817e4Smiod	* trad-core.c (trad_unix_core_file_p): Silence pointer/integer
10297*3d8817e4Smiod	cast warnings for the common case.
10298*3d8817e4Smiod
10299*3d8817e4Smiod2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
10300*3d8817e4Smiod
10301*3d8817e4Smiod	* config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
10302*3d8817e4Smiod	vectors.
10303*3d8817e4Smiod	(sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
10304*3d8817e4Smiod	vectors.
10305*3d8817e4Smiod
10306*3d8817e4Smiod2002-02-09  Richard Henderson  <rth@redhat.com>
10307*3d8817e4Smiod
10308*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
10309*3d8817e4Smiod	(elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
10310*3d8817e4Smiod	(elf64_alpha_relocate_section): Likewise.
10311*3d8817e4Smiod	* reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
10312*3d8817e4Smiod	* bfd-in2.h, libbfd.h: Rebuild.
10313*3d8817e4Smiod
10314*3d8817e4Smiod2002-02-09  Hans-Peter Nilsson  <hp@bitrange.com>
10315*3d8817e4Smiod
10316*3d8817e4Smiod	* elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
10317*3d8817e4Smiod	that base-plus-offset reloc accounting is consistent.
10318*3d8817e4Smiod	(mmix_elf_relax_section): Keep base-plus-offset reloc accounting
10319*3d8817e4Smiod	up to date for undefined symbols.
10320*3d8817e4Smiod
10321*3d8817e4Smiod2002-02-08  Eric Christopher  <echristo@redhat.com>
10322*3d8817e4Smiod
10323*3d8817e4Smiod	From Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10324*3d8817e4Smiod
10325*3d8817e4Smiod	* elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
10326*3d8817e4Smiod	sections for the O32 ABI.
10327*3d8817e4Smiod
10328*3d8817e4Smiod2002-02-08  Chris Demetriou  <cgd@broadcom.com>
10329*3d8817e4Smiod
10330*3d8817e4Smiod	* elf32-arm.h: Fix formatting of _("...").
10331*3d8817e4Smiod	* elf32-d10v.c: Likewise.
10332*3d8817e4Smiod	* elf32-m68k.c: Likewise.
10333*3d8817e4Smiod	* elf32-mips.c: Likewise.
10334*3d8817e4Smiod
10335*3d8817e4Smiod2002-02-08  Ivan Guzvinec <ivang@opencores.org>
10336*3d8817e4Smiod
10337*3d8817e4Smiod	* coff-or32.c: Fix compile time warning messages.
10338*3d8817e4Smiod
10339*3d8817e4Smiod2002-02-08  Alexandre Oliva  <aoliva@redhat.com>
10340*3d8817e4Smiod
10341*3d8817e4Smiod	Contribute sh64-elf.
10342*3d8817e4Smiod	2002-01-23  Alexandre Oliva  <aoliva@redhat.com>
10343*3d8817e4Smiod	* reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
10344*3d8817e4Smiod	R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
10345*3d8817e4Smiod	R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
10346*3d8817e4Smiod	R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
10347*3d8817e4Smiod	R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
10348*3d8817e4Smiod	R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
10349*3d8817e4Smiod	R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
10350*3d8817e4Smiod	R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
10351*3d8817e4Smiod	R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
10352*3d8817e4Smiod	New relocs.
10353*3d8817e4Smiod	* libbfd.h, bfd-in2.h: Rebuilt.
10354*3d8817e4Smiod	* elf32-sh.c (sh_elf_howto_table): Define new relocs.
10355*3d8817e4Smiod	(sh_reloc_map): Map them.
10356*3d8817e4Smiod	(PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
10357*3d8817e4Smiod	elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
10358*3d8817e4Smiod	elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
10359*3d8817e4Smiod	elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
10360*3d8817e4Smiod	elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
10361*3d8817e4Smiod	elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
10362*3d8817e4Smiod	movi_shori_putval) [INCLUDE_SHMEDIA]: New.
10363*3d8817e4Smiod	(elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
10364*3d8817e4Smiod	datalabel_got_offset.
10365*3d8817e4Smiod	(sh_elf_link_hash_newfunc): Initialize it.
10366*3d8817e4Smiod	(sh_elf_relocate_section): Augment the scope of
10367*3d8817e4Smiod	seen_stt_datalabel.  Introduce GOTPLT support.  Extend GOTPC, PLT,
10368*3d8817e4Smiod	GOT and GOTOFF handling to new SHmedia relocation types.  Support
10369*3d8817e4Smiod	GOT_BIAS.
10370*3d8817e4Smiod	(sh_elf_check_relocs): Likewise.
10371*3d8817e4Smiod	(sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
10372*3d8817e4Smiod	PLT entries using movi_shori_putval.  Support GOT_BIAS.
10373*3d8817e4Smiod	(sh_elf_finish_dynamic_sections): Likewise.
10374*3d8817e4Smiod	* elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
10375*3d8817e4Smiod	relocation, it's now done by the caller.
10376*3d8817e4Smiod	(GOT_BIAS): New.
10377*3d8817e4Smiod	* elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
10378*3d8817e4Smiod	elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
10379*3d8817e4Smiod	elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
10380*3d8817e4Smiod	elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
10381*3d8817e4Smiod	elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
10382*3d8817e4Smiod	elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
10383*3d8817e4Smiod	sh64_elf64_hash_table): New.
10384*3d8817e4Smiod	(sh_elf64_howto_table): Introduce new relocs.
10385*3d8817e4Smiod	(sh_elf64_info_to_howto): Accept new PIC relocs.
10386*3d8817e4Smiod	(sh_elf64_relocate_section): Augment the scope of
10387*3d8817e4Smiod	seen_stt_datalabel.  Support new PIC relocs.
10388*3d8817e4Smiod	(sh_elf64_check_relocs): Support new PIC relocs.
10389*3d8817e4Smiod	(elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
10390*3d8817e4Smiod	elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
10391*3d8817e4Smiod	elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
10392*3d8817e4Smiod	elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
10393*3d8817e4Smiod	sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
10394*3d8817e4Smiod	movi_shori_putval, movi_3shori_putval,
10395*3d8817e4Smiod	sh64_elf64_create_dynamic_sections,
10396*3d8817e4Smiod	sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
10397*3d8817e4Smiod	sh64_elf64_size_dynamic_sections,
10398*3d8817e4Smiod	sh64_elf64_finish_dynamic_symbol,
10399*3d8817e4Smiod	sh64_elf64_finish_dynamic_sections): New.
10400*3d8817e4Smiod	(elf_backend_create_dynamic-sections,
10401*3d8817e4Smiod	bfd_elf64_bfd_link_hash_table_create,
10402*3d8817e4Smiod	elf_backend_adjust_dynamic_symbol,
10403*3d8817e4Smiod	elf_backend_size_dynamic_sections,
10404*3d8817e4Smiod	elf_backend_finish_dynamic_symbol,
10405*3d8817e4Smiod	elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
10406*3d8817e4Smiod	elf_backend_plt_readonly, elf_backend_want_plt_sym,
10407*3d8817e4Smiod	elf_backend_got_header_size, elf_backend_plt_header_size):
10408*3d8817e4Smiod	Define.
10409*3d8817e4Smiod	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
10410*3d8817e4Smiod	* elf32-sh.c: Renumbered and renamed some SH5 relocations to
10411*3d8817e4Smiod	match official numbers and names; moved unmaching ones to the
10412*3d8817e4Smiod	range 0xf2-0xff.
10413*3d8817e4Smiod	* elf32-sh64.c, elf64-sh64.c: Likewise.
10414*3d8817e4Smiod	2001-03-12  DJ Delorie  <dj@redhat.com>
10415*3d8817e4Smiod	* elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
10416*3d8817e4Smiod	sections.
10417*3d8817e4Smiod	2001-03-12  DJ Delorie  <dj@redhat.com>
10418*3d8817e4Smiod	* elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
10419*3d8817e4Smiod	be aligned.
10420*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_relocate_section): Ditto.
10421*3d8817e4Smiod	2001-01-14  Hans-Peter Nilsson  <hpn@cygnus.com>
10422*3d8817e4Smiod	* elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
10423*3d8817e4Smiod	(sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
10424*3d8817e4Smiod	.cranges section with SEC_SORT_ENTRIES set.
10425*3d8817e4Smiod	(sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
10426*3d8817e4Smiod	incoming sorted .cranges section.
10427*3d8817e4Smiod	(sh64_bfd_elf_copy_private_section_data): New.
10428*3d8817e4Smiod	(sh64_elf_final_write_processing): Only sort .cranges and modify
10429*3d8817e4Smiod	start address if called by linker.
10430*3d8817e4Smiod	2001-01-08  Ben Elliston  <bje@redhat.com>
10431*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_final_write_processing): Activate
10432*3d8817e4Smiod	Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
10433*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
10434*3d8817e4Smiod	2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
10435*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
10436*3d8817e4Smiod	line.  Add comments before all entries.
10437*3d8817e4Smiod	<R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
10438*3d8817e4Smiod	comment.
10439*3d8817e4Smiod	(sh_elf64_reloc): Correct head comment.
10440*3d8817e4Smiod	(sh_elf64_relocate_section): Correct spacing.
10441*3d8817e4Smiod	<relocating for a local symbol>: Do not honour STO_SH5_ISA32;
10442*3d8817e4Smiod	instead call reloc_dangerous callback.
10443*3d8817e4Smiod	<case R_SH_SHMEDIA_CODE>: New case.
10444*3d8817e4Smiod	(sh_elf64_gc_mark_hook): Correct spacing.
10445*3d8817e4Smiod	(sh_elf64_check_relocs): Ditto.
10446*3d8817e4Smiod	* elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
10447*3d8817e4Smiod	New case.
10448*3d8817e4Smiod	* elf32-sh.c: Correct #endif comments for #ifndef-wrapped
10449*3d8817e4Smiod	functions.
10450*3d8817e4Smiod	(sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
10451*3d8817e4Smiod	clarify describing comment.  Add comments before all entries.
10452*3d8817e4Smiod	(sh_elf_relocate_section) <relocating for a local symbol>: Do not
10453*3d8817e4Smiod	honour STO_SH5_ISA32; instead call reloc_dangerous callback.
10454*3d8817e4Smiod	2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
10455*3d8817e4Smiod	Sort .cranges section in final link.  Prepare to set bit 0 on
10456*3d8817e4Smiod	entry address.
10457*3d8817e4Smiod	* elf32-sh64.c (struct sh64_find_section_vma_data): New.
10458*3d8817e4Smiod	(sh64_elf_link_output_symbol_hook): Fix typo in prototype.
10459*3d8817e4Smiod	(sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
10460*3d8817e4Smiod	.cranges section.
10461*3d8817e4Smiod	(sh64_backend_section_from_shdr): New, to recognize
10462*3d8817e4Smiod	SHT_SH5_CR_SORTED on incoming .cranges section.
10463*3d8817e4Smiod	(elf_backend_section_from_shdr): Define.
10464*3d8817e4Smiod	(sh64_elf_final_write_processing): Sort outgoing .cranges
10465*3d8817e4Smiod	section.  (New, temporarily disabled:) Set bit 0 on entry address
10466*3d8817e4Smiod	according to ISA type.
10467*3d8817e4Smiod	(sh64_find_section_for_address): New.
10468*3d8817e4Smiod	(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
10469*3d8817e4Smiod	crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
10470*3d8817e4Smiod	(sh64_address_in_cranges): Move here from opcodes/sh64-dis.c.  Use
10471*3d8817e4Smiod	bfd_malloc, not xmalloc.
10472*3d8817e4Smiod	(sh64_get_contents_type): Move here from opcodes/sh64-dis.c.  Make
10473*3d8817e4Smiod	global.
10474*3d8817e4Smiod	* elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
10475*3d8817e4Smiod	temporarily disabled) setting bit 0 on entry address.
10476*3d8817e4Smiod	(elf_backend_final_write_processing): Define.
10477*3d8817e4Smiod	2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
10478*3d8817e4Smiod	* elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
10479*3d8817e4Smiod	be a proper relocation for PTA and PTB rather than a marker.
10480*3d8817e4Smiod	<R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
10481*3d8817e4Smiod	R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
10482*3d8817e4Smiod	R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
10483*3d8817e4Smiod	R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
10484*3d8817e4Smiod	R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
10485*3d8817e4Smiod	Zero src_mask.
10486*3d8817e4Smiod	* elf64-sh64.c: Ditto.
10487*3d8817e4Smiod	(sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
10488*3d8817e4Smiod	* elf32-sh64.c: Include opcodes/sh64-opc.h
10489*3d8817e4Smiod	(shmedia_prepare_reloc): Take a bfd_link_info pointer as first
10490*3d8817e4Smiod	argument.  Drop const qualifiers from "bfd *" and "bfd_byte *"
10491*3d8817e4Smiod	parameters.  No unused parameters.  Caller changed.
10492*3d8817e4Smiod	<case R_SH_PT_16>: New case.
10493*3d8817e4Smiod	* Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
10494*3d8817e4Smiod	* Makefile.in: Regenerate.
10495*3d8817e4Smiod	2000-12-30  Hans-Peter Nilsson  <hpn@cygnus.com>
10496*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
10497*3d8817e4Smiod	all code sections.
10498*3d8817e4Smiod	(sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
10499*3d8817e4Smiod	(sh64_elf_merge_private_data): Ditto.
10500*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
10501*3d8817e4Smiod	to access stored section flags.
10502*3d8817e4Smiod	(sh64_elf_final_write_processing): Return immediately unless
10503*3d8817e4Smiod	called by linker.  Use sh64_elf_section_data (cranges) to get size
10504*3d8817e4Smiod	of linker-generated cranges entries.
10505*3d8817e4Smiod	(sh64_elf_copy_private_data): Add missing "return true".
10506*3d8817e4Smiod	(sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
10507*3d8817e4Smiod	(sh_elf64_merge_private_data): Ditto.
10508*3d8817e4Smiod	2000-12-19  Hans-Peter Nilsson  <hpn@cygnus.com>
10509*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
10510*3d8817e4Smiod	elf64-sh64.c:sh64_elf_fake_sections.
10511*3d8817e4Smiod	(elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
10512*3d8817e4Smiod	2000-12-18  Hans-Peter Nilsson  <hpn@cygnus.com>
10513*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
10514*3d8817e4Smiod	(sh64_elf_final_write_processing): New.
10515*3d8817e4Smiod	(elf_backend_final_write_processing): Define.
10516*3d8817e4Smiod	(sh64_elf_fake_sections): Get header flags from tdata field.
10517*3d8817e4Smiod	(sh64_elf_copy_private_data): Do not call
10518*3d8817e4Smiod	sh64_elf_copy_private_data_internal, just copy e_flags field.
10519*3d8817e4Smiod	(sh64_elf_merge_private_data): Do not call
10520*3d8817e4Smiod	sh64_elf_copy_private_data_internal.
10521*3d8817e4Smiod	2000-12-12  Hans-Peter Nilsson  <hpn@cygnus.com>
10522*3d8817e4Smiod	Remove EF_SH64_ABI64, let ELF size make difference.
10523*3d8817e4Smiod	Remove SH64-specific BFD section flag.
10524*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
10525*3d8817e4Smiod	containing SHmedia through elf_section_data (asect)->tdata
10526*3d8817e4Smiod	non-zero, not using a BFD section flag.
10527*3d8817e4Smiod	(sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
10528*3d8817e4Smiod	(sh64_elf_merge_private_data): Similar.
10529*3d8817e4Smiod	(elf_backend_section_flags): Don't define.
10530*3d8817e4Smiod	(sh64_elf_backend_section_flags): Delete.
10531*3d8817e4Smiod	* elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
10532*3d8817e4Smiod	not EF_SH64_ABI64.
10533*3d8817e4Smiod	(sh_elf64_merge_private_data): Similar.
10534*3d8817e4Smiod	* section.c (Section flags definitions): Don't define
10535*3d8817e4Smiod	SEC_SH_ISA_SHMEDIA.
10536*3d8817e4Smiod	(bfd-in2.h): Regenerate.
10537*3d8817e4Smiod	2000-12-09  Hans-Peter Nilsson  <hpn@cygnus.com>
10538*3d8817e4Smiod	Make DataLabel references work with partial linking.
10539*3d8817e4Smiod	* elf32-sh64.c: Fix formatting.
10540*3d8817e4Smiod	(sh64_elf_link_output_symbol_hook): New.
10541*3d8817e4Smiod	(elf_backend_link_output_symbol_hook): Define to
10542*3d8817e4Smiod	sh64_elf_link_output_symbol_hook.
10543*3d8817e4Smiod	(sh64_elf_add_symbol_hook): Make DataLabel symbol just global
10544*3d8817e4Smiod	undefined if partial linking.  Adjust sanity check.
10545*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
10546*3d8817e4Smiod	(elf_backend_link_output_symbol_hook): Define to
10547*3d8817e4Smiod	sh64_elf64_link_output_symbol_hook.
10548*3d8817e4Smiod	(sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
10549*3d8817e4Smiod	undefined if partial linking.  Adjust sanity check.
10550*3d8817e4Smiod	2000-12-07  Hans-Peter Nilsson  <hpn@cygnus.com>
10551*3d8817e4Smiod	Implement semantics for inter-file DataLabel references.
10552*3d8817e4Smiod	* elf64-sh64.c (DATALABEL_SUFFIX): Define.
10553*3d8817e4Smiod	(sh64_elf64_add_symbol_hook): New.
10554*3d8817e4Smiod	(sh_elf64_relocate_section): If passing an indirect symbol with
10555*3d8817e4Smiod	st_type STT_DATALABEL on the way to a symbol with st_other
10556*3d8817e4Smiod	STO_SH5_ISA32, do not bitor 1 to the relocation.
10557*3d8817e4Smiod	(elf_backend_add_symbol_hook): Define to
10558*3d8817e4Smiod	sh64_elf64_add_symbol_hook.
10559*3d8817e4Smiod	* elf64-sh32.c: Tweak comments.
10560*3d8817e4Smiod	(DATALABEL_SUFFIX): Define.
10561*3d8817e4Smiod	(sh64_elf_add_symbol_hook): New.
10562*3d8817e4Smiod	(elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
10563*3d8817e4Smiod	* elf32-sh.c (sh_elf_relocate_section): If passing an indirect
10564*3d8817e4Smiod	symbol with st_type STT_DATALABEL on the way to a symbol with
10565*3d8817e4Smiod	st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
10566*3d8817e4Smiod	2000-12-05  Hans-Peter Nilsson  <hpn@cygnus.com>
10567*3d8817e4Smiod	Pass through STT_DATALABEL.
10568*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_get_symbol_type): New.
10569*3d8817e4Smiod	(elf_backend_get_symbol_type): Define.
10570*3d8817e4Smiod	* elf64-sh64.c (sh64_elf64_get_symbol_type): New.
10571*3d8817e4Smiod	(elf_backend_get_symbol_type): Define.
10572*3d8817e4Smiod	2000-11-30  Hans-Peter Nilsson  <hpn@cygnus.com>
10573*3d8817e4Smiod	* elf32-sh64.c: Tweak comments.
10574*3d8817e4Smiod	(sh64_elf_copy_private_data_internal): Add prototype.
10575*3d8817e4Smiod	(bfd_elf32_bfd_set_private_flags): Define.
10576*3d8817e4Smiod	(sh64_elf_copy_private_data_internal): Compare machine name, not
10577*3d8817e4Smiod	textual BFD target name, to check whether to copy section flag
10578*3d8817e4Smiod	SHF_SH5_ISA32.
10579*3d8817e4Smiod	(sh64_elf_merge_private_data): Validize bfd_get_arch_size.
10580*3d8817e4Smiod	Tweak section-contents-type-mismatch message.
10581*3d8817e4Smiod	(shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
10582*3d8817e4Smiod	Validize reloc-types.
10583*3d8817e4Smiod	* elf64-sh64.c: New file.
10584*3d8817e4Smiod	* targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
10585*3d8817e4Smiod	* Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
10586*3d8817e4Smiod	(BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
10587*3d8817e4Smiod	Regenerate dependencies.
10588*3d8817e4Smiod	* Makefile.in: Regenerate.
10589*3d8817e4Smiod	* config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
10590*3d8817e4Smiod	bfd_elf64_sh64l_vec.
10591*3d8817e4Smiod	* configure.in: Handle bfd_elf64_sh64_vec and
10592*3d8817e4Smiod	bfd_elf64_sh64l_vec.
10593*3d8817e4Smiod	* configure: Regenerate.
10594*3d8817e4Smiod	* po/POTFILES.in: Regenerate.
10595*3d8817e4Smiod	* po/bfd.pot: Regenerate.
10596*3d8817e4Smiod	2000-11-29  Hans-Peter Nilsson  <hpn@cygnus.com>
10597*3d8817e4Smiod	* elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
10598*3d8817e4Smiod	anything else but EF_SH64 and EF_SH64_ABI64.
10599*3d8817e4Smiod	(sh64_elf_merge_private_data): Emit error for anything else but
10600*3d8817e4Smiod	EF_SH64 and EF_SH64_ABI64.
10601*3d8817e4Smiod	* config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
10602*3d8817e4Smiod	from targ_selvecs.
10603*3d8817e4Smiod	* configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
10604*3d8817e4Smiod	bfd_elf32_sh64l_vec as a temporary measure.
10605*3d8817e4Smiod	* configure: Regenerate.
10606*3d8817e4Smiod	2000-11-27  Hans-Peter Nilsson  <hpn@cygnus.com>
10607*3d8817e4Smiod	* cpu-sh.c (arch_info_struct): Include sh5 item
10608*3d8817e4Smiod	unconditionalized.
10609*3d8817e4Smiod	* config.bfd (sh64-*-elf*): Do not set targ_cflags.
10610*3d8817e4Smiod	Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
10611*3d8817e4Smiod	bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
10612*3d8817e4Smiod	* elf32-sh64.c: Tweak comments.
10613*3d8817e4Smiod	(sh64_elf_set_mach_from_flags): Recognize all machine flags that
10614*3d8817e4Smiod	are proper subsets of SH64 as bfd_mach_sh5.  Add EF_SH64_ABI64.
10615*3d8817e4Smiod	(sh64_elf_copy_private_data_internal): Wrap long line.
10616*3d8817e4Smiod	(sh64_elf_merge_private_data): Rewrite to allow objects from
10617*3d8817e4Smiod	SH64 subsets to be linked together.
10618*3d8817e4Smiod	(INCLUDE_SHMEDIA): Define.
10619*3d8817e4Smiod	* elf32-sh.c (sh_elf_relocate_section) <local symbol>:
10620*3d8817e4Smiod	Parenthesize plus-expression inside or-expression.
10621*3d8817e4Smiod	<global symbol>: Ditto.
10622*3d8817e4Smiod	(sh_elf_set_mach_from_flags): Remove code refusing
10623*3d8817e4Smiod	deleted EF_SH64_32BIT_ABI flag.
10624*3d8817e4Smiod	2000-11-26  Hans-Peter Nilsson  <hpn@cygnus.com>
10625*3d8817e4Smiod	* elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
10626*3d8817e4Smiod	R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
10627*3d8817e4Smiod	R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
10628*3d8817e4Smiod	(sh_elf_relocate_section) <local symbol>: Or 1 in
10629*3d8817e4Smiod	calculation of relocation if sym->st_other & STO_SH5_ISA32.
10630*3d8817e4Smiod	<global symbol>: Ditto if h->other & STO_SH5_ISA32.
10631*3d8817e4Smiod	* elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
10632*3d8817e4Smiod	relocation.
10633*3d8817e4Smiod	2000-11-24  Hans-Peter Nilsson  <hpn@cygnus.com>
10634*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
10635*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
10636*3d8817e4Smiod	Regenerate dependencies.
10637*3d8817e4Smiod	* Makefile.in: Regenerate.
10638*3d8817e4Smiod	* archures.c: Add bfd_mach_sh5.
10639*3d8817e4Smiod	* config.bfd: Map targ_cpu sh* to bfd_sh_arch.
10640*3d8817e4Smiod	Handle sh64-*-elf*.  Set targ_cflags to -DINCLUDE_SHMEDIA.
10641*3d8817e4Smiod	* configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
10642*3d8817e4Smiod	* configure: Regenerate.
10643*3d8817e4Smiod	* reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
10644*3d8817e4Smiod	BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
10645*3d8817e4Smiod	BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
10646*3d8817e4Smiod	BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
10647*3d8817e4Smiod	BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
10648*3d8817e4Smiod	BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
10649*3d8817e4Smiod	BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
10650*3d8817e4Smiod	BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
10651*3d8817e4Smiod	BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
10652*3d8817e4Smiod	* cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
10653*3d8817e4Smiod	in item for SH5.
10654*3d8817e4Smiod	* elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
10655*3d8817e4Smiod	for SHmedia relocs.
10656*3d8817e4Smiod	[INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
10657*3d8817e4Smiod	[INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
10658*3d8817e4Smiod	shmedia_prepare_reloc, goto final_link_relocate if it returns
10659*3d8817e4Smiod	non-zero, else fail as before.
10660*3d8817e4Smiod	(sh_elf_set_mach_from_flags): Provide function only if not defined
10661*3d8817e4Smiod	as macro.  Do not recognize objects with EF_SH64_32BIT_ABI set.
10662*3d8817e4Smiod	(sh_elf_set_private_flags): Provide function only if not defined
10663*3d8817e4Smiod	as a macro.
10664*3d8817e4Smiod	(sh_elf_copy_private_data): Similar.
10665*3d8817e4Smiod	(sh_elf_merge_private_data): Similar.
10666*3d8817e4Smiod	* section.c (SEC_SH_ISA_SHMEDIA): New.
10667*3d8817e4Smiod	* targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
10668*3d8817e4Smiod	* elf32-sh64.c: New file.
10669*3d8817e4Smiod	* libbfd.h: Regenerate.
10670*3d8817e4Smiod	* bfd-in2.h: Regenerate.
10671*3d8817e4Smiod	* po/POTFILES.in: Regenerate.
10672*3d8817e4Smiod	* po/bfd.pot: Regenerate.
10673*3d8817e4Smiod	* bfd-in2.h: Regenerate.
10674*3d8817e4Smiod	* libbfd.h: Regenerate.
10675*3d8817e4Smiod
10676*3d8817e4Smiod2002-02-07  Daniel Jacobowitz  <drow@mvista.com>
10677*3d8817e4Smiod
10678*3d8817e4Smiod	* bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
10679*3d8817e4Smiod	been included, not drag it in.
10680*3d8817e4Smiod	* bfd-in2.h: Regenerate.
10681*3d8817e4Smiod
10682*3d8817e4Smiod2002-02-06  H.J. Lu  (hjl@gnu.org)
10683*3d8817e4Smiod
10684*3d8817e4Smiod	* elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
10685*3d8817e4Smiod	the mach and ISA fields if necessary.
10686*3d8817e4Smiod
10687*3d8817e4Smiod2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
10688*3d8817e4Smiod
10689*3d8817e4Smiod	* coffcode.h (coff_set_arch_mach_hook): Select the highest known
10690*3d8817e4Smiod	ARM architecture when an F_ARM_5 flag is detected, since we cannot
10691*3d8817e4Smiod	be sure exactly which architecture this represents.
10692*3d8817e4Smiod
10693*3d8817e4Smiod2002-02-05  Nick Clifton  <nickc@redhat.com>
10694*3d8817e4Smiod
10695*3d8817e4Smiod	* po/tr.po: Updated translation.
10696*3d8817e4Smiod
10697*3d8817e4Smiod2002-02-05  Alan Modra  <amodra@bigpond.net.au>
10698*3d8817e4Smiod
10699*3d8817e4Smiod	From Jimi X <jimix@watson.ibm.com>
10700*3d8817e4Smiod	* archures (bfd_mach_ppc64): Define.
10701*3d8817e4Smiod	(bfd_powerpc_arch): Rename to bfd_powerpc_archs.
10702*3d8817e4Smiod	(bfd_powerpc_arch): Define.
10703*3d8817e4Smiod	* bfd-in2.h: Regenerate.
10704*3d8817e4Smiod	* cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
10705*3d8817e4Smiod	(bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
10706*3d8817e4Smiod	(bfd_powerpc_archs): Add default powerpc64 arch.
10707*3d8817e4Smiod
10708*3d8817e4Smiod2002-02-05  Alan Modra  <amodra@bigpond.net.au>
10709*3d8817e4Smiod
10710*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
10711*3d8817e4Smiod	against section syms in readonly sections.  Don't do the global
10712*3d8817e4Smiod	sym check if we find one.
10713*3d8817e4Smiod	* elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
10714*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
10715*3d8817e4Smiod	* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
10716*3d8817e4Smiod	* elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
10717*3d8817e4Smiod	(elf_s390_grok_prstatus): Add missing prototype.
10718*3d8817e4Smiod
10719*3d8817e4Smiod2002-02-04  Hans-Peter Nilsson  <hp@bitrange.com>
10720*3d8817e4Smiod
10721*3d8817e4Smiod	* elf64-mmix.c (mmix_dump_bpo_gregs): New function.
10722*3d8817e4Smiod	(mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
10723*3d8817e4Smiod	Call bfd_get_section_by_name only once.  Initialize
10724*3d8817e4Smiod	bpodata->n_bpo_relocs_this_section.
10725*3d8817e4Smiod	(_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
10726*3d8817e4Smiod	referring to DSOs.
10727*3d8817e4Smiod	(bpo_reloc_request_sort_fn): Don't use difference of values as
10728*3d8817e4Smiod	return-value.
10729*3d8817e4Smiod
10730*3d8817e4Smiod2002-02-02  David O'Brien  <obrien@FreeBSD>
10731*3d8817e4Smiod
10732*3d8817e4Smiod	* configure.in: Tweak the FreeBSD 4.x recognition more.  Only treat
10733*3d8817e4Smiod	version 4.5 and later the same as 5-CURRENT.
10734*3d8817e4Smiod	* configure: Re-generate.
10735*3d8817e4Smiod
10736*3d8817e4Smiod2002-02-02  Jason Thorpe  <thorpej@wasabisystems.com>
10737*3d8817e4Smiod
10738*3d8817e4Smiod	* config.bfd (hppa*-*-netbsd*): New target.
10739*3d8817e4Smiod
10740*3d8817e4Smiod2002-01-31  Philipp Thomas  <pthomas@suse.de>
10741*3d8817e4Smiod
10742*3d8817e4Smiod	* coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
10743*3d8817e4Smiod	to front of message. Unify messages with elf32-arm.h. Use
10744*3d8817e4Smiod	commas where neccessary.
10745*3d8817e4Smiod	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
10746*3d8817e4Smiod	ERROR in messages. Unify messages with coff-arm.c. Correct
10747*3d8817e4Smiod	VFP/FPA error message.
10748*3d8817e4Smiod	(elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
10749*3d8817e4Smiod	APCS-32 for translation.
10750*3d8817e4Smiod
10751*3d8817e4Smiod2002-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
10752*3d8817e4Smiod
10753*3d8817e4Smiod	Perform on-demand global register allocation from
10754*3d8817e4Smiod	R_MMIX_BASE_PLUS_OFFSET relocs.
10755*3d8817e4Smiod	* elf64-mmix.c (struct bpo_reloc_section_info, struct
10756*3d8817e4Smiod	bpo_reloc_request, struct bpo_greg_section_info): New.
10757*3d8817e4Smiod	(mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
10758*3d8817e4Smiod	bpo_reloc_request_sort_fn, mmix_elf_relax_section,
10759*3d8817e4Smiod	_bfd_mmix_check_all_relocs,
10760*3d8817e4Smiod	_bfd_mmix_prepare_linker_allocated_gregs,
10761*3d8817e4Smiod	_bfd_mmix_finalize_linker_allocated_gregs): New functions.
10762*3d8817e4Smiod	(elf_mmix_howto_table): Correct src_mask for most relocs.
10763*3d8817e4Smiod	(mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
10764*3d8817e4Smiod	case.
10765*3d8817e4Smiod	(mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
10766*3d8817e4Smiod	case.  Fix typo in comment.  New label do_mmix_reloc.
10767*3d8817e4Smiod	(mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
10768*3d8817e4Smiod	store first object file with a base-plus-offset reloc.  Call
10769*3d8817e4Smiod	mmix_elf_check_common_relocs for the part common with mmo.
10770*3d8817e4Smiod	(mmix_elf_final_link): Write out linker-allocated register
10771*3d8817e4Smiod	contents section.
10772*3d8817e4Smiod	(elf_backend_gc_sweep_hook): Define.
10773*3d8817e4Smiod	(bfd_elf64_bfd_relax_section): Define.
10774*3d8817e4Smiod
10775*3d8817e4Smiod	* mmo.c: Don't include <ctype.h>
10776*3d8817e4Smiod	(mmo_init): Correct init-once logic.
10777*3d8817e4Smiod
10778*3d8817e4Smiod2002-02-01  Tom Rix  <trix@redhat.com>
10779*3d8817e4Smiod
10780*3d8817e4Smiod	* config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
10781*3d8817e4Smiod
10782*3d8817e4Smiod2002-02-01  Alan Modra  <amodra@bigpond.net.au>
10783*3d8817e4Smiod
10784*3d8817e4Smiod	* Makefile.am: Run "make dep-am"
10785*3d8817e4Smiod	* Makefile.in: Regenerate.
10786*3d8817e4Smiod
10787*3d8817e4Smiod2002-01-31  David O'Brien  <obrien@FreeBSD>
10788*3d8817e4Smiod
10789*3d8817e4Smiod	* configure.in: Recognize the differences in core files from FreeBSD
10790*3d8817e4Smiod	4.{0,1} and later versions of 4.x.  This treats 4.2+ the same as
10791*3d8817e4Smiod	5-CURRENT.
10792*3d8817e4Smiod	* configure: Regenerate.
10793*3d8817e4Smiod
10794*3d8817e4Smiod2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
10795*3d8817e4Smiod
10796*3d8817e4Smiod	* coff-or32.c: New file.
10797*3d8817e4Smiod	* cpu-or32.c: New file.
10798*3d8817e4Smiod	* elf32-or32.c: New file.
10799*3d8817e4Smiod	* archures.c: Add support for or32.
10800*3d8817e4Smiod	* targets.c: Add support for or32.
10801*3d8817e4Smiod	* bfd-in2.h: Regenerate.
10802*3d8817e4Smiod	* coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
10803*3d8817e4Smiod	coff_write_object_contents): Add support for or32.
10804*3d8817e4Smiod	* config.bfd: Add target.
10805*3d8817e4Smiod	* configure.in: Add support for or32.
10806*3d8817e4Smiod	* configure: Regenerate.
10807*3d8817e4Smiod	* Makefile.am: Add support for or32.
10808*3d8817e4Smiod	* Makefile.in: Regenerate.
10809*3d8817e4Smiod	* po/SRC-POTFILES.in: Add or32 files.
10810*3d8817e4Smiod	* po/bfd.pot: Regenerate.
10811*3d8817e4Smiod
10812*3d8817e4Smiod2002-01-31  Nick Clifton  <nickc@cambridge.redhat.com>
10813*3d8817e4Smiod	    Don Lindsay  <lindsayd@cisco.com>
10814*3d8817e4Smiod
10815*3d8817e4Smiod	* elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
10816*3d8817e4Smiod	false' with a return of a bfd_reloc_ error code.
10817*3d8817e4Smiod
10818*3d8817e4Smiod2002-01-31  Hans-Peter Nilsson  <hp@axis.com>
10819*3d8817e4Smiod
10820*3d8817e4Smiod	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
10821*3d8817e4Smiod	unexport unreferenced symbols when --export-dynamic.  Call
10822*3d8817e4Smiod	_bfd_elf_strtab_delref when unexporting.
10823*3d8817e4Smiod
10824*3d8817e4Smiod2002-01-30  Daniel Jacobowitz  <drow@mvista.com>
10825*3d8817e4Smiod
10826*3d8817e4Smiod	* bfd-in.h: Include <stdbool.h> if it is available.
10827*3d8817e4Smiod	* bfd-in2.h: Regenerated.
10828*3d8817e4Smiod
10829*3d8817e4Smiod2002-01-31  Alan Modra  <amodra@bigpond.net.au>
10830*3d8817e4Smiod
10831*3d8817e4Smiod	* elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
10832*3d8817e4Smiod	not go via the plt.
10833*3d8817e4Smiod
10834*3d8817e4Smiod2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
10835*3d8817e4Smiod
10836*3d8817e4Smiod	* archures.c: Tidy up formatting of embedded comments.
10837*3d8817e4Smiod	* bfd.c: Tidy up formatting of embedded comments.
10838*3d8817e4Smiod	* bfd-in.h: Fix formatting of comments.
10839*3d8817e4Smiod	* reloc.c: Tidy up formatting of ordinary & embedded comments.
10840*3d8817e4Smiod	* section.c: Tidy up formatting of embedded comments.
10841*3d8817e4Smiod	* syms.c: Tidy up formatting of embedded comments.
10842*3d8817e4Smiod	* targets.c: Tidy up formatting of embedded comments.
10843*3d8817e4Smiod
10844*3d8817e4Smiod	* bfd-in2.h: Regenerate.
10845*3d8817e4Smiod
10846*3d8817e4Smiod2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
10847*3d8817e4Smiod
10848*3d8817e4Smiod	* vms-tir.c (cmd_name): New function.
10849*3d8817e4Smiod	(tir_cmd_name): New function.
10850*3d8817e4Smiod	(etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
10851*3d8817e4Smiod	(tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
10852*3d8817e4Smiod	Fix formatting.
10853*3d8817e4Smiod
10854*3d8817e4Smiod	* peXXigen.c (pe_print_idata): Rearrange message to aid in
10855*3d8817e4Smiod	translation.
10856*3d8817e4Smiod	(pe_print_pdata): Rearrange message to aid in translation.
10857*3d8817e4Smiod
10858*3d8817e4Smiod	* libbfd.c (warn_deprecated): Rearrange error message to aid in
10859*3d8817e4Smiod	translation.
10860*3d8817e4Smiod
10861*3d8817e4Smiod	* ihex.c (ihex_write_object_contents): Fix spelling typo.
10862*3d8817e4Smiod
10863*3d8817e4Smiod	* ieee.c (ieee_slurp_external_symbols): Remove spurious space.
10864*3d8817e4Smiod
10865*3d8817e4Smiod	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
10866*3d8817e4Smiod	message to aid in translation.
10867*3d8817e4Smiod
10868*3d8817e4Smiod	* elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
10869*3d8817e4Smiod	to aid in translation.
10870*3d8817e4Smiod
10871*3d8817e4Smiod	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
10872*3d8817e4Smiod
10873*3d8817e4Smiod2002-01-30  Philipp Thomas  <pthomas@suse.de>
10874*3d8817e4Smiod
10875*3d8817e4Smiod	* coff-arm.c, elf32-elf.h: Unify messages.
10876*3d8817e4Smiod
10877*3d8817e4Smiod2002-01-30  Nick Clifton <nickc@redhat.com>
10878*3d8817e4Smiod
10879*3d8817e4Smiod	* po/sv.po: Updated translation.
10880*3d8817e4Smiod
10881*3d8817e4Smiod2002-01-30  Philipp Thomas  <pthomas@suse.de>
10882*3d8817e4Smiod
10883*3d8817e4Smiod	* dwarf2.c (read_abbrev): Use full section name in error message.
10884*3d8817e4Smiod	(decode_line_info): Likewise.
10885*3d8817e4Smiod
10886*3d8817e4Smiod	* elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
10887*3d8817e4Smiod	message.
10888*3d8817e4Smiod
10889*3d8817e4Smiod2002-01-30  Alan Modra  <amodra@bigpond.net.au>
10890*3d8817e4Smiod
10891*3d8817e4Smiod	* elf64-ppc.c (func_desc_adjust): Only provide missing function
10892*3d8817e4Smiod	descriptor symbols for undefined function code syms.  Clear
10893*3d8817e4Smiod	ELF_LINK_NON_ELF so that they can stay weak.
10894*3d8817e4Smiod
10895*3d8817e4Smiod2002-01-29  Chris Demetriou  <cgd@broadcom.com>
10896*3d8817e4Smiod	    Mitch Lichtenberg  <mpl@broadcom.com>
10897*3d8817e4Smiod
10898*3d8817e4Smiod	* bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
10899*3d8817e4Smiod	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
10900*3d8817e4Smiod	to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
10901*3d8817e4Smiod	generation.
10902*3d8817e4Smiod	* bfd-in2.h: Regenerate.
10903*3d8817e4Smiod
10904*3d8817e4Smiod2002-01-29  Chris Demetriou  <cgd@broadcom.com>
10905*3d8817e4Smiod
10906*3d8817e4Smiod	* elf32-mips.c: Add additional comments about HI16 relocation
10907*3d8817e4Smiod	processing.
10908*3d8817e4Smiod	(_bfd_mips_elf_hi16_reloc): Don't subtract address here for
10909*3d8817e4Smiod	pc-relative relocations.  (Reverts change made on 2001-10-31.)
10910*3d8817e4Smiod	(_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
10911*3d8817e4Smiod	for pc-relative relocations.
10912*3d8817e4Smiod	(mips_elf_calculate_relocation): Add a comment about a kludge
10913*3d8817e4Smiod	in the R_MIPS_GNU_REL_HI16 handling.
10914*3d8817e4Smiod	(_bfd_mips_elf_relocate_section): Implement that kludge;
10915*3d8817e4Smiod	adjust pc-relative HI16 relocation for difference in HI16 and
10916*3d8817e4Smiod	LO16 addresses, since it can't easily be done in
10917*3d8817e4Smiod	mips_elf_calculate_relocation.
10918*3d8817e4Smiod
10919*3d8817e4Smiod2002-01-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>
10920*3d8817e4Smiod
10921*3d8817e4Smiod	* elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
10922*3d8817e4Smiod	relocations with PC32 relocations for undefined or weak symbols.
10923*3d8817e4Smiod	* elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
10924*3d8817e4Smiod	* elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
10925*3d8817e4Smiod
10926*3d8817e4Smiod2002-01-28  Jason Thorpe  <thorpej@wasabisystems.com>
10927*3d8817e4Smiod
10928*3d8817e4Smiod	* elfcore.h (elf_core_file_p): Improve comment for last change.
10929*3d8817e4Smiod
10930*3d8817e4Smiod2002-01-27  Daniel Jacobowitz  <drow@mvista.com>
10931*3d8817e4Smiod
10932*3d8817e4Smiod	* configure: Regenerated.
10933*3d8817e4Smiod
10934*3d8817e4Smiod2002-01-27  Jason Thorpe  <thorpej@wasabisystems.com>
10935*3d8817e4Smiod
10936*3d8817e4Smiod	* elfcore.h (elf_core_file_p): Set the machine architecture
10937*3d8817e4Smiod	before processing the program headers.
10938*3d8817e4Smiod
10939*3d8817e4Smiod2002-01-26  Hans-Peter Nilsson  <hp@bitrange.com>
10940*3d8817e4Smiod
10941*3d8817e4Smiod	* configure.in <64-bit configuration>: If using gcc, check and
10942*3d8817e4Smiod	emit error for egcs-1.1.2.
10943*3d8817e4Smiod	* configure: Regenerate.
10944*3d8817e4Smiod
10945*3d8817e4Smiod2002-01-26  Egor Duda  <deo@logos-m.ru>
10946*3d8817e4Smiod
10947*3d8817e4Smiod	* elf.c (elfcore_grok_win32pstatus): Copy only as much information
10948*3d8817e4Smiod	as possible to avoid stack corruption.
10949*3d8817e4Smiod
10950*3d8817e4Smiod2002-01-26  Richard Henderson  <rth@redhat.com>
10951*3d8817e4Smiod
10952*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
10953*3d8817e4Smiod	for non-allocated sections.
10954*3d8817e4Smiod
10955*3d8817e4Smiod2002-01-25  Mark Kettenis  <kettenis@gnu.org>
10956*3d8817e4Smiod
10957*3d8817e4Smiod	* elf.c (elfcore_write_prstatus): Make sure we pass the address of
10958*3d8817e4Smiod	prstat.pr_reg even if it is a struct.
10959*3d8817e4Smiod
10960*3d8817e4Smiod2002-01-25  Steve Ellcey <sje@cup.hp.com>
10961*3d8817e4Smiod
10962*3d8817e4Smiod	* elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
10963*3d8817e4Smiod
10964*3d8817e4Smiod2002-01-25  Philipp Thomas  <pthomas@suse.de>
10965*3d8817e4Smiod
10966*3d8817e4Smiod	* coffgen.c (coff_print_symbol): Don't mark info message
10967*3d8817e4Smiod	for translation.
10968*3d8817e4Smiod
10969*3d8817e4Smiod2002-01-25  Nick Clifton <nickc@redhat.com>
10970*3d8817e4Smiod
10971*3d8817e4Smiod	* po/fr.po: Updated translation.
10972*3d8817e4Smiod	* po/es.po: Updated translation.
10973*3d8817e4Smiod
10974*3d8817e4Smiod2002-01-25  Philipp Thomas  <pthomas@suse.de>
10975*3d8817e4Smiod
10976*3d8817e4Smiod	* coff-alpha.c (alpha_relocate_section): Unify warning message
10977*3d8817e4Smiod	for GP relative relocations without GP defined.
10978*3d8817e4Smiod	* coff-mips.c (mips_relocate_section): Likewise.
10979*3d8817e4Smiod
10980*3d8817e4Smiod2002-01-25  Alan Modra  <amodra@bigpond.net.au>
10981*3d8817e4Smiod
10982*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
10983*3d8817e4Smiod	unsigned overflow when new_offset < old_offset.
10984*3d8817e4Smiod
10985*3d8817e4Smiod2002-01-24  Philipp Thomas  <pthomas@suse.de>
10986*3d8817e4Smiod
10987*3d8817e4Smiod	* bfd.c (_bfd_abort): Fix typo.
10988*3d8817e4Smiod
10989*3d8817e4Smiod2002-01-23  Richard Henderson  <rth@redhat.com>
10990*3d8817e4Smiod
10991*3d8817e4Smiod	* elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
10992*3d8817e4Smiod	plt entries for undefweak symbols.
10993*3d8817e4Smiod
10994*3d8817e4Smiod2002-01-23  Steve Ellcey <sje@cup.hp.com>
10995*3d8817e4Smiod
10996*3d8817e4Smiod	* targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
10997*3d8817e4Smiod	(bfd_elf64_ia64_hpux_big_vec): Ditto.
10998*3d8817e4Smiod	(bfd_elf32_h8300_vec): Ditto.
10999*3d8817e4Smiod
11000*3d8817e4Smiod2002-01-23  Alan Modra  <amodra@bigpond.net.au>
11001*3d8817e4Smiod
11002*3d8817e4Smiod	* elf64-ppc.c: Remove stale part of ABI comment.
11003*3d8817e4Smiod	(NO_OPD_RELOCS): Define.
11004*3d8817e4Smiod	(ppc64_elf_check_relocs): Use it.
11005*3d8817e4Smiod	(ppc64_elf_relocate_section): Here too.
11006*3d8817e4Smiod	(build_one_stub): Don't point function syms at the stub.  Instead,
11007*3d8817e4Smiod	hijack plt.offset.
11008*3d8817e4Smiod	(ppc64_elf_relocate_section): Check whether REL24 relocs should
11009*3d8817e4Smiod	really go to the stub.  Make all dynamic relocs in opd against
11010*3d8817e4Smiod	locals.
11011*3d8817e4Smiod	(ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
11012*3d8817e4Smiod	plt.offset.
11013*3d8817e4Smiod
11014*3d8817e4Smiod2002-01-22  Richard Henderson  <rth@redhat.com>
11015*3d8817e4Smiod
11016*3d8817e4Smiod	* elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
11017*3d8817e4Smiod
11018*3d8817e4Smiod2002-01-22  Alan Modra  <amodra@bigpond.net.au>
11019*3d8817e4Smiod
11020*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
11021*3d8817e4Smiod	TOC_BASE_OFF adjustment.
11022*3d8817e4Smiod
11023*3d8817e4Smiod	* Makefile.am: Run "make dep-am".
11024*3d8817e4Smiod	* Makefile.in: Regenerate.
11025*3d8817e4Smiod	* po/SRC-POTFILES.in: Regenerate.
11026*3d8817e4Smiod
11027*3d8817e4Smiod2002-01-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11028*3d8817e4Smiod
11029*3d8817e4Smiod	* configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
11030*3d8817e4Smiod	host defines.
11031*3d8817e4Smiod
11032*3d8817e4Smiod2002-01-21  Hans-Peter Nilsson  <hp@axis.com>
11033*3d8817e4Smiod
11034*3d8817e4Smiod	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
11035*3d8817e4Smiod	Check for and emit error if sgot is NULL at this point.
11036*3d8817e4Smiod
11037*3d8817e4Smiod2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
11038*3d8817e4Smiod
11039*3d8817e4Smiod	* config.bfd (ia64*-*-netbsd*): New target.
11040*3d8817e4Smiod
11041*3d8817e4Smiod2002-01-21  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
11042*3d8817e4Smiod
11043*3d8817e4Smiod	* som.c (som_write_space_strings): Comment typo fix.
11044*3d8817e4Smiod
11045*3d8817e4Smiod2002-01-21  Alan Modra  <amodra@bigpond.net.au>
11046*3d8817e4Smiod
11047*3d8817e4Smiod	* elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
11048*3d8817e4Smiod	is_func_descriptor fields.
11049*3d8817e4Smiod	(link_hash_newfunc): Init them.
11050*3d8817e4Smiod	(ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
11051*3d8817e4Smiod	dot are candidates for plt entries.  When processing .opd relocs,
11052*3d8817e4Smiod	set function descriptor strings to point inside function code
11053*3d8817e4Smiod	string, and set new ppc_link_hash_entry fields.
11054*3d8817e4Smiod	(ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
11055*3d8817e4Smiod	(ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
11056*3d8817e4Smiod	function descriptors.  It's now done in..
11057*3d8817e4Smiod	(func_desc_adjust): New.
11058*3d8817e4Smiod	(ppc64_elf_func_desc_adjust): New.
11059*3d8817e4Smiod	(define elf_backend_always_size_sections): Define.
11060*3d8817e4Smiod	(ppc64_elf_hide_symbol): New.
11061*3d8817e4Smiod	(define elf_backend_hide_symbol): Define.
11062*3d8817e4Smiod	(allocate_dynrelocs): Remove code looking up function descriptors
11063*3d8817e4Smiod	as that has been done earlier.
11064*3d8817e4Smiod	(ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
11065*3d8817e4Smiod	table.
11066*3d8817e4Smiod	(ppc64_elf_finish_dynamic_symbol): Likewise.  Remove code looking
11067*3d8817e4Smiod	up function descriptor.
11068*3d8817e4Smiod	(build_one_stub): Look up the function code sym.  Check for
11069*3d8817e4Smiod	invalid plt offsets.
11070*3d8817e4Smiod	(ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
11071*3d8817e4Smiod	Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
11072*3d8817e4Smiod
11073*3d8817e4Smiod	* elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
11074*3d8817e4Smiod	boolean param.
11075*3d8817e4Smiod	(_bfd_elf_link_hash_hide_symbol): Likewise.
11076*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): Adjust call to
11077*3d8817e4Smiod	elf_backend_hide_symbol.
11078*3d8817e4Smiod	(elf_fix_symbol_flags): Likewise.
11079*3d8817e4Smiod	(elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
11080*3d8817e4Smiod	than bfd_alloc.
11081*3d8817e4Smiod	* elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
11082*3d8817e4Smiod	Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
11083*3d8817e4Smiod	* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
11084*3d8817e4Smiod	(clobber_millicode_symbols): Adjust to suit new hide_symbol.
11085*3d8817e4Smiod	* elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
11086*3d8817e4Smiod	and adjust to suit.
11087*3d8817e4Smiod	* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
11088*3d8817e4Smiod	_bfd_elf_link_hash_hide_symbol rather than duplicating code.
11089*3d8817e4Smiod	* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
11090*3d8817e4Smiod
11091*3d8817e4Smiod2002-01-18  Alan Modra  <amodra@bigpond.net.au>
11092*3d8817e4Smiod
11093*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
11094*3d8817e4Smiod	dynamic function descriptor symbol, not the associated function
11095*3d8817e4Smiod	symbol.
11096*3d8817e4Smiod
11097*3d8817e4Smiod2002-01-17  Eric Christopher  <echristo@redhat.com>
11098*3d8817e4Smiod
11099*3d8817e4Smiod	* elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
11100*3d8817e4Smiod
11101*3d8817e4Smiod2002-01-17  Nick Clifton  <nickc@cambridge.redhat.com>
11102*3d8817e4Smiod
11103*3d8817e4Smiod	* po/bfd.pot: Regenerate.
11104*3d8817e4Smiod	* po/fr.po: Regenerate.
11105*3d8817e4Smiod
11106*3d8817e4Smiod2002-01-17  Alan Modra  <amodra@bigpond.net.au>
11107*3d8817e4Smiod
11108*3d8817e4Smiod	* elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
11109*3d8817e4Smiod	Remove "Elf_Internal_Shdr *" param.
11110*3d8817e4Smiod	(_bfd_mips_elf_section_from_bfd_section): Ditto.
11111*3d8817e4Smiod	* elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
11112*3d8817e4Smiod	* elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
11113*3d8817e4Smiod	* elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
11114*3d8817e4Smiod	* elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
11115*3d8817e4Smiod	* elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
11116*3d8817e4Smiod	* elf.c (_bfd_elf_section_from_bfd_section): Allow backend
11117*3d8817e4Smiod	function to override special sections.  Remove hdr arg from
11118*3d8817e4Smiod	backend call, and don't loop.
11119*3d8817e4Smiod
11120*3d8817e4Smiod2002-01-16  Eric Christopher  <echristo@redhat.com>
11121*3d8817e4Smiod
11122*3d8817e4Smiod	* elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
11123*3d8817e4Smiod	on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
11124*3d8817e4Smiod	relocations requiring gp0 and gp.
11125*3d8817e4Smiod
11126*3d8817e4Smiod2002-01-16  Richard Earnshaw  <rearnsha@arm.com>
11127*3d8817e4Smiod
11128*3d8817e4Smiod	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
11129*3d8817e4Smiod	EF_ARM_VFP_FLOAT.
11130*3d8817e4Smiod	(elf32_arm_print_private_bfd_data): Likewise.
11131*3d8817e4Smiod
11132*3d8817e4Smiod2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
11133*3d8817e4Smiod
11134*3d8817e4Smiod	* po/tr.po: Import new version.
11135*3d8817e4Smiod
11136*3d8817e4Smiod2002-01-16  Alan Modra  <amodra@bigpond.net.au>
11137*3d8817e4Smiod
11138*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
11139*3d8817e4Smiod	(ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
11140*3d8817e4Smiod	(ORI_R0_R0_0): Correct.
11141*3d8817e4Smiod
11142*3d8817e4Smiod2002-01-16  Alan Modra  <amodra@bigpond.net.au>
11143*3d8817e4Smiod
11144*3d8817e4Smiod	* elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
11145*3d8817e4Smiod	when plt_not_loaded.
11146*3d8817e4Smiod	* elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
11147*3d8817e4Smiod	clear .plt SEC_CODE here.  Create .stub and correct .glink flags.
11148*3d8817e4Smiod	(PLT_INITIAL_ENTRY_SIZE): Set to 24.
11149*3d8817e4Smiod	(ppc64_elf_glink_code): Delete.
11150*3d8817e4Smiod	(PPC64_ELF_GLINK_SIZE): Delete.
11151*3d8817e4Smiod	(ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
11152*3d8817e4Smiod	BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
11153*3d8817e4Smiod	ORI_R0_R0_0): Define.
11154*3d8817e4Smiod	(PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
11155*3d8817e4Smiod	(struct ppc_link_hash_table): Add sstub and plt_overflow.
11156*3d8817e4Smiod	(ppc64_elf_link_hash_table_create): Init them.
11157*3d8817e4Smiod	(ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
11158*3d8817e4Smiod	Don't copy to shared lib.
11159*3d8817e4Smiod	(ppc64_elf_check_relocs): Call bfd_set_error on errors.
11160*3d8817e4Smiod	(ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
11161*3d8817e4Smiod	(allocate_dynrelocs <plt>): Don't change function sym here.  Make
11162*3d8817e4Smiod	room for .stub and .glink code.
11163*3d8817e4Smiod	(ppc64_elf_size_dynamic_sections): Handle .stub.  Make entry for
11164*3d8817e4Smiod	DT_PPC64_GLINK.
11165*3d8817e4Smiod	(ppc64_elf_final_link): Rename to ppc64_elf_set_toc.  Don't call
11166*3d8817e4Smiod	bfd_elf64_bfd_final_link.
11167*3d8817e4Smiod	(bfd_elf64_bfd_final_link): Don't define.
11168*3d8817e4Smiod	(ppc64_elf_size_stubs): New.
11169*3d8817e4Smiod	(build_plt_stub): New.
11170*3d8817e4Smiod	(build_one_stub): New.
11171*3d8817e4Smiod	(ppc64_elf_build_stubs): New.
11172*3d8817e4Smiod	(ppc64_elf_relocate_section <toc relocs>): Remove assert.
11173*3d8817e4Smiod	(ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
11174*3d8817e4Smiod	(ppc64_elf_finish_dynamic_symbol): Don't build stubs here.  Set
11175*3d8817e4Smiod	DT_PPC64_GLINK entry.  Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
11176*3d8817e4Smiod	case output sections not separate.  Adjust DT_RELASZ to not
11177*3d8817e4Smiod	include plt relocs.  Set reserved got entry.  Set got and plt
11178*3d8817e4Smiod	entry size.
11179*3d8817e4Smiod	(elf_backend_got_header_size): Set to 8.
11180*3d8817e4Smiod	* elf64-ppc.h: New file.
11181*3d8817e4Smiod
11182*3d8817e4Smiod2002-01-16  Alan Modra  <amodra@bigpond.net.au>
11183*3d8817e4Smiod
11184*3d8817e4Smiod	* elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
11185*3d8817e4Smiod	sections, use bfd_section_list_remove.
11186*3d8817e4Smiod	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
11187*3d8817e4Smiod	* elflink.h (elf_link_add_object_symbols): When removing all
11188*3d8817e4Smiod	sections, use bfd_section_list_clear.
11189*3d8817e4Smiod
11190*3d8817e4Smiod2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
11191*3d8817e4Smiod
11192*3d8817e4Smiod	* po/sv.po: New file: Swedish translation.
11193*3d8817e4Smiod	* configure.in (ALL_LINGUAS): Add sv.
11194*3d8817e4Smiod	* configure: Regenerate.
11195*3d8817e4Smiod
11196*3d8817e4Smiod2002-01-15  Jakub Jelinek  <jakub@redhat.com>
11197*3d8817e4Smiod
11198*3d8817e4Smiod	* elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
11199*3d8817e4Smiod	* elf.c (merge_sections_remove_hook): New function.
11200*3d8817e4Smiod	(_bfd_elf_merge_sections): Pass it as 3rd argument to
11201*3d8817e4Smiod	_bfd_merge_sections.
11202*3d8817e4Smiod	* libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
11203*3d8817e4Smiod	* libbfd.h: Rebuilt.
11204*3d8817e4Smiod	* merge.c (_bfd_merge_sections): Add remove_hook argument.
11205*3d8817e4Smiod	Call remove_hook if a SEC_EXCLUDE section is encountered.
11206*3d8817e4Smiod
11207*3d8817e4Smiod2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
11208*3d8817e4Smiod
11209*3d8817e4Smiod	* elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
11210*3d8817e4Smiod	(xstormy16_reloc_map): Initialise new field with correct howto
11211*3d8817e4Smiod	table.
11212*3d8817e4Smiod	(xstormy16_reloc_type_lookup): Use 'table' field to locate correct
11213*3d8817e4Smiod	howto entry.
11214*3d8817e4Smiod
11215*3d8817e4Smiod2002-01-10  Michael Snyder  <msnyder@redhat.com>
11216*3d8817e4Smiod
11217*3d8817e4Smiod	* elf.c (elfcore_write_prstatus): Use long instead of pid_t;
11218*3d8817e4Smiod	(elfcore_write_pstatus): Use long instead of pid_t;
11219*3d8817e4Smiod	* elf-bfd.h: Change prototypes to use long instead of pid_t;
11220*3d8817e4Smiod
11221*3d8817e4Smiod2002-01-09  Jason Thorpe  <thorpej@wasabisystems.com>
11222*3d8817e4Smiod
11223*3d8817e4Smiod	* elf.c: Update copyright years.
11224*3d8817e4Smiod	(elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
11225*3d8817e4Smiod	and NT_NETBSDCORE_FIRSTMACH.  Improve a comment.
11226*3d8817e4Smiod
11227*3d8817e4Smiod2002-01-08  Michael Snyder  <msnyder@redhat.com>
11228*3d8817e4Smiod
11229*3d8817e4Smiod	Add capability to write corefile note sections, for gdb.
11230*3d8817e4Smiod	* elf.c (elfcore_write_note): New function.
11231*3d8817e4Smiod	(elfcore_write_prpsinfo): New function.
11232*3d8817e4Smiod	(elfcore_write_prstatus): New function.
11233*3d8817e4Smiod	(elfcore_write_pstatus): New function.
11234*3d8817e4Smiod	(elfcore_write_prfpreg): New function.
11235*3d8817e4Smiod	(elfcore_write_prxfpreg): New function.
11236*3d8817e4Smiod	* elf-bfd.h: Add prototypes for above functions.
11237*3d8817e4Smiod
11238*3d8817e4Smiod2002-01-08  Alexandre Oliva  <aoliva@redhat.com>
11239*3d8817e4Smiod
11240*3d8817e4Smiod	* elf.c (elf_fake_sections): Propagate errors from
11241*3d8817e4Smiod	elf_backend_fake_section.
11242*3d8817e4Smiod
11243*3d8817e4Smiod2002-01-07  Jason Thorpe  <thorpej@wasabisystems.com>
11244*3d8817e4Smiod
11245*3d8817e4Smiod	* Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
11246*3d8817e4Smiod	(BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
11247*3d8817e4Smiod	(elf32-sh-nbsd.lo): New rule.
11248*3d8817e4Smiod	* Makefile.in: Regenerate.
11249*3d8817e4Smiod	* config.bfd (sh*le-*-netbsdelf*): New target.
11250*3d8817e4Smiod	(sh*-*-netbsdelf*): New target.
11251*3d8817e4Smiod	* configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
11252*3d8817e4Smiod	(bfd_elf32_shnbsd_vec): New vector.
11253*3d8817e4Smiod	(bfd_elf32_shlnbsd_vec): New vector.
11254*3d8817e4Smiod	* configure: Regenerate.
11255*3d8817e4Smiod	* elf32-sh-nbsd.c: New file.
11256*3d8817e4Smiod	* targets.c: Update copyright years.
11257*3d8817e4Smiod	(_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
11258*3d8817e4Smiod	bfd_elf32_shnbsd_vec.
11259*3d8817e4Smiod
11260*3d8817e4Smiod2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
11261*3d8817e4Smiod
11262*3d8817e4Smiod	* coff-rs6000.c (READ20): Use bfd_scan_vma.
11263*3d8817e4Smiod
11264*3d8817e4Smiod2002-01-07  Geoffrey Keating  <geoffk@redhat.com>
11265*3d8817e4Smiod
11266*3d8817e4Smiod	* elflink.h (elf_link_input_bfd): Don't ask for the merged offset
11267*3d8817e4Smiod	of a symbol in a section that will be deleted.
11268*3d8817e4Smiod
11269*3d8817e4Smiod2002-01-07  Nick Clifton  <nickc@cambridge.redhat.com>
11270*3d8817e4Smiod
11271*3d8817e4Smiod	* po/es.po: New file: Spanish translation.
11272*3d8817e4Smiod	* configure.in (ALL_LINGUAS): Add es.
11273*3d8817e4Smiod	* configure: Regenerate.
11274*3d8817e4Smiod
11275*3d8817e4Smiod2002-01-06  Steve Ellcey  <sje@cup.hp.com>
11276*3d8817e4Smiod
11277*3d8817e4Smiod	* elfxx-ia64.c (is_unwind_section_name): Add target vector as
11278*3d8817e4Smiod	argument so we can handle HP-UX specially.
11279*3d8817e4Smiod	(elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
11280*3d8817e4Smiod	(elfNN_hpux_backend_section_from_bfd_section): New for support
11281*3d8817e4Smiod	of SHN_IA_64_ANSI_COMMON.
11282*3d8817e4Smiod	(elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
11283*3d8817e4Smiod	(is_unwind_section_name): Add special HP-UX support.
11284*3d8817e4Smiod	(elfNN_ia64_section_from_shdr): Add support for more sections.
11285*3d8817e4Smiod	(elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
11286*3d8817e4Smiod	add support for more sections.
11287*3d8817e4Smiod	(elfNN_ia64_additional_program_headers): Modify
11288*3d8817e4Smiod	is_unwind_section_name call.
11289*3d8817e4Smiod	(elfNN_ia64_modify_segment_map): Remove assumption that there is
11290*3d8817e4Smiod	only one unwind section in segment.
11291*3d8817e4Smiod
11292*3d8817e4Smiod2002-01-06  Alan Modra  <amodra@bigpond.net.au>
11293*3d8817e4Smiod
11294*3d8817e4Smiod	* syms.c (_bfd_generic_make_empty_symbol): New function.
11295*3d8817e4Smiod	* libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
11296*3d8817e4Smiod	_bfd_generic_make_empty_symbol.
11297*3d8817e4Smiod	* libbfd.h: Regenerate.
11298*3d8817e4Smiod	* bfd-in2.h: Regenerate.
11299*3d8817e4Smiod	* hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
11300*3d8817e4Smiod	(hppabsd_core_get_symtab_upper_bound): Don't define.
11301*3d8817e4Smiod	(hppabsd_core_get_symtab): Likewise.
11302*3d8817e4Smiod	(hppabsd_core_print_symbol): Likewise.
11303*3d8817e4Smiod	(hppabsd_core_get_symbol_info): Likewise.
11304*3d8817e4Smiod	(hppabsd_core_bfd_is_local_label_name): Likewise.
11305*3d8817e4Smiod	(hppabsd_core_get_lineno): Likewise.
11306*3d8817e4Smiod	(hppabsd_core_find_nearest_line): Likewise.
11307*3d8817e4Smiod	(hppabsd_core_bfd_make_debug_symbol): Likewise.
11308*3d8817e4Smiod	(hppabsd_core_read_minisymbols): Likewise.
11309*3d8817e4Smiod	(hppabsd_core_minisymbol_to_symbol): Likewise.
11310*3d8817e4Smiod	(hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
11311*3d8817e4Smiod	Formatting fixes.
11312*3d8817e4Smiod	* hpux-core.c: Similarly.
11313*3d8817e4Smiod	* irix-core.c: Similarly.
11314*3d8817e4Smiod	* osf-core.c: Similarly.
11315*3d8817e4Smiod	* sco5-core.c: Similarly.
11316*3d8817e4Smiod	* binary.c (binary_make_empty_symbol): Remove function, define as
11317*3d8817e4Smiod	_bfd_generic_make_empty_symbol.
11318*3d8817e4Smiod	* ihex.c (ihex_make_empty_symbol): Likewise.
11319*3d8817e4Smiod	* mmo.c (mmo_make_empty_symbol): Likewise.
11320*3d8817e4Smiod	* ppcboot.c (ppcboot_make_empty_symbol): Likewise.
11321*3d8817e4Smiod	* srec.c (srec_make_empty_symbol): Likewise.
11322*3d8817e4Smiod	* versados.c (versados_make_empty_symbol): Likewise.
11323*3d8817e4Smiod	* vms.c (_bfd_vms_make_empty_symbol): Remove.
11324*3d8817e4Smiod	(vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
11325*3d8817e4Smiod	* vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
11326*3d8817e4Smiod	rather than _bfd_vms_make_empty_symbol.
11327*3d8817e4Smiod	* vms-misc.c (new_symbol): Likewise.
11328*3d8817e4Smiod
11329*3d8817e4Smiod2002-01-05  Alan Modra  <amodra@bigpond.net.au>
11330*3d8817e4Smiod
11331*3d8817e4Smiod	* section.c (bfd_section_init): Remove unnecessary initialisations.
11332*3d8817e4Smiod	(bfd_section_list_clear): New function.
11333*3d8817e4Smiod	(bfd_section_list_remove, bfd_section_list_insert): New macros.
11334*3d8817e4Smiod	(_bfd_strip_section_from_output): Use them.
11335*3d8817e4Smiod	* coffcode.h (coff_set_alignment_hook): Likewise.
11336*3d8817e4Smiod	* elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
11337*3d8817e4Smiod	* elf64-mips.c (mips_elf64_final_link): Likewise.
11338*3d8817e4Smiod	* elf64-mmix.c (mmix_elf_final_link): Likewise.
11339*3d8817e4Smiod	* sunos.c (sunos_add_dynamic_symbols): Likewise.
11340*3d8817e4Smiod	* xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
11341*3d8817e4Smiod	* bfd-in2.h: Regenerate.
11342*3d8817e4Smiod
11343*3d8817e4Smiod	* netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
11344*3d8817e4Smiod	rather than doing our own section handling.  Clean up after errors
11345*3d8817e4Smiod	with bfd_release and bfd_section_list_clear.  Handle unexpected
11346*3d8817e4Smiod	flags.
11347*3d8817e4Smiod	* aoutf1.h (sunos4_core_file_p): Likewise.
11348*3d8817e4Smiod	* aix386-core.c (aix386_core_file_p): Likewise.
11349*3d8817e4Smiod	* cisco-core.c (cisco_core_file_validate): Likewise.
11350*3d8817e4Smiod	* ptrace-core.c (ptrace_unix_core_file_p): Likewise.
11351*3d8817e4Smiod	* trad-core.c (trad_unix_core_file_p): Likewise.
11352*3d8817e4Smiod
11353*3d8817e4Smiod	* hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
11354*3d8817e4Smiod	with bfd_release and bfd_section_list_clear.
11355*3d8817e4Smiod	* hpux-core.c (hpux_core_core_file_p): Likewise.
11356*3d8817e4Smiod	* irix-core.c (irix_core_core_file_p): Likewise.
11357*3d8817e4Smiod	* lynx-core.c (lynx_core_file_p): Likewise.
11358*3d8817e4Smiod	* osf-core.c (osf_core_core_file_p): Likewise.
11359*3d8817e4Smiod	* rs6000-core.c (rs6000coff_core_p): Likewise.
11360*3d8817e4Smiod	* sco5-core.c (sco5_core_file_p): Likewise.
11361*3d8817e4Smiod
11362*3d8817e4Smiod	* elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
11363*3d8817e4Smiod	sign extension adjustments without conditionals.
11364*3d8817e4Smiod
11365*3d8817e4Smiod2002-01-04  Jakub Jelinek  <jakub@redhat.com>
11366*3d8817e4Smiod
11367*3d8817e4Smiod	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
11368*3d8817e4Smiod	CIE at .eh_frame start is removed due to no FDEs referencing it.
11369*3d8817e4Smiod
11370*3d8817e4Smiod2002-01-04  Jason Thorpe  <thorpej@wasabisystems.com>
11371*3d8817e4Smiod
11372*3d8817e4Smiod	* config.bfd (x86_64-*-netbsd*): New target.
11373*3d8817e4Smiod	* configure.in (x86_64-*-netbsd*): Set COREFILE
11374*3d8817e4Smiod	to netbsd-core.lo.
11375*3d8817e4Smiod	* configure: Regenerated.
11376*3d8817e4Smiod
11377*3d8817e4Smiod2002-01-03  Tom Rix  <trix@redhat.com>
11378*3d8817e4Smiod
11379*3d8817e4Smiod	* xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
11380*3d8817e4Smiod	for recent bfd_make_section_anyway change.
11381*3d8817e4Smiod
11382*3d8817e4Smiod2002-01-03  Nick Clifton  <nickc@cambridge.redhat.com>
11383*3d8817e4Smiod
11384*3d8817e4Smiod	* elf32-arm.h (elf32_arm_final_link_relocate): Handle
11385*3d8817e4Smiod	R_ARM_THM_PC11 reloc.
11386*3d8817e4Smiod
11387*3d8817e4Smiod2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
11388*3d8817e4Smiod
11389*3d8817e4Smiod	* configure.in (LINGUAS): Add ja.
11390*3d8817e4Smiod	* configure: Regenerate.
11391*3d8817e4Smiod	* po/ja.po: Import from translation project's web site.
11392*3d8817e4Smiod
11393*3d8817e4Smiod2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
11394*3d8817e4Smiod
11395*3d8817e4Smiod	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
11396*3d8817e4Smiod	messages to ease translation into other languages.
11397*3d8817e4Smiod
11398*3d8817e4SmiodFor older changes see ChangeLog-0001
11399*3d8817e4Smiod
11400*3d8817e4SmiodLocal Variables:
11401*3d8817e4Smiodmode: change-log
11402*3d8817e4Smiodleft-margin: 8
11403*3d8817e4Smiodfill-column: 74
11404*3d8817e4Smiodversion-control: never
11405*3d8817e4SmiodEnd:
11406