1*ed0d50c3Schristos2003-12-19  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2*ed0d50c3Schristos
3*ed0d50c3Schristos	Adfd m32r-linux and PIC support.  Add new ABI that uses RELA.
4*ed0d50c3Schristos	* config.bfd (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*): Added.
5*ed0d50c3Schristos	* configure.in (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
6*ed0d50c3Schristos	bfd_elf32_m32rle_vec): Added
7*ed0d50c3Schristos	* configure: Regenerated.
8*ed0d50c3Schristos	* elf32-m32r.c (m32r_info_to_howto, m32r_elf_adjust_dynamic_symbol,
9*ed0d50c3Schristos	m32r_elf_size_dynamic_sections, m32r_elf_create_dynamic_sections,
10*ed0d50c3Schristos	m32r_elf_finish_dynamic_sections, m32r_elf_finish_dynamic_symbol,
11*ed0d50c3Schristos	allocate_dynrelocs, readonly_dynrelocs, m32r_elf_reloc_type_class,
12*ed0d50c3Schristos	m32r_elf_fake_sections): Added.
13*ed0d50c3Schristos	(m32r_elf_howto_table): Added
14*ed0d50c3Schristos	R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
15*ed0d50c3Schristos	R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
16*ed0d50c3Schristos	R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
17*ed0d50c3Schristos	R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
18*ed0d50c3Schristos	R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
19*ed0d50c3Schristos	R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
20*ed0d50c3Schristos	R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
21*ed0d50c3Schristos	R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
22*ed0d50c3Schristos	R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
23*ed0d50c3Schristos	R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
24*ed0d50c3Schristos	R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
25*ed0d50c3Schristos	R_M32R_GOTPC_LO.
26*ed0d50c3Schristos	(m32r_elf_relocate_section, m32r_elf_check_relocs): Changed for
27*ed0d50c3Schristos	New ABI.
28*ed0d50c3Schristos	* reloc.c: Add BFD_RELOC_M32R_GOT24, BFD_RELOC_M32R_26_PLTREL,
29*ed0d50c3Schristos	BFD_RELOC_M32R_COPY, BFD_RELOC_M32R_GLOB_DAT,
30*ed0d50c3Schristos	BFD_RELOC_M32R_JMP_SLOT, BFD_RELOC_M32R_RELATIVE,
31*ed0d50c3Schristos	BFD_RELOC_M32R_GOTOFF, BFD_RELOC_M32R_GOTPC24,
32*ed0d50c3Schristos	BFD_RELOC_M32R_GOT16_HI_ULO, BFD_RELOC_M32R_GOT16_HI_SLO,
33*ed0d50c3Schristos	BFD_RELOC_M32R_GOT16_LO, BFD_RELOC_M32R_GOTPC_HI_ULO,
34*ed0d50c3Schristos	BFD_RELOC_M32R_GOTPC_HI_SLO, BFD_RELOC_M32R_GOTPC_LO.
35*ed0d50c3Schristos	* targets.c (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
36*ed0d50c3Schristos	bfd_elf32_m32rle_vec): Added.
37*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
38*ed0d50c3Schristos	* libbfd.h: Regenerated.
39*ed0d50c3Schristos
40*ed0d50c3Schristos2003-12-19  Danny Smith  <dannysmith@users.sourceforge.net>
41*ed0d50c3Schristos
42*ed0d50c3Schristos	* coffcode.h (styp_to_sec_flags): Don't treat .reloc section
43*ed0d50c3Schristos	as SEC_DEBUGGING.
44*ed0d50c3Schristos
45*ed0d50c3Schristos2003-12-18  Richard Sandiford  <rsandifo@redhat.com>
46*ed0d50c3Schristos
47*ed0d50c3Schristos	* elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of
48*ed0d50c3Schristos	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.  Use
49*ed0d50c3Schristos	_bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16,
50*ed0d50c3Schristos	_bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16,
51*ed0d50c3Schristos	and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.  Change rightshift
52*ed0d50c3Schristos	to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16.
53*ed0d50c3Schristos	(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
54*ed0d50c3Schristos	(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
55*ed0d50c3Schristos	(_bfd_mips_elf32_gprel16_reloc): Remove special case.
56*ed0d50c3Schristos	(mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise.
57*ed0d50c3Schristos
58*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of
59*ed0d50c3Schristos	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.  Use
60*ed0d50c3Schristos	_bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc
61*ed0d50c3Schristos	for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.
62*ed0d50c3Schristos	Change R_MIPS_HI16's rightshift to 16.
63*ed0d50c3Schristos	(mips_elf64_howto_table_rela): Replace all uses of
64*ed0d50c3Schristos	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.
65*ed0d50c3Schristos	Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well.
66*ed0d50c3Schristos	(mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete.
67*ed0d50c3Schristos	(mips_elf64_shift6_reloc): Remove special case.  Use
68*ed0d50c3Schristos	_bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue.
69*ed0d50c3Schristos
70*ed0d50c3Schristos	* elfn32-mips.c (prev_reloc_section): Delete.
71*ed0d50c3Schristos	(prev_reloc_address, prev_reloc_addend): Delete.
72*ed0d50c3Schristos	(elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for
73*ed0d50c3Schristos	elf64-mips.c
74*ed0d50c3Schristos	(GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete.
75*ed0d50c3Schristos	(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
76*ed0d50c3Schristos	(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
77*ed0d50c3Schristos	(mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND.
78*ed0d50c3Schristos	(mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise.
79*ed0d50c3Schristos	(mips16_jump_reloc, mips16_gprel_reloc): Likewise.
80*ed0d50c3Schristos	(mips_elf_shift6_reloc): Likewise.  Delete use of SET_RELOC_ADDEND.
81*ed0d50c3Schristos
82*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use
83*ed0d50c3Schristos	_bfd_relocate_contents to install an in-place addend.
84*ed0d50c3Schristos	(mips_hi16): New structure.
85*ed0d50c3Schristos	(mips_hi16_list): Moved from elf32-mips.c.
86*ed0d50c3Schristos	(_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions.
87*ed0d50c3Schristos	(_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions.
88*ed0d50c3Schristos	(mips_elf_calculate_relocation): Assume addend is unshifted.
89*ed0d50c3Schristos	(_bfd_mips_elf_relocate_section): Don't apply the howto rightshift
90*ed0d50c3Schristos	on top of the usual high-part shift.  Don't shift the addend right
91*ed0d50c3Schristos	before calling mips_elf_calculate_relocation.
92*ed0d50c3Schristos
93*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare.
94*ed0d50c3Schristos	(_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare.
95*ed0d50c3Schristos	(_bfd_mips_elf_generic_reloc): Declare.
96*ed0d50c3Schristos
97*ed0d50c3Schristos2003-12-16  Eric Youngdale  <eric@mkssoftware.com>
98*ed0d50c3Schristos	    Nick Clifton  <nickc@redhat.com>
99*ed0d50c3Schristos
100*ed0d50c3Schristos	* peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each
101*ed0d50c3Schristos	prefix character, if they are present.
102*ed0d50c3Schristos
103*ed0d50c3Schristos2003-12-15  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
104*ed0d50c3Schristos	    Nick Clifton  <nickc@redhat.com>
105*ed0d50c3Schristos
106*ed0d50c3Schristos	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags
107*ed0d50c3Schristos	are set on known section types.
108*ed0d50c3Schristos
109*ed0d50c3Schristos2003-12-12  Nick Clifton  <nickc@redhat.com>
110*ed0d50c3Schristos
111*ed0d50c3Schristos	* po/ro.po: Updated translation.
112*ed0d50c3Schristos
113*ed0d50c3Schristos2003-12-12  Alan Modra  <amodra@bigpond.net.au>
114*ed0d50c3Schristos
115*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for
116*ed0d50c3Schristos	NULL dyn_h.
117*ed0d50c3Schristos
118*ed0d50c3Schristos2003-12-11  Nick Clifton  <nickc@redhat.com>
119*ed0d50c3Schristos
120*ed0d50c3Schristos	* elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
121*ed0d50c3Schristos
122*ed0d50c3Schristos2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
123*ed0d50c3Schristos
124*ed0d50c3Schristos	* elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes.
125*ed0d50c3Schristos	Remove casts that were only needed for K&R compatibility.
126*ed0d50c3Schristos
127*ed0d50c3Schristos2003-12-08  Alan Modra  <amodra@bigpond.net.au>
128*ed0d50c3Schristos
129*ed0d50c3Schristos	* elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add
130*ed0d50c3Schristos	"elflink_hash_entry *" param to elf_backend_link_output_symbol_hook.
131*ed0d50c3Schristos	Add "elflink_hash_entry *" param to elf_backend_output_arch_syms.
132*ed0d50c3Schristos	* elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param,
133*ed0d50c3Schristos	and pass to output_symbol_hook.
134*ed0d50c3Schristos	(elf_bfd_final_link): Adjust elf_link_output_sym calls.
135*ed0d50c3Schristos	(elf_link_output_extsym): Likewise.
136*ed0d50c3Schristos	(elf_link_input_bfd): Likewise.
137*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust.
138*ed0d50c3Schristos	* elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
139*ed0d50c3Schristos	* elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
140*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
141*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
142*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
143*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise.
144*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
145*ed0d50c3Schristos	Validate dynh->h against h.
146*ed0d50c3Schristos	* elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield.
147*ed0d50c3Schristos	(link_hash_newfunc): Init it.
148*ed0d50c3Schristos	(adjust_opd_syms): New function.
149*ed0d50c3Schristos	(ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted.
150*ed0d50c3Schristos	Set opd.adjust for all .opd relocs.  Call adjust_opd_syms.
151*ed0d50c3Schristos	(ppc64_elf_tls_optimize): Adjust possible .opd sym values here.
152*ed0d50c3Schristos	(ppc64_elf_relocate_section): Also adjust syms not a multiple of 24.
153*ed0d50c3Schristos	(ppc64_elf_output_symbol_hook): New function.
154*ed0d50c3Schristos	(elf_backend_link_output_symbol_hook): Define.
155*ed0d50c3Schristos
156*ed0d50c3Schristos2003-12-07  Richard Sandiford  <rsandifo@redhat.com>
157*ed0d50c3Schristos
158*ed0d50c3Schristos	* elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes.
159*ed0d50c3Schristos	Remove casts that were only needed for K&R compatibility.
160*ed0d50c3Schristos
161*ed0d50c3Schristos2003-12-05  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
162*ed0d50c3Schristos
163*ed0d50c3Schristos	* coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set
164*ed0d50c3Schristos	partial_inplace for these relocs to FALSE for comptability with
165*ed0d50c3Schristos	the MS linker.
166*ed0d50c3Schristos	Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error
167*ed0d50c3Schristos	generated by MS linker, and brings the relocation in line the MS
168*ed0d50c3Schristos	PE documentation.
169*ed0d50c3Schristos
170*ed0d50c3Schristos2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>
171*ed0d50c3Schristos
172*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing.
173*ed0d50c3Schristos
174*ed0d50c3Schristos2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>
175*ed0d50c3Schristos
176*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Use the
177*ed0d50c3Schristos	need_relax_finalize field in link_info instead of
178*ed0d50c3Schristos	relax_finalizing to check if the relax finalize pass is being
179*ed0d50c3Schristos	done.
180*ed0d50c3Schristos
181*ed0d50c3Schristos2003-12-04  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
182*ed0d50c3Schristos
183*ed0d50c3Schristos	* coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation):
184*ed0d50c3Schristos	Change ARM26* to ARM_26* in comments to match definitions.
185*ed0d50c3Schristos	(coff_arm_adjust_symndx): Replace hard-coded constants with
186*ed0d50c3Schristos	appropriate definitions (ARM_26*).
187*ed0d50c3Schristos
188*ed0d50c3Schristos2003-12-04  Alan Modra  <amodra@bigpond.net.au>
189*ed0d50c3Schristos
190*ed0d50c3Schristos	* coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported.
191*ed0d50c3Schristos	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes.
192*ed0d50c3Schristos	(mn10300_elf_relax_section): Likewise.
193*ed0d50c3Schristos	* nlm32-alpha.c (ONES): Define.
194*ed0d50c3Schristos	(nlm32_alpha_howto_table): Use it to avoid warnings.
195*ed0d50c3Schristos
196*ed0d50c3Schristos2003-12-04  Alan Modra  <amodra@bigpond.net.au>
197*ed0d50c3Schristos
198*ed0d50c3Schristos	* elf32-i386.c (elf_i386_object_p): Delete.
199*ed0d50c3Schristos	(elf_backend_object_p): Don't define.
200*ed0d50c3Schristos	* elf32-s390.c (elf_s390_object_p): No need to alloc tdata here.
201*ed0d50c3Schristos	* elf32-sh.c (sh_elf_object_p): Likewise.
202*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_object_p): Likewise.
203*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_object_p): Likewise.
204*ed0d50c3Schristos	* elf64-s390.c (elf_s390_object_p): Likewise.
205*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise.
206*ed0d50c3Schristos
207*ed0d50c3Schristos2003-12-03  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
208*ed0d50c3Schristos
209*ed0d50c3Schristos	* archures.c (bfd_mach_m32r2): Add new machine type.
210*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
211*ed0d50c3Schristos	* cpu-m32r.c : Add new machine type.
212*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing,
213*ed0d50c3Schristos	m32r_elf_merge_private_bfd_data): Add support for new machine
214*ed0d50c3Schristos	type.
215*ed0d50c3Schristos
216*ed0d50c3Schristos2003-12-03  Dave Airlie  <airlied@linux.ie>
217*ed0d50c3Schristos
218*ed0d50c3Schristos	* config.bfd: Add vax-linux-gnu target.
219*ed0d50c3Schristos	* configure.in: Likewise.
220*ed0d50c3Schristos	* configure: Regenerate.
221*ed0d50c3Schristos
222*ed0d50c3Schristos2003-12-03  Alan Modra  <amodra@bigpond.net.au>
223*ed0d50c3Schristos
224*ed0d50c3Schristos	* ecoff.c (ecoff_link_add_archive_symbols): Update for renamed
225*ed0d50c3Schristos	bfd_link_hash_entry field "next" -> "und_next".
226*ed0d50c3Schristos	* linker.c (_bfd_link_hash_newfunc): Likewise.
227*ed0d50c3Schristos	(bfd_link_add_undef): Likewise.
228*ed0d50c3Schristos	(_bfd_generic_link_add_archive_symbols): Likewise.
229*ed0d50c3Schristos	(_bfd_generic_link_add_one_symbol): Likewise.
230*ed0d50c3Schristos	* xcofflink.c (xcoff_link_add_symbols): Likewise.
231*ed0d50c3Schristos
232*ed0d50c3Schristos2003-12-02  Nick Clifton  <nickc@redhat.com>
233*ed0d50c3Schristos
234*ed0d50c3Schristos	* configure.in (ALL_LINGUAS): Add ro.
235*ed0d50c3Schristos	* po/ro.po: New Romanian translation.
236*ed0d50c3Schristos
237*ed0d50c3Schristos2003-12-02  Alan Modra  <amodra@bigpond.net.au>
238*ed0d50c3Schristos
239*ed0d50c3Schristos	* Makefile.am: Run "make dep-am".
240*ed0d50c3Schristos	* Makefile.in: Regenerate.
241*ed0d50c3Schristos
242*ed0d50c3Schristos2003-12-01  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
243*ed0d50c3Schristos
244*ed0d50c3Schristos	* coffcode.h (coff_compute_section_file_positions): Set page_size
245*ed0d50c3Schristos	to 1 instead of 0 in the case file alignment value is zero.
246*ed0d50c3Schristos
247*ed0d50c3Schristos2003-12-01  Kazu Hirata  <kazu@cs.umass.edu>
248*ed0d50c3Schristos
249*ed0d50c3Schristos	* coff-rs6000.c: Remove ARGSUSED and VARARGS.
250*ed0d50c3Schristos	* coff64-rs6000.c: Likewise.
251*ed0d50c3Schristos	* coffcode.h: Likewise.
252*ed0d50c3Schristos	* elf32-vax.c: Likewise.
253*ed0d50c3Schristos	* hash.c: Likewise.
254*ed0d50c3Schristos	* hppabsd-core.c: Likewise.
255*ed0d50c3Schristos	* hpux-core.c: Likewise.
256*ed0d50c3Schristos	* ihex.c: Likewise.
257*ed0d50c3Schristos	* netbsd-core.c: Likewise.
258*ed0d50c3Schristos	* osf-core.c: Likewise.
259*ed0d50c3Schristos	* pdp11.c: Likewise.
260*ed0d50c3Schristos	* ptrace-core.c: Likewise.
261*ed0d50c3Schristos	* sco5-core.c: Likewise.
262*ed0d50c3Schristos	* section.c: Likewise.
263*ed0d50c3Schristos	* sunos.c: Likewise.
264*ed0d50c3Schristos	* trad-core.c: Likewise.
265*ed0d50c3Schristos
266*ed0d50c3Schristos2003-12-01  Alan Modra  <amodra@bigpond.net.au>
267*ed0d50c3Schristos
268*ed0d50c3Schristos	* elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
269*ed0d50c3Schristos	* elf.c (_bfd_elf_merge_sections): Adjust to suit.
270*ed0d50c3Schristos	(_bfd_elf_link_just_syms): Likewise.
271*ed0d50c3Schristos	(bfd_elf_get_needed_list): Likewise.
272*ed0d50c3Schristos	(bfd_elf_get_runpath_list): Likewise.
273*ed0d50c3Schristos	(_bfd_elf_link_hash_copy_indirect): Remove unneeded parens.
274*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab
275*ed0d50c3Schristos	creator flavour.
276*ed0d50c3Schristos	(elf32_hppa_set_gp): Look up output sections rather than using htab.
277*ed0d50c3Schristos	* elf32-i960.c: Comment fix.  Formatting.
278*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table
279*ed0d50c3Schristos	rather than testing creator flavour.
280*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
281*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
282*ed0d50c3Schristos	* elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for
283*ed0d50c3Schristos	is_elf_hash_table change.  Remove redundant test.
284*ed0d50c3Schristos	(bfd_elf_record_link_assignment): Use is_elf_hash_table rather than
285*ed0d50c3Schristos	testing creator flavour.
286*ed0d50c3Schristos	(elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table.
287*ed0d50c3Schristos	(_bfd_elf_fix_symbol_flags): Likewise.
288*ed0d50c3Schristos	(_bfd_elf_adjust_dynamic_symbol): Likewise.
289*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Likewise.  Remove redundant
290*ed0d50c3Schristos	checks.  Use is_elf_hash_table rather than testing creator flavour.
291*ed0d50c3Schristos	Use hash_table throughout in place of info->hash.
292*ed0d50c3Schristos	(elf_add_dynamic_entry): Adjust for is_elf_hash_table change.
293*ed0d50c3Schristos	(NAME(bfd_elf,size_dynamic_sections)): Likewise.  Remove redundant
294*ed0d50c3Schristos	check.
295*ed0d50c3Schristos	(elf_bfd_final_link): Adjust for is_elf_hash_table change.
296*ed0d50c3Schristos	(elf_link_check_versioned_symbol): Use is_elf_hash_table rather than
297*ed0d50c3Schristos	testing creator flavour.
298*ed0d50c3Schristos	(elf_gc_sections): Add is_elf_hash_table check.
299*ed0d50c3Schristos	(elf_gc_common_finalize_got_offsets): Likewise.
300*ed0d50c3Schristos	(elf_bfd_discard_info): Adjust for is_elf_hash_table change.  Remove
301*ed0d50c3Schristos	redundant check.
302*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table
303*ed0d50c3Schristos	rather than testing creator flavour.
304*ed0d50c3Schristos
305*ed0d50c3Schristos2003-11-28  Christian Groessler  <chris@groessler.org>
306*ed0d50c3Schristos
307*ed0d50c3Schristos	* cpu-z8k.c: Convert to ISO C90.
308*ed0d50c3Schristos	* coff-z8k.c: Likewise.
309*ed0d50c3Schristos
310*ed0d50c3Schristos2003-11-27  Alexandre Oliva  <aoliva@redhat.com>
311*ed0d50c3Schristos
312*ed0d50c3Schristos	* elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map):
313*ed0d50c3Schristos	Add link info argument.
314*ed0d50c3Schristos	* elf32-i370.c (elf_backend_modify_segment_map): Likewise.
315*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_modify_segment_map): Likewise.
316*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise.
317*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise.
318*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
319*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
320*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise.
321*ed0d50c3Schristos	* elf.c (assign_file_positions_except_relocs,
322*ed0d50c3Schristos	assign_file_positions_for_segments): Likewise.  Adjust calls.
323*ed0d50c3Schristos
324*ed0d50c3Schristos2003-11-27  Mark Kettenis  <kettenis@gnu.org>
325*ed0d50c3Schristos
326*ed0d50c3Schristos	* elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out
327*ed0d50c3Schristos	of the note.
328*ed0d50c3Schristos
329*ed0d50c3Schristos2003-11-26  Daniel Jacobowitz  <drow@mvista.com>
330*ed0d50c3Schristos	    Richard Sandiford  <rsandifo@redhat.com>
331*ed0d50c3Schristos
332*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub.
333*ed0d50c3Schristos	(mips_elf_set_no_stub): New function.
334*ed0d50c3Schristos	(mips_elf_multi_got): Call it.
335*ed0d50c3Schristos	(_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for
336*ed0d50c3Schristos	a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and
337*ed0d50c3Schristos	use mips_elf_create_dynamic_relocation to deal with any compatibility
338*ed0d50c3Schristos	issues.  Store the adjusted addend in the GOT slot.
339*ed0d50c3Schristos
340*ed0d50c3Schristos2003-11-25  Mattias Engdeg�rd  <mattias@virtutech.se>
341*ed0d50c3Schristos
342*ed0d50c3Schristos	* stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when
343*ed0d50c3Schristos	procesing N_BINCL stabs.
344*ed0d50c3Schristos
345*ed0d50c3Schristos2003-11-25  Alan Modra  <amodra@bigpond.net.au>
346*ed0d50c3Schristos
347*ed0d50c3Schristos	* elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than
348*ed0d50c3Schristos	ppc_stub_plt_call to symbols defined in shared libs.
349*ed0d50c3Schristos
350*ed0d50c3Schristos2003-11-22  Jakub Jelinek  <jakub@redhat.com>
351*ed0d50c3Schristos
352*ed0d50c3Schristos	* elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag.
353*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_copy_indirect): Copy it.
354*ed0d50c3Schristos	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
355*ed0d50c3Schristos	(elf_i386_check_relocs): Set it.
356*ed0d50c3Schristos	(elf_i386_finish_dynamic_symbol): If it is not set,
357*ed0d50c3Schristos	clear st_value of SHN_UNDEF symbol.
358*ed0d50c3Schristos
359*ed0d50c3Schristos2003-11-20  Jim Blandy  <jimb@redhat.com>
360*ed0d50c3Schristos
361*ed0d50c3Schristos	* cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC
362*ed0d50c3Schristos	family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>.
363*ed0d50c3Schristos
364*ed0d50c3Schristos2003-11-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
365*ed0d50c3Schristos
366*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol
367*ed0d50c3Schristos	section for reloc output and subtract the output section's address
368*ed0d50c3Schristos	from the addend when converting a relocation into one against a
369*ed0d50c3Schristos	section symbol.
370*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
371*ed0d50c3Schristos
372*ed0d50c3Schristos2003-11-18  James E Wilson  <wilson@specifixinc.com>
373*ed0d50c3Schristos
374*ed0d50c3Schristos	* elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
375*ed0d50c3Schristos	(elfNN_ia64_size_dynamic_sections): When stripping sections, check
376*ed0d50c3Schristos	for ia64_info->rel_fptr_sec.
377*ed0d50c3Schristos
378*ed0d50c3Schristos2003-11-18  Alan Modra  <amodra@bigpond.net.au>
379*ed0d50c3Schristos
380*ed0d50c3Schristos	* elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section
381*ed0d50c3Schristos	size is zero.
382*ed0d50c3Schristos
383*ed0d50c3Schristos2003-11-17  Daniel Jacobowitz  <drow@mvista.com>
384*ed0d50c3Schristos
385*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_copy_indirect): Copy
386*ed0d50c3Schristos	ELF_LINK_HASH_NEEDS_PLT.  Fix formatting.
387*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
388*ed0d50c3Schristos	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
389*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
390*ed0d50c3Schristos	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
391*ed0d50c3Schristos	* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
392*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
393*ed0d50c3Schristos	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
394*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
395*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
396*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove.
397*ed0d50c3Schristos	(elf_backend_copy_indirect_symbol): Don't define.
398*ed0d50c3Schristos
399*ed0d50c3Schristos2003-11-14  Daniel Jacobowitz  <drow@mvista.com>
400*ed0d50c3Schristos
401*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local
402*ed0d50c3Schristos	GOT entries.
403*ed0d50c3Schristos
404*ed0d50c3Schristos2003-11-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
405*ed0d50c3Schristos
406*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32
407*ed0d50c3Schristos	to R_390_RELATIVE. Convert the other relocations against local
408*ed0d50c3Schristos	symbols to relocations against the start of the section.
409*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64
410*ed0d50c3Schristos	to R_390_RELATIVE. Convert the other relocations against local
411*ed0d50c3Schristos	symbols to relocations against the start of the section.
412*ed0d50c3Schristos
413*ed0d50c3Schristos2003-11-11  Nick Clifton  <nickc@redhat.com>
414*ed0d50c3Schristos
415*ed0d50c3Schristos	* elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use
416*ed0d50c3Schristos	info->executable not info->shared to decide if a .interp section
417*ed0d50c3Schristos	should be present.
418*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise.
419*ed0d50c3Schristos	* elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
420*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
421*ed0d50c3Schristos	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
422*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
423*ed0d50c3Schristos	* elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
424*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
425*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
426*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise.
427*ed0d50c3Schristos	* elflink.h (size_dynamic_sections): Likewise.
428*ed0d50c3Schristos
429*ed0d50c3Schristos2003-11-10  Jonathan Wilson <jonwil@tpgi.com.au>
430*ed0d50c3Schristos
431*ed0d50c3Schristos	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer.
432*ed0d50c3Schristos	(_bfd_XXi_final_link_postscript): Look for __tks_used symbol.  If
433*ed0d50c3Schristos	found initialise the tls data directory entry.
434*ed0d50c3Schristos
435*ed0d50c3Schristos2003-11-07  Alan Modra  <amodra@bigpond.net.au>
436*ed0d50c3Schristos
437*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_install_value): Delete.
438*ed0d50c3Schristos	(shared_stub_entry, stub_entry): Make them arrays of ints.
439*ed0d50c3Schristos	Remove initial branch.
440*ed0d50c3Schristos	(ppc_elf_relax_section): Write one branch around all trampolines
441*ed0d50c3Schristos	instead.  Correct bogus R_PPC_PLTREL24 handling.  Correct
442*ed0d50c3Schristos	branch range check.  Only use shared_stub_entry when shared.
443*ed0d50c3Schristos	Test that branches can reach stubs.  Write trampolines out at
444*ed0d50c3Schristos	end so that just one realloc is used.  Handle little-endian
445*ed0d50c3Schristos	mode.  Move relevant code from ppc_elf_install_value to here.
446*ed0d50c3Schristos	(ppc_elf_relocate_section): Move code handling RELAX32 from
447*ed0d50c3Schristos	ppc_elf_install_value to here.
448*ed0d50c3Schristos
449*ed0d50c3Schristos2003-11-06  Alan Modra  <amodra@bigpond.net.au>
450*ed0d50c3Schristos
451*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC.
452*ed0d50c3Schristos	(ppc_elf_install_value): Handle R_PPC_RELAX32PC.  Merge duplicate
453*ed0d50c3Schristos	cases.
454*ed0d50c3Schristos	(shared_stub_entry): Correct opcode.
455*ed0d50c3Schristos	(ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs.
456*ed0d50c3Schristos	(ppc_elf_relocate_section): Handle them.
457*ed0d50c3Schristos
458*ed0d50c3Schristos2003-11-05  Alan Modra  <amodra@bigpond.net.au>
459*ed0d50c3Schristos
460*ed0d50c3Schristos	* elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return
461*ed0d50c3Schristos	updated section in case of merged section.
462*ed0d50c3Schristos	* elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
463*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_relocate_section): Adjust call.
464*ed0d50c3Schristos	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
465*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
466*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
467*ed0d50c3Schristos	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
468*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section): Likewise.
469*ed0d50c3Schristos	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
470*ed0d50c3Schristos	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
471*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
472*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
473*ed0d50c3Schristos	* elf32-i370.c (i370_elf_relocate_section): Likewise.
474*ed0d50c3Schristos	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
475*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
476*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
477*ed0d50c3Schristos	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
478*ed0d50c3Schristos	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
479*ed0d50c3Schristos	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
480*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
481*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
482*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section): Likewise.
483*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
484*ed0d50c3Schristos	* elf32-v850.c (v850_elf_relocate_section) Likewise.
485*ed0d50c3Schristos	* elf32-vax.c (elf_vax_relocate_section): Likewise.
486*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
487*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
488*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
489*ed0d50c3Schristos	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
490*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
491*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
492*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
493*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
494*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
495*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
496*ed0d50c3Schristos
497*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
498*ed0d50c3Schristos	section for reloc output.
499*ed0d50c3Schristos	* elf32-i370.c (i370_elf_relocate_section): Likewise.
500*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
501*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
502*ed0d50c3Schristos	* elf32-vax.c (elf_vax_relocate_section): Likewise.
503*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
504*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
505*ed0d50c3Schristos
506*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
507*ed0d50c3Schristos	for R_PPC_RELAX32 reloc.  Don't bother checking ppc_elf_install_value
508*ed0d50c3Schristos	return value.
509*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
510*ed0d50c3Schristos	sec->id.
511*ed0d50c3Schristos
512*ed0d50c3Schristos2003-11-05  Alan Modra  <amodra@bigpond.net.au>
513*ed0d50c3Schristos
514*ed0d50c3Schristos	* elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.
515*ed0d50c3Schristos	(elf32_d10v_relocate_section): Use them to handle -r reloc
516*ed0d50c3Schristos	adjustments, and in place of _bfd_elf_rela_local_sym.
517*ed0d50c3Schristos
518*ed0d50c3Schristos	* cpu-iq2000.c (arch_info_struct): Warning fix.
519*ed0d50c3Schristos
520*ed0d50c3Schristos2003-11-05  Alan Modra  <amodra@bigpond.net.au>
521*ed0d50c3Schristos
522*ed0d50c3Schristos	* elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.
523*ed0d50c3Schristos	(elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
524*ed0d50c3Schristos	weakdefs.
525*ed0d50c3Schristos	(elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
526*ed0d50c3Schristos	(elf32_hppa_adjust_dynamic_symbol): Likewise.  Copy weakdef
527*ed0d50c3Schristos	NON_GOT_REF.
528*ed0d50c3Schristos	(allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
529*ed0d50c3Schristos	SYMBOL_CALLS_LOCAL.  Discard relocs for undef weak syms with
530*ed0d50c3Schristos	non-default visibility.
531*ed0d50c3Schristos	(elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
532*ed0d50c3Schristos	SYMBOL_CALLS_LOCAL.
533*ed0d50c3Schristos
534*ed0d50c3Schristos2003-11-04  Alan Modra  <amodra@bigpond.net.au>
535*ed0d50c3Schristos
536*ed0d50c3Schristos	* aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.
537*ed0d50c3Schristos	* coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
538*ed0d50c3Schristos	* coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
539*ed0d50c3Schristos	* cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
540*ed0d50c3Schristos	* cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
541*ed0d50c3Schristos	* gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
542*ed0d50c3Schristos	* nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
543*ed0d50c3Schristos
544*ed0d50c3Schristos	* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix
545*ed0d50c3Schristos	"dereferencing type-punned pointer" warnings.
546*ed0d50c3Schristos
547*ed0d50c3Schristos	* aout-adobe.c (aout_adobe_set_section_contents): Constify location.
548*ed0d50c3Schristos	* aoutx.h (NAME(aout,set_section_contents)): Ditto.
549*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
550*ed0d50c3Schristos	* binary.c (binary_set_section_contents): Ditto.
551*ed0d50c3Schristos	* bout.c (b_out_set_section_contents): Ditto.
552*ed0d50c3Schristos	* coff-tic54x.c (tic54x_set_section_contents): Ditto.
553*ed0d50c3Schristos	* coffcode.h (coff_set_section_contents): Ditto.
554*ed0d50c3Schristos	* ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
555*ed0d50c3Schristos	* elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
556*ed0d50c3Schristos	* elf.c (_bfd_elf_set_section_contents): Ditto.
557*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
558*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
559*ed0d50c3Schristos	* i386msdos.c (msdos_set_section_contents): Ditto.
560*ed0d50c3Schristos	* ieee.c (ieee_set_section_contents): Ditto.
561*ed0d50c3Schristos	* ihex.c (ihex_set_section_contents): Ditto.
562*ed0d50c3Schristos	* libaout.h (NAME(aout,set_section_contents)): Ditto.
563*ed0d50c3Schristos	* libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
564*ed0d50c3Schristos	(_bfd_generic_set_section_contents): Ditto.
565*ed0d50c3Schristos	* libbfd.h: Regenerate.
566*ed0d50c3Schristos	* libbfd.c (_bfd_generic_set_section_contents): Ditto.
567*ed0d50c3Schristos	* libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
568*ed0d50c3Schristos	* libnlm.h (nlmNAME(set_section_contents)): Ditto.
569*ed0d50c3Schristos	(struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
570*ed0d50c3Schristos	* mmo.c (mmo_set_section_contents): Ditto.
571*ed0d50c3Schristos	* nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
572*ed0d50c3Schristos	* nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
573*ed0d50c3Schristos	* nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
574*ed0d50c3Schristos	* nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
575*ed0d50c3Schristos	* nlmcode.h (nlm_set_section_contents): Ditto.
576*ed0d50c3Schristos	* oasys.c (oasys_set_section_contents): Ditto.
577*ed0d50c3Schristos	* pdp11.c (NAME(aout,set_section_contents)): Ditto.
578*ed0d50c3Schristos	* ppcboot.c (ppcboot_set_section_contents): Ditto.
579*ed0d50c3Schristos	* srec.c (srec_set_section_contents): Ditto.
580*ed0d50c3Schristos	* targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
581*ed0d50c3Schristos	* tekhex.c (tekhex_set_section_contents): Ditto.
582*ed0d50c3Schristos	(move_section_contents): Ditto.
583*ed0d50c3Schristos	* versados.c (versados_set_section_contents): Ditto.
584*ed0d50c3Schristos	* vms-misc.c (_bfd_save_vms_section): Ditto.
585*ed0d50c3Schristos	* vms.c (vms_set_section_contents): Ditto.
586*ed0d50c3Schristos	* vms.h (_bfd_save_vms_section): Ditto.
587*ed0d50c3Schristos
588*ed0d50c3Schristos2003-11-04  Alan Modra  <amodra@bigpond.net.au>
589*ed0d50c3Schristos
590*ed0d50c3Schristos	* elf64-ppc.c (ppc_size_one_stub): Size relbrlt.  Accept info arg
591*ed0d50c3Schristos	rather than htab.
592*ed0d50c3Schristos	(ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal.  Zero
593*ed0d50c3Schristos	relbrlt size.
594*ed0d50c3Schristos	(ppc64_elf_build_stubs): Allocate space for relbrlt.
595*ed0d50c3Schristos
596*ed0d50c3Schristos2003-11-04  Alan Modra  <amodra@bigpond.net.au>
597*ed0d50c3Schristos
598*ed0d50c3Schristos	* bfd-in.h (_bfd_elf_tls_setup): Declare.
599*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
600*ed0d50c3Schristos	* elf-bfd.h (struct elf_link_tls_segment): Delete.
601*ed0d50c3Schristos	(struct elf_link_hash_table): Add tls_sec and tls_size.
602*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
603*ed0d50c3Schristos	* elflink.c (_bfd_elf_tls_setup): New function.
604*ed0d50c3Schristos	* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
605*ed0d50c3Schristos	(elf_bfd_final_link): Don't set first_tls_sec here.  Update code
606*ed0d50c3Schristos	saving tls segment info, round segment size up.
607*ed0d50c3Schristos	(elf_link_output_extsym): Adjust code using tls segment info.
608*ed0d50c3Schristos	(elf_link_input_bfd): Likewise.
609*ed0d50c3Schristos	* elf32-i386.c (dtpoff_base, tpoff): Likewise.
610*ed0d50c3Schristos	* elf32-s390.c (dtpoff_base, tpoff): Likewise.
611*ed0d50c3Schristos	* elf32-sh.c (dtpoff_base, tpoff): Likewise.
612*ed0d50c3Schristos	* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
613*ed0d50c3Schristos	* elf64-s390.c (dtpoff_base, tpoff): Likewise.
614*ed0d50c3Schristos	* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
615*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
616*ed0d50c3Schristos	(elfNN_ia64_dtprel_base): Likewise.
617*ed0d50c3Schristos	* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
618*ed0d50c3Schristos	(alpha_get_tprel_base): Likewise.
619*ed0d50c3Schristos	(struct alpha_relax_info): Remove tls_segment.
620*ed0d50c3Schristos	(elf64_alpha_relax_got_load): Adjust invocation of
621*ed0d50c3Schristos	alpha_get_dtprel_base and alpha_get_tprel_base.
622*ed0d50c3Schristos	(elf64_alpha_relax_tls_get_addr): Likewise.
623*ed0d50c3Schristos	(elf64_alpha_relax_section): Likewise.
624*ed0d50c3Schristos	(elf64_alpha_relocate_section): Likewise.
625*ed0d50c3Schristos	(elf64_alpha_relax_find_tls_segment): Delete.
626*ed0d50c3Schristos	* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
627*ed0d50c3Schristos	(ppc_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
628*ed0d50c3Schristos	(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
629*ed0d50c3Schristos	* elf32-ppc.h (ppc_elf_tls_setup): Update.
630*ed0d50c3Schristos	* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
631*ed0d50c3Schristos	(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
632*ed0d50c3Schristos	(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
633*ed0d50c3Schristos	(ppc64_elf_relocate_section): Likewise.
634*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_tls_setup): Update.
635*ed0d50c3Schristos
636*ed0d50c3Schristos2003-11-03  Daniel Jacobowitz  <drow@mvista.com>
637*ed0d50c3Schristos
638*ed0d50c3Schristos	* elf-bfd.h (struct elf_backend_data): Remove plt_header_size.
639*ed0d50c3Schristos	* elf-m10300.c (elf_backend_plt_header_size): Don't define.
640*ed0d50c3Schristos	* elf32-arm.h (elf_backend_plt_header_size): Don't define.
641*ed0d50c3Schristos	* elf32-cris.c (elf_backend_plt_header_size): Don't define.
642*ed0d50c3Schristos	* elf32-i386.c (elf_backend_plt_header_size): Don't define.
643*ed0d50c3Schristos	* elf32-mips.c (elf_backend_plt_header_size): Don't define.
644*ed0d50c3Schristos	* elf32-ppc.c (elf_backend_plt_header_size): Don't define.
645*ed0d50c3Schristos	* elf32-s390.c (elf_backend_plt_header_size): Don't define.
646*ed0d50c3Schristos	* elf32-sh.c (elf_backend_plt_header_size): Don't define.
647*ed0d50c3Schristos	* elf32-sparc.c (elf_backend_plt_header_size): Don't define.
648*ed0d50c3Schristos	* elf64-alpha.c (elf_backend_plt_header_size): Don't define.
649*ed0d50c3Schristos	* elf64-hppa.c (elf_backend_plt_header_size): Don't define.
650*ed0d50c3Schristos	* elf64-mips.c (elf_backend_plt_header_size): Don't define.
651*ed0d50c3Schristos	* elf64-ppc.c (elf_backend_plt_header_size): Don't define.
652*ed0d50c3Schristos	* elf64-s390.c (elf_backend_plt_header_size): Don't define.
653*ed0d50c3Schristos	* elf64-sh64.c (elf_backend_plt_header_size): Don't define.
654*ed0d50c3Schristos	* elf64-sparc.c (elf_backend_plt_header_size): Don't define.
655*ed0d50c3Schristos	* elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
656*ed0d50c3Schristos	* elfn32-mips.c (elf_backend_plt_header_size): Don't define.
657*ed0d50c3Schristos	* elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
658*ed0d50c3Schristos	* elfxx-target.h (elf_backend_plt_header_size): Don't define
659*ed0d50c3Schristos	or include in target initializer.
660*ed0d50c3Schristos
661*ed0d50c3Schristos2003-11-03  Andrew Cagney  <cagney@redhat.com>
662*ed0d50c3Schristos
663*ed0d50c3Schristos	* section.c (bfd_set_section_contents): Make the "location" buffer
664*ed0d50c3Schristos	constant.
665*ed0d50c3Schristos	* bfd-in2.h: Re-generate.
666*ed0d50c3Schristos
667*ed0d50c3Schristos2003-10-30  Andrew Cagney  <cagney@redhat.com>
668*ed0d50c3Schristos
669*ed0d50c3Schristos	* syms.c: Replace "struct symbol_cache_entry" with "struct
670*ed0d50c3Schristos	bfd_symbol".
671*ed0d50c3Schristos	* vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
672*ed0d50c3Schristos	* mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
673*ed0d50c3Schristos	* cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
674*ed0d50c3Schristos	* bfd-in2.h: Re-generate.
675*ed0d50c3Schristos
676*ed0d50c3Schristos2003-10-30  Jakub Jelinek  <jakub@redhat.com>
677*ed0d50c3Schristos
678*ed0d50c3Schristos	* elfxx-ia64.c: Include objalloc.h, hashtab.h.
679*ed0d50c3Schristos	(struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym
680*ed0d50c3Schristos	fields.
681*ed0d50c3Schristos	(struct elfNN_ia64_local_hash_table): Remove.
682*ed0d50c3Schristos	(struct elfNN_ia64_link_hash_table): Change loc_hash_table's type
683*ed0d50c3Schristos	to htab_t.  Add loc_hash_memory field.
684*ed0d50c3Schristos	(elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry):
685*ed0d50c3Schristos	Removed.
686*ed0d50c3Schristos	(elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New
687*ed0d50c3Schristos	functions.
688*ed0d50c3Schristos	(elfNN_ia64_hash_table_create): Use hashtab.h hashtable for
689*ed0d50c3Schristos	loc_hash_table.  Initialize loc_hash_memory.
690*ed0d50c3Schristos	(elfNN_ia64_hash_table_free): New function.
691*ed0d50c3Schristos	(elfNN_ia64_local_hash_lookup): Remove.
692*ed0d50c3Schristos	(elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse
693*ed0d50c3Schristos	callback.
694*ed0d50c3Schristos	(elfNN_ia64_dyn_sym_traverse): Use htab_traverse.
695*ed0d50c3Schristos	(get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table.
696*ed0d50c3Schristos	(bfd_elfNN_bfd_link_hash_table_free): Define.
697*ed0d50c3Schristos
698*ed0d50c3Schristos2003-10-30  Alan Modra  <amodra@bigpond.net.au>
699*ed0d50c3Schristos
700*ed0d50c3Schristos	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versioned
701*ed0d50c3Schristos	symbol string in place.
702*ed0d50c3Schristos
703*ed0d50c3Schristos2003-10-30  Jim Blandy  <jimb@redhat.com>
704*ed0d50c3Schristos
705*ed0d50c3Schristos	* cpu-rs6000.c (rs6000_compatible): Check the correct arch_info
706*ed0d50c3Schristos	object's mach field: all PowerPC machines are supersets of the
707*ed0d50c3Schristos	original rs6000, but not later rs6000 machines.
708*ed0d50c3Schristos
709*ed0d50c3Schristos2003-10-30  Alan Modra  <amodra@bigpond.net.au>
710*ed0d50c3Schristos
711*ed0d50c3Schristos	* dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr".
712*ed0d50c3Schristos	Add "val" and "sval" fields.
713*ed0d50c3Schristos	(DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete.
714*ed0d50c3Schristos	(read_attribute_value): Expand and adjust DW_* occurrences.
715*ed0d50c3Schristos	(scan_unit_for_functions, parse_comp_unit): Likewise.
716*ed0d50c3Schristos
717*ed0d50c3Schristos2003-10-30  Phil Edwards  <phil@codesourcery.com>
718*ed0d50c3Schristos
719*ed0d50c3Schristos	* config.bfd (arm-*-vxworks):  Remove separate stanza; merge with
720*ed0d50c3Schristos	other common ELF triples.
721*ed0d50c3Schristos	(i[3-7]86-*-vxworks):  Change to ELF format.
722*ed0d50c3Schristos	(mips*-*-windiss):  New triple, add to common MIPS/ELF stanza.
723*ed0d50c3Schristos	(sh-*-vxworks):  New stanza.
724*ed0d50c3Schristos
725*ed0d50c3Schristos2003-10-30  Lars Knoll  <lars@trolltech.com>
726*ed0d50c3Schristos	    Michael Matz  <matz@suse.de>
727*ed0d50c3Schristos	    Jakub Jelinek  <jakub@redhat.com>
728*ed0d50c3Schristos	    Alan Modra  <amodra@bigpond.net.au>
729*ed0d50c3Schristos
730*ed0d50c3Schristos	* merge.c (struct sec_merge_sec_info): Update comment.
731*ed0d50c3Schristos	(struct sec_merge_hash_entry): Remove entsize.
732*ed0d50c3Schristos	(sec_merge_hash_lookup): Only adjust alignment when creating.
733*ed0d50c3Schristos	(sec_merge_emit): Remove register keyword.
734*ed0d50c3Schristos	(cmplengthentry, last4_eq, last_eq): Delete.
735*ed0d50c3Schristos	(strrevcmp, strrevcmp_align, is_suffix): New.
736*ed0d50c3Schristos	(merge_strings): Use them to implement fast suffix merging.
737*ed0d50c3Schristos	* elf-strtab.c (struct elf_strtab_hash_entry): Update comments.
738*ed0d50c3Schristos	Make "len" signed.
739*ed0d50c3Schristos	(_bfd_elf_strtab_add): Lose on >2G strings.
740*ed0d50c3Schristos	(_bfd_elf_strtab_emit): Don't emit strings with len < 0.
741*ed0d50c3Schristos	(cmplengthentry, last4_eq): Delete.
742*ed0d50c3Schristos	(strrevcmp, is_suffix): New.
743*ed0d50c3Schristos	(_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
744*ed0d50c3Schristos
745*ed0d50c3Schristos2003-10-29  Daniel Jacobowitz  <drow@mvista.com>
746*ed0d50c3Schristos
747*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_final_link_relocate): Move check for
748*ed0d50c3Schristos	SEC_ALLOC.
749*ed0d50c3Schristos
750*ed0d50c3Schristos2003-10-29  Philip Blundell  <philb@gnu.org>
751*ed0d50c3Schristos
752*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New
753*ed0d50c3Schristos	code sequence.
754*ed0d50c3Schristos	(PLT_HEADER_SIZE): New.
755*ed0d50c3Schristos	(struct elf32_arm_pcrel_relocs_copied): Rename to ...
756*ed0d50c3Schristos	(struct elf32_arm_relocs_copied): ... this.  Count both
757*ed0d50c3Schristos	pcrel and non-pcrel relocs.  All uses updated.
758*ed0d50c3Schristos	(struct elf32_arm_link_hash_table): Add pointers to dynamic linker
759*ed0d50c3Schristos	sections and symbol/section mapping cache.
760*ed0d50c3Schristos	(create_got_section): New.
761*ed0d50c3Schristos	(elf32_arm_create_dynamic_sections): New.
762*ed0d50c3Schristos	(elf_backend_create_dynamic_sections): Use it.
763*ed0d50c3Schristos	(elf32_arm_final_link_relocate): Support garbage collection of relocs.
764*ed0d50c3Schristos	(elf32_arm_check_relocs): Likewise.
765*ed0d50c3Schristos	(elf32_arm_adjust_dynamic_symbol): Likewise.
766*ed0d50c3Schristos	(elf32_arm_copy_indirect_symbol): New.
767*ed0d50c3Schristos	(elf32_arm_link_hash_table_create): Initialise new fields.
768*ed0d50c3Schristos	(elf32_arm_gc_sweep_hook): Implement.
769*ed0d50c3Schristos	(elf32_arm_discard_copies): Delete.
770*ed0d50c3Schristos	(elf32_arm_finish_dynamic_symbol): Use new PLT code.
771*ed0d50c3Schristos	(elf32_arm_finish_dynamic_sections): Likewise.
772*ed0d50c3Schristos	(elf_backend_can_refcount): Define.
773*ed0d50c3Schristos	(elf_backend_copy_indirect_symbol): Likewise.
774*ed0d50c3Schristos	(elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
775*ed0d50c3Schristos
776*ed0d50c3Schristos2003-10-29  Alan Modra  <amodra@bigpond.net.au>
777*ed0d50c3Schristos
778*ed0d50c3Schristos	* elf64-ppc.c (elf_backend_grok_prstatus): Define.
779*ed0d50c3Schristos	(elf_backend_grok_psinfo): Define.
780*ed0d50c3Schristos	(ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
781*ed0d50c3Schristos
782*ed0d50c3Schristos	* elf.c (_bfd_elfcore_make_pseudosection): Allow multiple
783*ed0d50c3Schristos	sections with the same name.
784*ed0d50c3Schristos	(elfcore_grok_lwpstatus): Likewise.
785*ed0d50c3Schristos	(elfcore_grok_win32pstatus): Likewise.
786*ed0d50c3Schristos	(elfcore_grok_note): Likewise.
787*ed0d50c3Schristos	(elfcore_grok_nto_status): Likewise.
788*ed0d50c3Schristos	(elfcore_grok_nto_gregs): Likewise.
789*ed0d50c3Schristos
790*ed0d50c3Schristos2003-10-27  Daniel Jacobowitz  <drow@mvista.com>
791*ed0d50c3Schristos
792*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
793*ed0d50c3Schristos	objects.
794*ed0d50c3Schristos
795*ed0d50c3Schristos2003-10-14  Richard Sandiford  <rsandifo@redhat.com>
796*ed0d50c3Schristos
797*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
798*ed0d50c3Schristos
799*ed0d50c3Schristos2003-10-24  H.J. Lu  <hongjiu.lu@intel.com>
800*ed0d50c3Schristos
801*ed0d50c3Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
802*ed0d50c3Schristos	hash table for real symbols.
803*ed0d50c3Schristos
804*ed0d50c3Schristos2003-10-23  Michael Snyder  <msnyder@redhat.com>
805*ed0d50c3Schristos
806*ed0d50c3Schristos	* section.c (asection): Fix typo in comment.
807*ed0d50c3Schristos
808*ed0d50c3Schristos2003-10-23  Alan Modra  <amodra@bigpond.net.au>
809*ed0d50c3Schristos
810*ed0d50c3Schristos	* elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc
811*ed0d50c3Schristos	reloc symbol index to it.  Don't allow gd syms in shared libs
812*ed0d50c3Schristos	to be optimized.
813*ed0d50c3Schristos	(ppc64_elf_tls_optimize): Adjust get_tls_mask call.
814*ed0d50c3Schristos	(ppc64_elf_size_stubs): Likewise.
815*ed0d50c3Schristos	(ppc64_elf_relocate_section): Check that tls relocs are only used
816*ed0d50c3Schristos	with tls syms, and similarly for non-tls.  Correct symbol used
817*ed0d50c3Schristos	when optimizing toc tls code.
818*ed0d50c3Schristos
819*ed0d50c3Schristos2003-10-22  Nick Clifton  <nickc@redhat.com>
820*ed0d50c3Schristos
821*ed0d50c3Schristos	* peicode.h (coff_swap_scnhdr_in): Only remove padding when
822*ed0d50c3Schristos	processing an executable.
823*ed0d50c3Schristos
824*ed0d50c3Schristos2003-10-22  Jakub Jelinek  <jakub@redhat.com>
825*ed0d50c3Schristos
826*ed0d50c3Schristos	* elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
827*ed0d50c3Schristos	field changes.
828*ed0d50c3Schristos	(_bfd_elf_link_assign_sym_version): Likewise.
829*ed0d50c3Schristos	* elflink.h (size_dynamic_sections): Likewise.
830*ed0d50c3Schristos
831*ed0d50c3Schristos2003-10-21  Alexandre Oliva  <aoliva@redhat.com>,
832*ed0d50c3Schristos	    Michael Snyder  <msnyder@redhat.com>
833*ed0d50c3Schristos
834*ed0d50c3Schristos	* archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu,
835*ed0d50c3Schristos	bfd_mach_sh4a_nofpu): New machine types.
836*ed0d50c3Schristos	* bfd-in2.h: Rebuilt.
837*ed0d50c3Schristos	* cpu-sh.c (compatible): Remove unused function.
838*ed0d50c3Schristos	(SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New.
839*ed0d50c3Schristos	(arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu.
840*ed0d50c3Schristos	* elf32-sh.c (sh_elf_set_mach_from_flags): Handle them.
841*ed0d50c3Schristos
842*ed0d50c3Schristos2003-10-21  Wouter van Heyst <wouter@vidicode.nl>
843*ed0d50c3Schristos
844*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text
845*ed0d50c3Schristos	describing mismatched formats involving the Maverick FP type.
846*ed0d50c3Schristos
847*ed0d50c3Schristos2003-10-21  Anil Paranjpe  <anilp1@KPITCummins.com>
848*ed0d50c3Schristos
849*ed0d50c3Schristos	* binary.c (binary_object_p): Pass machine flag along with
850*ed0d50c3Schristos	architecture.
851*ed0d50c3Schristos
852*ed0d50c3Schristos2003-10-21  Thorsten Brehm  <brehm@gmx.net>
853*ed0d50c3Schristos
854*ed0d50c3Schristos	* archures.c (bfd_default_scan): Add support for mcf528x.
855*ed0d50c3Schristos	* ieee.c (ieee_write_processor): Likewise.
856*ed0d50c3Schristos
857*ed0d50c3Schristos2003-10-21  Peter Barada  <pbarada@mail.wm.sps.mot.com>
858*ed0d50c3Schristos	    Bernardo Innocenti  <bernie@develer.com>
859*ed0d50c3Schristos
860*ed0d50c3Schristos	* archures.c: Add MCF528x (MCFv4) support.
861*ed0d50c3Schristos	* cpu-m68k.c (arch_info_struct): Likewise.
862*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
863*ed0d50c3Schristos
864*ed0d50c3Schristos2003-10-20  Andrew Cagney  <cagney@redhat.com>
865*ed0d50c3Schristos
866*ed0d50c3Schristos	* targets.c: Replace "struct sec" with "struct bfd_section"
867*ed0d50c3Schristos	* syms.c, sparclynx.c, section.c, opncls.c: Ditto.
868*ed0d50c3Schristos	* libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
869*ed0d50c3Schristos	* elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
870*ed0d50c3Schristos	* aout-tic30.c, aout-target.h:
871*ed0d50c3Schristos	* bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
872*ed0d50c3Schristos
873*ed0d50c3Schristos2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
874*ed0d50c3Schristos
875*ed0d50c3Schristos	Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs.
876*ed0d50c3Schristos	* elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro.
877*ed0d50c3Schristos	(struct _mmix_elf_section_data): New member pjs.
878*ed0d50c3Schristos	(mmix_set_relaxable_size, mmix_elf_get_section_contents): New
879*ed0d50c3Schristos	functions.
880*ed0d50c3Schristos	(elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE.
881*ed0d50c3Schristos	(mmix_reloc_map): Ditto.
882*ed0d50c3Schristos	(mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE.
883*ed0d50c3Schristos	(mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto.
884*ed0d50c3Schristos	(mmix_elf_perform_relocation): Ditto.  Don't mark parameter addr
885*ed0d50c3Schristos	unused.
886*ed0d50c3Schristos	(mmix_elf_check_relocs): Move early return to after
887*ed0d50c3Schristos	mmix_elf_check_common_relocs call.
888*ed0d50c3Schristos	(mmix_elf_symbol_processing): Fix cut-and-pasto in head comment.
889*ed0d50c3Schristos	(_bfd_mmix_before_linker_allocation): Rename from
890*ed0d50c3Schristos	_bfd_mmix_prepare_linker_allocated_gregs.  All referers changed.
891*ed0d50c3Schristos	Arrange to set the initial relaxable size of sections.
892*ed0d50c3Schristos	(_bfd_mmix_after_linker_allocation): Rename from
893*ed0d50c3Schristos	_bfd_mmix_finalize_linker_allocated_gregs.
894*ed0d50c3Schristos	(mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc.
895*ed0d50c3Schristos	(bfd_elf64_get_section_contents): Define.
896*ed0d50c3Schristos	* reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
897*ed0d50c3Schristos	* libbfd.h, bfd-in2.h: Regenerate.
898*ed0d50c3Schristos
899*ed0d50c3Schristos	* reloc.c (bfd_generic_relax_section): Default-set
900*ed0d50c3Schristos	section->_cooked_size here.
901*ed0d50c3Schristos	(bfd_generic_get_relocated_section_contents): Don't set it here.
902*ed0d50c3Schristos	Explain why.
903*ed0d50c3Schristos
904*ed0d50c3Schristos2003-10-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
905*ed0d50c3Schristos
906*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if
907*ed0d50c3Schristos	output section has been discarded.
908*ed0d50c3Schristos
909*ed0d50c3Schristos2003-10-17  Shrinivas Atre  <shrinivasa@KPITCummins.com>
910*ed0d50c3Schristos
911*ed0d50c3Schristos	* coff-h8300.c (funcvec_hash_newfunc): Handle normal mode.
912*ed0d50c3Schristos	(h8300_reloc16_extra_cases): Likewise.
913*ed0d50c3Schristos	(h8300_bfd_link_add_symbols): Likewise.
914*ed0d50c3Schristos
915*ed0d50c3Schristos2003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
916*ed0d50c3Schristos
917*ed0d50c3Schristos	* cpu-h8300.c (h8300sxn_info_struct): Correct address size.
918*ed0d50c3Schristos	(h8300sn_info_struct): Likewise.
919*ed0d50c3Schristos	(h8300hn_info_struct): Likewise.
920*ed0d50c3Schristos
921*ed0d50c3Schristos2003-10-16  Pavel Roskin  <proski@gnu.org>
922*ed0d50c3Schristos
923*ed0d50c3Schristos	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size
924*ed0d50c3Schristos	for sections which lack size info.
925*ed0d50c3Schristos
926*ed0d50c3Schristos2003-10-17  Danny Smith  <dannysmith@users.sourceforge.net>
927*ed0d50c3Schristos
928*ed0d50c3Schristos	* configure.host: Add __USE_MINGW_FSEEK to HDEFINES for
929*ed0d50c3Schristos	 mingw32.
930*ed0d50c3Schristos
931*ed0d50c3Schristos2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
932*ed0d50c3Schristos
933*ed0d50c3Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn
934*ed0d50c3Schristos	undefined patterns with '*'.
935*ed0d50c3Schristos
936*ed0d50c3Schristos2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
937*ed0d50c3Schristos
938*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't
939*ed0d50c3Schristos	use the last CIE from a different section.
940*ed0d50c3Schristos	(_bfd_elf_write_section_eh_frame): Don't pad beyond the raw
941*ed0d50c3Schristos	size of the output section.
942*ed0d50c3Schristos
943*ed0d50c3Schristos2003-10-07  Roland McGrath  <roland@redhat.com>
944*ed0d50c3Schristos
945*ed0d50c3Schristos	* elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of
946*ed0d50c3Schristos	new section from p_align header field.
947*ed0d50c3Schristos
948*ed0d50c3Schristos2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
949*ed0d50c3Schristos
950*ed0d50c3Schristos	* elf32-xtensa.c (xtensa_read_table_entries): The external size
951*ed0d50c3Schristos	of entry is 8 bytes.
952*ed0d50c3Schristos
953*ed0d50c3Schristos2003-10-15  Andrew Cagney  <cagney@redhat.com>
954*ed0d50c3Schristos
955*ed0d50c3Schristos	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
956*ed0d50c3Schristos	with NAME##_canonicalize_symtab.
957*ed0d50c3Schristos	* libcoff-in.h (coff_canonicalize_symtab): Update.
958*ed0d50c3Schristos	* xsym.h (bfd_sym_canonicalize_symtab): Update.
959*ed0d50c3Schristos	* elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
960*ed0d50c3Schristos	* coffgen.c (coff_canonicalize_symtab): Update.
961*ed0d50c3Schristos	* libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
962*ed0d50c3Schristos	* libnlm.h (nlmNAME(canonicalize_symtab)): Update.
963*ed0d50c3Schristos	* ieee.c (ieee_vec): Update comment.
964*ed0d50c3Schristos	* libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
965*ed0d50c3Schristos	* mmo.c (mmo_canonicalize_symtab): Update.
966*ed0d50c3Schristos	* nlm-target.h (nlm_canonicalize_symtab): Update.
967*ed0d50c3Schristos	* nlmcode.h (nlm_canonicalize_symtab): Update.
968*ed0d50c3Schristos	* i386msdos.c (msdos_canonicalize_symtab): Update.
969*ed0d50c3Schristos	* hp300hpux.c (MY (canonicalize_symtab)): Update.
970*ed0d50c3Schristos	* oasys.c (oasys_canonicalize_symtab): Update.
971*ed0d50c3Schristos	* som.c (som_canonicalize_symtab): Update.
972*ed0d50c3Schristos	* pef.c (bfd_pef_canonicalize_symtab): Update.
973*ed0d50c3Schristos	* nlmcode.h (nlm_canonicalize_symtab): Update.
974*ed0d50c3Schristos	* xsym.c (bfd_sym_canonicalize_symtab): Update.
975*ed0d50c3Schristos	* vms.c (vms_canonicalize_symtab): Update.
976*ed0d50c3Schristos	* versados.c (versados_canonicalize_symtab): Update.
977*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
978*ed0d50c3Schristos	* ieee.c (ieee_canonicalize_symtab): Update.
979*ed0d50c3Schristos	* pdp11.c (NAME(aout,canonicalize_symtab)): Update.
980*ed0d50c3Schristos	* reloc.c: Update comment.
981*ed0d50c3Schristos	* libaout.h (NAME(aout,canonicalize_symtab)): Update.
982*ed0d50c3Schristos	* coff64-rs6000.c (aix5coff64_vec): Update.
983*ed0d50c3Schristos	* coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
984*ed0d50c3Schristos	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
985*ed0d50c3Schristos	* aoutx.h (NAME(aout,canonicalize_symtab)): Update.
986*ed0d50c3Schristos	* elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
987*ed0d50c3Schristos	* hp300hpux.c (MY_canonicalize_symtab): Update.
988*ed0d50c3Schristos	* ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
989*ed0d50c3Schristos	* aout-tic30.c (MY_canonicalize_symtab): Update.
990*ed0d50c3Schristos	* aout-target.h (MY_canonicalize_symtab): Update.
991*ed0d50c3Schristos	* ppcboot.c (ppcboot_canonicalize_symtab): Update.
992*ed0d50c3Schristos	* elf.c (_bfd_elf_canonicalize_symtab): Update.
993*ed0d50c3Schristos	* elfcode.h (elf_canonicalize_symtab): Update.
994*ed0d50c3Schristos	* ihex.c (ihex_canonicalize_symtab): Update.
995*ed0d50c3Schristos	* tekhex.c (tekhex_canonicalize_symtab): Update.
996*ed0d50c3Schristos	* binary.c (binary_canonicalize_symtab): Update.
997*ed0d50c3Schristos	* srec.c (srec_canonicalize_symtab): Update.
998*ed0d50c3Schristos
999*ed0d50c3Schristos2003-10-15  Kazu Hirata  <kazu@cs.umass.edu>
1000*ed0d50c3Schristos
1001*ed0d50c3Schristos	* elf32-h8300.c (elf_reloc_map): Fix a comment typo.
1002*ed0d50c3Schristos
1003*ed0d50c3Schristos2003-10-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1004*ed0d50c3Schristos
1005*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
1006*ed0d50c3Schristos	relocations.
1007*ed0d50c3Schristos	(sh_elf_check_relocs): Likewise.
1008*ed0d50c3Schristos
1009*ed0d50c3Schristos	* elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
1010*ed0d50c3Schristos	(sh64_elf_merge_symbol_attribute): New.
1011*ed0d50c3Schristos	* elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
1012*ed0d50c3Schristos	(sh64_elf64_merge_symbol_attribute): New.
1013*ed0d50c3Schristos
1014*ed0d50c3Schristos2003-10-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1015*ed0d50c3Schristos
1016*ed0d50c3Schristos	* elf-bfd.h (struct elf_backend_data): New function pointer member
1017*ed0d50c3Schristos	elf_backend_merge_symbol_attribute.
1018*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Adjust call to
1019*ed0d50c3Schristos	elf_backend_merge_symbol_attribute if the backend defined it.
1020*ed0d50c3Schristos	* elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
1021*ed0d50c3Schristos	(elfNN_bed): Add that to the initializer.
1022*ed0d50c3Schristos
1023*ed0d50c3Schristos2003-10-14  Bob Wilson  <bob.wilson@acm.org>
1024*ed0d50c3Schristos
1025*ed0d50c3Schristos	* elf32-xtensa.c (get_is_linkonce_section): Delete.
1026*ed0d50c3Schristos	(xtensa_is_property_section, xtensa_is_littable_section): Use
1027*ed0d50c3Schristos	XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros.  Do not recognize
1028*ed0d50c3Schristos	linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
1029*ed0d50c3Schristos	(xtensa_get_property_section_name): Check section name instead of
1030*ed0d50c3Schristos	calling get_is_linkonce_section.  Remove unused bfd parameter.  Use
1031*ed0d50c3Schristos	XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros.  Never generate
1032*ed0d50c3Schristos	linkonce section names by appending ".xt.insn" or ".xt.lit".
1033*ed0d50c3Schristos	(xtensa_read_table_entries): Remove bfd argument in call to
1034*ed0d50c3Schristos	xtensa_get_property_section_name.  Free section name when done.
1035*ed0d50c3Schristos	(elf_xtensa_combine_prop_entries): Free leaking table.
1036*ed0d50c3Schristos
1037*ed0d50c3Schristos2003-10-13  Richard Sandiford  <rsandifo@redht.com>
1038*ed0d50c3Schristos
1039*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
1040*ed0d50c3Schristos	DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
1041*ed0d50c3Schristos	(_bfd_mips_elf_finish_dynamic_symbol): Don't handle them.  Don't
1042*ed0d50c3Schristos	handle DT_MIPS_MSYM.  Set DT_RELSZ based on the number of relocations
1043*ed0d50c3Schristos	that were needed.
1044*ed0d50c3Schristos	(_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
1045*ed0d50c3Schristos	(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
1046*ed0d50c3Schristos
1047*ed0d50c3Schristos2003-10-13  H.J. Lu  <hongjiu.lu@intel.com>
1048*ed0d50c3Schristos
1049*ed0d50c3Schristos	* bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
1050*ed0d50c3Schristos	(bfd_elf64_ia64_after_parse): Likewise.
1051*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
1052*ed0d50c3Schristos
1053*ed0d50c3Schristos	* elfxx-ia64.c (oor_ip): New.
1054*ed0d50c3Schristos	(oor_branch_size): Likewise.
1055*ed0d50c3Schristos	(bfd_elfNN_ia64_after_parse): Likewise.
1056*ed0d50c3Schristos	(elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
1057*ed0d50c3Schristos	equals sizeof (oor_ip).
1058*ed0d50c3Schristos
1059*ed0d50c3Schristos2003-10-12  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1060*ed0d50c3Schristos
1061*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
1062*ed0d50c3Schristos	renumbering of some relocation numbers.
1063*ed0d50c3Schristos
1064*ed0d50c3Schristos2003-10-11  Alan Modra  <amodra@bigpond.net.au>
1065*ed0d50c3Schristos
1066*ed0d50c3Schristos	* coff-sh.c: Move definition of MAP and guard more code with
1067*ed0d50c3Schristos	COFF_IMAGE_WITH_PE.
1068*ed0d50c3Schristos
1069*ed0d50c3Schristos	* section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
1070*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1071*ed0d50c3Schristos
1072*ed0d50c3Schristos2003-10-10  H.J. Lu  <hongjiu.lu@intel.com>
1073*ed0d50c3Schristos
1074*ed0d50c3Schristos	* Makefile.am: Run "make dep-am".
1075*ed0d50c3Schristos	* Makefile.in: Regenerate.
1076*ed0d50c3Schristos	* doc/Makefile.in: Likewise.
1077*ed0d50c3Schristos
1078*ed0d50c3Schristos2003-10-09  H.J. Lu  <hongjiu.lu@intel.com>
1079*ed0d50c3Schristos
1080*ed0d50c3Schristos	* cofflink.c: Include "safe-ctype.h".
1081*ed0d50c3Schristos	(coff_link_add_symbols): Use ISDIGIT instead of isdigit.
1082*ed0d50c3Schristos
1083*ed0d50c3Schristos2003-10-08  Dave Brolley  <brolley@redhat.com>
1084*ed0d50c3Schristos	On behalf of Michael Snyder  <msnyder@redhat.com>
1085*ed0d50c3Schristos
1086*ed0d50c3Schristos	* archures.c: Add FRV fr550 machine.
1087*ed0d50c3Schristos	* cpu-frv.c: Ditto.
1088*ed0d50c3Schristos	* elf32-frv.c: Ditto.
1089*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1090*ed0d50c3Schristos
1091*ed0d50c3Schristos2003-10-08  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1092*ed0d50c3Schristos
1093*ed0d50c3Schristos	* elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
1094*ed0d50c3Schristos	for non-SGI N64 ABI. Improve code consitency.
1095*ed0d50c3Schristos
1096*ed0d50c3Schristos2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
1097*ed0d50c3Schristos
1098*ed0d50c3Schristos	* elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
1099*ed0d50c3Schristos	rightshift to 2.
1100*ed0d50c3Schristos
1101*ed0d50c3Schristos2003-10-07  Nathan Sidwell  <nathan@codesourcery.com>
1102*ed0d50c3Schristos
1103*ed0d50c3Schristos	* libbfd-in.h (_bfd_link_section_stabs): Add string offset
1104*ed0d50c3Schristos	parameter.
1105*ed0d50c3Schristos	* cofflink.c (coff_link_add_symbols): Deal with split stab
1106*ed0d50c3Schristos	sections.
1107*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Deal with split stab
1108*ed0d50c3Schristos	sections.
1109*ed0d50c3Schristos	* stabs.c (_bfd_link_section_stabs): Add string offset parameter.
1110*ed0d50c3Schristos	* libbfd.h: Regenerated.
1111*ed0d50c3Schristos
1112*ed0d50c3Schristos	* coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
1113*ed0d50c3Schristos	overflow, set reloc start position to after the count
1114*ed0d50c3Schristos	reloc. Subtract one from num relocs. Give error on 0xffff relocs
1115*ed0d50c3Schristos	and no overflow.
1116*ed0d50c3Schristos	* cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
1117*ed0d50c3Schristos	overflow.
1118*ed0d50c3Schristos	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
1119*ed0d50c3Schristos	0xffff.
1120*ed0d50c3Schristos
1121*ed0d50c3Schristos2003-10-06  H.J. Lu  <hongjiu.lu@intel.com>
1122*ed0d50c3Schristos
1123*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
1124*ed0d50c3Schristos	last CIE/FDE if needed.
1125*ed0d50c3Schristos
1126*ed0d50c3Schristos2003-10-06  Nick Clifton  <nickc@redhat.com>
1127*ed0d50c3Schristos
1128*ed0d50c3Schristos	* targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
1129*ed0d50c3Schristos	BFD64 is enabled.
1130*ed0d50c3Schristos
1131*ed0d50c3Schristos2003-10-06  Matt Thomas <matt@3am-software.com>
1132*ed0d50c3Schristos
1133*ed0d50c3Schristos	* config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
1134*ed0d50c3Schristos
1135*ed0d50c3Schristos2003-10-06  Robert Millan  <robertmh@gnu.org>
1136*ed0d50c3Schristos
1137*ed0d50c3Schristos	* configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
1138*ed0d50c3Schristos	* config.bfd: Likewise.
1139*ed0d50c3Schristos	* configure: Regenerate.
1140*ed0d50c3Schristos
1141*ed0d50c3Schristos2003-10-04  Christian Groessler  <chris@groessler.org>
1142*ed0d50c3Schristos
1143*ed0d50c3Schristos	* coff-z8k.c (extra_case): Fix displacement length check for R_JR
1144*ed0d50c3Schristos	and R_CALLR.
1145*ed0d50c3Schristos
1146*ed0d50c3Schristos2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
1147*ed0d50c3Schristos
1148*ed0d50c3Schristos	* elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
1149*ed0d50c3Schristos	* elf32-m68hc11.c: Likewise.
1150*ed0d50c3Schristos	* elf32-m68hc12.c: Likewise.
1151*ed0d50c3Schristos	* elf32-m68hc1x.h: Likewise.
1152*ed0d50c3Schristos
1153*ed0d50c3Schristos2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
1154*ed0d50c3Schristos
1155*ed0d50c3Schristos	* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
1156*ed0d50c3Schristos	of flags between HC12 and HCS12.
1157*ed0d50c3Schristos
1158*ed0d50c3Schristos2003-10-04  Bryce McKinlay  <bryce@mckinlay.net.nz>
1159*ed0d50c3Schristos
1160*ed0d50c3Schristos	* merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
1161*ed0d50c3Schristos	which become empty after merging.
1162*ed0d50c3Schristos
1163*ed0d50c3Schristos2003-09-30  Jakub Jelinek  <jakub@redhat.com>
1164*ed0d50c3Schristos
1165*ed0d50c3Schristos	* elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
1166*ed0d50c3Schristos	R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
1167*ed0d50c3Schristos
1168*ed0d50c3Schristos2003-09-30  Chris Demetriou  <cgd@broadcom.com>
1169*ed0d50c3Schristos
1170*ed0d50c3Schristos	* archures.c (bfd_mach_mipsisa64r2): New define.
1171*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1172*ed0d50c3Schristos	* aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
1173*ed0d50c3Schristos	* cpu-mips.c (I_mipsisa64r2): New enum value.
1174*ed0d50c3Schristos	(arch_info_struct): Add entry for I_mipsisa64r2.
1175*ed0d50c3Schristos	* elfxx-mips.c (_bfd_elf_mips_mach)
1176*ed0d50c3Schristos	(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
1177*ed0d50c3Schristos	(mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
1178*ed0d50c3Schristos	(mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
1179*ed0d50c3Schristos
1180*ed0d50c3Schristos2003-09-29  H.J. Lu  <hongjiu.lu@intel.com>
1181*ed0d50c3Schristos
1182*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
1183*ed0d50c3Schristos	Handle SHN_IA_64_ANSI_COMMON.
1184*ed0d50c3Schristos	(elf_backend_section_from_bfd_section): Defined.
1185*ed0d50c3Schristos
1186*ed0d50c3Schristos2003-09-26  H.J. Lu  <hongjiu.lu@intel.com>
1187*ed0d50c3Schristos
1188*ed0d50c3Schristos	* elflink.c (elf_link_read_relocs_from_section): Add an argument
1189*ed0d50c3Schristos	of a pointer to section. Check bad symbol index.
1190*ed0d50c3Schristos	(_bfd_elf_link_read_relocs): Modify calls to
1191*ed0d50c3Schristos	elf_link_read_relocs_from_section.
1192*ed0d50c3Schristos
1193*ed0d50c3Schristos2003-09-23  DJ Delorie  <dj@redhat.com>
1194*ed0d50c3Schristos
1195*ed0d50c3Schristos	* elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
1196*ed0d50c3Schristos	R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
1197*ed0d50c3Schristos	R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
1198*ed0d50c3Schristos	R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
1199*ed0d50c3Schristos	R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
1200*ed0d50c3Schristos	R_SH_PSHA, R_SH_PSHL added.
1201*ed0d50c3Schristos	(sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
1202*ed0d50c3Schristos	(sh_elf_relocate_section): Support new relocs.
1203*ed0d50c3Schristos
1204*ed0d50c3Schristos2003-09-23  Bob Wilson  <bob.wilson@acm.org>
1205*ed0d50c3Schristos
1206*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
1207*ed0d50c3Schristos	dynamic relocation offsets.
1208*ed0d50c3Schristos
1209*ed0d50c3Schristos2003-09-23  Alan Modra  <amodra@bigpond.net.au>
1210*ed0d50c3Schristos
1211*ed0d50c3Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Free the
1212*ed0d50c3Schristos	hash table using _bfd_generic_link_hash_table_free.
1213*ed0d50c3Schristos
1214*ed0d50c3Schristos2003-09-23  Alan Modra  <amodra@bigpond.net.au>
1215*ed0d50c3Schristos
1216*ed0d50c3Schristos	* elf-bfd.h (struct bfd_elf_special_section): Remove "suffix".  Change
1217*ed0d50c3Schristos	type of prefix_length and suffix_length to int.  Rename "attributes"
1218*ed0d50c3Schristos	to "attr".  Comment.
1219*ed0d50c3Schristos	(_bfd_elf_get_sec_type_attr): Update prototype.
1220*ed0d50c3Schristos	* elf.c (get_special_section): Rewrite.
1221*ed0d50c3Schristos	(_bfd_elf_get_sec_type_attr): Return struct rather than passing in
1222*ed0d50c3Schristos	attr and type pointers.
1223*ed0d50c3Schristos	(_bfd_elf_new_section_hook): Adjust for above.
1224*ed0d50c3Schristos	(special_sections): Merge suffix with prefix.  Set
1225*ed0d50c3Schristos	prefix_length for all entries.  Set suffix_length appropriately.
1226*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_special_sections): Likewise.
1227*ed0d50c3Schristos	* elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
1228*ed0d50c3Schristos	* elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
1229*ed0d50c3Schristos	* elf32-mcore.c (mcore_elf_special_sections): Likewise.
1230*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_special_sections): Likewise.
1231*ed0d50c3Schristos	* elf32-v850.c (v850_elf_special_sections): Likewise.
1232*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
1233*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_special_sections): Likewise.
1234*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_special_sections): Likewise.
1235*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_special_sections): Likewise.
1236*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_special_sections): Likewise.
1237*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
1238*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
1239*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_special_sections): Likewise.  Fix .plt flags.
1240*ed0d50c3Schristos
1241*ed0d50c3Schristos2003-09-21  Daniel Jacobowitz  <drow@mvista.com>
1242*ed0d50c3Schristos
1243*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_create_got_section): Initialize
1244*ed0d50c3Schristos	->got if the section already exists.
1245*ed0d50c3Schristos
1246*ed0d50c3Schristos2003-09-19  Nathan Sidwell  <nathan@codesourcery.com>
1247*ed0d50c3Schristos
1248*ed0d50c3Schristos	* dwarf2.c (decode_line_info): Cope with an initially empty
1249*ed0d50c3Schristos	filename table.
1250*ed0d50c3Schristos
1251*ed0d50c3Schristos2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
1252*ed0d50c3Schristos
1253*ed0d50c3Schristos	* acinclude.m4: Include ../config/accross.m4.
1254*ed0d50c3Schristos	* aclocal.m4: Regenerated.
1255*ed0d50c3Schristos
1256*ed0d50c3Schristos	* configure.host (HOST_64BIT_TYPE): Remove if it is set to long
1257*ed0d50c3Schristos	or long long.
1258*ed0d50c3Schristos	(HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
1259*ed0d50c3Schristos	(host64): Remove if HOST_64BIT_TYPE is set to long.
1260*ed0d50c3Schristos
1261*ed0d50c3Schristos	* configure.in (HOST_64BIT_TYPE): Set according to the size of
1262*ed0d50c3Schristos	long and long long.
1263*ed0d50c3Schristos	(HOST_U_64BIT_TYPE): Likewise.
1264*ed0d50c3Schristos	(host64): Likewise.
1265*ed0d50c3Schristos	* configure: Regenerated.
1266*ed0d50c3Schristos
1267*ed0d50c3Schristos2003-09-19  Alan Modra  <amodra@bigpond.net.au>
1268*ed0d50c3Schristos
1269*ed0d50c3Schristos	* elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
1270*ed0d50c3Schristos	since some ABIs round up the size of the struct.
1271*ed0d50c3Schristos
1272*ed0d50c3Schristos2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
1273*ed0d50c3Schristos
1274*ed0d50c3Schristos	* elflink.c (_bfd_elf_merge_symbol): Allow type change if
1275*ed0d50c3Schristos	the old symbol is undefined and the new symbol is defined.
1276*ed0d50c3Schristos
1277*ed0d50c3Schristos2003-09-18  Andreas Schwab  <schwab@suse.de>
1278*ed0d50c3Schristos
1279*ed0d50c3Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Use
1280*ed0d50c3Schristos	_bfd_generic_link_hash_table_create instead of
1281*ed0d50c3Schristos	bfd_link_hash_table_create.
1282*ed0d50c3Schristos
1283*ed0d50c3Schristos2003-09-10  H.J. Lu  <hongjiu.lu@intel.com>
1284*ed0d50c3Schristos
1285*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
1286*ed0d50c3Schristos	started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
1287*ed0d50c3Schristos
1288*ed0d50c3Schristos2003-09-10  John David Anglin	<dave.anglin@nrc-cnrc.nrc.ca>
1289*ed0d50c3Schristos	    Randolph Chung	<randolph@tausq.org>
1290*ed0d50c3Schristos
1291*ed0d50c3Schristos	* elf32-hppa.c (struct elf32_hppa_link_hash_entry,
1292*ed0d50c3Schristos	hppa_link_hash_newfunc, hppa_build_one_stub,
1293*ed0d50c3Schristos	elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
1294*ed0d50c3Schristos	allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
1295*ed0d50c3Schristos	elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
1296*ed0d50c3Schristos	for generating import stubs for calls to statically linked PIC
1297*ed0d50c3Schristos	functions.
1298*ed0d50c3Schristos	(hppa_type_of_stub): Don't generate an import stub for calls to
1299*ed0d50c3Schristos	statically linked pic functions.  Generate import stubs for calls
1300*ed0d50c3Schristos	in a shared object, to functions not in a regular file, and to
1301*ed0d50c3Schristos	defined weak functions.  Add new argument INFO.
1302*ed0d50c3Schristos	(hppa_build_one_stub): Don't undef ADDIL_DP.
1303*ed0d50c3Schristos	(elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
1304*ed0d50c3Schristos	(elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
1305*ed0d50c3Schristos	(final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
1306*ed0d50c3Schristos	non-shared link.  Convert instructions that use the linkage table
1307*ed0d50c3Schristos	pointer, or a facsimile thereof, to use the global data pointer when
1308*ed0d50c3Schristos	the reloc has been changed.
1309*ed0d50c3Schristos
1310*ed0d50c3Schristos2003-09-08  Joel Brobecker  <brobecker@gnat.com>
1311*ed0d50c3Schristos
1312*ed0d50c3Schristos	* archures.c: Add new machine names for hppa.
1313*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1314*ed0d50c3Schristos	* cpu-hppa.c: Use the new machine names.
1315*ed0d50c3Schristos
1316*ed0d50c3Schristos2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
1317*ed0d50c3Schristos
1318*ed0d50c3Schristos	* elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
1319*ed0d50c3Schristos	all_local_syms member.
1320*ed0d50c3Schristos	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
1321*ed0d50c3Schristos	to get the local symbols.
1322*ed0d50c3Schristos
1323*ed0d50c3Schristos2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
1324*ed0d50c3Schristos
1325*ed0d50c3Schristos	* elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
1326*ed0d50c3Schristos	(elf_backend_special_sections): Define.a
1327*ed0d50c3Schristos
1328*ed0d50c3Schristos	PR savannah/4950:
1329*ed0d50c3Schristos	* elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
1330*ed0d50c3Schristos	section is read-only.
1331*ed0d50c3Schristos
1332*ed0d50c3Schristos2003-09-04  Nick Clifton  <nickc@redhat.com>
1333*ed0d50c3Schristos
1334*ed0d50c3Schristos	* archures.c (bfd_mach_v850e1): Define.
1335*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1336*ed0d50c3Schristos	* cpu-v850.h (scan): Accept bfd_mach_v850e1.
1337*ed0d50c3Schristos	(arch_info_struct): Include an entry for bfd_mach_v850e1.
1338*ed0d50c3Schristos	* elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
1339*ed0d50c3Schristos	(v850_elf_final_write_processing): Accept bfd_mach_v850e1.
1340*ed0d50c3Schristos	(v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
1341*ed0d50c3Schristos	(v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
1342*ed0d50c3Schristos	linked with v850e binaries.  Mark the output as v850e.
1343*ed0d50c3Schristos
1344*ed0d50c3Schristos2003-09-03  Nick Clifton  <nickc@redhat.com>
1345*ed0d50c3Schristos
1346*ed0d50c3Schristos	* cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
1347*ed0d50c3Schristos	symbols that are used in relocs.
1348*ed0d50c3Schristos
1349*ed0d50c3Schristos2003-08-30  Robert Millan  <robertmh@gnu.org>
1350*ed0d50c3Schristos
1351*ed0d50c3Schristos	* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
1352*ed0d50c3Schristos	* config.bfd: Likewise.
1353*ed0d50c3Schristos	* configure: Regenerate.
1354*ed0d50c3Schristos
1355*ed0d50c3Schristos2003-08-31  Christian Groessler  <chris@groessler.org>
1356*ed0d50c3Schristos
1357*ed0d50c3Schristos	* elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
1358*ed0d50c3Schristos	instead of returning bfd_reloc_continue.
1359*ed0d50c3Schristos
1360*ed0d50c3Schristos2003-08-31  Andreas Jaeger  <aj@suse.de>
1361*ed0d50c3Schristos
1362*ed0d50c3Schristos	* merge.c: Update to ISO C90.
1363*ed0d50c3Schristos
1364*ed0d50c3Schristos2003-08-27  Ian Lance Taylor  <ian@airs.com>
1365*ed0d50c3Schristos
1366*ed0d50c3Schristos	* configure.in: Check for strtoull.
1367*ed0d50c3Schristos	* bfd.c (bfd_scan_vma): Use strtoull when available.
1368*ed0d50c3Schristos	* configure, config.in: Regenerate.
1369*ed0d50c3Schristos
1370*ed0d50c3Schristos	* configure.in: Define and substitute BFD_HOST_LONG_LONG.
1371*ed0d50c3Schristos	* bfd-in.h: Define BFD_HOST_LONG_LONG.  Test it rather than
1372*ed0d50c3Schristos	__GNUC__ when deciding whether to use long long for
1373*ed0d50c3Schristos	BFD_HOST_64_BIT.
1374*ed0d50c3Schristos	* configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
1375*ed0d50c3Schristos
1376*ed0d50c3Schristos2003-08-27  Christian Groessler  <chris@groessler.org>
1377*ed0d50c3Schristos
1378*ed0d50c3Schristos	* elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
1379*ed0d50c3Schristos	i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
1380*ed0d50c3Schristos	functions.
1381*ed0d50c3Schristos	(elf32_i860_howto_table): Insert the new functions as
1382*ed0d50c3Schristos	'special_function's in the proper reloc type entries.
1383*ed0d50c3Schristos
1384*ed0d50c3Schristos2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
1385*ed0d50c3Schristos
1386*ed0d50c3Schristos	* elf32-frv.c (elf32_frv_relocate_section): Use
1387*ed0d50c3Schristos	_bfd_elf_rela_local_sym.
1388*ed0d50c3Schristos
1389*ed0d50c3Schristos2003-08-26  Michael Snyder  <msnyder@redhat.com>
1390*ed0d50c3Schristos
1391*ed0d50c3Schristos	* cpu-frv.c: Remove unused enum.
1392*ed0d50c3Schristos
1393*ed0d50c3Schristos2003-08-25  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
1394*ed0d50c3Schristos
1395*ed0d50c3Schristos	* reloc.c: Fix documentation for MIPS ELF relocations.
1396*ed0d50c3Schristos	libbfd.h: Regenerate.
1397*ed0d50c3Schristos	bfd-in2.h: Regenerate.
1398*ed0d50c3Schristos
1399*ed0d50c3Schristos2003-08-24  Jason Eckhardt  <jle@rice.edu>
1400*ed0d50c3Schristos
1401*ed0d50c3Schristos	* coff-i860.c (CALC_ADDEND): Define to be a no-op.
1402*ed0d50c3Schristos
1403*ed0d50c3Schristos2003-08-24  Jason Eckhardt  <jle@rice.edu>
1404*ed0d50c3Schristos
1405*ed0d50c3Schristos	* elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
1406*ed0d50c3Schristos	shift by 2 before storing the relocated value.
1407*ed0d50c3Schristos
1408*ed0d50c3Schristos2003-08-23  Jason Eckhardt  <jle@rice.edu>
1409*ed0d50c3Schristos
1410*ed0d50c3Schristos	* coff-i860.c (coff_i860_reloc_nyi): New function.
1411*ed0d50c3Schristos	(howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
1412*ed0d50c3Schristos	LOWn, SPLITn, and BRADDR.
1413*ed0d50c3Schristos	(RTYPE2HOWTO): Check that the r_type is within the howto_table
1414*ed0d50c3Schristos	before trying to access the entry.
1415*ed0d50c3Schristos	(coff_i860_rtype_to_howto): Likewise.
1416*ed0d50c3Schristos	(coff_i860_reloc_type_lookup): New function.
1417*ed0d50c3Schristos	(i860_reloc_processing): New function.
1418*ed0d50c3Schristos	(coff_bfd_reloc_type_lookup): Define macro.
1419*ed0d50c3Schristos	(RELOC_PROCESSING): Define macro.
1420*ed0d50c3Schristos	Minor formatting adjustments.
1421*ed0d50c3Schristos
1422*ed0d50c3Schristos2003-08-23  Alan Modra  <amodra@bigpond.net.au>
1423*ed0d50c3Schristos
1424*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
1425*ed0d50c3Schristos
1426*ed0d50c3Schristos2003-08-22  H.J. Lu  <hongjiu.lu@intel.com>
1427*ed0d50c3Schristos
1428*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
1429*ed0d50c3Schristos	.got section at 8 bytes.
1430*ed0d50c3Schristos
1431*ed0d50c3Schristos2003-08-21  Nick Clifton  <nickc@redhat.com>
1432*ed0d50c3Schristos
1433*ed0d50c3Schristos	* cofflink.c: Update to ISO C90 and tidy up formatting.
1434*ed0d50c3Schristos
1435*ed0d50c3Schristos2003-08-21  Randolph Chung  <tausq@debian.org>
1436*ed0d50c3Schristos
1437*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
1438*ed0d50c3Schristos	can have OSABI=Linux or OSABI=SysV.  Check for both.
1439*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_object_p): Likewise.
1440*ed0d50c3Schristos
1441*ed0d50c3Schristos2003-08-21  Nick Clifton  <nickc@redhat.com>
1442*ed0d50c3Schristos
1443*ed0d50c3Schristos	* po/sv.po: Updated Swedish translation.
1444*ed0d50c3Schristos
1445*ed0d50c3Schristos2003-08-20  Richard Sandiford  <rsandifo@redhat.com>
1446*ed0d50c3Schristos
1447*ed0d50c3Schristos	* elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
1448*ed0d50c3Schristos
1449*ed0d50c3Schristos2003-08-20  Nick Clifton  <nickc@redhat.com>
1450*ed0d50c3Schristos
1451*ed0d50c3Schristos	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
1452*ed0d50c3Schristos	replace some duplicated code in most elfxx-xxxx.c files.  This
1453*ed0d50c3Schristos	version uses the new fields in bfd_link_info.
1454*ed0d50c3Schristos
1455*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
1456*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
1457*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section): Likewise.
1458*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1459*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Likewise.
1460*ed0d50c3Schristos	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1461*ed0d50c3Schristos	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1462*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1463*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1464*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
1465*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1466*ed0d50c3Schristos	* elf32-vax.c (elf_vax_relocate_section): Likewise.
1467*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1468*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1469*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1470*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
1471*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1472*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1473*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1474*ed0d50c3Schristos
1475*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
1476*ed0d50c3Schristos	elf_hppa_remark_useless_dynamic_symbols,
1477*ed0d50c3Schristos	elf_hppa_relocate_section): Use the new fields in
1478*ed0d50c3Schristos	bfd_link_info structure.
1479*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section): Likewise.
1480*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
1481*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
1482*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1483*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
1484*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1485*ed0d50c3Schristos
1486*ed0d50c3Schristos	* elflink.h (elf_link_output_extsym): Fix test for reporting
1487*ed0d50c3Schristos	undefined symbols in shared libraries.  Remove redundant test
1488*ed0d50c3Schristos	of shlib_undefined when reporting references to forced local
1489*ed0d50c3Schristos	symbols.
1490*ed0d50c3Schristos
1491*ed0d50c3Schristos2003-08-18  Andreas Schwab  <schwab@suse.de>
1492*ed0d50c3Schristos
1493*ed0d50c3Schristos	* libpei.h (bfd_pe_executable_p): Also recognize efi-app
1494*ed0d50c3Schristos	executables.
1495*ed0d50c3Schristos
1496*ed0d50c3Schristos2003-08-17  Hans-Peter Nilsson  <hp@bitrange.com>
1497*ed0d50c3Schristos
1498*ed0d50c3Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Move
1499*ed0d50c3Schristos	reloc_done hack to before first bfd_section_size call.  Change all
1500*ed0d50c3Schristos	returns to use new wrapper macro RETURN, restoring sec->reloc_done.
1501*ed0d50c3Schristos
1502*ed0d50c3Schristos2003-08-16  Alan Modra  <amodra@bigpond.net.au>
1503*ed0d50c3Schristos
1504*ed0d50c3Schristos	* elf64-ppc.c: Don't include elf/ppc.h.
1505*ed0d50c3Schristos
1506*ed0d50c3Schristos2003-08-14  Richard Sandiford  <rsandifo@redhat.com>
1507*ed0d50c3Schristos
1508*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
1509*ed0d50c3Schristos	code to work with 64-bit bfds.
1510*ed0d50c3Schristos
1511*ed0d50c3Schristos2003-08-14  Alan Modra  <amodra@bigpond.net.au>
1512*ed0d50c3Schristos
1513*ed0d50c3Schristos	* dep-in.sed: Remove libintl.h.
1514*ed0d50c3Schristos	* Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
1515*ed0d50c3Schristos	(POTFILES.in): Remove target.
1516*ed0d50c3Schristos	* Makefile.in: Regenerate.
1517*ed0d50c3Schristos
1518*ed0d50c3Schristos2003-08-12  Alan Modra  <amodra@bigpond.net.au>
1519*ed0d50c3Schristos
1520*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
1521*ed0d50c3Schristos	(ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
1522*ed0d50c3Schristos	use the function sym from the previous reloc.
1523*ed0d50c3Schristos
1524*ed0d50c3Schristos2003-08-11  Jakub Jelinek  <jakub@redhat.com>
1525*ed0d50c3Schristos
1526*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
1527*ed0d50c3Schristos	fatal if -pie.
1528*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
1529*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1530*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1531*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1532*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
1533*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1534*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1535*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1536*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1537*ed0d50c3Schristos	(ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
1538*ed0d50c3Schristos	on undefined symbols if -pie.
1539*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section): Likewise.
1540*ed0d50c3Schristos
1541*ed0d50c3Schristos2003-08-11  Alan Modra  <amodra@bigpond.net.au>
1542*ed0d50c3Schristos
1543*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
1544*ed0d50c3Schristos	branch to __libc_start_main.
1545*ed0d50c3Schristos
1546*ed0d50c3Schristos2003-08-08 Dmitry Diky <diwil@mail.ru>
1547*ed0d50c3Schristos
1548*ed0d50c3Schristos	* archures.c: Add xW42 and xE42 parts. Sort MPU list according to
1549*ed0d50c3Schristos	gcc order.
1550*ed0d50c3Schristos	* cpu-msp430.c: Likewise.
1551*ed0d50c3Schristos	* elf32-msp430.c: Likewise.
1552*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1553*ed0d50c3Schristos
1554*ed0d50c3Schristos2003-08-07  Alan Modra  <amodra@bigpond.net.au>
1555*ed0d50c3Schristos
1556*ed0d50c3Schristos	* elfxx-target.h: Remove PTR cast.
1557*ed0d50c3Schristos	* targets.c (bfd_target): Make backend_data const void *.
1558*ed0d50c3Schristos	* elf-bfd.h: Constify all occurrences of struct elf_backend_data.
1559*ed0d50c3Schristos	* elf-m10300.c: Likewise.
1560*ed0d50c3Schristos	* elf.c: Likewise.
1561*ed0d50c3Schristos	* elf32-hppa.c: Likewise.
1562*ed0d50c3Schristos	* elf32-i386.c: Likewise.
1563*ed0d50c3Schristos	* elf32-m68hc1x.c: Likewise.
1564*ed0d50c3Schristos	* elf32-ppc.c: Likewise.
1565*ed0d50c3Schristos	* elf32-s390.c: Likewise.
1566*ed0d50c3Schristos	* elf32-sh.c: Likewise.
1567*ed0d50c3Schristos	* elf32-sh64.c: Likewise.
1568*ed0d50c3Schristos	* elf32-sparc.c: Likewise.
1569*ed0d50c3Schristos	* elf32-xtensa.c: Likewise.
1570*ed0d50c3Schristos	* elf64-mips.c: Likewise.
1571*ed0d50c3Schristos	* elf64-ppc.c: Likewise.
1572*ed0d50c3Schristos	* elf64-s390.c: Likewise.
1573*ed0d50c3Schristos	* elf64-sh64.c: Likewise.
1574*ed0d50c3Schristos	* elf64-sparc.c: Likewise.
1575*ed0d50c3Schristos	* elf64-x86-64.c: Likewise.
1576*ed0d50c3Schristos	* elfcode.h: Likewise.
1577*ed0d50c3Schristos	* elfcore.h: Likewise.
1578*ed0d50c3Schristos	* elflink.c: Likewise.
1579*ed0d50c3Schristos	* elflink.h: Likewise.
1580*ed0d50c3Schristos	* elfxx-ia64.c: Likewise.
1581*ed0d50c3Schristos	* elfxx-mips.c: Likewise.
1582*ed0d50c3Schristos	* elfxx-mips.h: Likewise.
1583*ed0d50c3Schristos	* elf.c (prep_headers): Remove useless check for null backend_data.
1584*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1585*ed0d50c3Schristos
1586*ed0d50c3Schristos	* elf-bfd.h: Remove PARAMS macro.  Replace PTR with void *.
1587*ed0d50c3Schristos	(NAME): Use ## rather than CONCAT4 macro.
1588*ed0d50c3Schristos	* elfcode.h: Remove one remaining PARAMS macro.
1589*ed0d50c3Schristos	* elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
1590*ed0d50c3Schristos	* elf-strtab.c: Likewise.
1591*ed0d50c3Schristos	* elf-hppa.h: Likewise.
1592*ed0d50c3Schristos	* elf32-hppa.h: Likewise.
1593*ed0d50c3Schristos	* elf32-hppa.c: Likewise.
1594*ed0d50c3Schristos	(elf32_hppa_add_symbol_hook): Delete.
1595*ed0d50c3Schristos	(elf_backend_add_symbol_hook): Don't define.
1596*ed0d50c3Schristos	* libhppa.h: Convert to C90.  Replace INLINE with inline.
1597*ed0d50c3Schristos
1598*ed0d50c3Schristos2003-08-06  Alan Modra  <amodra@bigpond.net.au>
1599*ed0d50c3Schristos
1600*ed0d50c3Schristos	* elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
1601*ed0d50c3Schristos	(ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
1602*ed0d50c3Schristos	function descriptors, but warn.
1603*ed0d50c3Schristos	(ppc_build_one_stub): Remove a couple of vars.  Move code creating
1604*ed0d50c3Schristos	stub syms so that we can avoid a stub sym if we already have a
1605*ed0d50c3Schristos	plt sym.  Do not redefine an existing symbol.
1606*ed0d50c3Schristos	(ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
1607*ed0d50c3Schristos	glink.
1608*ed0d50c3Schristos
1609*ed0d50c3Schristos2003-08-06  Nick Clifton  <nickc@redhat.com>
1610*ed0d50c3Schristos
1611*ed0d50c3Schristos	* po/fr.po: Updated French translation.
1612*ed0d50c3Schristos
1613*ed0d50c3Schristos2003-08-06  Alan Modra  <amodra@bigpond.net.au>
1614*ed0d50c3Schristos
1615*ed0d50c3Schristos	* elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
1616*ed0d50c3Schristos	SEC_LINKER_CREATED.
1617*ed0d50c3Schristos
1618*ed0d50c3Schristos2003-08-05  Daniel Jacobowitz  <drow@mvista.com>
1619*ed0d50c3Schristos
1620*ed0d50c3Schristos	* elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
1621*ed0d50c3Schristos	(elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
1622*ed0d50c3Schristos
1623*ed0d50c3Schristos2003-08-03  Jeff Muizelaar  <muizelaar@rogers.com>
1624*ed0d50c3Schristos
1625*ed0d50c3Schristos	* coffcode.h (coff_slurp_line_table): Return with a warning
1626*ed0d50c3Schristos	message if the line number table could not be read.
1627*ed0d50c3Schristos
1628*ed0d50c3Schristos2003-08-04  Nick Clifton  <nickc@redhat.com>
1629*ed0d50c3Schristos
1630*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Prepend "warning: "
1631*ed0d50c3Schristos	to messages produced for .gnu.warning.SYMBOL sections.
1632*ed0d50c3Schristos
1633*ed0d50c3Schristos2003-08-04  Alan Modra  <amodra@bigpond.net.au>
1634*ed0d50c3Schristos
1635*ed0d50c3Schristos	* elfcode.h: Convert to C90, remove unneeded casts and prototypes.
1636*ed0d50c3Schristos	* elfcore.h: Likewise.
1637*ed0d50c3Schristos	* elflink.c: Likewise.
1638*ed0d50c3Schristos	* elflink.h: Likewise.
1639*ed0d50c3Schristos	* elf.c (sym_is_global): Remove INLINE.
1640*ed0d50c3Schristos	(align_file_position): Replace INLINE with inline.
1641*ed0d50c3Schristos	* elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
1642*ed0d50c3Schristos	(elf_file_p): Replace INLINE with inline.
1643*ed0d50c3Schristos
1644*ed0d50c3Schristos2003-08-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1645*ed0d50c3Schristos
1646*ed0d50c3Schristos	* elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
1647*ed0d50c3Schristos
1648*ed0d50c3Schristos2003-08-01  H.J. Lu  <hongjiu.lu@intel.com>
1649*ed0d50c3Schristos
1650*ed0d50c3Schristos	* elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
1651*ed0d50c3Schristos
1652*ed0d50c3Schristos2003-08-01  H.J. Lu  <hongjiu.lu@intel.com>
1653*ed0d50c3Schristos
1654*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
1655*ed0d50c3Schristos	ElfNN_External_Rela instead of Elf64_External_Rela.
1656*ed0d50c3Schristos
1657*ed0d50c3Schristos2003-08-01  Nick Clifton  <nickc@redhat.com>
1658*ed0d50c3Schristos
1659*ed0d50c3Schristos	* config.bfd: Add code to catch obsolete configurations and warn
1660*ed0d50c3Schristos	about them unless --enable-obsolete is used.  Use this to mark
1661*ed0d50c3Schristos	vax-vms port as obsolete.
1662*ed0d50c3Schristos
1663*ed0d50c3Schristos2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1664*ed0d50c3Schristos
1665*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_install_value): Tidy.
1666*ed0d50c3Schristos	(ppc_elf_relax_section): Remove dead code.  Remove unnecessary casts.
1667*ed0d50c3Schristos	Formatting.
1668*ed0d50c3Schristos	* elfxx-target.h: Remove PARAMS macro.  Formatting.
1669*ed0d50c3Schristos
1670*ed0d50c3Schristos2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1671*ed0d50c3Schristos
1672*ed0d50c3Schristos	* elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
1673*ed0d50c3Schristos	* elf64-ppc.c (get_fdh): New function, split out from
1674*ed0d50c3Schristos	ppc64_elf_edit_opd.
1675*ed0d50c3Schristos	(ppc64_elf_check_relocs): Use get_fdh.
1676*ed0d50c3Schristos	(func_desc_adjust): Likewise.  Tidy.
1677*ed0d50c3Schristos	(ppc64_elf_edit_opd): Tighten reloc checks.  Free local_syms on error
1678*ed0d50c3Schristos	exit.  Use get_fdh.  Account for superfluous dynamic relocs.
1679*ed0d50c3Schristos	(ppc64_elf_relocate_section): Warning fix.
1680*ed0d50c3Schristos
1681*ed0d50c3Schristos2003-07-30  Jason Eckhardt  <jle@rice.edu>
1682*ed0d50c3Schristos
1683*ed0d50c3Schristos	* coff-i860.c: Convert to ISO C90.  Remove superflous prototypes.
1684*ed0d50c3Schristos
1685*ed0d50c3Schristos2003-07-30  Jason Eckhardt  <jle@rice.edu>
1686*ed0d50c3Schristos
1687*ed0d50c3Schristos	* elf32-i860.c: Convert to ISO C90.  Remove superflous prototypes.
1688*ed0d50c3Schristos
1689*ed0d50c3Schristos2003-07-30  Randolph Chung  <tausq@debian.org>
1690*ed0d50c3Schristos
1691*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
1692*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
1693*ed0d50c3Schristos
1694*ed0d50c3Schristos2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1695*ed0d50c3Schristos
1696*ed0d50c3Schristos	* elf.c: Convert to C90, remove unnecessary prototypes and casts.
1697*ed0d50c3Schristos	Replace PTR with void *.  Formatting.
1698*ed0d50c3Schristos	(_bfd_elf_assign_file_position_for_section): Remove INLINE.
1699*ed0d50c3Schristos	(make_mapping): Likewise.
1700*ed0d50c3Schristos
1701*ed0d50c3Schristos2003-07-29  Alan Modra  <amodra@bigpond.net.au>
1702*ed0d50c3Schristos
1703*ed0d50c3Schristos	* elf64-ppc.c (func_desc_adjust): Give linker created function
1704*ed0d50c3Schristos	descriptor symbols a size and type.
1705*ed0d50c3Schristos	(ppc64_elf_relocate_section): Correct lq insn test.
1706*ed0d50c3Schristos
1707*ed0d50c3Schristos2003-07-28  Eric Christopher  <echristo@redhat.com>
1708*ed0d50c3Schristos
1709*ed0d50c3Schristos	* elf32-ppc.c (R_PPC_RELAX32): New relocation.
1710*ed0d50c3Schristos	(ppc_elf_install_value): New function.
1711*ed0d50c3Schristos	(ppc_elf_sort_rela): Remove.
1712*ed0d50c3Schristos	(ppc_elf_relax_section): Rewrite. Remove old relaxation
1713*ed0d50c3Schristos	and replace with out of range branch stubs.
1714*ed0d50c3Schristos	(ppc_elf_relocate_section): Handle R_PPC_RELAX32.
1715*ed0d50c3Schristos
1716*ed0d50c3Schristos2003-07-29  Alexandre Oliva  <aoliva@redhat.com>
1717*ed0d50c3Schristos
1718*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
1719*ed0d50c3Schristos	from input_bfd.
1720*ed0d50c3Schristos
1721*ed0d50c3Schristos2003-07-28  Alan Modra  <amodra@bigpond.net.au>
1722*ed0d50c3Schristos
1723*ed0d50c3Schristos	* elf.c (special_sections): Set attributes for .got and .plt.
1724*ed0d50c3Schristos
1725*ed0d50c3Schristos2003-07-27  Alan Modra  <amodra@bigpond.net.au>
1726*ed0d50c3Schristos
1727*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
1728*ed0d50c3Schristos	on function descriptors.
1729*ed0d50c3Schristos	(ELIMINATE_COPY_RELOCS): Expand comment.
1730*ed0d50c3Schristos	(ppc64_elf_special_sections): Move.  Don't include non-ppc64 sections.
1731*ed0d50c3Schristos	Do include ".toc1".
1732*ed0d50c3Schristos
1733*ed0d50c3Schristos2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
1734*ed0d50c3Schristos
1735*ed0d50c3Schristos	* elf.c (_bfd_elf_new_section_hook): Set the default section
1736*ed0d50c3Schristos	type to SHT_NULL.
1737*ed0d50c3Schristos	(elf_fake_sections): Set the section type based on asect->flags
1738*ed0d50c3Schristos	if it is SHT_NULL. Don't abort on processor specific section
1739*ed0d50c3Schristos	types.
1740*ed0d50c3Schristos
1741*ed0d50c3Schristos2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
1742*ed0d50c3Schristos
1743*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
1744*ed0d50c3Schristos
1745*ed0d50c3Schristos2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
1746*ed0d50c3Schristos
1747*ed0d50c3Schristos	* elf-bfd.h (bfd_elf_special_section): New.
1748*ed0d50c3Schristos	(elf_backend_data): Add special_sections, a pointer to
1749*ed0d50c3Schristos	bfd_elf_special_section.
1750*ed0d50c3Schristos	(elf_section_type). New.
1751*ed0d50c3Schristos	(elf_section_flags): New.
1752*ed0d50c3Schristos	(_bfd_elf_get_sec_type_attr): New.
1753*ed0d50c3Schristos
1754*ed0d50c3Schristos	* elf.c (_bfd_elf_make_section_from_shdr): Always use the
1755*ed0d50c3Schristos	real section type/flags.
1756*ed0d50c3Schristos	(special_sections): New.
1757*ed0d50c3Schristos	(get_special_section): New.
1758*ed0d50c3Schristos	(_bfd_elf_get_sec_type_attr): New.
1759*ed0d50c3Schristos	(_bfd_elf_new_section_hook): Check special_section to set
1760*ed0d50c3Schristos	elf_section_type and elf_section_flags.
1761*ed0d50c3Schristos	(elf_fake_sections): Don't use section name to set ELF section
1762*ed0d50c3Schristos	data.
1763*ed0d50c3Schristos
1764*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_special_sections): New.
1765*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1766*ed0d50c3Schristos
1767*ed0d50c3Schristos	* elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
1768*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1769*ed0d50c3Schristos
1770*ed0d50c3Schristos	* elf32-mcore.c (mcore_elf_special_sections): New.
1771*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1772*ed0d50c3Schristos
1773*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_special_sections): New.
1774*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1775*ed0d50c3Schristos
1776*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_special_sections): New.
1777*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1778*ed0d50c3Schristos
1779*ed0d50c3Schristos	* elf32-v850.c (v850_elf_special_sections): New.
1780*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1781*ed0d50c3Schristos
1782*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_special_sections): New.
1783*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1784*ed0d50c3Schristos
1785*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_special_sections): New.
1786*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1787*ed0d50c3Schristos
1788*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_special_sections): New.
1789*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1790*ed0d50c3Schristos
1791*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_special_sections): New.
1792*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1793*ed0d50c3Schristos
1794*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_special_sections): New.
1795*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1796*ed0d50c3Schristos
1797*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_special_sections): New.
1798*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1799*ed0d50c3Schristos
1800*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_special_sections): New.
1801*ed0d50c3Schristos
1802*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_special_sections): New.
1803*ed0d50c3Schristos	(elf_backend_special_sections): Defined.
1804*ed0d50c3Schristos
1805*ed0d50c3Schristos	* elfxx-target.h (elf_backend_special_sections): New. Default
1806*ed0d50c3Schristos	to NULL.
1807*ed0d50c3Schristos	(elfNN_bed): Initialize special_sections.
1808*ed0d50c3Schristos
1809*ed0d50c3Schristos	* section.c (bfd_abs_section): Remove const.
1810*ed0d50c3Schristos	(bfd_und_section): Likewise.
1811*ed0d50c3Schristos	(bfd_com_section): Likewise.
1812*ed0d50c3Schristos	(bfd_ind_section): Likewise.
1813*ed0d50c3Schristos
1814*ed0d50c3Schristos2003-07-24  Nick Clifton  <nickc@redhat.com>
1815*ed0d50c3Schristos
1816*ed0d50c3Schristos	* coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
1817*ed0d50c3Schristos	sections are assigned the LOAD attribute.
1818*ed0d50c3Schristos
1819*ed0d50c3Schristos2003-07-25  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1820*ed0d50c3Schristos
1821*ed0d50c3Schristos	* elf32-sh.c: Convert to C90.  Replace PTR with void *.
1822*ed0d50c3Schristos	* elf32-sh64-com.c: Likewise.
1823*ed0d50c3Schristos	* elf32-sh64.c: Likewise.
1824*ed0d50c3Schristos	* elf32-sh64.h: Likewise.
1825*ed0d50c3Schristos	* elf64-sh64.c: Likewise.
1826*ed0d50c3Schristos
1827*ed0d50c3Schristos2003-07-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1828*ed0d50c3Schristos
1829*ed0d50c3Schristos	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
1830*ed0d50c3Schristos	(allocate_dynrelocs): Likewise.
1831*ed0d50c3Schristos	(sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
1832*ed0d50c3Schristos	(sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
1833*ed0d50c3Schristos
1834*ed0d50c3Schristos2003-07-24  Nick Clifton  <nickc@redhat.com>
1835*ed0d50c3Schristos
1836*ed0d50c3Schristos	* po/fr.po: Updated French translation.
1837*ed0d50c3Schristos
1838*ed0d50c3Schristos2003-07-23  Bob Wilson  <bob.wilson@acm.org>
1839*ed0d50c3Schristos
1840*ed0d50c3Schristos	* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
1841*ed0d50c3Schristos	near the beginning of the file.  Swap order of arguments.  Call
1842*ed0d50c3Schristos	_bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
1843*ed0d50c3Schristos	(elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
1844*ed0d50c3Schristos	(elf_xtensa_relocate_section): Likewise.
1845*ed0d50c3Schristos	(shrink_dynamic_reloc_sections): Likewise.
1846*ed0d50c3Schristos
1847*ed0d50c3Schristos2003-07-23  Bob Wilson  <bob.wilson@acm.org>
1848*ed0d50c3Schristos
1849*ed0d50c3Schristos	* elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
1850*ed0d50c3Schristos	(elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
1851*ed0d50c3Schristos	(elf_xtensa_combine_prop_entries): Avoid returning non-zero without
1852*ed0d50c3Schristos	first printing an error message.
1853*ed0d50c3Schristos	(elf_xtensa_finish_dynamic_sections): Likewise.
1854*ed0d50c3Schristos	(elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
1855*ed0d50c3Schristos	discarding literal table entries.
1856*ed0d50c3Schristos	(elf_xtensa_merge_private_bfd_data): Remove newline from error message.
1857*ed0d50c3Schristos	(elf_xtensa_do_asm_simplify): Likewise.
1858*ed0d50c3Schristos
1859*ed0d50c3Schristos2003-07-23  Stephane Carrez  <stcarrez@nerim.fr>
1860*ed0d50c3Schristos
1861*ed0d50c3Schristos	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
1862*ed0d50c3Schristos	we have a local symbol in common section.
1863*ed0d50c3Schristos
1864*ed0d50c3Schristos2003-07-22  H.J. Lu <hongjiu.lu@intel.com>
1865*ed0d50c3Schristos
1866*ed0d50c3Schristos	* elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
1867*ed0d50c3Schristos	weak symbols.
1868*ed0d50c3Schristos
1869*ed0d50c3Schristos2003-07-22  Nick Clifton  <nickc@redhat.com>
1870*ed0d50c3Schristos
1871*ed0d50c3Schristos	* coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
1872*ed0d50c3Schristos	expected RS6000 storage classes.
1873*ed0d50c3Schristos
1874*ed0d50c3Schristos2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
1875*ed0d50c3Schristos
1876*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
1877*ed0d50c3Schristos	output_bfd unused to silence gcc.
1878*ed0d50c3Schristos
1879*ed0d50c3Schristos2003-07-21  Nick Clifton  <nickc@redhat.com>
1880*ed0d50c3Schristos
1881*ed0d50c3Schristos	* po/sv.po: Updated Swedish translation.
1882*ed0d50c3Schristos
1883*ed0d50c3Schristos2003-07-21  Alan Modra  <amodra@bigpond.net.au>
1884*ed0d50c3Schristos
1885*ed0d50c3Schristos	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
1886*ed0d50c3Schristos	(_bfd_elf_symbol_refs_local_p): ..this.  Declare.
1887*ed0d50c3Schristos	* elflink.c (_bfd_elf_symbol_refs_local_p): New function.
1888*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
1889*ed0d50c3Schristos	now done in _bfd_elf_symbol_refs_local_p.
1890*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1891*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1892*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1893*ed0d50c3Schristos
1894*ed0d50c3Schristos2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
1895*ed0d50c3Schristos
1896*ed0d50c3Schristos	* elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
1897*ed0d50c3Schristos
1898*ed0d50c3Schristos2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
1899*ed0d50c3Schristos
1900*ed0d50c3Schristos	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
1901*ed0d50c3Schristos	(SYMBOL_CALLS_LOCAL): Likewise.
1902*ed0d50c3Schristos
1903*ed0d50c3Schristos	* elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
1904*ed0d50c3Schristos	immediately if symbol isn't defined locally.
1905*ed0d50c3Schristos
1906*ed0d50c3Schristos2003-07-18  Richard Henderson  <rth@redhat.com>
1907*ed0d50c3Schristos
1908*ed0d50c3Schristos	* elflink.c (_bfd_elf_dynamic_symbol_p): New.
1909*ed0d50c3Schristos	* elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
1910*ed0d50c3Schristos	(SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
1911*ed0d50c3Schristos	* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
1912*ed0d50c3Schristos	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
1913*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
1914*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
1915*ed0d50c3Schristos	Update all callers to provide the relocation being resolved.
1916*ed0d50c3Schristos
1917*ed0d50c3Schristos2003-07-17  Shaun Jackman <sjackman@pathwayconnect.com>
1918*ed0d50c3Schristos
1919*ed0d50c3Schristos	* config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
1920*ed0d50c3Schristos	targ_cflags.
1921*ed0d50c3Schristos
1922*ed0d50c3Schristos2003-07-17  Nick Clifton  <nickc@redhat.com>
1923*ed0d50c3Schristos
1924*ed0d50c3Schristos	* po/es.po: New Spanish translation.
1925*ed0d50c3Schristos	* po/sv.po: New Swedish translation.
1926*ed0d50c3Schristos	* po/opcodes.pot: Regenerate.
1927*ed0d50c3Schristos
1928*ed0d50c3Schristos2003-07-16  Richard Henderson  <rth@redhat.com>
1929*ed0d50c3Schristos
1930*ed0d50c3Schristos	* config.bfd, configure.host, configure.in: Remove ia64-aix support.
1931*ed0d50c3Schristos	* elfxx-ia64.c, targets.c: Likewise.
1932*ed0d50c3Schristos
1933*ed0d50c3Schristos2003-07-16  Richard Henderson  <rth@redhat.com>
1934*ed0d50c3Schristos
1935*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
1936*ed0d50c3Schristos	for symbols defined locally plus -Bsymbolic.  Tidy logic.
1937*ed0d50c3Schristos
1938*ed0d50c3Schristos2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
1939*ed0d50c3Schristos
1940*ed0d50c3Schristos	* archures.c (bfd_mach_mips7000): New.
1941*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
1942*ed0d50c3Schristos	* cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
1943*ed0d50c3Schristos	* elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
1944*ed0d50c3Schristos	(mips_mach_extensions): Add an entry for it.
1945*ed0d50c3Schristos
1946*ed0d50c3Schristos2003-07-14  Nick Clifton  <nickc@redhat.com>
1947*ed0d50c3Schristos
1948*ed0d50c3Schristos	* po/tr.po: Update with latest version.
1949*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
1950*ed0d50c3Schristos	* po/bfd.pot: Regenerate.
1951*ed0d50c3Schristos	* Makfile.in: Regenerate.
1952*ed0d50c3Schristos	* configure: Regenerate.
1953*ed0d50c3Schristos
1954*ed0d50c3Schristos2003-07-12  Jeff Baker  <jbaker@qnx.com>
1955*ed0d50c3Schristos
1956*ed0d50c3Schristos	* config.bfd (__QNXTARGET__): Define for Neutrino architectures.
1957*ed0d50c3Schristos	* elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1958*ed0d50c3Schristos	* elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1959*ed0d50c3Schristos	* elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1960*ed0d50c3Schristos
1961*ed0d50c3Schristos2003-07-12  Jeff Muizelaar  <muizelaar@rogers.com>
1962*ed0d50c3Schristos
1963*ed0d50c3Schristos	* coffcode.h (coff_set_section_contents): Set the
1964*ed0d50c3Schristos	IMAGE_FILE_32BIT_MACHINE flag for PE targets.
1965*ed0d50c3Schristos
1966*ed0d50c3Schristos2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
1967*ed0d50c3Schristos
1968*ed0d50c3Schristos	* bfd-in.h (bfd_h8300_pad_address): Declare.
1969*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1970*ed0d50c3Schristos	* cpu-h8300.c (bfd_h8300_pad_address): New function.
1971*ed0d50c3Schristos	* coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
1972*ed0d50c3Schristos	addresses before checking whether they can be relaxed.
1973*ed0d50c3Schristos	(h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
1974*ed0d50c3Schristos	Don't complain about overflows in general 8-bit relocations.
1975*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
1976*ed0d50c3Schristos	Fix handling of R_H8_DIR24A8.
1977*ed0d50c3Schristos
1978*ed0d50c3Schristos2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
1979*ed0d50c3Schristos
1980*ed0d50c3Schristos	* elf32-h8300.c: Convert function prototypes and definitions
1981*ed0d50c3Schristos	to C90 syntax.
1982*ed0d50c3Schristos	* coff-h8300.c: Likewise.
1983*ed0d50c3Schristos	* cpu-h8300.c: Likewise.
1984*ed0d50c3Schristos
1985*ed0d50c3Schristos2003-07-11  Alan Modra  <amodra@bigpond.net.au>
1986*ed0d50c3Schristos
1987*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
1988*ed0d50c3Schristos	* po/bfd.pot: Likewise.
1989*ed0d50c3Schristos
1990*ed0d50c3Schristos2003-07-10  Bob Wilson  <bob.wilson@acm.org>
1991*ed0d50c3Schristos
1992*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
1993*ed0d50c3Schristos	.got.loc section.  Do not set SEC_ALLOC or SEC_LOAD flags for the
1994*ed0d50c3Schristos	.xt.lit.plt section.
1995*ed0d50c3Schristos	(elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
1996*ed0d50c3Schristos	and allocate memory for it.
1997*ed0d50c3Schristos	(elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
1998*ed0d50c3Schristos	section to the .got.loc section.
1999*ed0d50c3Schristos	(elf_xtensa_finish_dynamic_sections): Fix up call to
2000*ed0d50c3Schristos	elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
2001*ed0d50c3Schristos	the address of .got.loc.
2002*ed0d50c3Schristos	(relax_property_section): Shrink .got.loc to match changes in any
2003*ed0d50c3Schristos	literal table section.
2004*ed0d50c3Schristos	(xtensa_is_property_section): Change to match
2005*ed0d50c3Schristos	xtensa_get_property_section_name.
2006*ed0d50c3Schristos	(xtensa_is_littable_section): New.
2007*ed0d50c3Schristos
2008*ed0d50c3Schristos2003-07-10  H.J. Lu <hongjiu.lu@intel.com>
2009*ed0d50c3Schristos
2010*ed0d50c3Schristos	* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
2011*ed0d50c3Schristos	-1LL.
2012*ed0d50c3Schristos
2013*ed0d50c3Schristos2003-07-10  Alan Modra  <amodra@bigpond.net.au>
2014*ed0d50c3Schristos
2015*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
2016*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
2017*ed0d50c3Schristos	Run "make dep-am".
2018*ed0d50c3Schristos	* Makefile.in: Regenerate.
2019*ed0d50c3Schristos
2020*ed0d50c3Schristos2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
2021*ed0d50c3Schristos
2022*ed0d50c3Schristos	2001-09-12  Alexandre Oliva  <aoliva@redhat.com>
2023*ed0d50c3Schristos	* elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
2024*ed0d50c3Schristos	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
2025*ed0d50c3Schristos	2001-06-02  Nick Clifton  <nickc@cambridge.redhat.com>
2026*ed0d50c3Schristos	* elf32-am33lin.c: Rename global functions.
2027*ed0d50c3Schristos	2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
2028*ed0d50c3Schristos	* config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
2029*ed0d50c3Schristos	* configure.in (bfd_elf32_am33lin_vec): Added.
2030*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
2031*ed0d50c3Schristos	(elf32-am33lin.lo): List dependencies.
2032*ed0d50c3Schristos	* aclocal.m4, configure, Makefile.in: Rebuilt.
2033*ed0d50c3Schristos	* elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
2034*ed0d50c3Schristos	ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
2035*ed0d50c3Schristos	ELF_ARCH was not defined before.
2036*ed0d50c3Schristos	(elf_symbol_leading_char): Define if not defined.
2037*ed0d50c3Schristos	* elf32-am33lin.c: Override the definitions above.
2038*ed0d50c3Schristos	* targets.c (bfd_elf32_am33lin_vec): New.
2039*ed0d50c3Schristos
2040*ed0d50c3Schristos2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2041*ed0d50c3Schristos
2042*ed0d50c3Schristos	2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
2043*ed0d50c3Schristos	* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
2044*ed0d50c3Schristos	pcrel_relocs_copied.
2045*ed0d50c3Schristos	2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
2046*ed0d50c3Schristos	* elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
2047*ed0d50c3Schristos	ld-linux.so.2 to ld.so.1.
2048*ed0d50c3Schristos	2001-10-10  Alexandre Oliva  <aoliva@redhat.com>
2049*ed0d50c3Schristos	* elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
2050*ed0d50c3Schristos	(_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
2051*ed0d50c3Schristos	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
2052*ed0d50c3Schristos	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
2053*ed0d50c3Schristos	.rela.* section contents with bfd_zalloc.
2054*ed0d50c3Schristos	2001-09-25  Alexandre Oliva  <aoliva@redhat.com>
2055*ed0d50c3Schristos	* elf-m10300.c: Added declarations for functions missing them.
2056*ed0d50c3Schristos	Merge some shared-library changes from the i386 back-end.  Use
2057*ed0d50c3Schristos	R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
2058*ed0d50c3Schristos	R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
2059*ed0d50c3Schristos	(struct elf32_mn10300_link_hash_entry): Remove duplicates of
2060*ed0d50c3Schristos	members of elf_link_hash_entry.  Adjusted references.
2061*ed0d50c3Schristos	(mn10300_elf_final_link_relocate): dynobj was already loaded
2062*ed0d50c3Schristos	into a local variable, use it.
2063*ed0d50c3Schristos	2001-09-21  Nick Clifton  <nickc@cambridge.redhat.com>
2064*ed0d50c3Schristos	* elf-m10300.c: Add missing function prototypes.
2065*ed0d50c3Schristos	2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
2066*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relocate_section): Don't compute
2067*ed0d50c3Schristos	relocation for dynamic relocations.
2068*ed0d50c3Schristos	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
2069*ed0d50c3Schristos	* reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
2070*ed0d50c3Schristos	* elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
2071*ed0d50c3Schristos	PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
2072*ed0d50c3Schristos	(_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
2073*ed0d50c3Schristos	(_bfd_mn10300_elf_create_got_section): ... here, so that its
2074*ed0d50c3Schristos	adress is already known at the time we compute relaxations.
2075*ed0d50c3Schristos	(mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
2076*ed0d50c3Schristos	and PLT32 to narrower relocations.
2077*ed0d50c3Schristos	* libbfd.h, bfd-in2.h: Rebuilt.
2078*ed0d50c3Schristos	2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
2079*ed0d50c3Schristos	* reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
2080*ed0d50c3Schristos	BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
2081*ed0d50c3Schristos	BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
2082*ed0d50c3Schristos	BFD_RELOC_MN10300_RELATIVE): New relocs.
2083*ed0d50c3Schristos	* libbfd.h, bfd-in2.h: Rebuilt.
2084*ed0d50c3Schristos	* elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
2085*ed0d50c3Schristos	(struct elf32_mn10300_link_hash_entry): Added DSO-related
2086*ed0d50c3Schristos	fields.
2087*ed0d50c3Schristos	(elf_mn10300_howto): Defined new relocation types.
2088*ed0d50c3Schristos	(mn10300_reloc_map): Map them.
2089*ed0d50c3Schristos	(_bfd_mn10300_elf_create_got_section): New fn.
2090*ed0d50c3Schristos	(mn10300_elf_check_relocs): Handle PIC relocs.
2091*ed0d50c3Schristos	(mn10300_elf_final_link_relocate): Likewise.
2092*ed0d50c3Schristos	(mn10300_elf_relocate_section): Handle DSOs.
2093*ed0d50c3Schristos	(PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
2094*ed0d50c3Schristos	(elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
2095*ed0d50c3Schristos	elf_mn10300_pic_plt_entry): New.
2096*ed0d50c3Schristos	(elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
2097*ed0d50c3Schristos	elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
2098*ed0d50c3Schristos	elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
2099*ed0d50c3Schristos	elf_mn10300_plt_reloc_offset: New macros.
2100*ed0d50c3Schristos	(ELF_DYNAMIC_INTERPRETER): Likewise.
2101*ed0d50c3Schristos	(_bfd_mn10300_elf_create_dynamic_sections): New function.
2102*ed0d50c3Schristos	(_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
2103*ed0d50c3Schristos	(_bfd_mn10300_elf_discard_copies): Likewise.
2104*ed0d50c3Schristos	(_bfd_mn10300_elf_size_dynamic_sections): Likewise.
2105*ed0d50c3Schristos	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
2106*ed0d50c3Schristos	(_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
2107*ed0d50c3Schristos	(elf_backend_can_gc_sections,
2108*ed0d50c3Schristos	elf_backend_create_dynamic_sections,
2109*ed0d50c3Schristos	elf_backend_adjust_dynamic_sections,
2110*ed0d50c3Schristos	elf_backend_size_dynamic_sections,
2111*ed0d50c3Schristos	elf_backend_finish_dynamic_symbol,
2112*ed0d50c3Schristos	elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
2113*ed0d50c3Schristos	elf_backend_plt_readonly, elf_backend_want_plt_sym,
2114*ed0d50c3Schristos	elf_backend_got_header_size, elf_backend_plt_header_size): New
2115*ed0d50c3Schristos	macros.
2116*ed0d50c3Schristos
2117*ed0d50c3Schristos2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2118*ed0d50c3Schristos
2119*ed0d50c3Schristos	2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
2120*ed0d50c3Schristos	* elf-m10300.c (compute_function_info): Account for AM33
2121*ed0d50c3Schristos	registers in `movm' when computing stack space for `call' when
2122*ed0d50c3Schristos	linking for AM33/2.0 link.
2123*ed0d50c3Schristos	2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>
2124*ed0d50c3Schristos	* archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
2125*ed0d50c3Schristos	* bfd-in2.h: Rebuilt.
2126*ed0d50c3Schristos	* cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
2127*ed0d50c3Schristos	* elf-m10300.c: Updated.
2128*ed0d50c3Schristos	2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>
2129*ed0d50c3Schristos	* archures.c (bfd_mach_am332): Defined.
2130*ed0d50c3Schristos	* bfd-in2.h: Rebuilt.
2131*ed0d50c3Schristos	* cpu-m10300.c (bfd_am332_arch): Defined.
2132*ed0d50c3Schristos	(bfd_am33_arch): Chained with am33-2.
2133*ed0d50c3Schristos	* elf-m10300.c (elf_mn10300_mach): Handle am332.
2134*ed0d50c3Schristos	(_bfd_mn10300_elf_final_write_processing): Likewise.
2135*ed0d50c3Schristos
2136*ed0d50c3Schristos2003-07-09  H.J. Lu <hongjiu.lu@intel.com>
2137*ed0d50c3Schristos
2138*ed0d50c3Schristos	* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
2139*ed0d50c3Schristos
2140*ed0d50c3Schristos2003-07-10  Alan Modra  <amodra@bigpond.net.au>
2141*ed0d50c3Schristos
2142*ed0d50c3Schristos	* elf64-ppc.c (bfd_elf64_mkobject): Define.
2143*ed0d50c3Schristos	(struct ppc64_elf_obj_tdata): New.
2144*ed0d50c3Schristos	(ppc64_elf_tdata, ppc64_tlsld_got): Define.
2145*ed0d50c3Schristos	(ppc64_elf_mkobject): New function.
2146*ed0d50c3Schristos	(struct got_entry): Add "owner".  Move "tls_type".
2147*ed0d50c3Schristos	(struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
2148*ed0d50c3Schristos	(ppc64_elf_init_stub_bfd): New function.
2149*ed0d50c3Schristos	(create_got_section): Create header .got in dynobj.  Create .got
2150*ed0d50c3Schristos	and .rela.got in each bfd.  Stash pointers in ppc64_elf_obj_tdata.
2151*ed0d50c3Schristos	(ppc64_elf_create_dynamic_sections): Don't call create_got_section.
2152*ed0d50c3Schristos	Look for dynobj .got, and test it.
2153*ed0d50c3Schristos	(ppc64_elf_copy_indirect_symbol): Adjust for changed got.
2154*ed0d50c3Schristos	(update_local_sym_info): Likewise.
2155*ed0d50c3Schristos	(ppc64_elf_check_relocs): Likewise.
2156*ed0d50c3Schristos	(ppc64_elf_gc_sweep_hook): Likewise.
2157*ed0d50c3Schristos	(ppc64_elf_tls_optimize): Likewise.
2158*ed0d50c3Schristos	(allocate_dynrelocs): Likewise.
2159*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Likewise.
2160*ed0d50c3Schristos	(ppc64_elf_relocate_section): Likewise.
2161*ed0d50c3Schristos	(ppc64_elf_next_toc_section): Update comment.
2162*ed0d50c3Schristos	(toc_adjusting_stub_needed): Remove unneeded cast.
2163*ed0d50c3Schristos	(ppc64_elf_build_stubs): Check for stub sections in stub bfd by
2164*ed0d50c3Schristos	testing section flags.
2165*ed0d50c3Schristos	(ppc64_elf_build_stubs): Likewise.
2166*ed0d50c3Schristos	(ppc64_elf_size_stubs): Likewise.  Remove stub_bfd param.
2167*ed0d50c3Schristos	(ppc64_elf_finish_dynamic_sections): Write out got sections.
2168*ed0d50c3Schristos	(func_desc_adjust): Copy over dynamic info for undef weaks.
2169*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
2170*ed0d50c3Schristos	(ppc64_elf_size_stubs): Update prototype.
2171*ed0d50c3Schristos	* elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
2172*ed0d50c3Schristos	input sections rather than scanning dynobj.
2173*ed0d50c3Schristos
2174*ed0d50c3Schristos2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2175*ed0d50c3Schristos
2176*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
2177*ed0d50c3Schristos	(bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
2178*ed0d50c3Schristos	(mips_elf_create_msym_section): Delete.
2179*ed0d50c3Schristos	(mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
2180*ed0d50c3Schristos	(_bfd_mips_elf_copy_indirect_symbol): Likewise.
2181*ed0d50c3Schristos	(_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
2182*ed0d50c3Schristos	(_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
2183*ed0d50c3Schristos	(_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
2184*ed0d50c3Schristos	(_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
2185*ed0d50c3Schristos	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
2186*ed0d50c3Schristos
2187*ed0d50c3Schristos2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2188*ed0d50c3Schristos
2189*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
2190*ed0d50c3Schristos	symbols protected.
2191*ed0d50c3Schristos
2192*ed0d50c3Schristos2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2193*ed0d50c3Schristos
2194*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
2195*ed0d50c3Schristos	of relocations whose offset is -2.
2196*ed0d50c3Schristos
2197*ed0d50c3Schristos2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2198*ed0d50c3Schristos
2199*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
2200*ed0d50c3Schristos	forced-local symbols like other locals.  Don't create relocations
2201*ed0d50c3Schristos	against STN_UNDEF in irix objects.
2202*ed0d50c3Schristos
2203*ed0d50c3Schristos2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2204*ed0d50c3Schristos
2205*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
2206*ed0d50c3Schristos	compatible objects, add the values of defined external symbols
2207*ed0d50c3Schristos	to the addend.
2208*ed0d50c3Schristos
2209*ed0d50c3Schristos2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
2210*ed0d50c3Schristos
2211*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
2212*ed0d50c3Schristos	initialize a GOT entry to the symbol's st_value.
2213*ed0d50c3Schristos
2214*ed0d50c3Schristos2003-07-08  Alan Modra  <amodra@bigpond.net.au>
2215*ed0d50c3Schristos
2216*ed0d50c3Schristos	* elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
2217*ed0d50c3Schristos	* elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here.  New.
2218*ed0d50c3Schristos	(ppc_elf_tdata): Define.
2219*ed0d50c3Schristos	(elf_local_ptr_offsets): Adjust.
2220*ed0d50c3Schristos	(ppc_elf_mkobject): New function.
2221*ed0d50c3Schristos	(bfd_elf32_mkobject): Define.
2222*ed0d50c3Schristos
2223*ed0d50c3Schristos	* elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
2224*ed0d50c3Schristos	* elfcore.h (elf_core_file_p): Likewise.
2225*ed0d50c3Schristos	* section.c (bfd_section_init): Remove prototype.
2226*ed0d50c3Schristos
2227*ed0d50c3Schristos2003-07-08  Alan Modra  <amodra@bigpond.net.au>
2228*ed0d50c3Schristos
2229*ed0d50c3Schristos	* elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
2230*ed0d50c3Schristos	field.
2231*ed0d50c3Schristos	(enum elf_linker_section_enum): Delete.
2232*ed0d50c3Schristos	(struct elf_linker_section): Delete.
2233*ed0d50c3Schristos	(struct elf_linker_section_pointers): Delete.
2234*ed0d50c3Schristos	(struct elf_obj_tdata): Remove #if 0 chunk.  Remove linker_section.
2235*ed0d50c3Schristos	Make linker_section_pointers a void**.
2236*ed0d50c3Schristos	(elf_local_ptr_offsets, elf_linker_section): Don't define.
2237*ed0d50c3Schristos	* elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
2238*ed0d50c3Schristos	of old item in elf-bfd.h.
2239*ed0d50c3Schristos	(struct elf_linker_section): Likewise.
2240*ed0d50c3Schristos	(struct elf_linker_section_pointers): Likewise.
2241*ed0d50c3Schristos	(elf_local_ptr_offsets): Define.
2242*ed0d50c3Schristos	(struct ppc_elf_link_hash_entry): Add linker_section_pointer.
2243*ed0d50c3Schristos	(ppc_elf_link_hash_newfunc): Init it.
2244*ed0d50c3Schristos	(struct ppc_elf_link_hash_table): Add sbss.
2245*ed0d50c3Schristos	(ppc_elf_link_hash_table_create): zmalloc rather than clearing
2246*ed0d50c3Schristos	individual fields.
2247*ed0d50c3Schristos	(elf_create_linker_section): Fold into..
2248*ed0d50c3Schristos	(ppc_elf_create_linker_section): ..here.  Remove hole_size code.
2249*ed0d50c3Schristos	Make rela section here if shared.
2250*ed0d50c3Schristos	(elf_find_pointer_linker_section): Pass lsect rather than enum.
2251*ed0d50c3Schristos	(elf_create_pointer_linker_section): Adjust.  zalloc rather than
2252*ed0d50c3Schristos	clearing in a loop.
2253*ed0d50c3Schristos	(elf_finish_pointer_linker_section): Adjust.  Don't make rela
2254*ed0d50c3Schristos	section here.
2255*ed0d50c3Schristos	(ppc_elf_check_relocs): Adjust.
2256*ed0d50c3Schristos	(ppc_elf_add_symbol_hook): Tighten hash creator test.  Remove code
2257*ed0d50c3Schristos	creating .sbss by hand.
2258*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_newfunc): Adjust.
2259*ed0d50c3Schristos
2260*ed0d50c3Schristos2003-07-04  Jakub Jelinek  <jakub@redhat.com>
2261*ed0d50c3Schristos
2262*ed0d50c3Schristos	* elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
2263*ed0d50c3Schristos	complain_overflow_bitfield.
2264*ed0d50c3Schristos	* elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
2265*ed0d50c3Schristos	complain_overflow_bitfield.
2266*ed0d50c3Schristos
2267*ed0d50c3Schristos2003-07-04  Jakub Jelinek  <jakub@redhat.com>
2268*ed0d50c3Schristos
2269*ed0d50c3Schristos	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
2270*ed0d50c3Schristos	true even if -pie.
2271*ed0d50c3Schristos
2272*ed0d50c3Schristos2003-07-04  Jakub Jelinek  <jakub@redhat.com>
2273*ed0d50c3Schristos
2274*ed0d50c3Schristos	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
2275*ed0d50c3Schristos	(elfNN_ia64_dynamic_symbol_p): Change info->shared into
2276*ed0d50c3Schristos	!info->executable.
2277*ed0d50c3Schristos	(get_fptr): For -pie create .opd as writable section and create
2278*ed0d50c3Schristos	.rela.opd as well.
2279*ed0d50c3Schristos	(elfNN_ia64_check_relocs): Change info->shared into
2280*ed0d50c3Schristos	!info->executable.
2281*ed0d50c3Schristos	(allocate_fptr): Likewise.
2282*ed0d50c3Schristos	(allocate_dynrel_entries): Account for a relative reloc for -pie
2283*ed0d50c3Schristos	@fptr().  Don't account for a relative reloc if -pie want_ltoff_fptr
2284*ed0d50c3Schristos	for undefweak symbol.  Account for an IPLT reloc in .rela.opd
2285*ed0d50c3Schristos	section if -pie.
2286*ed0d50c3Schristos	(set_got_entry): Don't create a relative reloc if -pie
2287*ed0d50c3Schristos	want_ltoff_fptr for undefweak symbol.
2288*ed0d50c3Schristos	(set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
2289*ed0d50c3Schristos	(elfNN_ia64_relocate_section): Emit a relative reloc for -pie
2290*ed0d50c3Schristos	@fptr().
2291*ed0d50c3Schristos
2292*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
2293*ed0d50c3Schristos	even if -pie.
2294*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Likewise.
2295*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2296*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2297*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
2298*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2299*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
2300*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2301*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
2302*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2303*ed0d50c3Schristos
2304*ed0d50c3Schristos2003-07-04  Paul Clarke <paulc@senet.com.au>
2305*ed0d50c3Schristos
2306*ed0d50c3Schristos	* elf32-h8300.c (R_H8_DIR32A16): Fix name field.
2307*ed0d50c3Schristos	(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
2308*ed0d50c3Schristos	<R_H8_DIR32A16>: Fix type of relocation.
2309*ed0d50c3Schristos
2310*ed0d50c3Schristos2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2311*ed0d50c3Schristos
2312*ed0d50c3Schristos	* elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
2313*ed0d50c3Schristos	sections were created already.  Remove unnecessary tests of
2314*ed0d50c3Schristos	the previous change.
2315*ed0d50c3Schristos
2316*ed0d50c3Schristos2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2317*ed0d50c3Schristos
2318*ed0d50c3Schristos	* elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
2319*ed0d50c3Schristos	bfd_make_section for existing sections.
2320*ed0d50c3Schristos
2321*ed0d50c3Schristos2003-07-04  Alan Modra  <amodra@bigpond.net.au>
2322*ed0d50c3Schristos
2323*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_check_relocs): Don't call
2324*ed0d50c3Schristos	create_got_section if we already have done so.
2325*ed0d50c3Schristos	* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
2326*ed0d50c3Schristos	(sh_elf_check_relocs): Likewise.
2327*ed0d50c3Schristos	(sh_elf_adjust_dynamic_symbol): Delete "dynobj" var.  Use
2328*ed0d50c3Schristos	htab->root.dynobj instead.
2329*ed0d50c3Schristos	(sh_elf_check_relocs): Likewise.
2330*ed0d50c3Schristos	(sh_elf_finish_dynamic_sections): Likewise.
2331*ed0d50c3Schristos
2332*ed0d50c3Schristos	* section.c (bfd_make_section): Return NULL for existing section.
2333*ed0d50c3Schristos
2334*ed0d50c3Schristos2003-07-04  Alan Modra  <amodra@bigpond.net.au>
2335*ed0d50c3Schristos
2336*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
2337*ed0d50c3Schristos	ppc_elf_create_got if we've already done so.
2338*ed0d50c3Schristos
2339*ed0d50c3Schristos	* elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
2340*ed0d50c3Schristos	(_bfd_elf_find_pointer_linker_section): Likewise.
2341*ed0d50c3Schristos	(bfd_elf32_create_pointer_linker_section): Likewise.
2342*ed0d50c3Schristos	(bfd_elf32_finish_pointer_linker_section): Likewise.
2343*ed0d50c3Schristos	(bfd_elf64_create_pointer_linker_section): Likewise.
2344*ed0d50c3Schristos	(bfd_elf64_finish_pointer_linker_section): Likewise.
2345*ed0d50c3Schristos	(_bfd_elf_make_linker_section_rela): Likewise.
2346*ed0d50c3Schristos	* elfcode.h (elf_create_pointer_linker_section): Don't define.
2347*ed0d50c3Schristos	(elf_finish_pointer_linker_section): Likewise.
2348*ed0d50c3Schristos	* elflink.c (_bfd_elf_make_linker_section_rela): Delete.
2349*ed0d50c3Schristos	(_bfd_elf_create_linker_section): Move this function..
2350*ed0d50c3Schristos	(_bfd_elf_find_pointer_linker_section): ..and this..
2351*ed0d50c3Schristos	* elflink.h (elf_create_pointer_linker_section): ..and this..
2352*ed0d50c3Schristos	(elf_finish_pointer_linker_section): ..and this..
2353*ed0d50c3Schristos	* elf32-ppc.c: ..to here, renaming to the following, and adjusting
2354*ed0d50c3Schristos	calls.
2355*ed0d50c3Schristos	(elf_create_linker_section): Convert to C90, tidy.
2356*ed0d50c3Schristos	(elf_find_pointer_linker_section): Likewise.
2357*ed0d50c3Schristos	(elf_create_pointer_linker_section): Likewise.
2358*ed0d50c3Schristos	(elf_finish_pointer_linker_section): Likewise.
2359*ed0d50c3Schristos	* elf32-i370.c: Delete #if 0 code.
2360*ed0d50c3Schristos
2361*ed0d50c3Schristos2003-07-02  Alan Modra  <amodra@bigpond.net.au>
2362*ed0d50c3Schristos
2363*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
2364*ed0d50c3Schristos	_restf* to be satisfied by shared libs, and always force them local.
2365*ed0d50c3Schristos	(toc_adjusting_stub_needed): Avoid scanning linker created sections.
2366*ed0d50c3Schristos	Correct test for "bl".
2367*ed0d50c3Schristos	(ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
2368*ed0d50c3Schristos	primary opcode 31.
2369*ed0d50c3Schristos
2370*ed0d50c3Schristos2003-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2371*ed0d50c3Schristos
2372*ed0d50c3Schristos	* elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
2373*ed0d50c3Schristos	(s390_tls_reloc): New function.
2374*ed0d50c3Schristos	(elf_howto_table): Add long displacement relocations R_390_20,
2375*ed0d50c3Schristos	R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
2376*ed0d50c3Schristos	(elf_s390_reloc_type_lookup): Likewise.
2377*ed0d50c3Schristos	(elf_s390_check_relocs): Likewise.
2378*ed0d50c3Schristos	(elf_s390_gc_sweep_hook): Likewise.
2379*ed0d50c3Schristos	(elf_s390_relocate_section): Likewise.
2380*ed0d50c3Schristos	* elf64-s390.c: Same changes as for elf32-s390.c.
2381*ed0d50c3Schristos	* reloc.c: Add long displacement relocations BFD_RELOC_390_20,
2382*ed0d50c3Schristos	BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
2383*ed0d50c3Schristos	BFD_RELOC_390_TLS_GOTIE20.
2384*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2385*ed0d50c3Schristos	* libbfd.h: Likewise.
2386*ed0d50c3Schristos
2387*ed0d50c3Schristos2003-06-30  Alan Modra  <amodra@bigpond.net.au>
2388*ed0d50c3Schristos
2389*ed0d50c3Schristos	* cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
2390*ed0d50c3Schristos	(ins_imms, ins_immsm1u4): Likewise.  Warning fix.
2391*ed0d50c3Schristos
2392*ed0d50c3Schristos2003-06-29  Alan Modra  <amodra@bigpond.net.au>
2393*ed0d50c3Schristos
2394*ed0d50c3Schristos	* archive.c: Convert to C90, remove unnecessary prototypes and casts.
2395*ed0d50c3Schristos	Replace PTR with void *.  Formatting.
2396*ed0d50c3Schristos	* archive64.c: Likewise.
2397*ed0d50c3Schristos	* archures.c: Likewise.
2398*ed0d50c3Schristos	* bfd-in.h: Likewise.
2399*ed0d50c3Schristos	* bfd.c: Likewise.
2400*ed0d50c3Schristos	* bfdio.c: Likewise.
2401*ed0d50c3Schristos	* bfdwin.c: Likewise.
2402*ed0d50c3Schristos	* cache.c: Likewise.
2403*ed0d50c3Schristos	* corefile.c: Likewise.
2404*ed0d50c3Schristos	* format.c: Likewise.
2405*ed0d50c3Schristos	* init.c: Likewise.
2406*ed0d50c3Schristos	* libbfd-in.h: Likewise.
2407*ed0d50c3Schristos	* libbfd.c: Likewise.
2408*ed0d50c3Schristos	* linker.c: Likewise.
2409*ed0d50c3Schristos	* opncls.c: Likewise.
2410*ed0d50c3Schristos	* reloc.c: Likewise.
2411*ed0d50c3Schristos	* section.c: Likewise.
2412*ed0d50c3Schristos	* simple.c: Likewise.
2413*ed0d50c3Schristos	* syms.c: Likewise.
2414*ed0d50c3Schristos	* targets.c: Likewise.
2415*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2416*ed0d50c3Schristos	* libbfd.h: Regenerate.
2417*ed0d50c3Schristos
2418*ed0d50c3Schristos	* ecoff.c (bfd_debug_section): Add missing kept_section initialization.
2419*ed0d50c3Schristos	* libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
2420*ed0d50c3Schristos	* libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
2421*ed0d50c3Schristos	(bfd_getb64): Rewrite without parens.
2422*ed0d50c3Schristos	(bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
2423*ed0d50c3Schristos	* cache.c (insert, snip): Remove INLINE.
2424*ed0d50c3Schristos	* linker.c (bfd_link_add_undef): Likewise.
2425*ed0d50c3Schristos
2426*ed0d50c3Schristos2003-06-29  Andreas Jaeger  <aj@suse.de>
2427*ed0d50c3Schristos
2428*ed0d50c3Schristos	* elf64-x86-64.c: Convert to ISO C90 prototypes, remove
2429*ed0d50c3Schristos	unnecessary prototypes.  Replace PTR with void *.
2430*ed0d50c3Schristos	(elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
2431*ed0d50c3Schristos	trim plt entries.  Move undefweak non-default visibility test ...
2432*ed0d50c3Schristos	(allocate_dynrelocs): ... from here.
2433*ed0d50c3Schristos	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
2434*ed0d50c3Schristos	Change all callers.
2435*ed0d50c3Schristos	(allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.  Use
2436*ed0d50c3Schristos	SYMBOL_REFERENCES_LOCAL for dynreloc check.
2437*ed0d50c3Schristos	(elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
2438*ed0d50c3Schristos	dynreloc and .got relocs.
2439*ed0d50c3Schristos	(elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
2440*ed0d50c3Schristos	for .got relocs.
2441*ed0d50c3Schristos
2442*ed0d50c3Schristos2003-06-29  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2443*ed0d50c3Schristos
2444*ed0d50c3Schristos	* elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
2445*ed0d50c3Schristos
2446*ed0d50c3Schristos2003-06-27  Nick Clifton  <nickc@redhat.com>
2447*ed0d50c3Schristos
2448*ed0d50c3Schristos	* opncls.c (bfd_add_gnu_debuglink_section): Rename to
2449*ed0d50c3Schristos	bfd_add_gnu_debuglink_section and only create the section, do not
2450*ed0d50c3Schristos	fill in its contents.
2451*ed0d50c3Schristos	(bfd_fill_in_gnu_debuglink_section): New function.  Fill in the
2452*ed0d50c3Schristos	contents of a .gnu-debuglink section.
2453*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2454*ed0d50c3Schristos
2455*ed0d50c3Schristos2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2456*ed0d50c3Schristos
2457*ed0d50c3Schristos	* elfxx-mips.c: Revert .got alignment to 2**4.
2458*ed0d50c3Schristos
2459*ed0d50c3Schristos2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2460*ed0d50c3Schristos
2461*ed0d50c3Schristos	* elf32-mips.c: Fix addend for _gp_disp special symbol.
2462*ed0d50c3Schristos
2463*ed0d50c3Schristos2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2464*ed0d50c3Schristos
2465*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
2466*ed0d50c3Schristos	relocation header setup.
2467*ed0d50c3Schristos
2468*ed0d50c3Schristos2003-06-25  Alan Modra  <amodra@bigpond.net.au>
2469*ed0d50c3Schristos
2470*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
2471*ed0d50c3Schristos	(ppc_elf_reloc_type_lookup): Modify comment.
2472*ed0d50c3Schristos	(ppc_elf_info_to_howto): Ditto.
2473*ed0d50c3Schristos	(ppc_elf_relocate_section): Ditto.
2474*ed0d50c3Schristos	(ppc_elf_check_relocs): Call ppc_elf_howto_init.
2475*ed0d50c3Schristos
2476*ed0d50c3Schristos2003-06-25  Alan Modra  <amodra@bigpond.net.au>
2477*ed0d50c3Schristos
2478*ed0d50c3Schristos	* aout-ns32k.c: Correct spelling of "relocatable".
2479*ed0d50c3Schristos	* aoutx.h: Likewise.
2480*ed0d50c3Schristos	* bfd-in.h: Likewise.
2481*ed0d50c3Schristos	* bfd.c: Likewise.
2482*ed0d50c3Schristos	* bout.c: Likewise.
2483*ed0d50c3Schristos	* coff-a29k.c: Likewise.
2484*ed0d50c3Schristos	* coff-alpha.c: Likewise.
2485*ed0d50c3Schristos	* coff-arm.c: Likewise.
2486*ed0d50c3Schristos	* coff-i386.c: Likewise.
2487*ed0d50c3Schristos	* coff-i860.c: Likewise.
2488*ed0d50c3Schristos	* coff-i960.c: Likewise.
2489*ed0d50c3Schristos	* coff-m68k.c: Likewise.
2490*ed0d50c3Schristos	* coff-m88k.c: Likewise.
2491*ed0d50c3Schristos	* coff-mcore.c: Likewise.
2492*ed0d50c3Schristos	* coff-mips.c: Likewise.
2493*ed0d50c3Schristos	* coff-or32.c: Likewise.
2494*ed0d50c3Schristos	* coff-ppc.c: Likewise.
2495*ed0d50c3Schristos	* coff-rs6000.c: Likewise.
2496*ed0d50c3Schristos	* coff-sh.c: Likewise.
2497*ed0d50c3Schristos	* coff-tic80.c: Likewise.
2498*ed0d50c3Schristos	* coff64-rs6000.c: Likewise.
2499*ed0d50c3Schristos	* cofflink.c: Likewise.
2500*ed0d50c3Schristos	* cpu-ns32k.c: Likewise.
2501*ed0d50c3Schristos	* ecoff.c: Likewise.
2502*ed0d50c3Schristos	* ecofflink.c: Likewise.
2503*ed0d50c3Schristos	* elf-bfd.h: Likewise.
2504*ed0d50c3Schristos	* elf-eh-frame.c: Likewise.
2505*ed0d50c3Schristos	* elf-hppa.h: Likewise.
2506*ed0d50c3Schristos	* elf-m10200.c: Likewise.
2507*ed0d50c3Schristos	* elf-m10300.c: Likewise.
2508*ed0d50c3Schristos	* elf.c: Likewise.
2509*ed0d50c3Schristos	* elf32-arm.h: Likewise.
2510*ed0d50c3Schristos	* elf32-avr.c: Likewise.
2511*ed0d50c3Schristos	* elf32-cris.c: Likewise.
2512*ed0d50c3Schristos	* elf32-d10v.c: Likewise.
2513*ed0d50c3Schristos	* elf32-dlx.c: Likewise.
2514*ed0d50c3Schristos	* elf32-fr30.c: Likewise.
2515*ed0d50c3Schristos	* elf32-frv.c: Likewise.
2516*ed0d50c3Schristos	* elf32-h8300.c: Likewise.
2517*ed0d50c3Schristos	* elf32-hppa.c: Likewise.
2518*ed0d50c3Schristos	* elf32-i370.c: Likewise.
2519*ed0d50c3Schristos	* elf32-i386.c: Likewise.
2520*ed0d50c3Schristos	* elf32-i860.c: Likewise.
2521*ed0d50c3Schristos	* elf32-i960.c: Likewise.
2522*ed0d50c3Schristos	* elf32-ip2k.c: Likewise.
2523*ed0d50c3Schristos	* elf32-iq2000.c: Likewise.
2524*ed0d50c3Schristos	* elf32-m32r.c: Likewise.
2525*ed0d50c3Schristos	* elf32-m68hc11.c: Likewise.
2526*ed0d50c3Schristos	* elf32-m68hc1x.c: Likewise.
2527*ed0d50c3Schristos	* elf32-m68k.c: Likewise.
2528*ed0d50c3Schristos	* elf32-mcore.c: Likewise.
2529*ed0d50c3Schristos	* elf32-mips.c: Likewise.
2530*ed0d50c3Schristos	* elf32-msp430.c: Likewise.
2531*ed0d50c3Schristos	* elf32-openrisc.c: Likewise.
2532*ed0d50c3Schristos	* elf32-ppc.c: Likewise.
2533*ed0d50c3Schristos	* elf32-s390.c: Likewise.
2534*ed0d50c3Schristos	* elf32-sh.c: Likewise.
2535*ed0d50c3Schristos	* elf32-sh64.c: Likewise.
2536*ed0d50c3Schristos	* elf32-sparc.c: Likewise.
2537*ed0d50c3Schristos	* elf32-v850.c: Likewise.
2538*ed0d50c3Schristos	* elf32-vax.c: Likewise.
2539*ed0d50c3Schristos	* elf32-xstormy16.c: Likewise.
2540*ed0d50c3Schristos	* elf32-xtensa.c: Likewise.
2541*ed0d50c3Schristos	* elf64-alpha.c: Likewise.
2542*ed0d50c3Schristos	* elf64-hppa.c: Likewise.
2543*ed0d50c3Schristos	* elf64-mips.c: Likewise.
2544*ed0d50c3Schristos	* elf64-mmix.c: Likewise.
2545*ed0d50c3Schristos	* elf64-ppc.c: Likewise.
2546*ed0d50c3Schristos	* elf64-s390.c: Likewise.
2547*ed0d50c3Schristos	* elf64-sh64.c: Likewise.
2548*ed0d50c3Schristos	* elf64-sparc.c: Likewise.
2549*ed0d50c3Schristos	* elf64-x86-64.c: Likewise.
2550*ed0d50c3Schristos	* elfcode.h: Likewise.
2551*ed0d50c3Schristos	* elflink.h: Likewise.
2552*ed0d50c3Schristos	* elfn32-mips.c: Likewise.
2553*ed0d50c3Schristos	* elfxx-ia64.c: Likewise.
2554*ed0d50c3Schristos	* elfxx-mips.c: Likewise.
2555*ed0d50c3Schristos	* i386linux.c: Likewise.
2556*ed0d50c3Schristos	* ieee.c: Likewise.
2557*ed0d50c3Schristos	* libcoff-in.h: Likewise.
2558*ed0d50c3Schristos	* linker.c: Likewise.
2559*ed0d50c3Schristos	* m68klinux.c: Likewise.
2560*ed0d50c3Schristos	* pdp11.c: Likewise.
2561*ed0d50c3Schristos	* pe-mips.c: Likewise.
2562*ed0d50c3Schristos	* peXXigen.c: Likewise.
2563*ed0d50c3Schristos	* reloc.c: Likewise.
2564*ed0d50c3Schristos	* reloc16.c: Likewise.
2565*ed0d50c3Schristos	* sparclinux.c: Likewise.
2566*ed0d50c3Schristos	* sunos.c: Likewise.
2567*ed0d50c3Schristos	* syms.c: Likewise.
2568*ed0d50c3Schristos	* versados.c: Likewise.
2569*ed0d50c3Schristos	* vms.c: Likewise.
2570*ed0d50c3Schristos	* xcofflink.c: Likewise.
2571*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2572*ed0d50c3Schristos	* libcoff.h: Regenerate.
2573*ed0d50c3Schristos	* libbfd.h: Regenerate.
2574*ed0d50c3Schristos
2575*ed0d50c3Schristos2003-06-24  Alan Modra  <amodra@bigpond.net.au>
2576*ed0d50c3Schristos
2577*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
2578*ed0d50c3Schristos	local sym errors.
2579*ed0d50c3Schristos
2580*ed0d50c3Schristos	* elf32-i386.c: Convert to C90 function definitions, remove unnecessary
2581*ed0d50c3Schristos	prototypes and casts.  Replace PTR with void *.  Formatting.
2582*ed0d50c3Schristos	* elf32-ppc.c: Likewise.  Break long strings too.
2583*ed0d50c3Schristos	(ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
2584*ed0d50c3Schristos	(ppc_elf_unhandled_reloc): Internationalize error message.
2585*ed0d50c3Schristos	* elf32-ppc.h: Remove PARAMS.
2586*ed0d50c3Schristos
2587*ed0d50c3Schristos2003-06-23  Mark Mitchell  <mark@codesourcery.com>
2588*ed0d50c3Schristos
2589*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
2590*ed0d50c3Schristos	APUinfo slots.
2591*ed0d50c3Schristos	(ppc_elf_final_write_processing): Likewise.
2592*ed0d50c3Schristos
2593*ed0d50c3Schristos2003-06-23  H.J. Lu <hongjiu.lu@intel.com>
2594*ed0d50c3Schristos
2595*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd): Check raw size when using
2596*ed0d50c3Schristos	kept_section to preserve debug information discarded by
2597*ed0d50c3Schristos	linkonce.
2598*ed0d50c3Schristos
2599*ed0d50c3Schristos2003-06-20  Alan Modra  <amodra@bigpond.net.au>
2600*ed0d50c3Schristos
2601*ed0d50c3Schristos	* elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
2602*ed0d50c3Schristos	(ppc64_elf_setup_section_lists): Set it.
2603*ed0d50c3Schristos	(ppc64_elf_relocate_section): Check sym section id against top_id.
2604*ed0d50c3Schristos	(ppc_build_one_stub): Comment on top_id.
2605*ed0d50c3Schristos
2606*ed0d50c3Schristos2003-06-20  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
2607*ed0d50c3Schristos
2608*ed0d50c3Schristos	* config.bfd: Add tic4x-*-rtems*.
2609*ed0d50c3Schristos
2610*ed0d50c3Schristos2003-06-20  Alan Modra  <amodra@bigpond.net.au>
2611*ed0d50c3Schristos
2612*ed0d50c3Schristos	* elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
2613*ed0d50c3Schristos	prototypes and casts.  Replace PTR with void *.  Format copyright.
2614*ed0d50c3Schristos	Mention ABI links.
2615*ed0d50c3Schristos	(struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
2616*ed0d50c3Schristos	sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
2617*ed0d50c3Schristos	(ppc_type_of_stub): Make r_type an enum.
2618*ed0d50c3Schristos	(ppc64_elf_size_stubs): Likewise.
2619*ed0d50c3Schristos	* elf64-ppc.h: Remove PARAMS macro.
2620*ed0d50c3Schristos
2621*ed0d50c3Schristos2003-06-19  Alan Modra  <amodra@bigpond.net.au>
2622*ed0d50c3Schristos
2623*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
2624*ed0d50c3Schristos	elf hash tab fields.
2625*ed0d50c3Schristos
2626*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
2627*ed0d50c3Schristos	(ppc64_elf_info_to_howto): Likewise.
2628*ed0d50c3Schristos	(ppc64_elf_build_stubs): Add "stats" param, and print statistics.
2629*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
2630*ed0d50c3Schristos
2631*ed0d50c3Schristos2003-06-19  Alan Modra  <amodra@bigpond.net.au>
2632*ed0d50c3Schristos
2633*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
2634*ed0d50c3Schristos	reloc overflow on discarded eh_frame entries.
2635*ed0d50c3Schristos
2636*ed0d50c3Schristos2003-06-19  Alan Modra  <amodra@bigpond.net.au>
2637*ed0d50c3Schristos
2638*ed0d50c3Schristos	* elf64-ppc.c (toc_adjusting_stub_needed): New function.
2639*ed0d50c3Schristos	(ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
2640*ed0d50c3Schristos	Return error condition.
2641*ed0d50c3Schristos	(ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
2642*ed0d50c3Schristos	that have has_gp_reloc set.
2643*ed0d50c3Schristos	(struct ppc_link_hash_table): Add stub_count.
2644*ed0d50c3Schristos	(ppc_build_one_stub): Increment it.
2645*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): zmalloc rather than clearing
2646*ed0d50c3Schristos	individual fields.
2647*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
2648*ed0d50c3Schristos
2649*ed0d50c3Schristos2003-06-18  Alan Modra  <amodra@bigpond.net.au>
2650*ed0d50c3Schristos
2651*ed0d50c3Schristos	* elflink.h (elf_gc_record_vtentry): Revert last change.  Correct
2652*ed0d50c3Schristos	size calculation from addend.  Round size up.
2653*ed0d50c3Schristos
2654*ed0d50c3Schristos2003-06-18  Hans-Peter Nilsson  <hp@axis.com>
2655*ed0d50c3Schristos
2656*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section) <case
2657*ed0d50c3Schristos	R_CRIS_32_GOTREL>: When linking a program, don't complain about a
2658*ed0d50c3Schristos	symbol from a normal object or an undefined weak symbol.
2659*ed0d50c3Schristos
2660*ed0d50c3Schristos2003-06-18  Alan Modra  <amodra@bigpond.net.au>
2661*ed0d50c3Schristos
2662*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
2663*ed0d50c3Schristos	R_PPC64_TOC relocs.
2664*ed0d50c3Schristos
2665*ed0d50c3Schristos2003-06-17  H.J. Lu <hongjiu.lu@intel.com>
2666*ed0d50c3Schristos
2667*ed0d50c3Schristos	* section.c (struct sec): Put back kept_section.
2668*ed0d50c3Schristos	(STD_SECTION): Put back kept_section initialization.
2669*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2670*ed0d50c3Schristos
2671*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd): Also check discarded linkonce
2672*ed0d50c3Schristos	sections for relocateable output. Use kept_section to preserve
2673*ed0d50c3Schristos	debug information discarded by linkonce.
2674*ed0d50c3Schristos
2675*ed0d50c3Schristos2003-06-17  Roland McGrath  <roland@redhat.com>
2676*ed0d50c3Schristos
2677*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Support
2678*ed0d50c3Schristos	segment-relative relocation between different segments.
2679*ed0d50c3Schristos
2680*ed0d50c3Schristos2003-06-17  Alan Modra  <amodra@bigpond.net.au>
2681*ed0d50c3Schristos
2682*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
2683*ed0d50c3Schristos	optimizations earlier.
2684*ed0d50c3Schristos
2685*ed0d50c3Schristos	* elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
2686*ed0d50c3Schristos	Restore previous input_list type.
2687*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Undo last change.
2688*ed0d50c3Schristos	(ppc64_elf_setup_section_lists): Reinstate code setting up input lists
2689*ed0d50c3Schristos	per output section, but don't bother with bfd_abs_section marker.
2690*ed0d50c3Schristos	(ppc64_elf_next_input_section): Adjust for multiple input section
2691*ed0d50c3Schristos	lists.
2692*ed0d50c3Schristos	(group_sections): Likewise.
2693*ed0d50c3Schristos
2694*ed0d50c3Schristos2003-06-17  Jakub Jelinek  <jakub@redhat.com>
2695*ed0d50c3Schristos
2696*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocation_section): Ensure
2697*ed0d50c3Schristos	*r_offset == r_addend for RELATIVE relocs against .got.
2698*ed0d50c3Schristos
2699*ed0d50c3Schristos2003-06-17  Alan Modra  <amodra@bigpond.net.au>
2700*ed0d50c3Schristos
2701*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
2702*ed0d50c3Schristos
2703*ed0d50c3Schristos2003-06-17  Nick Clifton  <nickc@redhat.com>
2704*ed0d50c3Schristos
2705*ed0d50c3Schristos	* elflink.h (elf_gc_record_vtentry): Allocate an extra element
2706*ed0d50c3Schristos	in the vtable_entries_used array to allow for the accessing
2707*ed0d50c3Schristos	the largest element.
2708*ed0d50c3Schristos
2709*ed0d50c3Schristos2003-06-17  Alan Modra  <amodra@bigpond.net.au>
2710*ed0d50c3Schristos
2711*ed0d50c3Schristos	* elf64-ppc.c (struct ppc_link_hash_table): Remove top_index.  Modify
2712*ed0d50c3Schristos	input_list.
2713*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Init input_list here.
2714*ed0d50c3Schristos	(ppc64_elf_setup_section_lists): Remove code setting up input lists
2715*ed0d50c3Schristos	per output section.  Set toc_off for abs and other standard sections.
2716*ed0d50c3Schristos	(ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
2717*ed0d50c3Schristos	(ppc64_elf_next_input_section): Adjust for single input section list.
2718*ed0d50c3Schristos	Don't set toc_curr from input bfds that haven't set elf_gp.
2719*ed0d50c3Schristos	(group_sections): Adjust for single input section list.
2720*ed0d50c3Schristos
2721*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
2722*ed0d50c3Schristos
2723*ed0d50c3Schristos2003-06-16  Alan Modra  <amodra@bigpond.net.au>
2724*ed0d50c3Schristos
2725*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
2726*ed0d50c3Schristos	tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
2727*ed0d50c3Schristos	dtprel entry.  Ensure TLS_LD DTPMOD reloc has a zero addend.  Write
2728*ed0d50c3Schristos	got section for RELATIVE relocs.  Fix wrong comment.  Change condition
2729*ed0d50c3Schristos	under which dynamic relocs update the section contents.
2730*ed0d50c3Schristos
2731*ed0d50c3Schristos2003-06-13  Robert Millan  <zeratul2@wanadoo.es>
2732*ed0d50c3Schristos
2733*ed0d50c3Schristos	* config.bfd: Add i386-netbsd-gnu target.
2734*ed0d50c3Schristos
2735*ed0d50c3Schristos2003-06-12  Nick Clifton  <nickc@redhat.com>
2736*ed0d50c3Schristos
2737*ed0d50c3Schristos	* opncls.c (calc_crc32): Rename to
2738*ed0d50c3Schristos	bfd_calc_gnu_debuglink_crc32 and export.
2739*ed0d50c3Schristos	(GNU_DEBUGLINK): Define and use to replace occurrences of
2740*ed0d50c3Schristos	hard-coded ".gnu_debuglink" in the code.
2741*ed0d50c3Schristos	(get_debug_link_info): Prevent aborts by replacing call to
2742*ed0d50c3Schristos	xmalloc with a call to malloc.
2743*ed0d50c3Schristos	(find_separate_debug_file): Prevent aborts by replacing calls
2744*ed0d50c3Schristos	to xmalloc and xstrdup with calls to malloc and strdup.
2745*ed0d50c3Schristos	(bfd_add_gnu_debuglink): New function.  Add a .gnu_debuglink
2746*ed0d50c3Schristos	section to a bfd.
2747*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2748*ed0d50c3Schristos
2749*ed0d50c3Schristos2003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
2750*ed0d50c3Schristos
2751*ed0d50c3Schristos	* config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
2752*ed0d50c3Schristos	New target (was i[3-7]86-*-openbsd* before).
2753*ed0d50c3Schristos	(i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
2754*ed0d50c3Schristos	(vax-*-openbsd*): New target.
2755*ed0d50c3Schristos
2756*ed0d50c3Schristos2003-06-11  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2757*ed0d50c3Schristos
2758*ed0d50c3Schristos	* elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
2759*ed0d50c3Schristos	for n32, too.
2760*ed0d50c3Schristos	(MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
2761*ed0d50c3Schristos	(mips_elf_rel_dyn_section): Use appropriate section alignment.
2762*ed0d50c3Schristos	(mips_elf_create_got_section): Likewise.
2763*ed0d50c3Schristos	(_bfd_mips_elf_create_dynamic_sections): Likewise.
2764*ed0d50c3Schristos
2765*ed0d50c3Schristos2003-06-11  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2766*ed0d50c3Schristos
2767*ed0d50c3Schristos	* elf32-mips.c (mips_elf_generic_reloc): New Function.
2768*ed0d50c3Schristos	(elf_mips_howto_table_rel): Use it.
2769*ed0d50c3Schristos	(gprel32_with_gp): Move prototype.
2770*ed0d50c3Schristos	(mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
2771*ed0d50c3Schristos	Use mips_elf_generic_reloc.
2772*ed0d50c3Schristos	(mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
2773*ed0d50c3Schristos	Code cleanup.
2774*ed0d50c3Schristos	(_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
2775*ed0d50c3Schristos	zero addend.
2776*ed0d50c3Schristos	(mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
2777*ed0d50c3Schristos	as in the other *_gprel*_reloc functions.
2778*ed0d50c3Schristos	(gprel32_with_gp): Handle partial_inplace properly.
2779*ed0d50c3Schristos	(mips32_64bit_reloc): Use mips_elf_generic_reloc.
2780*ed0d50c3Schristos	(mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
2781*ed0d50c3Schristos	Do addend handling directly instead of calling
2782*ed0d50c3Schristos	_bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
2783*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
2784*ed0d50c3Schristos	of zero addend. Handle partial_inplace properly.
2785*ed0d50c3Schristos	(mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
2786*ed0d50c3Schristos	addend.
2787*ed0d50c3Schristos	(mips_elf64_gprel16_reloc): Likewise.
2788*ed0d50c3Schristos	(mips_elf64_literal_reloc): Likewise.
2789*ed0d50c3Schristos	(mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
2790*ed0d50c3Schristos	logic as in the other *_gprel*_reloc functions. Handle
2791*ed0d50c3Schristos	partial_inplace properly.
2792*ed0d50c3Schristos	(mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
2793*ed0d50c3Schristos	addend. Handle partial_inplace properly.
2794*ed0d50c3Schristos	(mips16_gprel_reloc): Likewise. Do addend handling directly instead
2795*ed0d50c3Schristos	of calling _bfd_mips_elf_gprel16_with_gp.
2796*ed0d50c3Schristos	* elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
2797*ed0d50c3Schristos	(mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
2798*ed0d50c3Schristos	of zero addend.
2799*ed0d50c3Schristos	(mips_elf_shift6_reloc): Handle partial_inplace properly.
2800*ed0d50c3Schristos	(mips16_gprel_reloc): Likewise. Do addend handling directly instead
2801*ed0d50c3Schristos	of calling _bfd_mips_elf_gprel16_with_gp.
2802*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
2803*ed0d50c3Schristos	partial_inplace properly. Fix wrong addend handling. Fix overflow
2804*ed0d50c3Schristos	check.
2805*ed0d50c3Schristos	(_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
2806*ed0d50c3Schristos	exported.
2807*ed0d50c3Schristos	(mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
2808*ed0d50c3Schristos	(_bfd_mips_elf_relocate_section): Likewise.
2809*ed0d50c3Schristos	(mips_elf_create_dynamic_relocation): Update sec_info_type access.
2810*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
2811*ed0d50c3Schristos	(_bfd_mips_elf_sign_extend): New prototype.
2812*ed0d50c3Schristos
2813*ed0d50c3Schristos2003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
2814*ed0d50c3Schristos
2815*ed0d50c3Schristos	* config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
2816*ed0d50c3Schristos	New target (was sparc-*-openbsd* before).
2817*ed0d50c3Schristos	(sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
2818*ed0d50c3Schristos
2819*ed0d50c3Schristos	* configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
2820*ed0d50c3Schristos	* configure: Regenerate.
2821*ed0d50c3Schristos
2822*ed0d50c3Schristos2003-06-11  H.J. Lu <hongjiu.lu@intel.com>
2823*ed0d50c3Schristos
2824*ed0d50c3Schristos	* po/Make-in (DESTDIR): New.
2825*ed0d50c3Schristos	(install-data-yes): Support $(DESTDIR).
2826*ed0d50c3Schristos	(uninstall): Likewise.
2827*ed0d50c3Schristos
2828*ed0d50c3Schristos2003-06-11  Alan Modra  <amodra@bigpond.net.au>
2829*ed0d50c3Schristos
2830*ed0d50c3Schristos	* Makefile.am (config.status): Depend on version.h.
2831*ed0d50c3Schristos	Run "make dep-am".
2832*ed0d50c3Schristos	* Makefile.in: Regenerate.
2833*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
2834*ed0d50c3Schristos
2835*ed0d50c3Schristos2003-06-10  Alan Modra  <amodra@bigpond.net.au>
2836*ed0d50c3Schristos	    Gary Hade <garyhade@us.ibm.com>
2837*ed0d50c3Schristos
2838*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
2839*ed0d50c3Schristos
2840*ed0d50c3Schristos2003-06-10  Richard Sandiford  <rsandifo@redhat.com>
2841*ed0d50c3Schristos
2842*ed0d50c3Schristos	* archures.c (bfd_mach_h8300sxn): New architecture.
2843*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2844*ed0d50c3Schristos	* cpu-h8300.c (h8300_scan): Check for 'sxn'.
2845*ed0d50c3Schristos	(h8300sxn_info_struct): New.
2846*ed0d50c3Schristos	(h8300sx_info_struct): Link to it.
2847*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
2848*ed0d50c3Schristos	(elf32_h8_final_write_processing): Likewise.
2849*ed0d50c3Schristos
2850*ed0d50c3Schristos2003-06-08  Alan Modra  <amodra@bigpond.net.au>
2851*ed0d50c3Schristos
2852*ed0d50c3Schristos	* elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
2853*ed0d50c3Schristos	elfxx-target.h so that we can use elf_backend_got_header_size.
2854*ed0d50c3Schristos	(ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
2855*ed0d50c3Schristos	(GLINK_CALL_STUB_SIZE): Modify.  Define new glink call stub and
2856*ed0d50c3Schristos	associated macros.
2857*ed0d50c3Schristos	(ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
2858*ed0d50c3Schristos	dst_mask.
2859*ed0d50c3Schristos	(enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
2860*ed0d50c3Schristos	ppc_stub_plt_branch_r2off.
2861*ed0d50c3Schristos	(struct ppc_stub_hash_entry): Reorganize.
2862*ed0d50c3Schristos	(struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
2863*ed0d50c3Schristos	toc_curr, toc_off and emit_stub_syms.
2864*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Init them.
2865*ed0d50c3Schristos	(ppc_stub_name): Correct string size.
2866*ed0d50c3Schristos	(ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
2867*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
2868*ed0d50c3Schristos	used.
2869*ed0d50c3Schristos	(ppc_type_of_stub): Tweak root.type test.
2870*ed0d50c3Schristos	(build_plt_stub): Remove glink code.  Adjust for insn macro changes.
2871*ed0d50c3Schristos	(ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
2872*ed0d50c3Schristos	ppc_stub_plt_branch_r2off.
2873*ed0d50c3Schristos	(ppc_build_one_stub): Likewise.  Fix var shadowing.  Correct addis,addi
2874*ed0d50c3Schristos	range test.  Use toc_off to calculte r2 values.  Handle emit_stub_syms.
2875*ed0d50c3Schristos	(ppc64_elf_setup_section_lists): Remove htab creator flavour test.
2876*ed0d50c3Schristos	Initialize elf_gp and toc_curr.
2877*ed0d50c3Schristos	(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
2878*ed0d50c3Schristos	(ppc64_elf_next_input_section): Set toc_off.
2879*ed0d50c3Schristos	(group_sections): Ensure groups have the same TOC.
2880*ed0d50c3Schristos	(ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
2881*ed0d50c3Schristos	(ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
2882*ed0d50c3Schristos	Build new glink stub.
2883*ed0d50c3Schristos	(ppc64_elf_relocate_section): Handle multiple TOCs.  Fix comments.
2884*ed0d50c3Schristos	(ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
2885*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
2886*ed0d50c3Schristos	(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
2887*ed0d50c3Schristos	* section.c (struct sec): Rename flag12 to has_gp_reloc.
2888*ed0d50c3Schristos	(STD_SECTION): Update.
2889*ed0d50c3Schristos	* ecoff.c (bfd_debug_section): Update comment.
2890*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2891*ed0d50c3Schristos
2892*ed0d50c3Schristos2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
2893*ed0d50c3Schristos
2894*ed0d50c3Schristos	* elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
2895*ed0d50c3Schristos	NULL function pointers.
2896*ed0d50c3Schristos
2897*ed0d50c3Schristos2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
2898*ed0d50c3Schristos
2899*ed0d50c3Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Call
2900*ed0d50c3Schristos	_bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
2901*ed0d50c3Schristos
2902*ed0d50c3Schristos2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
2903*ed0d50c3Schristos
2904*ed0d50c3Schristos	* coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
2905*ed0d50c3Schristos	ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
2906*ed0d50c3Schristos	swaptables.
2907*ed0d50c3Schristos	* coff-tic4x.c: Ditto
2908*ed0d50c3Schristos	* coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
2909*ed0d50c3Schristos	and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
2910*ed0d50c3Schristos	CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
2911*ed0d50c3Schristos	ticoff1_bad_format_hook() functions. Created the coff0 and coff1
2912*ed0d50c3Schristos	swap tables.
2913*ed0d50c3Schristos	* coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
2914*ed0d50c3Schristos	* coff-a29k.c: Append COFF_SWAP_TABLE argument
2915*ed0d50c3Schristos	* coff-apollo.c: Ditto
2916*ed0d50c3Schristos	* coff-arm.c: Ditto
2917*ed0d50c3Schristos	* coff-h8300.c: Ditto
2918*ed0d50c3Schristos	* coff-h8500.c: Ditto
2919*ed0d50c3Schristos	* coff-i960.c: Ditto
2920*ed0d50c3Schristos	* coff-m68k.c: Ditto
2921*ed0d50c3Schristos	* coff-m88k.c: Ditto
2922*ed0d50c3Schristos	* coff-mcore.c: Ditto
2923*ed0d50c3Schristos	* coff-sh.c: Ditto
2924*ed0d50c3Schristos	* coff-sparc.c: Ditto
2925*ed0d50c3Schristos	* coff-tic80.c: Ditto
2926*ed0d50c3Schristos	* coff-we32k.c: Ditto
2927*ed0d50c3Schristos	* coff-z8k.c: Ditto
2928*ed0d50c3Schristos	* coff-w65.c: Ditto
2929*ed0d50c3Schristos
2930*ed0d50c3Schristos2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
2931*ed0d50c3Schristos
2932*ed0d50c3Schristos	* coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
2933*ed0d50c3Schristos	initialization bug
2934*ed0d50c3Schristos
2935*ed0d50c3Schristos2003-06-03  Jakub Jelinek  <jakub@redhat.com>
2936*ed0d50c3Schristos
2937*ed0d50c3Schristos	* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
2938*ed0d50c3Schristos	(bfd_section_from_phdr): Likewise.
2939*ed0d50c3Schristos	(map_sections_to_segments): Create PT_GNU_STACK segment header.
2940*ed0d50c3Schristos	(get_program_header_size): Count with PT_GNU_STACK.
2941*ed0d50c3Schristos	* elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
2942*ed0d50c3Schristos	* elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
2943*ed0d50c3Schristos
2944*ed0d50c3Schristos2003-06-03  H.J. Lu <hongjiu.lu@intel.com>
2945*ed0d50c3Schristos
2946*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd): Call linker error_handler
2947*ed0d50c3Schristos	for discarded definitions.
2948*ed0d50c3Schristos
2949*ed0d50c3Schristos2003-06-03  Elias Athanasopoulos  <elathan@phys.uoa.gr>
2950*ed0d50c3Schristos
2951*ed0d50c3Schristos	* syms.c (decode_section_type): Return 'n' if section flags are
2952*ed0d50c3Schristos	SEC_HAS_CONTENTS && SEC_READONLY.
2953*ed0d50c3Schristos
2954*ed0d50c3Schristos2003-06-03  Nick Clifton  <nickc@redhat.com>
2955*ed0d50c3Schristos
2956*ed0d50c3Schristos	* elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
2957*ed0d50c3Schristos	R_V850_ABS32.  Add entry for R_V850_REL32.
2958*ed0d50c3Schristos	(v850_elf_reloc_map): Likewise.
2959*ed0d50c3Schristos	(v850_elf_check_relocs): Likewise.
2960*ed0d50c3Schristos	(v850_elf_perform_relocation): Likewise.
2961*ed0d50c3Schristos	(v850_elf_final_link_relocate): Likewise.  Include computation
2962*ed0d50c3Schristos	to make R_V850_REl32 pc-relative.
2963*ed0d50c3Schristos
2964*ed0d50c3Schristos2003-06-03  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2965*ed0d50c3Schristos
2966*ed0d50c3Schristos	* elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
2967*ed0d50c3Schristos	and DT_DEBUG dynamic tag even for position independent executables.
2968*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
2969*ed0d50c3Schristos
2970*ed0d50c3Schristos2003-06-02  Daniel Jacobowitz  <drow@mvista.com>
2971*ed0d50c3Schristos
2972*ed0d50c3Schristos	* config.bfd: Move obsolete entries out of the range of the
2973*ed0d50c3Schristos	targmatch sed script.
2974*ed0d50c3Schristos
2975*ed0d50c3Schristos2003-06-02  Daniel Jacobowitz  <drow@mvista.com>
2976*ed0d50c3Schristos
2977*ed0d50c3Schristos	* config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
2978*ed0d50c3Schristos
2979*ed0d50c3Schristos2003-05-31  Jakub Jelinek  <jakub@redhat.com>
2980*ed0d50c3Schristos
2981*ed0d50c3Schristos	* elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
2982*ed0d50c3Schristos	plt entries, not just 8191.
2983*ed0d50c3Schristos
2984*ed0d50c3Schristos2003-05-30  Daniel Jacobowitz  <drow@mvista.com>
2985*ed0d50c3Schristos
2986*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
2987*ed0d50c3Schristos	Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
2988*ed0d50c3Schristos
2989*ed0d50c3Schristos2003-05-30  Ulrich Drepper  <drepper@redhat.com>
2990*ed0d50c3Schristos	    Jakub Jelinek  <jakub@redhat.com>
2991*ed0d50c3Schristos
2992*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Use !info->executable
2993*ed0d50c3Schristos	instead of info->shared where appropriate.
2994*ed0d50c3Schristos	(bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
2995*ed0d50c3Schristos	* elflink.c (_bfd_elf_create_got_section): Likewise.
2996*ed0d50c3Schristos	(_bfd_elf_link_create_dynamic_sections): Likewise.
2997*ed0d50c3Schristos	(_bfd_elf_link_assign_sym_version): Likewise.
2998*ed0d50c3Schristos	* elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
2999*ed0d50c3Schristos	and DT_DEBUG dynamic tag even for position independent executables.
3000*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
3001*ed0d50c3Schristos	* elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
3002*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
3003*ed0d50c3Schristos	* elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
3004*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
3005*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
3006*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
3007*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
3008*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
3009*ed0d50c3Schristos
3010*ed0d50c3Schristos2003-05-30  Kris Warkentin <kewarken@qnx.com>
3011*ed0d50c3Schristos
3012*ed0d50c3Schristos	* elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
3013*ed0d50c3Schristos	signalled thread.
3014*ed0d50c3Schristos	(elfcore_grok_nto_gregs): Only make .reg section for the active thread.
3015*ed0d50c3Schristos
3016*ed0d50c3Schristos2003-05-29  Nick Clifton  <nickc@redhat.com>
3017*ed0d50c3Schristos
3018*ed0d50c3Schristos	* pef.c: Include "safe-ctype.h" instead of <ctype.h>.
3019*ed0d50c3Schristos	Tidy up formatting.
3020*ed0d50c3Schristos	* Makefile.am: Add dependency on safe-ctype.h.
3021*ed0d50c3Schristos	* Makefile.in: Regenerate.
3022*ed0d50c3Schristos
3023*ed0d50c3Schristos2003-05-29  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3024*ed0d50c3Schristos
3025*ed0d50c3Schristos	* elfxx-mips.c: Don't force symbols local unconditionally.
3026*ed0d50c3Schristos
3027*ed0d50c3Schristos2003-05-28  Alan Modra  <amodra@bigpond.net.au>
3028*ed0d50c3Schristos
3029*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
3030*ed0d50c3Schristos	undefined_symbol call.
3031*ed0d50c3Schristos
3032*ed0d50c3Schristos2003-05-27  Richard Sandiford  <rsandifo@redhat.com>
3033*ed0d50c3Schristos
3034*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
3035*ed0d50c3Schristos	(mips_elf_link_hash_table): Likewise.
3036*ed0d50c3Schristos
3037*ed0d50c3Schristos2003-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3038*ed0d50c3Schristos
3039*ed0d50c3Schristos	* elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
3040*ed0d50c3Schristos	R_MIPS_GNU_REL16_S2 support.
3041*ed0d50c3Schristos	(bfd_elf64_bfd_reloc_type_lookup): Use it.
3042*ed0d50c3Schristos	(mips_elf64_rtype_to_howto): Use it.
3043*ed0d50c3Schristos	* elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
3044*ed0d50c3Schristos	R_MIPS_GNU_REL16_S2 support.
3045*ed0d50c3Schristos	(bfd_elf32_bfd_reloc_type_lookup): Use it.
3046*ed0d50c3Schristos	(mips_elf_n32_rtype_to_howto): Use it.
3047*ed0d50c3Schristos
3048*ed0d50c3Schristos2003-05-21  Stuart F. Downing  <sdowning@fame.com>
3049*ed0d50c3Schristos
3050*ed0d50c3Schristos	* som.h: Define PA_2_0 before including a.out.h
3051*ed0d50c3Schristos
3052*ed0d50c3Schristos2003-05-07  Eric Christopher  <echristo@redhat.com>
3053*ed0d50c3Schristos	    Alexandre Oliva   <aoliva@redhat.com>
3054*ed0d50c3Schristos
3055*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
3056*ed0d50c3Schristos	pic tests, change to warning.
3057*ed0d50c3Schristos	(_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
3058*ed0d50c3Schristos
3059*ed0d50c3Schristos2003-05-21  Marcus Comstedt  <marcus@mc.pp.se>
3060*ed0d50c3Schristos
3061*ed0d50c3Schristos	* config.bfd: Check for a target triplet of shl-...-netbsdelf as
3062*ed0d50c3Schristos	well as shle-...-netbsdelf.  Remove duplicate entry.
3063*ed0d50c3Schristos
3064*ed0d50c3Schristos2003-05-21  Nick Clifton  <nickc@redhat.com>
3065*ed0d50c3Schristos
3066*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
3067*ed0d50c3Schristos	for X_STORMY16_REL_12 reloc.
3068*ed0d50c3Schristos
3069*ed0d50c3Schristos	* elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
3070*ed0d50c3Schristos	the type of the hash table in the bfd_link_info structure.
3071*ed0d50c3Schristos	(bfd_elf_get_runpath_list): Likewise.
3072*ed0d50c3Schristos
3073*ed0d50c3Schristos2003-05-19  Roland McGrath  <roland@redhat.com>
3074*ed0d50c3Schristos
3075*ed0d50c3Schristos	* elf.c (bfd_elf_bfd_from_remote_memory): New function.
3076*ed0d50c3Schristos	* bfd-in.h: Declare it.
3077*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
3078*ed0d50c3Schristos	* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
3079*ed0d50c3Schristos	* elf-bfd.h (struct elf_backend_data): New function pointer member
3080*ed0d50c3Schristos	elf_backend_bfd_from_remote_memory.
3081*ed0d50c3Schristos	(_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
3082*ed0d50c3Schristos	Declare them.
3083*ed0d50c3Schristos	* elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
3084*ed0d50c3Schristos	(elfNN_bed): Add that to the initializer.
3085*ed0d50c3Schristos
3086*ed0d50c3Schristos2003-05-15  Roland McGrath  <roland@redhat.com>
3087*ed0d50c3Schristos
3088*ed0d50c3Schristos	* elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
3089*ed0d50c3Schristos
3090*ed0d50c3Schristos2003-05-20  Jakub Jelinek  <jakub@redhat.com>
3091*ed0d50c3Schristos
3092*ed0d50c3Schristos	* elflink.h (elf_link_output_extsym): Only issue error about !=
3093*ed0d50c3Schristos	STV_DEFAULT symbols if they are bfd_link_hash_undefined.
3094*ed0d50c3Schristos
3095*ed0d50c3Schristos2003-05-20  H.J. Lu <hongjiu.lu@intel.com>
3096*ed0d50c3Schristos
3097*ed0d50c3Schristos	* elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
3098*ed0d50c3Schristos	when removing the old definition for symbols with non-default
3099*ed0d50c3Schristos	visibility.
3100*ed0d50c3Schristos
3101*ed0d50c3Schristos2003-05-18  Jason Eckhardt  <jle@rice.edu>
3102*ed0d50c3Schristos
3103*ed0d50c3Schristos	* elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
3104*ed0d50c3Schristos
3105*ed0d50c3Schristos2003-05-17  Andreas Schwab  <schwab@suse.de>
3106*ed0d50c3Schristos
3107*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
3108*ed0d50c3Schristos	elf_section_data during processing of pc-relative and absolute
3109*ed0d50c3Schristos	relocations.
3110*ed0d50c3Schristos	(elf_m68k_relocate_section): Use the cached reloc section instead
3111*ed0d50c3Schristos	of computing it again.  Fix handling of visibility.  Don't modify
3112*ed0d50c3Schristos	addend when copying over a relocation into the output.
3113*ed0d50c3Schristos
3114*ed0d50c3Schristos2003-05-17  Alan Modra  <amodra@bigpond.net.au>
3115*ed0d50c3Schristos
3116*ed0d50c3Schristos	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
3117*ed0d50c3Schristos	to trim plt entries.  Move undefweak non-default visibility test..
3118*ed0d50c3Schristos	(allocate_dynrelocs): ..from here.
3119*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
3120*ed0d50c3Schristos	dynamic_sections_created here.  Update comment.  Move undefweak
3121*ed0d50c3Schristos	non-default visibility test..
3122*ed0d50c3Schristos	(allocate_dynrelocs): ..from here.  Fix comment.
3123*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
3124*ed0d50c3Schristos	to trim plt entries.  Move undefweak non-default visibility test..
3125*ed0d50c3Schristos	(allocate_dynrelocs): ..from here.  Fix comment.
3126*ed0d50c3Schristos	* elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
3127*ed0d50c3Schristos	STV_DEFAULT rather than comparing with zero.
3128*ed0d50c3Schristos	* elflink.c (_bfd_elf_merge_symbol): Likewise.
3129*ed0d50c3Schristos	(_bfd_elf_fix_symbol_flags): Likewise.  Format comment.
3130*ed0d50c3Schristos
3131*ed0d50c3Schristos2003-05-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3132*ed0d50c3Schristos
3133*ed0d50c3Schristos	* bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
3134*ed0d50c3Schristos	pointers.
3135*ed0d50c3Schristos	(_bfd_set_gp_value): Likewise.
3136*ed0d50c3Schristos
3137*ed0d50c3Schristos2003-05-16  Michael Snyder  <msnyder@redhat.com>
3138*ed0d50c3Schristos	From Bernd Schmidt  <bernds@redhat.com>
3139*ed0d50c3Schristos	* archures.c (bfd_mach_h8300sx): New.
3140*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
3141*ed0d50c3Schristos	* cpu-h8300.c (h8300_scan)): Add support for h8300sx.
3142*ed0d50c3Schristos	(h8300sx_info_struct): New.
3143*ed0d50c3Schristos	(h8300s_info_struct): Link to it.
3144*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
3145*ed0d50c3Schristos	(elf32_h8_final_write_processing): Likewise.
3146*ed0d50c3Schristos	(elf32_h8_relax_section): Likewise.
3147*ed0d50c3Schristos
3148*ed0d50c3Schristos2003-05-16  Kelley Cook  <kelleycook@wideopenwest.com>
3149*ed0d50c3Schristos
3150*ed0d50c3Schristos	* config.bfd: Accept i[3-7]86 variants.
3151*ed0d50c3Schristos	* configure.host: Likewise.
3152*ed0d50c3Schristos	* configure.in: Likewise.
3153*ed0d50c3Schristos	* configure: Regenerate.
3154*ed0d50c3Schristos
3155*ed0d50c3Schristos2003-05-15  H.J. Lu <hongjiu.lu@intel.com>
3156*ed0d50c3Schristos
3157*ed0d50c3Schristos	* elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
3158*ed0d50c3Schristos	symbol.
3159*ed0d50c3Schristos
3160*ed0d50c3Schristos2003-05-15  H.J. Lu <hongjiu.lu@intel.com>
3161*ed0d50c3Schristos
3162*ed0d50c3Schristos	* elflink.h (elf_link_check_versioned_symbol): Also allow
3163*ed0d50c3Schristos	the base version.
3164*ed0d50c3Schristos
3165*ed0d50c3Schristos2003-05-15  Alan Modra  <amodra@bigpond.net.au>
3166*ed0d50c3Schristos	    H.J. Lu <hongjiu.lu@intel.com>
3167*ed0d50c3Schristos
3168*ed0d50c3Schristos	* elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
3169*ed0d50c3Schristos	(elf_i386_relocate_section): Likewise.
3170*ed0d50c3Schristos	* elf32-ppc.c (allocate_dynrelocs): Likewise.
3171*ed0d50c3Schristos	(ppc_elf_relocate_section): Likewise.
3172*ed0d50c3Schristos	* elf64-ppc.c (allocate_dynrelocs): Likewise.
3173*ed0d50c3Schristos	(ppc64_elf_relocate_section): Likewise.
3174*ed0d50c3Schristos
3175*ed0d50c3Schristos2003-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3176*ed0d50c3Schristos
3177*ed0d50c3Schristos	* elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
3178*ed0d50c3Schristos
3179*ed0d50c3Schristos2003-05-13  Stephane Carrez  <stcarrez@nerim.fr>
3180*ed0d50c3Schristos
3181*ed0d50c3Schristos	* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
3182*ed0d50c3Schristos	processor capability, allow merge of HC12 and HCS12 in some cases.
3183*ed0d50c3Schristos	(m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
3184*ed0d50c3Schristos	* cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
3185*ed0d50c3Schristos	(bfd_m68hc12_arch): Link it.
3186*ed0d50c3Schristos	(scan_mach): New function.
3187*ed0d50c3Schristos
3188*ed0d50c3Schristos2003-05-13  Andrew Haley  <aph@redhat.com>
3189*ed0d50c3Schristos
3190*ed0d50c3Schristos	* elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
3191*ed0d50c3Schristos
3192*ed0d50c3Schristos2003-05-13  Alan Modra  <amodra@bigpond.net.au>
3193*ed0d50c3Schristos	    H.J. Lu  <hongjiu.lu@intel.com>
3194*ed0d50c3Schristos
3195*ed0d50c3Schristos	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
3196*ed0d50c3Schristos	elf32-ppc.c.  Add ELF_LINK_FORCED_LOCAL check.
3197*ed0d50c3Schristos	* elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
3198*ed0d50c3Schristos	(allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
3199*ed0d50c3Schristos	(ppc_elf_relocate_section): Likewise.
3200*ed0d50c3Schristos	* elf64-ppc.c (allocate_dynrelocs): Likewise.
3201*ed0d50c3Schristos	(ppc64_elf_relocate_section): Likewise.  Use for .got relocs too.
3202*ed0d50c3Schristos	(ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
3203*ed0d50c3Schristos	relocs need no other types.
3204*ed0d50c3Schristos	* elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
3205*ed0d50c3Schristos	dynreloc check.
3206*ed0d50c3Schristos	(elf_i386_relocate_section): Likewise.  Use for .got relocs too.
3207*ed0d50c3Schristos	(elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
3208*ed0d50c3Schristos	.got relocs.
3209*ed0d50c3Schristos
3210*ed0d50c3Schristos2003-05-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3211*ed0d50c3Schristos
3212*ed0d50c3Schristos	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
3213*ed0d50c3Schristos	copy ELF_LINK_NON_GOT_REF from weakdef.
3214*ed0d50c3Schristos	(allocate_dynrelocs): For undef weak syms with non-default
3215*ed0d50c3Schristos	visibility, a) don't allocate plt entries, b) don't allocate
3216*ed0d50c3Schristos	.got relocs, c) discard dyn rel space
3217*ed0d50c3Schristos	(sh_elf_relocate_section): d) don't generate .got relocs, e)
3218*ed0d50c3Schristos	don't generate dynamic relocs.
3219*ed0d50c3Schristos	(sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
3220*ed0d50c3Schristos	for weakdefs when symbol already adjusted.
3221*ed0d50c3Schristos
3222*ed0d50c3Schristos2003-05-12  Nick Clifton  <nickc@redhat.com>
3223*ed0d50c3Schristos
3224*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
3225*ed0d50c3Schristos	overflow detection for R_XSTORMY16_16 reloc.
3226*ed0d50c3Schristos
3227*ed0d50c3Schristos2003-05-12  Paul Clarke  <paulc@senet.com.au>
3228*ed0d50c3Schristos
3229*ed0d50c3Schristos	* elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
3230*ed0d50c3Schristos
3231*ed0d50c3Schristos2003-05-11  Jason Eckhardt  <jle@rice.edu>
3232*ed0d50c3Schristos
3233*ed0d50c3Schristos	* elf32-i860.c (elf32_i860_relocate_highadj): Properly
3234*ed0d50c3Schristos	adjust upper bits.
3235*ed0d50c3Schristos	(elf32_i860_relocate_splitn): Obtain upper 5 bits from the
3236*ed0d50c3Schristos	proper place.
3237*ed0d50c3Schristos	(elf32_i860_relocate_pc16): Obtain upper 5 bits from the
3238*ed0d50c3Schristos	proper place.
3239*ed0d50c3Schristos
3240*ed0d50c3Schristos2003-05-11  Andreas Schwab  <schwab@suse.de>
3241*ed0d50c3Schristos
3242*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
3243*ed0d50c3Schristos	complicated tests for unresolvable relocs with a simple direct
3244*ed0d50c3Schristos	scheme using "unresolved_reloc" var.  Report some detail on
3245*ed0d50c3Schristos	bfd_reloc_outofrange and similar errors.
3246*ed0d50c3Schristos
3247*ed0d50c3Schristos2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3248*ed0d50c3Schristos
3249*ed0d50c3Schristos	* elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
3250*ed0d50c3Schristos	Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
3251*ed0d50c3Schristos	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3252*ed0d50c3Schristos	* elf64-s390.c: Likewise.
3253*ed0d50c3Schristos
3254*ed0d50c3Schristos2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3255*ed0d50c3Schristos
3256*ed0d50c3Schristos	* elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
3257*ed0d50c3Schristos	(elf_s390_adjust_dynamic_symbol): For weak symbols, copy
3258*ed0d50c3Schristos	ELF_LINK_NON_GOT_REF from weakdef.
3259*ed0d50c3Schristos	(elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
3260*ed0d50c3Schristos	already been adjusted before treating it specially.
3261*ed0d50c3Schristos	* el64-s390.c: Likwise.
3262*ed0d50c3Schristos
3263*ed0d50c3Schristos2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3264*ed0d50c3Schristos
3265*ed0d50c3Schristos	* elf32-s390.c (allocate_dynrelocs): For undef weak syms with
3266*ed0d50c3Schristos	non-default visibility, a) don't make them dynamic, b) discard
3267*ed0d50c3Schristos	space for dynamic relocs.
3268*ed0d50c3Schristos	(elf_s390_relocate_section): Initialize the GOT entries and skip
3269*ed0d50c3Schristos	R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
3270*ed0d50c3Schristos	symbols with non-default visibility.
3271*ed0d50c3Schristos	* elf64-s390.c: Likewise.
3272*ed0d50c3Schristos
3273*ed0d50c3Schristos2003-05-09  Alan Modra  <amodra@bigpond.net.au>
3274*ed0d50c3Schristos
3275*ed0d50c3Schristos	* cpu-arm.c (arm_check_note): Warning fix.
3276*ed0d50c3Schristos	* elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes.  Arrange
3277*ed0d50c3Schristos	to keep relocs if edited.
3278*ed0d50c3Schristos	(iq2000_elf_print_private_bfd_data): Return TRUE.
3279*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
3280*ed0d50c3Schristos	ELF64_R_SYM.
3281*ed0d50c3Schristos	(elfNN_ia64_relax_ldxmov): Warning fix.
3282*ed0d50c3Schristos	* xtensa-isa.c (xtensa_add_isa): Warning fix.
3283*ed0d50c3Schristos	* xtensa-modules.c (get_num_opcodes): Warning fix.
3284*ed0d50c3Schristos
3285*ed0d50c3Schristos2003-05-09  Andrey Petrov <petrov@netbsd.org>
3286*ed0d50c3Schristos
3287*ed0d50c3Schristos	* elf.c (elf_fake_sections): Use correct cast for sh_name.
3288*ed0d50c3Schristos
3289*ed0d50c3Schristos2003-05-09  Alan Modra  <amodra@bigpond.net.au>
3290*ed0d50c3Schristos
3291*ed0d50c3Schristos	* elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
3292*ed0d50c3Schristos	elflink.h.  Replace LOG_FILE_ALIGN with bed->s->log_file_align.
3293*ed0d50c3Schristos	(_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
3294*ed0d50c3Schristos	(bfd_elf_record_link_assignment): Move from elflink.h.
3295*ed0d50c3Schristos	(_bfd_elf_merge_symbol): Likewise.
3296*ed0d50c3Schristos	(_bfd_elf_add_default_symbol): Likewise.
3297*ed0d50c3Schristos	(_bfd_elf_export_symbol): Likewise.
3298*ed0d50c3Schristos	(_bfd_elf_link_find_version_dependencies): Likewise.
3299*ed0d50c3Schristos	(_bfd_elf_link_assign_sym_version): Likewise.
3300*ed0d50c3Schristos	(_bfd_elf_link_read_relocs): Likewise.
3301*ed0d50c3Schristos	(_bfd_elf_link_size_reloc_section): Likewise.
3302*ed0d50c3Schristos	(_bfd_elf_fix_symbol_flags): Likewise.
3303*ed0d50c3Schristos	(_bfd_elf_adjust_dynamic_symbol): Likewise.
3304*ed0d50c3Schristos	(_bfd_elf_link_sec_merge_syms): Likewise.
3305*ed0d50c3Schristos	(elf_link_read_relocs_from_section): Likewise.  Use bed->s->sizeof_rel
3306*ed0d50c3Schristos	and bed->s->sizeof_rela.
3307*ed0d50c3Schristos	(_bfd_elf_link_output_relocs): Likewise.
3308*ed0d50c3Schristos	* elf-bfd.h (struct elf_size_info): Rename file_align to
3309*ed0d50c3Schristos	log_file_align.
3310*ed0d50c3Schristos	(struct elf_info_failed): Move from elflink.h.
3311*ed0d50c3Schristos	(struct elf_assign_sym_version_info): Likewise.
3312*ed0d50c3Schristos	(struct elf_find_verdep_info): Likewise.
3313*ed0d50c3Schristos	(_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
3314*ed0d50c3Schristos	(_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
3315*ed0d50c3Schristos	_bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
3316*ed0d50c3Schristos	_bfd_elf_link_assign_sym_version,
3317*ed0d50c3Schristos	_bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
3318*ed0d50c3Schristos	_bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
3319*ed0d50c3Schristos	_bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
3320*ed0d50c3Schristos	_bfd_elf_link_sec_merge_syms): Declare.
3321*ed0d50c3Schristos	(bfd_elf32_link_create_dynamic_sections): Don't declare.
3322*ed0d50c3Schristos	(_bfd_elf32_link_read_relocs): Likewise.
3323*ed0d50c3Schristos	(bfd_elf64_link_create_dynamic_sections): Likewise.
3324*ed0d50c3Schristos	(_bfd_elf64_link_read_relocs): Likewise.
3325*ed0d50c3Schristos	* elflink.h: Move lots o' stuff elsewhere.
3326*ed0d50c3Schristos	* bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
3327*ed0d50c3Schristos	(bfd_elf64_record_link_assignment): Likewise.
3328*ed0d50c3Schristos	(bfd_elf_record_link_assignment): Declare.
3329*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
3330*ed0d50c3Schristos	* elfcode.h (elf_link_create_dynamic_sections): Don't declare.
3331*ed0d50c3Schristos	(NAME(_bfd_elf,size_info)): Adjust for log_file_align.
3332*ed0d50c3Schristos	* elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
3333*ed0d50c3Schristos	(assign_file_positions_for_segments): Likewise.
3334*ed0d50c3Schristos	(assign_file_positions_except_relocs): Likewise.
3335*ed0d50c3Schristos	(swap_out_syms, elfcore_write_note): Likewise.
3336*ed0d50c3Schristos	* elf-m10200.c: Adjust for changed function names.
3337*ed0d50c3Schristos	* elf-m10300.c: Likewise.
3338*ed0d50c3Schristos	* elf32-arm.h: Likewise.
3339*ed0d50c3Schristos	* elf32-h8300.c: Likewise.
3340*ed0d50c3Schristos	* elf32-hppa.c: Likewise.
3341*ed0d50c3Schristos	* elf32-ip2k.c: Likewise.
3342*ed0d50c3Schristos	* elf32-m32r.c: Likewise.
3343*ed0d50c3Schristos	* elf32-m68hc11.c: Likewise.
3344*ed0d50c3Schristos	* elf32-m68hc1x.c: Likewise.
3345*ed0d50c3Schristos	* elf32-m68k.c: Likewise.
3346*ed0d50c3Schristos	* elf32-mips.c: Likewise.
3347*ed0d50c3Schristos	* elf32-ppc.c: Likewise.
3348*ed0d50c3Schristos	* elf32-sh.c: Likewise.
3349*ed0d50c3Schristos	* elf32-v850.c: Likewise.
3350*ed0d50c3Schristos	* elf32-xtensa.c: Likewise.
3351*ed0d50c3Schristos	* elf64-alpha.c: Likewise.
3352*ed0d50c3Schristos	* elf64-hppa.c: Likewise.
3353*ed0d50c3Schristos	* elf64-mmix.c: Likewise.
3354*ed0d50c3Schristos	* elf64-ppc.c: Likewise.
3355*ed0d50c3Schristos	* elf64-sh64.c: Likewise.
3356*ed0d50c3Schristos	* elfxx-ia64.c: Likewise.
3357*ed0d50c3Schristos	* elfxx-mips.c: Likewise.
3358*ed0d50c3Schristos	(MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
3359*ed0d50c3Schristos	* elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
3360*ed0d50c3Schristos	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
3361*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_size_info): Likewise.
3362*ed0d50c3Schristos	* elf64-s390.c (s390_elf64_size_info): Likewise.
3363*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
3364*ed0d50c3Schristos
3365*ed0d50c3Schristos2003-05-08  H.J. Lu <hongjiu.lu@intel.com>
3366*ed0d50c3Schristos
3367*ed0d50c3Schristos	* elflink.h (elf_add_default_symbol): After skipping the
3368*ed0d50c3Schristos	unversioned symbol, go to non-default one.
3369*ed0d50c3Schristos
3370*ed0d50c3Schristos2003-05-07  H.J. Lu <hongjiu.lu@intel.com>
3371*ed0d50c3Schristos
3372*ed0d50c3Schristos	* elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
3373*ed0d50c3Schristos	want_plt field.
3374*ed0d50c3Schristos	(elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
3375*ed0d50c3Schristos	for symbols with non-default visibility.
3376*ed0d50c3Schristos
3377*ed0d50c3Schristos2003-05-07  H.J. Lu <hongjiu.lu@intel.com>
3378*ed0d50c3Schristos
3379*ed0d50c3Schristos	* elflink.h (elf_link_check_versioned_symbol): Also handle the
3380*ed0d50c3Schristos	case that a DSO references a hidden symbol which may be
3381*ed0d50c3Schristos	satisfied by a versioned symbol in another DSO.
3382*ed0d50c3Schristos	(elf_link_output_extsym): Check versioned definition for hidden
3383*ed0d50c3Schristos	symbol referenced by a DSO.
3384*ed0d50c3Schristos
3385*ed0d50c3Schristos2003-05-07  Nick Clifton  <nickc@redhat.com>
3386*ed0d50c3Schristos
3387*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
3388*ed0d50c3Schristos	R_XSTORMY16_16 reloc to ignore overflows.
3389*ed0d50c3Schristos
3390*ed0d50c3Schristos2003-05-06  Alexandre Oliva  <aoliva@redhat.com>
3391*ed0d50c3Schristos
3392*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
3393*ed0d50c3Schristos	error message for mixing different-endian files.  Check for ABI
3394*ed0d50c3Schristos	compatibility of input files with the selected emulation.
3395*ed0d50c3Schristos
3396*ed0d50c3Schristos2003-05-05  Alan Modra  <amodra@bigpond.net.au>
3397*ed0d50c3Schristos
3398*ed0d50c3Schristos	* elf32-i386.c (allocate_dynrelocs): For undef weak syms with
3399*ed0d50c3Schristos	non-default visibility, a) don't make them dynamic, b) discard
3400*ed0d50c3Schristos	space for dynamic relocs.
3401*ed0d50c3Schristos	* elf64-x86-64.c (allocate_dynrelocs): Likewise.
3402*ed0d50c3Schristos
3403*ed0d50c3Schristos	* elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
3404*ed0d50c3Schristos	non-default visibility, a) don't allocate plt entries, b) don't
3405*ed0d50c3Schristos	allocate .got relocs, c) discard dyn rel space,
3406*ed0d50c3Schristos	(ppc_elf_relocate_section): d) don't generate .got relocs, e)
3407*ed0d50c3Schristos	don't generate dynamic relocs.
3408*ed0d50c3Schristos	* elf64-ppc.c (allocate_dynrelocs): As above.
3409*ed0d50c3Schristos	(ppc64_elf_relocate_section): As above.
3410*ed0d50c3Schristos
3411*ed0d50c3Schristos2003-05-05  Andreas Jaeger  <aj@suse.de>
3412*ed0d50c3Schristos
3413*ed0d50c3Schristos	* elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
3414*ed0d50c3Schristos	relocation entries for weak undefined symbols with non-default
3415*ed0d50c3Schristos	visibility.
3416*ed0d50c3Schristos	(elf64_x86_64_relocate_section): Initialize the GOT entries and
3417*ed0d50c3Schristos	skip R_386_32/R_386_PC32 for weak undefined symbols with
3418*ed0d50c3Schristos	non-default visibility.
3419*ed0d50c3Schristos
3420*ed0d50c3Schristos2003-05-04  H.J. Lu <hjl@gnu.org>
3421*ed0d50c3Schristos
3422*ed0d50c3Schristos	* elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
3423*ed0d50c3Schristos	relocation entries for weak undefined symbols with non-default
3424*ed0d50c3Schristos	visibility.
3425*ed0d50c3Schristos	(elf_i386_relocate_section): Initialize the GOT entries and
3426*ed0d50c3Schristos	skip R_386_32/R_386_PC32 for weak undefined symbols with
3427*ed0d50c3Schristos	non-default visibility.
3428*ed0d50c3Schristos
3429*ed0d50c3Schristos	* elfxx-ia64.c (allocate_fptr): Don't allocate function
3430*ed0d50c3Schristos	descriptors for weak undefined symbols with non-default
3431*ed0d50c3Schristos	visibility.
3432*ed0d50c3Schristos	(allocate_dynrel_entries): Don't allocate relocation entries
3433*ed0d50c3Schristos	for symbols resolved to 0.
3434*ed0d50c3Schristos	(set_got_entry): Don't install dynamic relocation for weak
3435*ed0d50c3Schristos	undefined symbols with non-default visibility.
3436*ed0d50c3Schristos	(set_pltoff_entry): Likewise.
3437*ed0d50c3Schristos
3438*ed0d50c3Schristos	* elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
3439*ed0d50c3Schristos	with non-default visibility.
3440*ed0d50c3Schristos	(elf_link_output_extsym): Don't make weak undefined symbols
3441*ed0d50c3Schristos	with non-default visibility dynamic.
3442*ed0d50c3Schristos
3443*ed0d50c3Schristos2003-05-04  H.J. Lu <hjl@gnu.org>
3444*ed0d50c3Schristos
3445*ed0d50c3Schristos	* elflink.h (elf_merge_symbol): Correctly handle weak definition.
3446*ed0d50c3Schristos
3447*ed0d50c3Schristos2003-05-04  H.J. Lu <hjl@gnu.org>
3448*ed0d50c3Schristos
3449*ed0d50c3Schristos	* elflink.h (elf_merge_symbol): Don't record a hidden/internal
3450*ed0d50c3Schristos	symbol dynamic. Check indirection when removing the old
3451*ed0d50c3Schristos	definition for symbols with non-default visibility.
3452*ed0d50c3Schristos	(elf_add_default_symbol): Skip when told by elf_merge_symbol.
3453*ed0d50c3Schristos
3454*ed0d50c3Schristos2003-05-02  Nick Clifton  <nickc@redhat.com>
3455*ed0d50c3Schristos
3456*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
3457*ed0d50c3Schristos	R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
3458*ed0d50c3Schristos	unsigned overflow.
3459*ed0d50c3Schristos
3460*ed0d50c3Schristos2003-05-02  Andreas Jaeger  <aj@suse.de>
3461*ed0d50c3Schristos
3462*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
3463*ed0d50c3Schristos	ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
3464*ed0d50c3Schristos	(ELIMINATE_COPY_RELOCS): Define as one.  Use throughout.
3465*ed0d50c3Schristos	(elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
3466*ed0d50c3Schristos	ELF_LINK_NON_GOT_REF from weakdef.
3467*ed0d50c3Schristos
3468*ed0d50c3Schristos2003-05-02  Charles Lepple <clepple@ghz.cc>
3469*ed0d50c3Schristos	    Nick Clifton <nickc@redhat.com>
3470*ed0d50c3Schristos
3471*ed0d50c3Schristos	* acinclude.m4: Fix name of --enable-install-libbfd switch.
3472*ed0d50c3Schristos	* aclocal.m4: Regenerate.
3473*ed0d50c3Schristos	* configure: Regenerate.
3474*ed0d50c3Schristos	* Makefile.in: Regenerate.
3475*ed0d50c3Schristos
3476*ed0d50c3Schristos2003-05-01  Alan Modra  <amodra@bigpond.net.au>
3477*ed0d50c3Schristos
3478*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
3479*ed0d50c3Schristos	weakdef sym has already been adjusted before treating it specially.
3480*ed0d50c3Schristos	* elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
3481*ed0d50c3Schristos	ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
3482*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
3483*ed0d50c3Schristos	(ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
3484*ed0d50c3Schristos
3485*ed0d50c3Schristos2003-04-28  H.J. Lu <hjl@gnu.org>
3486*ed0d50c3Schristos
3487*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
3488*ed0d50c3Schristos	the relax finalize pass.
3489*ed0d50c3Schristos
3490*ed0d50c3Schristos	* section.c (struct sec): Add need_finalize_relax and remove
3491*ed0d50c3Schristos	flag11.
3492*ed0d50c3Schristos	(STD_SECTION): Update struct sec initializer.
3493*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
3494*ed0d50c3Schristos
3495*ed0d50c3Schristos2003-04-28  H.J. Lu <hjl@gnu.org>
3496*ed0d50c3Schristos
3497*ed0d50c3Schristos	* elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
3498*ed0d50c3Schristos	to copy any information related to dynamic linking when we flip
3499*ed0d50c3Schristos	the indirection.
3500*ed0d50c3Schristos
3501*ed0d50c3Schristos2003-04-27  H.J. Lu <hjl@gnu.org>
3502*ed0d50c3Schristos
3503*ed0d50c3Schristos	* elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
3504*ed0d50c3Schristos	(ELF_LINK_DYNAMIC_WEAK): New.
3505*ed0d50c3Schristos
3506*ed0d50c3Schristos	* elflink.h (elf_merge_symbol): Add one argument to indicate if
3507*ed0d50c3Schristos	a symbol should be skipped. Ignore definitions in dynamic
3508*ed0d50c3Schristos	objects for symbols with non-default visibility.
3509*ed0d50c3Schristos	(elf_add_default_symbol): Adjusted.
3510*ed0d50c3Schristos	(elf_link_add_object_symbols): Check if a symbol should be
3511*ed0d50c3Schristos	skipped. Don't merge the visibility field with the one from
3512*ed0d50c3Schristos	a dynamic object.
3513*ed0d50c3Schristos	(elf_link_check_versioned_symbol): Use undef_bfd.
3514*ed0d50c3Schristos	(elf_link_output_extsym): Warn if a forced local symbol is
3515*ed0d50c3Schristos	referenced from dynamic objects. Make non-weak undefined symbol
3516*ed0d50c3Schristos	with non-default visibility a fatal error.
3517*ed0d50c3Schristos
3518*ed0d50c3Schristos2003-04-27  Daniel Jacobowitz  <drow@mvista.com>
3519*ed0d50c3Schristos
3520*ed0d50c3Schristos	* configure.in: Bump version on HEAD to 2.14.90.
3521*ed0d50c3Schristos	* configure: Regenerated.
3522*ed0d50c3Schristos
3523*ed0d50c3Schristos2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
3524*ed0d50c3Schristos
3525*ed0d50c3Schristos	PR savannah/3331:
3526*ed0d50c3Schristos	* elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
3527*ed0d50c3Schristos	when we couldn't relax something.
3528*ed0d50c3Schristos
3529*ed0d50c3Schristos2003-04-25  Alan Modra  <amodra@bigpond.net.au>
3530*ed0d50c3Schristos
3531*ed0d50c3Schristos	* elflink.h (elf_merge_symbol): When we find a regular definition
3532*ed0d50c3Schristos	for an indirect symbol, flip the indirection so that the old
3533*ed0d50c3Schristos	direct symbol now points to the new definition.
3534*ed0d50c3Schristos
3535*ed0d50c3Schristos2003-04-24  Roland McGrath  <roland@redhat.com>
3536*ed0d50c3Schristos
3537*ed0d50c3Schristos	* elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
3538*ed0d50c3Schristos
3539*ed0d50c3Schristos2003-04-24  Alan Modra  <amodra@bigpond.net.au>
3540*ed0d50c3Schristos
3541*ed0d50c3Schristos	* elf32-ppc.c: Formatting and comment fixes.
3542*ed0d50c3Schristos	(ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
3543*ed0d50c3Schristos	(ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
3544*ed0d50c3Schristos
3545*ed0d50c3Schristos2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
3546*ed0d50c3Schristos
3547*ed0d50c3Schristos	* archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
3548*ed0d50c3Schristos	* bfd-in2.h: Rebuilt.
3549*ed0d50c3Schristos	* coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
3550*ed0d50c3Schristos	* coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
3551*ed0d50c3Schristos	& H8300SNMAGIC.
3552*ed0d50c3Schristos	(coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
3553*ed0d50c3Schristos	* cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
3554*ed0d50c3Schristos	(h8300sn_info_struct, h8300hn_info_struct): New.
3555*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
3556*ed0d50c3Schristos	(elf32_h8_final_write_processing): Likewise.
3557*ed0d50c3Schristos
3558*ed0d50c3Schristos2003-04-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3559*ed0d50c3Schristos
3560*ed0d50c3Schristos	* elf32-sh.c (tpoff): New.
3561*ed0d50c3Schristos	(struct elf_sh_dyn_relocs): Remove tls_tpoff32.
3562*ed0d50c3Schristos	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3563*ed0d50c3Schristos	(allocate_dynrelocs): Don't make unnecessary dynamic TLS
3564*ed0d50c3Schristos	relocations.  Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
3565*ed0d50c3Schristos	(sh_elf_relocate_section): Likewise. Remove unnecessary tests.
3566*ed0d50c3Schristos	(dtpoff_base): Fix wrong indentation.
3567*ed0d50c3Schristos	(sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
3568*ed0d50c3Schristos	relocations.  Don't set tls_tpoff32 flag.  Don't make unnecessary
3569*ed0d50c3Schristos	R_SH_TLS_TPOFF32 relocations.
3570*ed0d50c3Schristos
3571*ed0d50c3Schristos2003-04-23  J"orn Rennecke <joern.rennecke@superh.com>
3572*ed0d50c3Schristos
3573*ed0d50c3Schristos	* archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
3574*ed0d50c3Schristos	* cpu-sh.c: Likewise.
3575*ed0d50c3Schristos	* elf32-sh.c: Likewise.
3576*ed0d50c3Schristos	* reloc.c (bfd_reloc_code_real): Likewise.
3577*ed0d50c3Schristos	* elf32-sh64-com.c: Change comment to refer to SuperH.
3578*ed0d50c3Schristos	* elf32-sh64.c: Likewise.
3579*ed0d50c3Schristos	* elf64-sh64.c: Likewise.
3580*ed0d50c3Schristos	* bfd-in2.h (enum bfd_architecture): Regenerate.
3581*ed0d50c3Schristos
3582*ed0d50c3Schristos2003-04-23  Alan Modra  <amodra@bigpond.net.au>
3583*ed0d50c3Schristos
3584*ed0d50c3Schristos	From Julien LEMOINE <speedblue@debian.org>
3585*ed0d50c3Schristos	* elf32-i386.c (elf_i386_info_to_howto): Delete.
3586*ed0d50c3Schristos	(elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
3587*ed0d50c3Schristos
3588*ed0d50c3Schristos2003-04-22  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
3589*ed0d50c3Schristos
3590*ed0d50c3Schristos	* archures.c: Replace references to Mitsubishi M32R with references
3591*ed0d50c3Schristos	to Renesas M32R.
3592*ed0d50c3Schristos	* relocs.c: Likewise.
3593*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
3594*ed0d50c3Schristos
3595*ed0d50c3Schristos2003-04-21  Richard Henderson  <rth@redhat.com>
3596*ed0d50c3Schristos
3597*ed0d50c3Schristos	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
3598*ed0d50c3Schristos	executable when a symbol is defined both regular and dynamic.
3599*ed0d50c3Schristos
3600*ed0d50c3Schristos2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
3601*ed0d50c3Schristos
3602*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
3603*ed0d50c3Schristos	(elf32-m68hc1x.lo): Update dependencies
3604*ed0d50c3Schristos	* configure.in: Add elf32-m68hc1x.lo.
3605*ed0d50c3Schristos	* configure: Rebuild.
3606*ed0d50c3Schristos	* Makefile.in: Rebuild.
3607*ed0d50c3Schristos
3608*ed0d50c3Schristos2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
3609*ed0d50c3Schristos
3610*ed0d50c3Schristos	* elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
3611*ed0d50c3Schristos	(m68hc11_elf_hash_table_create): New function.
3612*ed0d50c3Schristos	(elf32_m68hc11_link_hash_table_free): New function.
3613*ed0d50c3Schristos	(stub_hash_newfunc): New function.
3614*ed0d50c3Schristos	(m68hc11_add_stub): New function.
3615*ed0d50c3Schristos	(elf32_m68hc11_add_symbol_hook): New function.
3616*ed0d50c3Schristos	(elf32_m68hc11_setup_section_lists): New function.
3617*ed0d50c3Schristos	(elf32_m68hc11_next_input_section): New function.
3618*ed0d50c3Schristos	(elf32_m68hc11_size_stubs): New function.
3619*ed0d50c3Schristos	(elf32_m68hc11_build_stubs): New function.
3620*ed0d50c3Schristos	(m68hc11_get_relocation_value): New function.
3621*ed0d50c3Schristos	(elf32_m68hc11_relocate_section): Call the above to redirect
3622*ed0d50c3Schristos	some relocations to the trampoline code.
3623*ed0d50c3Schristos	(m68hc11_elf_export_one_stub): New function.
3624*ed0d50c3Schristos	(m68hc11_elf_set_symbol): New function.
3625*ed0d50c3Schristos	(elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
3626*ed0d50c3Schristos	(m68hc11_elf_get_bank_parameters): Get parameters only when the info
3627*ed0d50c3Schristos	is not yet initialized.
3628*ed0d50c3Schristos
3629*ed0d50c3Schristos	* elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
3630*ed0d50c3Schristos	(elf32_m68hc11_stub_hash_entry): New struct.
3631*ed0d50c3Schristos	(m68hc11_page_info): Add trampoline handler address.
3632*ed0d50c3Schristos	(m68hc11_elf_link_hash_table): Add stubs generation members.
3633*ed0d50c3Schristos	(elf32_m68hc11_add_symbol_hook): Declare.
3634*ed0d50c3Schristos	(elf32_m68hc11_setup_section_lists): Declare.
3635*ed0d50c3Schristos	(elf32_m68hc11_size_stubs): Declare.
3636*ed0d50c3Schristos	(elf32_m68hc11_build_stubs): Declare.
3637*ed0d50c3Schristos
3638*ed0d50c3Schristos	* elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
3639*ed0d50c3Schristos	(elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
3640*ed0d50c3Schristos	(elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
3641*ed0d50c3Schristos	(_bfd_m68hc11_elf_set_private_flags): Ditto.
3642*ed0d50c3Schristos	(_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
3643*ed0d50c3Schristos	(_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
3644*ed0d50c3Schristos	(bfd_elf32_bfd_link_hash_table_create): Define.
3645*ed0d50c3Schristos	(elf_backend_add_symbol_hook): Define.
3646*ed0d50c3Schristos	(m68hc11_elf_bfd_link_hash_table_create): New function.
3647*ed0d50c3Schristos	(m68hc11_elf_build_one_stub): New function.
3648*ed0d50c3Schristos	(m68hc11_elf_size_one_stub): New function.
3649*ed0d50c3Schristos	(m68hc11_elf_bfd_link_hash_table_create): Install the above.
3650*ed0d50c3Schristos	(bfd_elf32_bfd_link_hash_table_create): Define.
3651*ed0d50c3Schristos
3652*ed0d50c3Schristos	* elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
3653*ed0d50c3Schristos	(m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
3654*ed0d50c3Schristos	(m68hc12_phys_addr): Ditto.
3655*ed0d50c3Schristos	(m68hc12_phys_page): Ditto.
3656*ed0d50c3Schristos	(m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
3657*ed0d50c3Schristos	(elf32_m68hc11_gc_mark_hook): Likewise.
3658*ed0d50c3Schristos	(elf32_m68hc11_gc_sweep_hook): Likewise.
3659*ed0d50c3Schristos	(elf32_m68hc11_check_relocs): Likewise.
3660*ed0d50c3Schristos	(elf32_m68hc11_relocate_section): Likewise.
3661*ed0d50c3Schristos	(_bfd_m68hc12_elf_set_private_flags): Likewise.
3662*ed0d50c3Schristos	(_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
3663*ed0d50c3Schristos	(_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
3664*ed0d50c3Schristos	(m68hc12_elf_build_one_stub): New function.
3665*ed0d50c3Schristos	(m68hc12_elf_size_one_stub): New function.
3666*ed0d50c3Schristos	(m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
3667*ed0d50c3Schristos	(elf_backend_add_symbol_hook): Define.
3668*ed0d50c3Schristos	(elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
3669*ed0d50c3Schristos
3670*ed0d50c3Schristos2003-04-18  Nick Clifton  <nickc@redhat.com>
3671*ed0d50c3Schristos
3672*ed0d50c3Schristos	* format.c (bfd_check_format_matches): Only check associated
3673*ed0d50c3Schristos	vector if the matching_vector has been created.
3674*ed0d50c3Schristos
3675*ed0d50c3Schristos2003-04-15  Alexandre Oliva  <aoliva@redhat.com>
3676*ed0d50c3Schristos
3677*ed0d50c3Schristos	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
3678*ed0d50c3Schristos	2003-04-09's change.
3679*ed0d50c3Schristos
3680*ed0d50c3Schristos2003-04-15  Brian Ford  <ford@vss.fsi.com>
3681*ed0d50c3Schristos
3682*ed0d50c3Schristos	* peicode.h (coff_swap_scnhdr_in): If a section holds
3683*ed0d50c3Schristos	uninitialized data and is from an object file or from an
3684*ed0d50c3Schristos	executable image that has not initialized the s_size field, or if
3685*ed0d50c3Schristos	the physical size is padded, use the virtual size (stored in
3686*ed0d50c3Schristos	s_paddr) instead.
3687*ed0d50c3Schristos
3688*ed0d50c3Schristos2003-04-15  H.J. Lu <hjl@gnu.org>
3689*ed0d50c3Schristos
3690*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Properly report
3691*ed0d50c3Schristos	filename for alignment reduction.
3692*ed0d50c3Schristos
3693*ed0d50c3Schristos2003-04-15  Rohit Kumar Srivastava <rohits@kpitcummins.com>
3694*ed0d50c3Schristos
3695*ed0d50c3Schristos	* archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
3696*ed0d50c3Schristos	* reloc.c: Likewise.
3697*ed0d50c3Schristos	* coff-h8300.c: Likewise.
3698*ed0d50c3Schristos	* coff-h8500.c: Likewise.
3699*ed0d50c3Schristos	* coff-sh.c: Likewise.
3700*ed0d50c3Schristos	* cpu-h8300.c: Likewise.
3701*ed0d50c3Schristos	* cpu-sh.c: Likewise.
3702*ed0d50c3Schristos	* elf32-h8300.c: Likewise.
3703*ed0d50c3Schristos	* elf32-sh.c: Likewise.
3704*ed0d50c3Schristos	* elf32-sh64-com.c: Likewise.
3705*ed0d50c3Schristos	* elf32-sh64.c: Likewise.
3706*ed0d50c3Schristos	* elf64-sh64.c: Likewise.
3707*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
3708*ed0d50c3Schristos
3709*ed0d50c3Schristos2003-04-14  H.J. Lu <hjl@gnu.org>
3710*ed0d50c3Schristos
3711*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Maintain maximum
3712*ed0d50c3Schristos	alignment for common symbols. Warn reducing alignment for
3713*ed0d50c3Schristos	common symbols. Report old filename when symbol size changes.
3714*ed0d50c3Schristos
3715*ed0d50c3Schristos2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
3716*ed0d50c3Schristos
3717*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
3718*ed0d50c3Schristos	occurrences of the same test changed in the previous patch.
3719*ed0d50c3Schristos	Optimize.
3720*ed0d50c3Schristos
3721*ed0d50c3Schristos2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
3722*ed0d50c3Schristos
3723*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
3724*ed0d50c3Schristos	(mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
3725*ed0d50c3Schristos	GOT_DISP/addend only if the symbol got a global GOT entry.
3726*ed0d50c3Schristos
3727*ed0d50c3Schristos2003-04-10  Alexandre Oliva  <aoliva@redhat.com>
3728*ed0d50c3Schristos
3729*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Decay
3730*ed0d50c3Schristos	GOT_PAGE/GOT_OFST referencing overridable symbol to
3731*ed0d50c3Schristos	GOT_DISP/addend.
3732*ed0d50c3Schristos	(_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
3733*ed0d50c3Schristos	global symbol as GOT_DISP.
3734*ed0d50c3Schristos
3735*ed0d50c3Schristos2003-04-10  Bob Wilson  <bob.wilson@acm.org>
3736*ed0d50c3Schristos
3737*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
3738*ed0d50c3Schristos	next relocation on an undefined symbol.
3739*ed0d50c3Schristos
3740*ed0d50c3Schristos2003-04-09  Richard Henderson  <rth@redhat.com>
3741*ed0d50c3Schristos
3742*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
3743*ed0d50c3Schristos	Ignore relocations against r_symndx == 0.
3744*ed0d50c3Schristos
3745*ed0d50c3Schristos2003-04-09  H.J. Lu <hjl@gnu.org>
3746*ed0d50c3Schristos
3747*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Don't return
3748*ed0d50c3Schristos	FALSE for undefined symbols.
3749*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
3750*ed0d50c3Schristos
3751*ed0d50c3Schristos2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
3752*ed0d50c3Schristos
3753*ed0d50c3Schristos	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
3754*ed0d50c3Schristos	and IRIX-specific shift-to-64-bit 4-byte lengths before following
3755*ed0d50c3Schristos	addr_size.
3756*ed0d50c3Schristos
3757*ed0d50c3Schristos2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
3758*ed0d50c3Schristos
3759*ed0d50c3Schristos	* elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
3760*ed0d50c3Schristos	pointer size from ABI, not arch_bits_per_address.
3761*ed0d50c3Schristos
3762*ed0d50c3Schristos2003-04-07  Kevin Buettner  <kevinb@redhat.com>
3763*ed0d50c3Schristos
3764*ed0d50c3Schristos	* elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
3765*ed0d50c3Schristos	constants for n32 ABI.
3766*ed0d50c3Schristos
3767*ed0d50c3Schristos2003-04-06  Andrew Cagney  <cagney@redhat.com>
3768*ed0d50c3Schristos
3769*ed0d50c3Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Disable
3770*ed0d50c3Schristos	free that leads to GDB vs BFD memory corruption.
3771*ed0d50c3Schristos
3772*ed0d50c3Schristos2003-04-04  Stephane Carrez  <stcarrez@nerim.fr>
3773*ed0d50c3Schristos
3774*ed0d50c3Schristos	* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
3775*ed0d50c3Schristos	symbols that mark the end of the section.
3776*ed0d50c3Schristos	(m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
3777*ed0d50c3Schristos	converting to a relative branch so that the offset is computed after
3778*ed0d50c3Schristos	the relaxation; also relocate a jsr into a bsr if possible but don't
3779*ed0d50c3Schristos	relax them if they are to a far symbol as we need to call the
3780*ed0d50c3Schristos	trampoline code.
3781*ed0d50c3Schristos	(elf_m68hc11_howto_table): Set pcrel_offset to true.
3782*ed0d50c3Schristos
3783*ed0d50c3Schristos2003-04-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
3784*ed0d50c3Schristos
3785*ed0d50c3Schristos	* archures.c: Namespace cleanup. Rename bfd_mach_c3x to
3786*ed0d50c3Schristos	bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
3787*ed0d50c3Schristos	* bfd-in2.h: Regenerate
3788*ed0d50c3Schristos	* coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
3789*ed0d50c3Schristos	* cpu-tic4x.c: Ditto
3790*ed0d50c3Schristos
3791*ed0d50c3Schristos2003-04-03  Nick Clifton  <nickc@redhat.com>
3792*ed0d50c3Schristos
3793*ed0d50c3Schristos	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
3794*ed0d50c3Schristos	differently for object files and executables.
3795*ed0d50c3Schristos	* peicode.h (coff_swap_scnhdr_in): Only set the s_size field
3796*ed0d50c3Schristos	for object files or for executables who have not already
3797*ed0d50c3Schristos	initialised the field.
3798*ed0d50c3Schristos	* libpei.h (bfd_pe_executable_p): New macro.  Return true if
3799*ed0d50c3Schristos	the PE format bfd is an executable.
3800*ed0d50c3Schristos
3801*ed0d50c3Schristos2003-04-03  Alan Modra  <amodra@bigpond.net.au>
3802*ed0d50c3Schristos
3803*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
3804*ed0d50c3Schristos	here as it's too early to reliably determine locality.
3805*ed0d50c3Schristos	(ppc_elf_gc_sweep_hook): Likewise.
3806*ed0d50c3Schristos	(SYMBOL_REFERENCES_LOCAL): Expand comment.
3807*ed0d50c3Schristos
3808*ed0d50c3Schristos2003-04-02  Bob Wilson  <bob.wilson@acm.org>
3809*ed0d50c3Schristos
3810*ed0d50c3Schristos	* xtensa-modules.c: Remove comment indicating that this is a
3811*ed0d50c3Schristos	generated file.
3812*ed0d50c3Schristos
3813*ed0d50c3Schristos2003-04-02  Alan Modra  <amodra@bigpond.net.au>
3814*ed0d50c3Schristos
3815*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
3816*ed0d50c3Schristos
3817*ed0d50c3Schristos2003-04-01  Bob Wilson  <bob.wilson@acm.org>
3818*ed0d50c3Schristos
3819*ed0d50c3Schristos	* Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
3820*ed0d50c3Schristos	(ALL_MACHINES_CFILES): Add cpu-xtensa.c.
3821*ed0d50c3Schristos	(BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
3822*ed0d50c3Schristos	xtensa-modules.lo.
3823*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
3824*ed0d50c3Schristos	xtensa-modules.c.
3825*ed0d50c3Schristos	(cpu-xtensa.lo): New target.
3826*ed0d50c3Schristos	(elf32-xtensa.lo): Likewise.
3827*ed0d50c3Schristos	(xtensa-isa.lo): Likewise.
3828*ed0d50c3Schristos	(xtensa-modules.lo): Likewise.
3829*ed0d50c3Schristos	* Makefile.in: Regenerate.
3830*ed0d50c3Schristos	* archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
3831*ed0d50c3Schristos	(bfd_archures_list): Add bfd_xtensa_arch.
3832*ed0d50c3Schristos	* config.bfd: Handle xtensa-*-*.
3833*ed0d50c3Schristos	* configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
3834*ed0d50c3Schristos	* configure: Regenerate.
3835*ed0d50c3Schristos	* reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
3836*ed0d50c3Schristos	PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
3837*ed0d50c3Schristos	* targets.c (bfd_elf32_xtensa_be_vec): Declare.
3838*ed0d50c3Schristos	(bfd_elf32_xtensa_le_vec): Likewise.
3839*ed0d50c3Schristos	(bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
3840*ed0d50c3Schristos	* cpu-xtensa.c: New file.
3841*ed0d50c3Schristos	* elf32-xtensa.c: Likewise.
3842*ed0d50c3Schristos	* xtensa-isa.c: Likewise.
3843*ed0d50c3Schristos	* xtensa-modules.c: Likewise.
3844*ed0d50c3Schristos	* libbfd.h: Regenerate.
3845*ed0d50c3Schristos	* bfd-in2.h: Likewise.
3846*ed0d50c3Schristos
3847*ed0d50c3Schristos2003-04-01  Nick Clifton  <nickc@redhat.com>
3848*ed0d50c3Schristos
3849*ed0d50c3Schristos	* archures.c (bfd_mach_arm_unknown): Define.
3850*ed0d50c3Schristos	* bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
3851*ed0d50c3Schristos	bfd_arm_get_mach_from_notes): Prototype.
3852*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
3853*ed0d50c3Schristos	* coff-arm.c (coff_arm_merge_private_bfd_data): Call
3854*ed0d50c3Schristos	bfd_arm_merge_machines.
3855*ed0d50c3Schristos	(coff_arm_final_link_postscript): Call bfd_arm_update_notes.
3856*ed0d50c3Schristos	* coffcode.h (coff_set_arch_mach_hook): Call
3857*ed0d50c3Schristos	bfd_arm_get_mach_from_notes.
3858*ed0d50c3Schristos	* coffgen.c (coff_real_object_p): Revert previous delta.
3859*ed0d50c3Schristos	* cpu_arm.c (arm_check_note): New function.  Examine a note in a
3860*ed0d50c3Schristos	.note section.
3861*ed0d50c3Schristos	(bfd_arm_merge_machines): New function: Handle the merging of ARM
3862*ed0d50c3Schristos	binaries compiled for different architectures..
3863*ed0d50c3Schristos	(bfd_arm_update_notes): New function: Update an ARM note section.
3864*ed0d50c3Schristos	(bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
3865*ed0d50c3Schristos	number from an ARM note section.
3866*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_object_p): Use
3867*ed0d50c3Schristos	bfd_arm_get_mach_from_notes.
3868*ed0d50c3Schristos	(elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
3869*ed0d50c3Schristos	(elf32_arm_final_write_processing): Use bfd_arm_update_notes.
3870*ed0d50c3Schristos
3871*ed0d50c3Schristos2003-04-01  Ben Elliston  <bje@wasabisystems.com>
3872*ed0d50c3Schristos
3873*ed0d50c3Schristos	* dwarf2.c (read_attribute_value): Correct typo in comment.
3874*ed0d50c3Schristos
3875*ed0d50c3Schristos2003-04-01  Nick Clifton  <nickc@redhat.com>
3876*ed0d50c3Schristos
3877*ed0d50c3Schristos	* dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
3878*ed0d50c3Schristos	instead of concat().
3879*ed0d50c3Schristos	(decode_line_info): Only free filename if it is not NULL.
3880*ed0d50c3Schristos	(add_line_info): Make a copy of the filename when storing it into
3881*ed0d50c3Schristos	the info structure.
3882*ed0d50c3Schristos
3883*ed0d50c3Schristos2003-03-31  Andreas Schwab  <schwab@suse.de>
3884*ed0d50c3Schristos	    Daniel Jacobowitz  <drow@mvista.com>
3885*ed0d50c3Schristos
3886*ed0d50c3Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Add
3887*ed0d50c3Schristos	parameter symbol_table.  Optionally use it instead of the symbol
3888*ed0d50c3Schristos	table from the bfd.  Save and restore output offsets and output
3889*ed0d50c3Schristos	sections  around bfd_get_relocated_section_contents.  Fix a memory
3890*ed0d50c3Schristos	leak.
3891*ed0d50c3Schristos	(simple_save_output_info, simple_restore_output_info): New
3892*ed0d50c3Schristos	functions.
3893*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
3894*ed0d50c3Schristos	* dwarf2.c (read_abbrevs): Use
3895*ed0d50c3Schristos	bfd_simple_get_relocated_section_contents instead of
3896*ed0d50c3Schristos	bfd_get_section_contents.
3897*ed0d50c3Schristos	(decode_line_info): Likewise.
3898*ed0d50c3Schristos	(_bfd_dwarf2_find_nearest_line): Likewise.  Don't call
3899*ed0d50c3Schristos	find_rela_addend.
3900*ed0d50c3Schristos	(find_rela_addend): Remove.
3901*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
3902*ed0d50c3Schristos	debugging sections.
3903*ed0d50c3Schristos	(elfNN_ia64_hash_table_create): Create the hash table with malloc,
3904*ed0d50c3Schristos	not bfd_zalloc.
3905*ed0d50c3Schristos
3906*ed0d50c3Schristos2003-03-31  David Heine  <dlheine@suif.stanford.edu>
3907*ed0d50c3Schristos
3908*ed0d50c3Schristos	* aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
3909*ed0d50c3Schristos	bfd_alloc.
3910*ed0d50c3Schristos	* dwarf2.c (concat_filename): Always allocate space for the
3911*ed0d50c3Schristos	returned filename.
3912*ed0d50c3Schristos	(decode_line_info): Free the allocated filename returned by
3913*ed0d50c3Schristos	concat_filename.
3914*ed0d50c3Schristos	* elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
3915*ed0d50c3Schristos	* elf.c (copy_private_bfd_data): Likewise.
3916*ed0d50c3Schristos	(_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
3917*ed0d50c3Schristos	* elflink.h (elf_link_sort_relocs): Fix memory leak.
3918*ed0d50c3Schristos	* format.c (bfd_check_format_matches): Likewise.
3919*ed0d50c3Schristos	* linker.c (bfd_generic_final_link): Likewise.
3920*ed0d50c3Schristos	* opncls.c (find_separate_debug_info): Likewise.
3921*ed0d50c3Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Likewise.
3922*ed0d50c3Schristos
3923*ed0d50c3Schristos2003-03-28  H.J. Lu <hjl@gnu.org>
3924*ed0d50c3Schristos
3925*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Correctly combine
3926*ed0d50c3Schristos	visibilities.
3927*ed0d50c3Schristos
3928*ed0d50c3Schristos2003-03-27  Jakub Jelinek  <jakub@redhat.com>
3929*ed0d50c3Schristos
3930*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
3931*ed0d50c3Schristos	to -1 before recomputing got offsets.
3932*ed0d50c3Schristos
3933*ed0d50c3Schristos2003-03-26  Andreas Schwab  <schwab@suse.de>
3934*ed0d50c3Schristos
3935*ed0d50c3Schristos	* elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
3936*ed0d50c3Schristos	(elf_m68k_relocate_section): Use it to correctly handle symbols
3937*ed0d50c3Schristos	forced to be local.
3938*ed0d50c3Schristos	(elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
3939*ed0d50c3Schristos	entries for symbols that are forced to be local.
3940*ed0d50c3Schristos
3941*ed0d50c3Schristos2003-03-25  Alexandre Oliva  <aoliva@redhat.com>
3942*ed0d50c3Schristos
3943*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_relax_section): New function.
3944*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_relax_section): Declare.
3945*ed0d50c3Schristos	* elfn32-mips.c, elf64-mips.c: Use it.
3946*ed0d50c3Schristos
3947*ed0d50c3Schristos2003-03-25  Stan Cox   <scox@redhat.com>
3948*ed0d50c3Schristos	    Nick Clifton  <nickc@redhat.com>
3949*ed0d50c3Schristos
3950*ed0d50c3Schristos	Contribute support for Intel's iWMMXt chip - an ARM variant:
3951*ed0d50c3Schristos
3952*ed0d50c3Schristos	* archures.c: Add bfd_mach_arm_iWMMXt.
3953*ed0d50c3Schristos	* reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
3954*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
3955*ed0d50c3Schristos	* libbfd.h: Regenerate.
3956*ed0d50c3Schristos	* coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
3957*ed0d50c3Schristos	object files to be linked with XScale ones.
3958*ed0d50c3Schristos	(coff_arm_final_link_postscript): Update note section.
3959*ed0d50c3Schristos	* coffcode.h (coff_set_arch_mach_hook): Handle note section.
3960*ed0d50c3Schristos	* coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
3961*ed0d50c3Schristos	after identifying a coff binary.
3962*ed0d50c3Schristos	* cpu-arm.c (processors): Add iWMMXt.
3963*ed0d50c3Schristos	(arch_inf): Likewise.
3964*ed0d50c3Schristos	* elf32-arm.h (arm_object_p): Handle note section.
3965*ed0d50c3Schristos	(elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
3966*ed0d50c3Schristos	be linked with XScale ones.
3967*ed0d50c3Schristos	(elf32_arm_section_flags): New function: Set flags on note section.
3968*ed0d50c3Schristos	(elf32_arm_final_write_processing): Handle note section.
3969*ed0d50c3Schristos
3970*ed0d50c3Schristos2003-03-21  DJ Delorie  <dj@redhat.com>
3971*ed0d50c3Schristos
3972*ed0d50c3Schristos	* elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
3973*ed0d50c3Schristos	_bfd_elf_rela_local_sym.
3974*ed0d50c3Schristos
3975*ed0d50c3Schristos2003-03-20  H.J. Lu <hjl@gnu.org>
3976*ed0d50c3Schristos
3977*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
3978*ed0d50c3Schristos	non-ELF outputs.
3979*ed0d50c3Schristos
3980*ed0d50c3Schristos2003-03-20  Nick Clifton  <nickc@redhat.com>
3981*ed0d50c3Schristos
3982*ed0d50c3Schristos	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
3983*ed0d50c3Schristos	$idata5 in case bfd_coff_final_link is not called.
3984*ed0d50c3Schristos
3985*ed0d50c3Schristos2003-03-19  Jakub Jelinek  <jakub@redhat.com>
3986*ed0d50c3Schristos
3987*ed0d50c3Schristos	* elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
3988*ed0d50c3Schristos	field.
3989*ed0d50c3Schristos	(canon_reloc_count): Define.
3990*ed0d50c3Schristos	(sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
3991*ed0d50c3Schristos	sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
3992*ed0d50c3Schristos	reloc_count.
3993*ed0d50c3Schristos	(sparc64_elf_canonicalize_reloc): New routine.
3994*ed0d50c3Schristos	(bfd_elf64_canonicalize_reloc): Define.
3995*ed0d50c3Schristos
3996*ed0d50c3Schristos2003-03-18  Jakub Jelinek  <jakub@redhat.com>
3997*ed0d50c3Schristos
3998*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
3999*ed0d50c3Schristos	againt mergeable sections.  Take r_addend into account when caching
4000*ed0d50c3Schristos	trampolines.
4001*ed0d50c3Schristos
4002*ed0d50c3Schristos2003-03-18  Richard Henderson  <rth@redhat.com>
4003*ed0d50c3Schristos
4004*ed0d50c3Schristos	* elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
4005*ed0d50c3Schristos	local symbols that have no dyninfo.
4006*ed0d50c3Schristos
4007*ed0d50c3Schristos2003-03-14  Gene Smith  <gene.smith@siemens.com>
4008*ed0d50c3Schristos
4009*ed0d50c3Schristos	* ieee.c (ieee_write_expression): Handle the case where symbol is
4010*ed0d50c3Schristos	NULL.
4011*ed0d50c3Schristos	General formatting improvements.
4012*ed0d50c3Schristos
4013*ed0d50c3Schristos2003-03-13  Nick Clifton  <nickc@redhat.com>
4014*ed0d50c3Schristos
4015*ed0d50c3Schristos	* configure.in (LINGUAS): Add zh_CN.
4016*ed0d50c3Schristos	* configure: Regenerate.
4017*ed0d50c3Schristos	* po/zh_CN.po: New file.
4018*ed0d50c3Schristos
4019*ed0d50c3Schristos2003-03-13  Elias Athanasopoulos  <elathan@phys.uoa.gr>
4020*ed0d50c3Schristos
4021*ed0d50c3Schristos	* aout-cris.c (BYTES_IN_WORD): Don't define.
4022*ed0d50c3Schristos	aout-encap.c: Likewise.
4023*ed0d50c3Schristos	aout-ns32k.c: Likewise.
4024*ed0d50c3Schristos	aout-tic30.c: Likewise.
4025*ed0d50c3Schristos	hp300bsd.c: Likewise.
4026*ed0d50c3Schristos	i386aout.c: Likewise.
4027*ed0d50c3Schristos	i386dynix.c: Likewise.
4028*ed0d50c3Schristos	i386linux.c: Likewise.
4029*ed0d50c3Schristos	i386lynx.c: Likewise.
4030*ed0d50c3Schristos	i386mach3.c: Likewise.
4031*ed0d50c3Schristos	m68k4knetbsd.c: Likewise.
4032*ed0d50c3Schristos	m68klinux.c: Likewise.
4033*ed0d50c3Schristos	m68klynx.c: Likewise.
4034*ed0d50c3Schristos	m68knetbsd.c: Likewise.
4035*ed0d50c3Schristos	m88kmach3.c: Likewise.
4036*ed0d50c3Schristos	mipsbsd.c: Likewise.
4037*ed0d50c3Schristos	newsos3.c: Likewise.
4038*ed0d50c3Schristos	sparclinux.c: Likewise.
4039*ed0d50c3Schristos	sparclynx.c: Likewise.
4040*ed0d50c3Schristos	sparcnetbsd.c: Likewise.
4041*ed0d50c3Schristos	vaxbsd.c: Likewise. Fix comment formatting.
4042*ed0d50c3Schristos
4043*ed0d50c3Schristos2003-03-12  Alexandre Oliva  <aoliva@redhat.com>
4044*ed0d50c3Schristos
4045*ed0d50c3Schristos	* Reverted 2003-03-02's patch.
4046*ed0d50c3Schristos
4047*ed0d50c3Schristos	* elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
4048*ed0d50c3Schristos	overridable.
4049*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_canonicalize_reloc,
4050*ed0d50c3Schristos	mips_elf64_get_dynamic_reloc_upper_bound,
4051*ed0d50c3Schristos	mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
4052*ed0d50c3Schristos	(bfd_elf64_get_canonicalize_reloc,
4053*ed0d50c3Schristos	bfd_elf64_get_dynamic_reloc_upper_bound,
4054*ed0d50c3Schristos	bfd_elf64_canonicalize_dynamic_reloc): Define.
4055*ed0d50c3Schristos	(mips_elf64_slurp_reloc_table): Support dynamic.
4056*ed0d50c3Schristos	(mips_elf64_slurp_one_reloc_table): Adjust.
4057*ed0d50c3Schristos
4058*ed0d50c3Schristos2003-03-12  Nick Clifton  <nickc@redhat.com>
4059*ed0d50c3Schristos
4060*ed0d50c3Schristos	* xsym.c (bfd_sym_fetch_type_information_table_entry): Change
4061*ed0d50c3Schristos	'index' to 'offset' in test for zero value.
4062*ed0d50c3Schristos
4063*ed0d50c3Schristos2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
4064*ed0d50c3Schristos
4065*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
4066*ed0d50c3Schristos	dynamic relocations pointing to local or section symbols, use the
4067*ed0d50c3Schristos	NULL symbol instead.  Document the choice to not emit an
4068*ed0d50c3Schristos	additional R_MIPS_64 relocation.
4069*ed0d50c3Schristos
4070*ed0d50c3Schristos2003-03-11  Alan Modra  <amodra@bigpond.net.au>
4071*ed0d50c3Schristos
4072*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
4073*ed0d50c3Schristos	zero index dynamic tls relocs generated for the GOT.  Tidy code.
4074*ed0d50c3Schristos	Set "relocation" to 1 on DTPMOD32 relocs.  Optimize HA adjustment.
4075*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
4076*ed0d50c3Schristos
4077*ed0d50c3Schristos2003-03-07  Alan Modra  <amodra@bigpond.net.au>
4078*ed0d50c3Schristos
4079*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
4080*ed0d50c3Schristos	a tls_get_addr call.
4081*ed0d50c3Schristos
4082*ed0d50c3Schristos	* elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
4083*ed0d50c3Schristos	(ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
4084*ed0d50c3Schristos	ELF_LINK_NON_GOT_REF from weakdef.
4085*ed0d50c3Schristos	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
4086*ed0d50c3Schristos	(ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
4087*ed0d50c3Schristos	ELF_LINK_NON_GOT_REF from weakdef.
4088*ed0d50c3Schristos	* elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one.  Use throughout.
4089*ed0d50c3Schristos	(elf_i386_adjust_dynamic_symbol): For weak symbols, copy
4090*ed0d50c3Schristos	ELF_LINK_NON_GOT_REF from weakdef.
4091*ed0d50c3Schristos
4092*ed0d50c3Schristos2003-03-06  Jakub Jelinek <jakub@redhat.com>
4093*ed0d50c3Schristos	Andrew Haley  <aph@redhat.com>
4094*ed0d50c3Schristos
4095*ed0d50c3Schristos	* elflink.h (elf_bfd_discard_info): Don't process eh frames if
4096*ed0d50c3Schristos	output is relocateable.
4097*ed0d50c3Schristos
4098*ed0d50c3Schristos2003-03-06  Steven Konopa <skonopa@kgo.csc.com>
4099*ed0d50c3Schristos
4100*ed0d50c3Schristos	* som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
4101*ed0d50c3Schristos	R_COMMENT.
4102*ed0d50c3Schristos
4103*ed0d50c3Schristos2003-03-06  Alan Modra  <amodra@bigpond.net.au>
4104*ed0d50c3Schristos
4105*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
4106*ed0d50c3Schristos	error messages.
4107*ed0d50c3Schristos	(ELIMINATE_COPY_RELOCS): Define to zero.
4108*ed0d50c3Schristos	(ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
4109*ed0d50c3Schristos	TLSLD relocs.  Report reloc types on a number of errors.  Optimize
4110*ed0d50c3Schristos	LOCAL24PC check for non-local syms.  Don't capitalize error messages.
4111*ed0d50c3Schristos	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
4112*ed0d50c3Schristos	(ppc64_elf_relocate_section): Don't deref htab->tls_sec when
4113*ed0d50c3Schristos	calculating TLSLD relocs.  Report reloc types on a number of errors.
4114*ed0d50c3Schristos	Don't capitalize error messages.
4115*ed0d50c3Schristos
4116*ed0d50c3Schristos2003-03-03  H.J. Lu <hjl@gnu.org>
4117*ed0d50c3Schristos
4118*ed0d50c3Schristos	* elfxx-ia64.c (USE_BRL): Removed.
4119*ed0d50c3Schristos	(oor_ip): Removed.
4120*ed0d50c3Schristos
4121*ed0d50c3Schristos2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
4122*ed0d50c3Schristos
4123*ed0d50c3Schristos	* elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
4124*ed0d50c3Schristos	relocation (no special function), and make it non-partial_inplace.
4125*ed0d50c3Schristos	(sh_elf_relax_section): When creating a bsr, use a consistent value
4126*ed0d50c3Schristos	no matter if the symbol is extern or not;  set addend to -4.
4127*ed0d50c3Schristos	Don't swap load / non-load instructions for SH4.
4128*ed0d50c3Schristos	(sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
4129*ed0d50c3Schristos	rather than if the symbol is external to determine if adjusting the
4130*ed0d50c3Schristos	offset makes sense.  Adjust the addend too if appropriate.
4131*ed0d50c3Schristos	(sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
4132*ed0d50c3Schristos	relocation.
4133*ed0d50c3Schristos
4134*ed0d50c3Schristos2003-03-03  Nick Clifton  <nickc@redhat.com>
4135*ed0d50c3Schristos
4136*ed0d50c3Schristos	* po/da.po: Installed latest translation.
4137*ed0d50c3Schristos
4138*ed0d50c3Schristos2003-03-02  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4139*ed0d50c3Schristos
4140*ed0d50c3Schristos	* elf32-mips.c (elf_mips_howto_table_rel): Change definition of
4141*ed0d50c3Schristos	R_MIPS_PC16 to rightshift 2.
4142*ed0d50c3Schristos	(elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
4143*ed0d50c3Schristos	(bfd_elf32_bfd_reloc_type_lookup): Support
4144*ed0d50c3Schristos	BFD_RELOC_MIPSEMB_16_PCREL_S2.
4145*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
4146*ed0d50c3Schristos	R_MIPS_PC16 to rightshift 2.
4147*ed0d50c3Schristos	(mips_elf64_howto_table_rela): Likewise.
4148*ed0d50c3Schristos	(mips_reloc_map): Map to rightshifted BFD reloc.
4149*ed0d50c3Schristos	* elfn32-mips.c: The same as in elf64-mips.c.
4150*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
4151*ed0d50c3Schristos	(mips_elf_calculate_relocation): Handle rightshifted addends for
4152*ed0d50c3Schristos	R_MIPS_PC16.
4153*ed0d50c3Schristos	* reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
4154*ed0d50c3Schristos	MIPS Embedded PIC. Remove superfluous empty COMMENT.
4155*ed0d50c3Schristos	* libbfd.h: Regenerate.
4156*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
4157*ed0d50c3Schristos
4158*ed0d50c3Schristos2003-02-28  Richard Henderson  <rth@redhat.com>
4159*ed0d50c3Schristos
4160*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
4161*ed0d50c3Schristos	for ltoff22x relaxation.
4162*ed0d50c3Schristos
4163*ed0d50c3Schristos2003-03-01  Alan Modra  <amodra@bigpond.net.au>
4164*ed0d50c3Schristos
4165*ed0d50c3Schristos	* bfd-in.h (_bfd): Don't define.
4166*ed0d50c3Schristos	* bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
4167*ed0d50c3Schristos	* syms.c: Likewise.
4168*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
4169*ed0d50c3Schristos
4170*ed0d50c3Schristos2003-02-27  Richard Henderson  <rth@redhat.com>
4171*ed0d50c3Schristos
4172*ed0d50c3Schristos	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
4173*ed0d50c3Schristos	(elfNN_ia64_check_relocs): Set it.
4174*ed0d50c3Schristos	(allocate_global_data_got): Check it.
4175*ed0d50c3Schristos	(allocate_local_got): Likewise.
4176*ed0d50c3Schristos	(allocate_dynrel_entries): Likewise.
4177*ed0d50c3Schristos	(elfNN_ia64_relax_ldxmov): New.
4178*ed0d50c3Schristos	(elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
4179*ed0d50c3Schristos	(elfNN_ia64_choose_gp): Split out from ...
4180*ed0d50c3Schristos	(elfNN_ia64_final_link): ... here.
4181*ed0d50c3Schristos
4182*ed0d50c3Schristos2003-02-27  Andrew Cagney  <cagney@redhat.com>
4183*ed0d50c3Schristos
4184*ed0d50c3Schristos	* bfd.c (struct bfd): Rename "struct _bfd".
4185*ed0d50c3Schristos	* bfd-in.h: Update copyright.
4186*ed0d50c3Schristos	(struct bfd): Rename "struct _bfd".
4187*ed0d50c3Schristos	(_bfd): Define for backward compatibility.
4188*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
4189*ed0d50c3Schristos
4190*ed0d50c3Schristos2003-02-25  Alan Modra  <amodra@bigpond.net.au>
4191*ed0d50c3Schristos
4192*ed0d50c3Schristos	* elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
4193*ed0d50c3Schristos	and rel_hdr2 when initially counting input relocs rather than after
4194*ed0d50c3Schristos	creating output reloc sections.
4195*ed0d50c3Schristos	(elf_link_read_relocs_from_section): Don't abort with wrong reloc
4196*ed0d50c3Schristos	sizes.
4197*ed0d50c3Schristos
4198*ed0d50c3Schristos	* Makefile.am: Run "make dep-am".
4199*ed0d50c3Schristos	* Makefile.in: Regenerate.
4200*ed0d50c3Schristos
4201*ed0d50c3Schristos2003-02-24  Kris Warkentin  <kewarken@qnx.com>
4202*ed0d50c3Schristos
4203*ed0d50c3Schristos	* elf.c (elfcore_read_notes): Add check for QNX style core file.
4204*ed0d50c3Schristos	(elfcore_grog_nto_note): New function.
4205*ed0d50c3Schristos	(elfcore_grog_nto_gregs): New function.
4206*ed0d50c3Schristos	(elfcore_grog_nto_status): New function.
4207*ed0d50c3Schristos
4208*ed0d50c3Schristos2003-02-24  Alan Modra  <amodra@bigpond.net.au>
4209*ed0d50c3Schristos
4210*ed0d50c3Schristos	* elflink.c (_bfd_elf_create_got_section): Check existing .got
4211*ed0d50c3Schristos	section flags before concluding that we've already been called.
4212*ed0d50c3Schristos	Don't use register keyword.
4213*ed0d50c3Schristos	(_bfd_elf_create_dynamic_sections): Don't use register keyword.
4214*ed0d50c3Schristos	(_bfd_elf_create_linker_section): Formatting.
4215*ed0d50c3Schristos
4216*ed0d50c3Schristos2003-02-20  jmc  <jmc@prioris.mini.pw.edu.pl>
4217*ed0d50c3Schristos
4218*ed0d50c3Schristos	* coff-h8300.c: Fix typo: intial -> initial.
4219*ed0d50c3Schristos	* coff-ppc.c: Likewise.
4220*ed0d50c3Schristos
4221*ed0d50c3Schristos2003-02-20  Alan Modra  <amodra@bigpond.net.au>
4222*ed0d50c3Schristos
4223*ed0d50c3Schristos	* elf32-ppc.c: Formatting.
4224*ed0d50c3Schristos	(allocate_dynrelocs): LD and GD relocs against the same sym need
4225*ed0d50c3Schristos	separate GOT entries.
4226*ed0d50c3Schristos	(ppc_elf_relocate_section): Correct GOT handling for multiple GOT
4227*ed0d50c3Schristos	entries per symbol.
4228*ed0d50c3Schristos
4229*ed0d50c3Schristos2003-02-19  Alan Modra  <amodra@bigpond.net.au>
4230*ed0d50c3Schristos
4231*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
4232*ed0d50c3Schristos	removal.  Localize vars.  Remove unnecessary dynobj test.
4233*ed0d50c3Schristos	* elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
4234*ed0d50c3Schristos	of INFO.
4235*ed0d50c3Schristos	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
4236*ed0d50c3Schristos	and optimize.
4237*ed0d50c3Schristos	(elf_i386_relocate_section): Likewise.
4238*ed0d50c3Schristos	(elf_i386_gc_sweep_hook): Simplify dyn reloc removal.  Localize vars.
4239*ed0d50c3Schristos	* elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
4240*ed0d50c3Schristos	* elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
4241*ed0d50c3Schristos	* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
4242*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
4243*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.  Remove
4244*ed0d50c3Schristos	local_dynrel for section too.  Don't touch HIPLT22, LOPLT10, PCPLT32
4245*ed0d50c3Schristos	or PCPLT10 relocs.  Don't subtract twice on PLT32 relocs.
4246*ed0d50c3Schristos	Formatting.
4247*ed0d50c3Schristos
4248*ed0d50c3Schristos	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
4249*ed0d50c3Schristos	(ppc64_elf_check_relocs): Use it.  Correct comment.  Move SEC_ALLOC
4250*ed0d50c3Schristos	test.
4251*ed0d50c3Schristos	(ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
4252*ed0d50c3Schristos	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
4253*ed0d50c3Schristos	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
4254*ed0d50c3Schristos	and optimize.  Use ELIMINATE_COPY_RELOCS.
4255*ed0d50c3Schristos	(ppc64_elf_relocate_section): Likewise.
4256*ed0d50c3Schristos
4257*ed0d50c3Schristos	* elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
4258*ed0d50c3Schristos	(ppc_elf_copy_indirect_symbol): Copy pc_count field.
4259*ed0d50c3Schristos	(ELIMINATE_COPY_RELOCS): Define.
4260*ed0d50c3Schristos	(ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
4261*ed0d50c3Schristos	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
4262*ed0d50c3Schristos	(MUST_BE_DYN_RELOC): Define.
4263*ed0d50c3Schristos	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
4264*ed0d50c3Schristos	and optimize.  Trim dyn_relocs.
4265*ed0d50c3Schristos	(ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
4266*ed0d50c3Schristos	not be used.  Do generate dyn_relocs for copy reloc avoidance.  Keep
4267*ed0d50c3Schristos	track of pc_rel dyn relocs.
4268*ed0d50c3Schristos	(ppc_elf_relocate_section): Remove "will_become_local".  Adjust
4269*ed0d50c3Schristos	WILL_CALL_FINISH_DYNAMIC_SYMBOL use.  Trim dyn relocs as per
4270*ed0d50c3Schristos	allocate_dynrelocs.  Don't recalculate "sec".
4271*ed0d50c3Schristos
4272*ed0d50c3Schristos2003-02-18  Alan Modra  <amodra@bigpond.net.au>
4273*ed0d50c3Schristos
4274*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
4275*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
4276*ed0d50c3Schristos	on invalid LD relocs.
4277*ed0d50c3Schristos	(allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
4278*ed0d50c3Schristos	(ppc64_elf_relocate_section): Unify new handling of LD relocs and
4279*ed0d50c3Schristos	tlsld_got entry.  Use IS_PPC64_TLS_RELOC.
4280*ed0d50c3Schristos
4281*ed0d50c3Schristos	* elf32-ppc.h: New file.
4282*ed0d50c3Schristos	* elf32-ppc.c: Include elf32-ppc.h.
4283*ed0d50c3Schristos	(NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
4284*ed0d50c3Schristos	(struct ppc_elf_link_hash_entry): Rename "root" to "elf".  Adjust uses.
4285*ed0d50c3Schristos	Add "tls_mask" field.
4286*ed0d50c3Schristos	(TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
4287*ed0d50c3Schristos	(struct ppc_elf_link_hash_table): Rename "root" to "elf".  Adjust uses.
4288*ed0d50c3Schristos	Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
4289*ed0d50c3Schristos	sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
4290*ed0d50c3Schristos	Make use of htab shortcuts throughout file.
4291*ed0d50c3Schristos	(ppc_elf_link_hash_newfunc): Init tls_mask field.
4292*ed0d50c3Schristos	(ppc_elf_link_hash_table_create): Init new fields.
4293*ed0d50c3Schristos	(ppc_elf_copy_indirect_symbol): Copy tls_mask.
4294*ed0d50c3Schristos	(ppc_elf_howto_raw): Add tls relocs.
4295*ed0d50c3Schristos	(ppc_elf_reloc_type_lookup): Handle them.
4296*ed0d50c3Schristos	(ppc_elf_unhandled_reloc): New function.
4297*ed0d50c3Schristos	(ppc_elf_create_got): Stash got section pointer in hash table,
4298*ed0d50c3Schristos	return status.  Make .rela.got too.
4299*ed0d50c3Schristos	(ppc_elf_create_dynamic_sections): Stash section pointers in htab.
4300*ed0d50c3Schristos	(ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
4301*ed0d50c3Schristos	NON_GOT_REF set.  Don't allocate space in .plt here..
4302*ed0d50c3Schristos	(allocate_dynrelocs): ..do so here instead, properly ref-counting and
4303*ed0d50c3Schristos	not allocating plt entries unnecessarily.  Allocate got entries here.
4304*ed0d50c3Schristos	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
4305*ed0d50c3Schristos	(ppc_elf_size_dynamic_sections): Allocate local got entries.  Pass
4306*ed0d50c3Schristos	"info" during allocate_dynrelocs hash traversal.  Use htab section
4307*ed0d50c3Schristos	shortcuts rather than searching for named sections.  Get rid of
4308*ed0d50c3Schristos	"plt" and "strip" booleans.
4309*ed0d50c3Schristos	(update_local_sym_info, bad_shared_reloc): New functions.
4310*ed0d50c3Schristos	(ppc_elf_check_relocs): Handle TLS relocs.  Move .rela.got creation to
4311*ed0d50c3Schristos	ppc_elf_create_got.  Don't mark got or plt reloc syms dynamic, do so
4312*ed0d50c3Schristos	in allocate_dynreloc.  Use update_local_sym_info and bad_shared_reloc.
4313*ed0d50c3Schristos	Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
4314*ed0d50c3Schristos	R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
4315*ed0d50c3Schristos	in shared libs.  R_PPC_PLTREL32 is a plt reloc too.  Refcount all
4316*ed0d50c3Schristos	relocs that might use a plt entry.  Set NON_GOT_REF too.
4317*ed0d50c3Schristos	Enumerate all do-nothing relocs.
4318*ed0d50c3Schristos	(ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs.  Handle
4319*ed0d50c3Schristos	tls relocs and all plt relocs.
4320*ed0d50c3Schristos	(ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
4321*ed0d50c3Schristos	(ppc_elf_finish_dynamic_symbol): Don't build got entries here.
4322*ed0d50c3Schristos	(ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
4323*ed0d50c3Schristos	shortcuts.
4324*ed0d50c3Schristos	(ppc_elf_relocate_section): Tidy.  Handle TLS relocs.  Use
4325*ed0d50c3Schristos	bfd_elf_local_sym_name.  Simplify unresolved reloc code.  Build got
4326*ed0d50c3Schristos	entries and got relocs here.  Warn on non-zero got reloc addend.
4327*ed0d50c3Schristos	Split out branch taken/not taken reloc code into a separate switch
4328*ed0d50c3Schristos	and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
4329*ed0d50c3Schristos	Split out HA reloc adjustments to separate switch statement.  Don't
4330*ed0d50c3Schristos	warn on reloc overflow if we've already warned about undefined.
4331*ed0d50c3Schristos	Don't rebuild sym name when reporting errors.  Report all possible
4332*ed0d50c3Schristos	errors from _bfd_final_link_relocate.
4333*ed0d50c3Schristos	(bfd_elf32_bfd_final_link): Don't define.
4334*ed0d50c3Schristos
4335*ed0d50c3Schristos2003-02-18  Alan Modra  <amodra@bigpond.net.au>
4336*ed0d50c3Schristos
4337*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r".  Don't
4338*ed0d50c3Schristos	rebuild sym name when reporting errors.
4339*ed0d50c3Schristos
4340*ed0d50c3Schristos2003-02-17  Nick Clifton  <nickc@redhat.com>
4341*ed0d50c3Schristos
4342*ed0d50c3Schristos	* elflink.h (elf_link_output_extsym): Only check
4343*ed0d50c3Schristos	allow_shlib_undefined for shared libraries.
4344*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Remove bogus check
4345*ed0d50c3Schristos	of allow_shlib_undefined.
4346*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section): Likewise.
4347*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
4348*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
4349*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
4350*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
4351*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section): Likewise.
4352*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
4353*ed0d50c3Schristos	* elf32-vax.c (elf_vax_relocate_section): Likewise.
4354*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
4355*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
4356*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
4357*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
4358*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
4359*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
4360*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
4361*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
4362*ed0d50c3Schristos
4363*ed0d50c3Schristos2003-02-17  Nick Clifton  <nickc@redhat.com>
4364*ed0d50c3Schristos
4365*ed0d50c3Schristos	* elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
4366*ed0d50c3Schristos	address field to use in the comparison.
4367*ed0d50c3Schristos	(SEGMENT_OVERLAPS): Check that LMAs overlap as well.
4368*ed0d50c3Schristos
4369*ed0d50c3Schristos2003-02-14  Bob Wilson  <bob.wilson@acm.org>
4370*ed0d50c3Schristos
4371*ed0d50c3Schristos	* elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
4372*ed0d50c3Schristos	backends when checking if the generic ELF target should be used.
4373*ed0d50c3Schristos
4374*ed0d50c3Schristos	* syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
4375*ed0d50c3Schristos	outside of functions, treat values as absolute addresses.
4376*ed0d50c3Schristos
4377*ed0d50c3Schristos	* bfd.c: Change embedded documentation to use consistent indentation
4378*ed0d50c3Schristos	and to split up long lines.  Change informal style of description
4379*ed0d50c3Schristos	for functions lacking real documentation.
4380*ed0d50c3Schristos	* coffcode.h: Break up long lines in embedded documentation.
4381*ed0d50c3Schristos	* format.c: Likewise.
4382*ed0d50c3Schristos	* targets.c: Likewise.
4383*ed0d50c3Schristos	* libcoff.h: Regenerate.
4384*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
4385*ed0d50c3Schristos
4386*ed0d50c3Schristos2003-02-14  Alan Modra  <amodra@bigpond.net.au>
4387*ed0d50c3Schristos
4388*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
4389*ed0d50c3Schristos	(ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
4390*ed0d50c3Schristos	(ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
4391*ed0d50c3Schristos	(allocate_dynrelocs): Don't treat undefined and undefweak specially.
4392*ed0d50c3Schristos	(ppc_size_one_stub): Fix warning, and tighten plt entry check.
4393*ed0d50c3Schristos	(group_sections): Don't share a stub section if stubs are for a large
4394*ed0d50c3Schristos	section.  Adjust comment.
4395*ed0d50c3Schristos	(ppc64_elf_size_stubs): Roughly double the size left for stubs if
4396*ed0d50c3Schristos	!stubs_always_before_branch.
4397*ed0d50c3Schristos	(ppc64_elf_relocate_section): Initialize tlsld GOT entry once.  Don't
4398*ed0d50c3Schristos	treat undefined and undefweak specially when processing dyn relocs.
4399*ed0d50c3Schristos
4400*ed0d50c3Schristos2003-02-13  Jakub Jelinek  <jakub@redhat.com>
4401*ed0d50c3Schristos
4402*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
4403*ed0d50c3Schristos
4404*ed0d50c3Schristos2003-02-13  Nick Clifton  <nickc@redhat.com>
4405*ed0d50c3Schristos
4406*ed0d50c3Schristos	* elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
4407*ed0d50c3Schristos	in computation of offset to insert into BL instruction.
4408*ed0d50c3Schristos
4409*ed0d50c3Schristos2003-02-11  Uwe Stieber  <uwe@wwws.de>
4410*ed0d50c3Schristos
4411*ed0d50c3Schristos	* config.bfd: Add support for kaOS as cross build target system.
4412*ed0d50c3Schristos
4413*ed0d50c3Schristos2003-02-11  Alan Modra  <amodra@bigpond.net.au>
4414*ed0d50c3Schristos
4415*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
4416*ed0d50c3Schristos	.__tls_get_addr too.
4417*ed0d50c3Schristos	(ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
4418*ed0d50c3Schristos
4419*ed0d50c3Schristos2003-02-10  Kaz kojima  <kkojima@rr.iij4u.or.jp>
4420*ed0d50c3Schristos
4421*ed0d50c3Schristos	* elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
4422*ed0d50c3Schristos	(elf_sh_link_hash_entry): Remove tls_tpoff32 field.
4423*ed0d50c3Schristos	(sh_elf_link_hash_newfunc): Remove the initialization of
4424*ed0d50c3Schristos	tls_tpoff32 field.
4425*ed0d50c3Schristos	(allocate_dynrelocs): Keep dyn_relocs if it includes the entry
4426*ed0d50c3Schristos	for which tls_tpoff32 flag is set.
4427*ed0d50c3Schristos	(sh_elf_relocate_section): Covert to LE only if the dyn_relocs
4428*ed0d50c3Schristos	of the symbol includes the entry matched with the input_section
4429*ed0d50c3Schristos	and having tls_tpoff32 flag on.  When linking statically, set
4430*ed0d50c3Schristos	symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
4431*ed0d50c3Schristos	is defined in this executable.
4432*ed0d50c3Schristos	(sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
4433*ed0d50c3Schristos
4434*ed0d50c3Schristos2003-02-10  Jakub Jelinek  <jakub@redhat.com>
4435*ed0d50c3Schristos
4436*ed0d50c3Schristos	* elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
4437*ed0d50c3Schristos	even if there is just non-empty .rela.plt.
4438*ed0d50c3Schristos
4439*ed0d50c3Schristos2003-02-10  Nick Clifton  <nickc@redhat.com>
4440*ed0d50c3Schristos
4441*ed0d50c3Schristos	* archures.c (bfd_mach_arm_ep9312): Define.
4442*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
4443*ed0d50c3Schristos	* cpu-arm.c (processors[]): Add ep9312.
4444*ed0d50c3Schristos	(bfd_arm_arch): Add ep9312.
4445*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_merge_private_data): Update error
4446*ed0d50c3Schristos	messages and add test for Maverick floating point support.
4447*ed0d50c3Schristos	(elf32_arm_print_private_bfd_data): Handle
4448*ed0d50c3Schristos	EF_ARM_MAVERICK_FLOAT flag.
4449*ed0d50c3Schristos	(elf32_arm_object_p): New function.
4450*ed0d50c3Schristos	(elf_backend_object_p): Define.
4451*ed0d50c3Schristos
4452*ed0d50c3Schristos2003-02-10  Alan Modra  <amodra@bigpond.net.au>
4453*ed0d50c3Schristos
4454*ed0d50c3Schristos	* elf64-ppc.c: Rename assorted occurrences of tls_type and similar
4455*ed0d50c3Schristos	variables, structure fields or function params to tls_mask or
4456*ed0d50c3Schristos	similar to better reflect usage.
4457*ed0d50c3Schristos	(struct got_entry): Comment.
4458*ed0d50c3Schristos	(struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
4459*ed0d50c3Schristos	(get_tls_mask): Rename from get_tls_type.
4460*ed0d50c3Schristos
4461*ed0d50c3Schristos2003-02-09  Alan Modra  <amodra@bigpond.net.au>
4462*ed0d50c3Schristos
4463*ed0d50c3Schristos	* elf64-ppc.c (TLS_GD_LD): Don't define..
4464*ed0d50c3Schristos	(TLS_GD): ..define this instead and update all uses.
4465*ed0d50c3Schristos	(TLS_TPRELGD): Define.
4466*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Tweak initialization of
4467*ed0d50c3Schristos	init_refcount and init_offset.
4468*ed0d50c3Schristos	(ppc64_elf_check_relocs): Add one extra element to t_symndx array.
4469*ed0d50c3Schristos	Mark second slot of GD or LD toc entries.
4470*ed0d50c3Schristos	(get_tls_type): Return an int.  Distinguish toc GD and LD entries
4471*ed0d50c3Schristos	from other tls types.
4472*ed0d50c3Schristos	(ppc64_elf_tls_setup): New function, split out from..
4473*ed0d50c3Schristos	(ppc64_elf_tls_optimize): ..here.  Don't optimize when symbols are
4474*ed0d50c3Schristos	defined in a dynamic object.  Fix LD optimization.  Don't set TLS_TPREL
4475*ed0d50c3Schristos	on GD->IE optimization, use TLS_TPRELGD instead.  Use get_tls_type
4476*ed0d50c3Schristos	return value to properly decide whether toc GD and LD entries can
4477*ed0d50c3Schristos	optimize away __tls_get_addr call.  Check next reloc after DTPMOD64
4478*ed0d50c3Schristos	to determine GD or LD rather than looking at TLS_LD flag.  Don't
4479*ed0d50c3Schristos	attempt to adjust got entry tls_type here..
4480*ed0d50c3Schristos	(allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
4481*ed0d50c3Schristos	look for possible merges.
4482*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Adjust local got entries for
4483*ed0d50c3Schristos	optimization.
4484*ed0d50c3Schristos	(ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
4485*ed0d50c3Schristos	(ppc64_elf_relocate_section): Rename some vars to better reflect usage.
4486*ed0d50c3Schristos	Make use of return value from get_tls_type to properly detect GD and
4487*ed0d50c3Schristos	LD optimizations.  Split tlsld/gd hi/ha from lo/ds case.  Don't
4488*ed0d50c3Schristos	handle tls_get_addr removal when looking at REL24 relocs, do it when
4489*ed0d50c3Schristos	looking at the previous reloc.  Check reloc after DTPMOD64 to determine
4490*ed0d50c3Schristos	GD or LD.
4491*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_tls_setup): Declare.
4492*ed0d50c3Schristos
4493*ed0d50c3Schristos2003-02-08  Alan Modra  <amodra@bigpond.net.au>
4494*ed0d50c3Schristos
4495*ed0d50c3Schristos	* elf32-hppa.c (group_sections): Don't share a stub section if
4496*ed0d50c3Schristos	stubs are for a large section.
4497*ed0d50c3Schristos
4498*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
4499*ed0d50c3Schristos	stubs if !stubs_always_before_branch.
4500*ed0d50c3Schristos
4501*ed0d50c3Schristos2003-02-07  Nick Clifton  <nickc@redhat.com>
4502*ed0d50c3Schristos
4503*ed0d50c3Schristos	* elf.c (swap_out_syms): Generate an error message if an
4504*ed0d50c3Schristos	equivalent output section cannot be found for a symbol.
4505*ed0d50c3Schristos
4506*ed0d50c3Schristos2003-02-07  Jakub Jelinek  <jakub@redhat.com>
4507*ed0d50c3Schristos
4508*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
4509*ed0d50c3Schristos	local_got_entries is NULL.
4510*ed0d50c3Schristos
4511*ed0d50c3Schristos2003-02-06  Andreas Schwab  <schwab@suse.de>
4512*ed0d50c3Schristos
4513*ed0d50c3Schristos	* elf-eh-frame.c (get_DW_EH_PE_signed): Define.
4514*ed0d50c3Schristos	(read_value): Add parameter is_signed, use signed extraction if
4515*ed0d50c3Schristos	the value is signed.
4516*ed0d50c3Schristos	(_bfd_elf_write_section_eh_frame): Pass signed flag of the
4517*ed0d50c3Schristos	encoding to read_value.
4518*ed0d50c3Schristos
4519*ed0d50c3Schristos2003-02-06  Alan Modra  <amodra@bigpond.net.au>
4520*ed0d50c3Schristos
4521*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
4522*ed0d50c3Schristos	plt info when called to transfer weak sym info.
4523*ed0d50c3Schristos
4524*ed0d50c3Schristos2003-02-05  Alan Modra  <amodra@bigpond.net.au>
4525*ed0d50c3Schristos
4526*ed0d50c3Schristos	* reloc.c: Add PPC and PPC64 TLS relocs.
4527*ed0d50c3Schristos	* libbfd.h: Regenerate.
4528*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
4529*ed0d50c3Schristos	* elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
4530*ed0d50c3Schristos	(ppc64_elf_howto_raw): Add TLS howto's.  Adjust R_PPC64_NONE to be
4531*ed0d50c3Schristos	against a 32 bit field.
4532*ed0d50c3Schristos	(ppc64_elf_reloc_type_lookup): Handle TLS relocs.
4533*ed0d50c3Schristos	(_ppc64_elf_section_data): Add t_symndx and comments.
4534*ed0d50c3Schristos	(ppc64_elf_section_data): Use elf_section_data macro.
4535*ed0d50c3Schristos	(ppc64_elf_new_section_hook): American spelling.
4536*ed0d50c3Schristos	(struct got_entry, struct plt_entry): New.
4537*ed0d50c3Schristos	(MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
4538*ed0d50c3Schristos	(struct ppc_stub_hash_entry): Add "addend" field.
4539*ed0d50c3Schristos	(struct ppc_link_hash_entry): Add "tls_type".
4540*ed0d50c3Schristos	(TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
4541*ed0d50c3Schristos	TLS_EXPLICIT): Define.
4542*ed0d50c3Schristos	(struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
4543*ed0d50c3Schristos	(link_hash_newfunc): Init new fields.
4544*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Likewise.  Set init_refcount and
4545*ed0d50c3Schristos	init_offset to NULL.
4546*ed0d50c3Schristos	(ppc64_elf_copy_indirect_symbol): Copy got and plt info.  Don't call
4547*ed0d50c3Schristos	_bfd_elf_link_hash_copy_indirect, rather insert relevant code from
4548*ed0d50c3Schristos	there.
4549*ed0d50c3Schristos	(update_local_sym_info, update_plt_info): New functions.
4550*ed0d50c3Schristos	(ppc64_elf_check_relocs): Use them.  Handle TLS relocs.  Adjust GOT
4551*ed0d50c3Schristos	handling to use got.glist rather than got.refcount.  Likewise for PLT.
4552*ed0d50c3Schristos	(ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
4553*ed0d50c3Schristos	(func_desc_adjust): Adjust for new PLT list.
4554*ed0d50c3Schristos	(ppc64_elf_adjust_dynamic_symbol): Likewise.
4555*ed0d50c3Schristos	(get_sym_h, get_tls_type): New functions.
4556*ed0d50c3Schristos	(ppc64_elf_edit_opd): Remove unused variable.  Use get_sym_h.
4557*ed0d50c3Schristos	(ppc64_elf_tls_optimize): New function.
4558*ed0d50c3Schristos	(allocate_dynrelocs): Adjust for new PLT and GOT lists.  Allocate
4559*ed0d50c3Schristos	TLS relocs.
4560*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Likewise.
4561*ed0d50c3Schristos	(ppc_type_of_stub): Adjust for new PLT list.
4562*ed0d50c3Schristos	(ppc_build_one_stub): Likewise.
4563*ed0d50c3Schristos	(ppc64_elf_size_stubs): Likewise.  Use get_sym_h.  Treat __tls_get_addr
4564*ed0d50c3Schristos	calls specially.
4565*ed0d50c3Schristos	(ppc64_elf_relocate_section): Adjust for new GOT and PLT lists.  Handle
4566*ed0d50c3Schristos	TLS relocs.  Report local syms using bfd_elf_local_sym_name.  Don't
4567*ed0d50c3Schristos	init GOT entries that have a reloc.  Generate GOT relocs here..
4568*ed0d50c3Schristos	(ppc64_elf_finish_dynamic_symbol): ..not here.  Adjust for PLT list.
4569*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
4570*ed0d50c3Schristos
4571*ed0d50c3Schristos2003-02-04  Andreas Schwab  <schwab@suse.de>
4572*ed0d50c3Schristos
4573*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_hash_entry): Define.
4574*ed0d50c3Schristos	(elf_m68k_link_hash_traverse): Remove.
4575*ed0d50c3Schristos	(elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
4576*ed0d50c3Schristos	elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
4577*ed0d50c3Schristos	reduce casting.
4578*ed0d50c3Schristos	(elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
4579*ed0d50c3Schristos	casting.
4580*ed0d50c3Schristos	(elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
4581*ed0d50c3Schristos	instead of elf_m68k_link_hash_traverse.
4582*ed0d50c3Schristos	(elf_m68k_discard_copies): Change first parameter to pointer to
4583*ed0d50c3Schristos	struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
4584*ed0d50c3Schristos	elf_m68k_link_hash_entry is needed.
4585*ed0d50c3Schristos
4586*ed0d50c3Schristos2003-02-04  Alan Modra  <amodra@bigpond.net.au>
4587*ed0d50c3Schristos
4588*ed0d50c3Schristos	* elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
4589*ed0d50c3Schristos	(struct elf_link_hash_entry): Add "glist" and "plist" fields to
4590*ed0d50c3Schristos	"got" union, and declare as gotplt_union.  Use gotplt_uinion for
4591*ed0d50c3Schristos	"plt" field.
4592*ed0d50c3Schristos	(struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
4593*ed0d50c3Schristos	Add "init_offset" field.
4594*ed0d50c3Schristos	(struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
4595*ed0d50c3Schristos	(elf_local_got_ents): Declare.
4596*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
4597*ed0d50c3Schristos	and "plt".
4598*ed0d50c3Schristos	(_bfd_elf_link_hash_hide_symbol): Use "init_offset".
4599*ed0d50c3Schristos	(_bfd_elf_link_hash_table_init): Set "init_offset".
4600*ed0d50c3Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
4601*ed0d50c3Schristos	from init_offset.
4602*ed0d50c3Schristos	(elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
4603*ed0d50c3Schristos
4604*ed0d50c3Schristos	* elf.c (bfd_elf_local_sym_name): Split out from..
4605*ed0d50c3Schristos	(group_signature): ..here.
4606*ed0d50c3Schristos	* elf-bfd.h (bfd_elf_local_sym_name): Declare.
4607*ed0d50c3Schristos
4608*ed0d50c3Schristos2003-02-04  Alan Modra  <amodra@bigpond.net.au>
4609*ed0d50c3Schristos
4610*ed0d50c3Schristos	* elf-bfd.h (enum elf_link_info_type): Remove.
4611*ed0d50c3Schristos	(struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
4612*ed0d50c3Schristos	to struct sec.  Remove linkonce_p field.
4613*ed0d50c3Schristos	(elf_linkonce_p): Delete.
4614*ed0d50c3Schristos	(elf_discarded_section): Update for sec_info_type change.
4615*ed0d50c3Schristos	* section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
4616*ed0d50c3Schristos	flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
4617*ed0d50c3Schristos	(ELF_INFO_TYPE_NONE): Define.
4618*ed0d50c3Schristos	(ELF_INFO_TYPE_STABS): Define.
4619*ed0d50c3Schristos	(ELF_INFO_TYPE_MERGE): Define.
4620*ed0d50c3Schristos	(ELF_INFO_TYPE_EH_FRAME): Define.
4621*ed0d50c3Schristos	(ELF_INFO_TYPE_JUST_SYMS): Define.
4622*ed0d50c3Schristos	(STD_SECTION): Update struct sec initializer.
4623*ed0d50c3Schristos	* ecoff.c (bfd_debug_section): Likewise.
4624*ed0d50c3Schristos	* elf.c: Likewise.  Update occurrences of sec_info_type and use_rela_p.
4625*ed0d50c3Schristos	* elflink.h: Likewise.
4626*ed0d50c3Schristos	* elf-eh-frame.c: Likewise.
4627*ed0d50c3Schristos	* elf64-alpha.c: Likewise.
4628*ed0d50c3Schristos	* elfxx-ia64.c: Likewise.
4629*ed0d50c3Schristos	* elfxx-mips.c: Likewise.
4630*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
4631*ed0d50c3Schristos
4632*ed0d50c3Schristos	* elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
4633*ed0d50c3Schristos	referring to used_by_bfd.
4634*ed0d50c3Schristos	* elf64-sparc.c (sec_do_relax): Likewise.
4635*ed0d50c3Schristos	* elf64-mmix.c (mmix_elf_section_data): Likewise.
4636*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_section_data): Likewise.
4637*ed0d50c3Schristos	* ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
4638*ed0d50c3Schristos	(ieee_get_section_contents): Likewise.
4639*ed0d50c3Schristos	(ieee_new_section_hook): Formatting.
4640*ed0d50c3Schristos	(ieee_canonicalize_reloc): Remove commented out code.
4641*ed0d50c3Schristos	* mmo.c (mmo_section_data): Define.  Use throughout file.
4642*ed0d50c3Schristos	* oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
4643*ed0d50c3Schristos
4644*ed0d50c3Schristos2003-01-31  Graydon Hoare <graydon@redhat.com>
4645*ed0d50c3Schristos
4646*ed0d50c3Schristos	* Makefile.am (opncls.lo): Add dependency upon libiberty.h.
4647*ed0d50c3Schristos	* Makefile.in: Regenerate.
4648*ed0d50c3Schristos	* opncls.c (calc_crc32, get_debug_link_info,
4649*ed0d50c3Schristos	seperate_debug_file_exists, find_seperate_debug_file): New
4650*ed0d50c3Schristos	internal functions.
4651*ed0d50c3Schristos	(bfd_follow_gnu_debuglink): New function.  Follow the pointer
4652*ed0d50c3Schristos	contained inside a .gnu_debuglink section.
4653*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
4654*ed0d50c3Schristos
4655*ed0d50c3Schristos2003-01-29  Alexandre Oliva  <aoliva@redhat.com>
4656*ed0d50c3Schristos
4657*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
4658*ed0d50c3Schristos	entry->abfd when it's NULL.
4659*ed0d50c3Schristos
4660*ed0d50c3Schristos2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
4661*ed0d50c3Schristos
4662*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
4663*ed0d50c3Schristos	_bfd_elf_section_offset returning -2 the same way as -1.
4664*ed0d50c3Schristos
4665*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_multi_got): New function.
4666*ed0d50c3Schristos	(struct mips_got_entry): Make symndx and gotidx signed.  Moved
4667*ed0d50c3Schristos	addend into union along with address and link hash entry.
4668*ed0d50c3Schristos	(struct mips_got_info): Added bfd2got and next.
4669*ed0d50c3Schristos	(struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
4670*ed0d50c3Schristos	(mips_elf_got_section, mips_elf_create_got_section): Use
4671*ed0d50c3Schristos	SEC_EXCLUDE bit to tell whether we really need the got
4672*ed0d50c3Schristos	section.  Take boolean arguments to disregard an excluded
4673*ed0d50c3Schristos	section, or to create it as excluded.  Adjust all callers.
4674*ed0d50c3Schristos	Use mips_elf_got_section all over.
4675*ed0d50c3Schristos	(mips_elf_local_got_index, mips_elf_got_page,
4676*ed0d50c3Schristos	mips_elf_got16_entry): Take input bfd as argument, and pass it
4677*ed0d50c3Schristos	on to mips_elf_create_local_got_entry.
4678*ed0d50c3Schristos	(mips_elf_global_got_index, mips_elf_create_local_got_entry):
4679*ed0d50c3Schristos	Take input bfd as argument, and manage entries in the
4680*ed0d50c3Schristos	appropriate GOT.
4681*ed0d50c3Schristos	(mips_elf_got_offset_from_index): Take input bfd as argument,
4682*ed0d50c3Schristos	and use it to adjust the GP offset of the bfd.
4683*ed0d50c3Schristos	(mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
4684*ed0d50c3Schristos	unreferenced GOT entries of global symbols to the end.
4685*ed0d50c3Schristos	(mips_elf_record_global_got_symbol): Take input bfd as
4686*ed0d50c3Schristos	argument.  Add entries to the master GOT hash table.
4687*ed0d50c3Schristos	(struct mips_elf_bfd2got_hash): New.
4688*ed0d50c3Schristos	(struct mips_elf_got_per_bfd_arg): New.
4689*ed0d50c3Schristos	(struct mips_elf_set_global_got_offset_arg): New.
4690*ed0d50c3Schristos	(mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
4691*ed0d50c3Schristos	mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
4692*ed0d50c3Schristos	mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
4693*ed0d50c3Schristos	mips_elf_merge_gots, mips_elf_set_global_got_offset,
4694*ed0d50c3Schristos	mips_elf_resolve_final_got_entry,
4695*ed0d50c3Schristos	mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
4696*ed0d50c3Schristos	mips_elf_got_for_ibfd): New functions.
4697*ed0d50c3Schristos	(ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
4698*ed0d50c3Schristos	(MIPS_ELF_GOT_MAX_SIZE): New macro.
4699*ed0d50c3Schristos	(STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
4700*ed0d50c3Schristos	(mips_elf_got_entry_hash): Take new fields into account.  Use
4701*ed0d50c3Schristos	mips_elf_hash_bfd_vma.
4702*ed0d50c3Schristos	(mips_elf_got_entry_eq): Take new fields into account.
4703*ed0d50c3Schristos	(mips_elf_create_got_section): Initialize new fields.
4704*ed0d50c3Schristos	(mips_elf_calculate_relocation): Pass input_bfd to functions
4705*ed0d50c3Schristos	that now take it.  Adjust gp for the input_bfd.
4706*ed0d50c3Schristos	(mips_elf_allocate_dynamic_relocation,
4707*ed0d50c3Schristos	mips_elf_create_dynamic_relocation,
4708*ed0d50c3Schristos	_bfd_mips_elf_create_dynamic_sections): Use...
4709*ed0d50c3Schristos	(mips_elf_rel_dyn_section): New function.  Borrow code from...
4710*ed0d50c3Schristos	(_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
4711*ed0d50c3Schristos	now take it.  Create the got section if needed, even if
4712*ed0d50c3Schristos	excluded, before recording a global got symbol.  Move some
4713*ed0d50c3Schristos	code to...
4714*ed0d50c3Schristos	(mips_elf_record_local_got_symbol): New fn.
4715*ed0d50c3Schristos	(_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
4716*ed0d50c3Schristos	Compute multi-got global entries offsets.  Move GOT code to...
4717*ed0d50c3Schristos	(_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
4718*ed0d50c3Schristos	if the GOT is too big.
4719*ed0d50c3Schristos	(_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
4720*ed0d50c3Schristos	undefweak symbol to zero.  Generate dynamic relocations for
4721*ed0d50c3Schristos	non-primary GOT entries for global symbols.
4722*ed0d50c3Schristos	(_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
4723*ed0d50c3Schristos	case.  Generate dynamic relocations for local got entries.
4724*ed0d50c3Schristos	Sort dynamic relocations on N64 too, using...
4725*ed0d50c3Schristos	(sort_dynamic_relocs_64): New fns.
4726*ed0d50c3Schristos	(_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
4727*ed0d50c3Schristos	(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
4728*ed0d50c3Schristos
4729*ed0d50c3Schristos2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
4730*ed0d50c3Schristos
4731*ed0d50c3Schristos	* bfd.c (struct _bfd): Added id field.
4732*ed0d50c3Schristos	* opncls.c (_bfd_id_counter): New static variable.
4733*ed0d50c3Schristos	(_bfd_new_bfd): Use it.
4734*ed0d50c3Schristos	* bfd-in2.h: Rebuilt.
4735*ed0d50c3Schristos
4736*ed0d50c3Schristos2003-01-25  Alan Modra  <amodra@bigpond.net.au>
4737*ed0d50c3Schristos
4738*ed0d50c3Schristos	* elf32-sparc.c (bfd_elf32_new_section_hook): Define.
4739*ed0d50c3Schristos
4740*ed0d50c3Schristos2003-01-25  Jakub Jelinek  <jakub@redhat.com>
4741*ed0d50c3Schristos
4742*ed0d50c3Schristos	* elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
4743*ed0d50c3Schristos	(elf32_sparc_rev32_howto): New variable.
4744*ed0d50c3Schristos	(sparc_reloc_map): Add TLS relocs.
4745*ed0d50c3Schristos	(elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
4746*ed0d50c3Schristos	Handle REV32.
4747*ed0d50c3Schristos	(sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
4748*ed0d50c3Schristos	New functions.
4749*ed0d50c3Schristos	(struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
4750*ed0d50c3Schristos	struct elf32_sparc_link_hash_table):
4751*ed0d50c3Schristos	New structures.
4752*ed0d50c3Schristos	(elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
4753*ed0d50c3Schristos	elf32_sparc_hash_table): Define.
4754*ed0d50c3Schristos	(link_hash_newfunc, elf32_sparc_link_hash_table_create,
4755*ed0d50c3Schristos	create_got_section, elf32_sparc_create_dynamic_sections,
4756*ed0d50c3Schristos	elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
4757*ed0d50c3Schristos	functions.
4758*ed0d50c3Schristos	(elf32_sparc_check_relocs): Handle TLS relocs.  Add dynamic reloc
4759*ed0d50c3Schristos	reference counting.
4760*ed0d50c3Schristos	(elf32_sparc_gc_sweep_hook): Likewise.
4761*ed0d50c3Schristos	(elf32_sparc_adjust_dynamic_symbol): Likewise.
4762*ed0d50c3Schristos	(elf32_sparc_size_dynamic_sections): Likewise.
4763*ed0d50c3Schristos	(elf32_sparc_relocate_section): Likewise.
4764*ed0d50c3Schristos	(allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
4765*ed0d50c3Schristos	New functions.
4766*ed0d50c3Schristos	(elf32_sparc_object_p): Allocate backend private object data.
4767*ed0d50c3Schristos	(bfd_elf32_bfd_link_hash_table_create,
4768*ed0d50c3Schristos	elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
4769*ed0d50c3Schristos	elf_backend_can_refcount): Define.
4770*ed0d50c3Schristos	(elf_backend_create_dynamic_sections): Define to
4771*ed0d50c3Schristos	elf32_sparc_create_dynamic_sections.
4772*ed0d50c3Schristos	* reloc.c: Add SPARC TLS relocs.
4773*ed0d50c3Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
4774*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
4775*ed0d50c3Schristos	(sparc_reloc_map): Likewise.
4776*ed0d50c3Schristos
4777*ed0d50c3Schristos2003-01-24  Martin Schwidefsky  <schwidefsky@de.ibm.com>
4778*ed0d50c3Schristos
4779*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
4780*ed0d50c3Schristos	* elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
4781*ed0d50c3Schristos	s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
4782*ed0d50c3Schristos	(elf_howto_table): Add TLS relocs.
4783*ed0d50c3Schristos	(elf_s390_reloc_type_lookup): Likewise.
4784*ed0d50c3Schristos	(elf_s390_link_hash_entry): Add tls_type.
4785*ed0d50c3Schristos	(elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
4786*ed0d50c3Schristos	New macros.
4787*ed0d50c3Schristos	(elf_s390_link_hash_table): Add tls_ldm_got.
4788*ed0d50c3Schristos	(link_hash_newfunc): Initialize tls_type.
4789*ed0d50c3Schristos	(elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
4790*ed0d50c3Schristos	(elf_s390_copy_indirect_symbol): Copy tls_type information.
4791*ed0d50c3Schristos	(elf_s390_check_relocs): Support TLS relocs.
4792*ed0d50c3Schristos	(elf_s390_gc_sweep_hook): Likewise.
4793*ed0d50c3Schristos	(allocate_dynrelocs): Likewise.
4794*ed0d50c3Schristos	(elf_s390_size_dynamic_sections): Likewise.
4795*ed0d50c3Schristos	(elf_s390_relocate_section): Likewise.
4796*ed0d50c3Schristos	(elf_s390_finish_dynamic_symbol): Likewise.
4797*ed0d50c3Schristos	(bfd_elf32_mkobject): Define for TLS.
4798*ed0d50c3Schristos	* elf64-s390.c: Same changes as for elf32-s390.c.
4799*ed0d50c3Schristos	* libbfd.h: Regenerate.
4800*ed0d50c3Schristos	* reloc.c: Add s390 TLS relocations.
4801*ed0d50c3Schristos
4802*ed0d50c3Schristos2003-01-24  Charles Lepple  <clepple@ghz.cc>
4803*ed0d50c3Schristos
4804*ed0d50c3Schristos	* aclocal.m4: Fix name of --enable-install-libbfd switch.
4805*ed0d50c3Schristos
4806*ed0d50c3Schristos2003-01-23  Nick Clifton  <nickc@redhat.com>
4807*ed0d50c3Schristos
4808*ed0d50c3Schristos	* Add sh2e support:
4809*ed0d50c3Schristos	2002-04-02  Elena Zannoni  <ezannoni@redhat.com>
4810*ed0d50c3Schristos	* archures.c (bfd_mach_sh2e): Added.
4811*ed0d50c3Schristos	* bfd-in2.h: Rebuilt.
4812*ed0d50c3Schristos	* cpu-sh.c (arch_info_struct): Added SH2e.
4813*ed0d50c3Schristos	* elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
4814*ed0d50c3Schristos
4815*ed0d50c3Schristos2003-01-23  Alan Modra  <amodra@bigpond.net.au>
4816*ed0d50c3Schristos
4817*ed0d50c3Schristos	* elf-bfd.h (struct bfd_elf_section_data): Remove tdata.  Change
4818*ed0d50c3Schristos	dynindx to an int.  Rearrange for better packing.
4819*ed0d50c3Schristos	* elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
4820*ed0d50c3Schristos	* elf32-mips.c (bfd_elf32_new_section_hook): Define.
4821*ed0d50c3Schristos	* elf32-sh64.h: New.  Split out from include/elf/sh.h.
4822*ed0d50c3Schristos	(struct _sh64_elf_section_data): New struct.
4823*ed0d50c3Schristos	(sh64_elf_section_data): Don't dereference sh64_info (was tdata).
4824*ed0d50c3Schristos	* elf32-sh64-com.c: Include elf32-sh64.h.
4825*ed0d50c3Schristos	* elf32-sh64.c: Likewise.
4826*ed0d50c3Schristos	(sh64_elf_new_section_hook): New function.
4827*ed0d50c3Schristos	(bfd_elf32_new_section_hook): Define.
4828*ed0d50c3Schristos	(sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
4829*ed0d50c3Schristos	(sh64_bfd_elf_copy_private_section_data): Likewise.
4830*ed0d50c3Schristos	(sh64_elf_final_write_processing): Likewise.
4831*ed0d50c3Schristos	* elf32-sparc.c (struct elf32_sparc_section_data): New.
4832*ed0d50c3Schristos	(elf32_sparc_new_section_hook): New function.
4833*ed0d50c3Schristos	(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
4834*ed0d50c3Schristos	(sec_do_relax): Define.
4835*ed0d50c3Schristos	(elf32_sparc_relax_section): Adjust to use sec_do_relax.
4836*ed0d50c3Schristos	(elf32_sparc_relocate_section): Likewise.
4837*ed0d50c3Schristos	* elf64-mips.c (bfd_elf64_new_section_hook): Define.
4838*ed0d50c3Schristos	* elf64-mmix.c (struct _mmix_elf_section_data): New.
4839*ed0d50c3Schristos	(mmix_elf_section_data): Define.  Use throughout file.
4840*ed0d50c3Schristos	(mmix_elf_new_section_hook): New function.
4841*ed0d50c3Schristos	(bfd_elf64_new_section_hook): Define.
4842*ed0d50c3Schristos	* elf64-ppc.c (struct _ppc64_elf_section_data): New.
4843*ed0d50c3Schristos	(ppc64_elf_section_data): Define.  Use throughout.
4844*ed0d50c3Schristos	(ppc64_elf_new_section_hook): New function.
4845*ed0d50c3Schristos	(bfd_elf64_new_section_hook): Define.
4846*ed0d50c3Schristos	* elf64-sparc.c (struct sparc64_elf_section_data): New.
4847*ed0d50c3Schristos	(sparc64_elf_new_section_hook): New function.
4848*ed0d50c3Schristos	(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
4849*ed0d50c3Schristos	(sec_do_relax): Define.
4850*ed0d50c3Schristos	(sparc64_elf_relax_section): Adjust to use sec_do_relax.
4851*ed0d50c3Schristos	(sparc64_elf_relocate_section): Likewise.
4852*ed0d50c3Schristos	(bfd_elf64_new_section_hook): Define.
4853*ed0d50c3Schristos	* elfn32-mips.c (bfd_elf32_new_section_hook): Define.
4854*ed0d50c3Schristos	* elfxx-mips.c (struct _mips_elf_section_data): New.
4855*ed0d50c3Schristos	(mips_elf_section_data): Define.  Use throughout.
4856*ed0d50c3Schristos	(_bfd_mips_elf_new_section_hook): New function.
4857*ed0d50c3Schristos	(mips_elf_create_got_section): Don't alloc used_by_bfd.
4858*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
4859*ed0d50c3Schristos	* elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
4860*ed0d50c3Schristos	* Makefile.am: Run "make dep-am".
4861*ed0d50c3Schristos	* Makefile.in: Regenerate.
4862*ed0d50c3Schristos
4863*ed0d50c3Schristos2003-01-21  Richard Henderson  <rth@redhat.com>
4864*ed0d50c3Schristos
4865*ed0d50c3Schristos	* elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
4866*ed0d50c3Schristos	(struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
4867*ed0d50c3Schristos	(elf64_alpha_adjust_dynamic_symbol): Set them.
4868*ed0d50c3Schristos	(elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
4869*ed0d50c3Schristos	(elf64_alpha_relax_tls_get_addr): Handle LDM relocs.  Frob the
4870*ed0d50c3Schristos	symbol index when relaxing LDM to TPREL.
4871*ed0d50c3Schristos	(elf64_alpha_relax_section): Likewise.  Allow relaxation of GD
4872*ed0d50c3Schristos	relocs, even if the target isn't locally defined.
4873*ed0d50c3Schristos	(elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
4874*ed0d50c3Schristos	(elf64_alpha_relocate_section): Likewise.  Force TP-relative
4875*ed0d50c3Schristos	relocs vs symndx 0 to the tp base.
4876*ed0d50c3Schristos
4877*ed0d50c3Schristos2003-01-21  Fabio Alemagna  <falemagn@aros.org>
4878*ed0d50c3Schristos
4879*ed0d50c3Schristos	* config.bfd: Handle i[3456]86-*-aros*.
4880*ed0d50c3Schristos
4881*ed0d50c3Schristos2003-01-21  Andreas Schwab  <schwab@suse.de>
4882*ed0d50c3Schristos
4883*ed0d50c3Schristos	* elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
4884*ed0d50c3Schristos	(struct ppc_elf_link_hash_entry): Define.
4885*ed0d50c3Schristos	(ppc_elf_hash_entry): New function.
4886*ed0d50c3Schristos	(struct ppc_elf_link_hash_table): Define.
4887*ed0d50c3Schristos	(ppc_elf_hash_table): New function.
4888*ed0d50c3Schristos	(ppc_elf_link_hash_newfunc): New function.
4889*ed0d50c3Schristos	(ppc_elf_link_hash_table_create): New function.
4890*ed0d50c3Schristos	(ppc_elf_copy_indirect_symbol): New function.
4891*ed0d50c3Schristos	(allocate_dynrelocs): New function.
4892*ed0d50c3Schristos	(readonly_dynrelocs): New function.
4893*ed0d50c3Schristos	(ppc_elf_size_dynamic_sections): Allocate space for dynamic
4894*ed0d50c3Schristos	relocs and determine DT_TEXTREL.
4895*ed0d50c3Schristos	(ppc_elf_check_relocs): Don't do that here, just count the
4896*ed0d50c3Schristos	dynamic relocs.
4897*ed0d50c3Schristos	(ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
4898*ed0d50c3Schristos	removed section.
4899*ed0d50c3Schristos	(bfd_elf32_bfd_link_hash_table_create): Define.
4900*ed0d50c3Schristos	(elf_backend_copy_indirect_symbol): Define.
4901*ed0d50c3Schristos
4902*ed0d50c3Schristos2003-01-21  Richard Henderson  <rth@redhat.com>
4903*ed0d50c3Schristos
4904*ed0d50c3Schristos	* elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
4905*ed0d50c3Schristos	TPREL also get a reloc if shared.  Remove SREL support.
4906*ed0d50c3Schristos	(elf64_alpha_emit_dynrel): New.
4907*ed0d50c3Schristos	(elf64_alpha_relocate_section): Use it.  Resolve dynamic TPREL
4908*ed0d50c3Schristos	and GOTTPREL relocs to local symbols against the tp base.
4909*ed0d50c3Schristos	(elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
4910*ed0d50c3Schristos
4911*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
4912*ed0d50c3Schristos	use count before clobbering r_type.
4913*ed0d50c3Schristos	(elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
4914*ed0d50c3Schristos	ordering would mean dataflow inspection is necessary.
4915*ed0d50c3Schristos
4916*ed0d50c3Schristos2003-01-20  Svein E. Seldal  <Svein.Seldal@solidas.com>
4917*ed0d50c3Schristos
4918*ed0d50c3Schristos	* coffcode.h (coff_set_flags): Added get/set arch hooks.
4919*ed0d50c3Schristos
4920*ed0d50c3Schristos2003-01-20  Fabio Alemagna  <falemagn@aros.org>
4921*ed0d50c3Schristos
4922*ed0d50c3Schristos	* elf32-sh.c: Treat elfNN_bed like other macros defined in
4923*ed0d50c3Schristos	  elfxx-target.h and #undef it before #define'ing it.
4924*ed0d50c3Schristos	* elf32-i386.c: Likewise.
4925*ed0d50c3Schristos	* elf32-sh64.c: Likewise.
4926*ed0d50c3Schristos	* elf64-alpha.c: Likewise.
4927*ed0d50c3Schristos	* elf64-sh64.c: Likewise.
4928*ed0d50c3Schristos
4929*ed0d50c3Schristos2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
4930*ed0d50c3Schristos
4931*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
4932*ed0d50c3Schristos	* elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
4933*ed0d50c3Schristos	(elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
4934*ed0d50c3Schristos	R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
4935*ed0d50c3Schristos	R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
4936*ed0d50c3Schristos	R_390_PLTOFF32 and R_390_PLTOFF64.
4937*ed0d50c3Schristos	(elf_s390_reloc_type_lookup): Likewise.
4938*ed0d50c3Schristos	(struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
4939*ed0d50c3Schristos	of GOTPLT references to a function.
4940*ed0d50c3Schristos	(link_hash_newfunc): Initialize gotplt_refcount.
4941*ed0d50c3Schristos	(elf_s390_check_relocs): Move allocation of local_got_refcounts array
4942*ed0d50c3Schristos	and creation of the got section out of the main switch. Add support
4943*ed0d50c3Schristos	for the gotoff, gotplt and pltoff relocations.
4944*ed0d50c3Schristos	(elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
4945*ed0d50c3Schristos	and pltoff.
4946*ed0d50c3Schristos	(elf_s390_adjust_gotplt): New function.
4947*ed0d50c3Schristos	(elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
4948*ed0d50c3Schristos	plt entries.
4949*ed0d50c3Schristos	(allocate_dynrelocs): Add comment.
4950*ed0d50c3Schristos	(elf_s390_relocate_section): Change r_type to unsigned. Add support
4951*ed0d50c3Schristos	for gotoff, gotplt and pltoff relocations.
4952*ed0d50c3Schristos	* elf64-s390.c: Same changes as for elf32-s390.c.
4953*ed0d50c3Schristos	* libbfd.h: Regenerate.
4954*ed0d50c3Schristos	* reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
4955*ed0d50c3Schristos	BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
4956*ed0d50c3Schristos	BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
4957*ed0d50c3Schristos	and BFD_RELOC_390_PLTOFF64.
4958*ed0d50c3Schristos
4959*ed0d50c3Schristos2003-01-18  Jakub Jelinek  <jakub@redhat.com>
4960*ed0d50c3Schristos
4961*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
4962*ed0d50c3Schristos	R_IA64_TPREL64[LM]SB against non-global symbol properly.
4963*ed0d50c3Schristos
4964*ed0d50c3Schristos2003-01-16  Jakub Jelinek  <jakub@redhat.com>
4965*ed0d50c3Schristos
4966*ed0d50c3Schristos	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
4967*ed0d50c3Schristos	self_dtpmod_done and self_dtpmod_offset.
4968*ed0d50c3Schristos	(allocate_global_data_got): Only use one got entry for all
4969*ed0d50c3Schristos	dtpmod relocs against local symbols.
4970*ed0d50c3Schristos	(allocate_dynrel_entries): Only need .rela.got entry for
4971*ed0d50c3Schristos	dtpmod against global symbol.
4972*ed0d50c3Schristos	(elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
4973*ed0d50c3Schristos	Reserve space in .rela.got for the local dtpmod entry.
4974*ed0d50c3Schristos	(set_got_entry): Initialize the common local dtpmod .got entry.
4975*ed0d50c3Schristos	(elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
4976*ed0d50c3Schristos	and R_IA_64_DTPREL64MSB.
4977*ed0d50c3Schristos
4978*ed0d50c3Schristos2003-01-16  Alan Modra  <amodra@bigpond.net.au>
4979*ed0d50c3Schristos
4980*ed0d50c3Schristos	* elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
4981*ed0d50c3Schristos	(R_PPC_*): Rename all occurrences to R_PPC64_*.
4982*ed0d50c3Schristos	(R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
4983*ed0d50c3Schristos	(enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
4984*ed0d50c3Schristos	(ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
4985*ed0d50c3Schristos	relative relocs, not with absolute ones.
4986*ed0d50c3Schristos	* Makefile.am: Run "make dep-am".
4987*ed0d50c3Schristos	* Makefile.in: Regenerate.
4988*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
4989*ed0d50c3Schristos
4990*ed0d50c3Schristos2003-01-15  Andreas Schwab  <schwab@suse.de>
4991*ed0d50c3Schristos
4992*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
4993*ed0d50c3Schristos	relocation against a non-allocated readonly section.
4994*ed0d50c3Schristos
4995*ed0d50c3Schristos2003-01-10  Alan Modra  <amodra@bigpond.net.au>
4996*ed0d50c3Schristos
4997*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
4998*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.  PLTGOT16_HA too.
4999*ed0d50c3Schristos
5000*ed0d50c3Schristos2002-01-08  Klee Dienes  <kdienes@apple.com>
5001*ed0d50c3Schristos
5002*ed0d50c3Schristos	* Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
5003*ed0d50c3Schristos	(BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
5004*ed0d50c3Schristos	* Makefile.in: Regenerate.
5005*ed0d50c3Schristos
5006*ed0d50c3Schristos2003-01-08  Alexandre Oliva  <aoliva@redhat.com>
5007*ed0d50c3Schristos
5008*ed0d50c3Schristos	* elfn32-mips.c (prev_reloc_section): New.
5009*ed0d50c3Schristos	(GET_RELOC_ADDEND): Use it.  Parenthesize macro arguments.
5010*ed0d50c3Schristos	(SET_RELOC_ADDEND): Parenthesize macro argument.
5011*ed0d50c3Schristos
5012*ed0d50c3Schristos2003-01-07  John David Anglin  <dave.anglin@nrc.gc.ca>
5013*ed0d50c3Schristos
5014*ed0d50c3Schristos	* elf32-hppa.c (final_link_relocate): For all DP relative relocations,
5015*ed0d50c3Schristos	adjust addil instructions if the symbol has no section.
5016*ed0d50c3Schristos
5017*ed0d50c3Schristos2003-01-07  DJ Delorie  <dj@redhat.com>
5018*ed0d50c3Schristos
5019*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
5020*ed0d50c3Schristos	partial_inplace.
5021*ed0d50c3Schristos
5022*ed0d50c3Schristos2003-01-07  Andreas Schwab  <schwab@suse.de>
5023*ed0d50c3Schristos
5024*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
5025*ed0d50c3Schristos	PC relative relocations.
5026*ed0d50c3Schristos	(elf_m68k_discard_copies): Set it here instead.
5027*ed0d50c3Schristos
5028*ed0d50c3Schristos2002-01-02  Ben Elliston  <bje@redhat.com>
5029*ed0d50c3Schristos	    Jeff Johnston  <jjohnstn@redhat.com>
5030*ed0d50c3Schristos
5031*ed0d50c3Schristos	* Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
5032*ed0d50c3Schristos	(ALL_MACHINES_CFILES): Add cpu-iq2000.c.
5033*ed0d50c3Schristos	(BFD32_BACKENDS): Add elf32-iq2000.lo.
5034*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
5035*ed0d50c3Schristos	(cpu-iq2000.lo): New target.
5036*ed0d50c3Schristos	* Makefile.in: Regenerate.
5037*ed0d50c3Schristos	* config.bfd: Handle iq2000-*-elf.
5038*ed0d50c3Schristos	* archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
5039*ed0d50c3Schristos	(bfd_archures_list): Add bfd_iq2000_arch.
5040*ed0d50c3Schristos	* configure.in: Handle bfd_elf32_iq2000_vec.
5041*ed0d50c3Schristos	* configure: Regenerate.
5042*ed0d50c3Schristos	* reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
5043*ed0d50c3Schristos	and BFD_RELOC_IQ2000_UHI16.
5044*ed0d50c3Schristos	* targets.c (bfd_elf32_iq2000_vec): Declare.
5045*ed0d50c3Schristos	(bfd_target_vector): Add bfd_elf32_iq2000_vec.
5046*ed0d50c3Schristos	* elf.c (prep_headers): Set e_machine to EM_IQ2000.
5047*ed0d50c3Schristos	* cpu-iq2000.c: New file.
5048*ed0d50c3Schristos	* elf32-iq2000.c: Likewise.
5049*ed0d50c3Schristos	* libbfd.h: Regenerate.
5050*ed0d50c3Schristos	* bfd-in2.h: Likewise.
5051*ed0d50c3Schristos
5052*ed0d50c3Schristos2003-01-02  Richard Sandiford  <rsandifo@redhat.com>
5053*ed0d50c3Schristos
5054*ed0d50c3Schristos	* elfxx-mips.c: Include libiberty.h.
5055*ed0d50c3Schristos	(elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
5056*ed0d50c3Schristos	(mips_set_isa_flags): New function, split out from...
5057*ed0d50c3Schristos	(_bfd_mips_elf_final_write_processing): ...here.  Only call
5058*ed0d50c3Schristos	mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
5059*ed0d50c3Schristos	(mips_mach_extensions): New array.
5060*ed0d50c3Schristos	(mips_32bit_flags_p): New function.
5061*ed0d50c3Schristos	(_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
5062*ed0d50c3Schristos	Use mips_32bit_flags_p to check if one binary is 32-bit and the
5063*ed0d50c3Schristos	other is 64-bit.  When adopting IBFD's architecture, adopt the
5064*ed0d50c3Schristos	bfd_mach as well as the flags.
5065*ed0d50c3Schristos
5066*ed0d50c3Schristos2003-01-02  Nick Kelsey  <nickk@ubicom.com>
5067*ed0d50c3Schristos
5068*ed0d50c3Schristos	* elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
5069*ed0d50c3Schristos	fix internal errors, fix bad code generation, fix incorrect stabs
5070*ed0d50c3Schristos	information, and improve ability to eliminate redundant page
5071*ed0d50c3Schristos	instructions. Added code to ip2k_final_link_relocate to self-verify
5072*ed0d50c3Schristos	the linker relaxation.  Fix formatting problems.
5073*ed0d50c3Schristos
5074*ed0d50c3Schristos2002-12-30  Chris Demetriou  <cgd@broadcom.com>
5075*ed0d50c3Schristos
5076*ed0d50c3Schristos	* aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
5077*ed0d50c3Schristos	* archures.c (bfd_mach_mipsisa32r2): New define.
5078*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
5079*ed0d50c3Schristos	* cpu-mips.c (I_mipsisa32r2): New enum value.
5080*ed0d50c3Schristos	(arch_info_struct): Add entry for I_mipsisa32r2.
5081*ed0d50c3Schristos	* elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
5082*ed0d50c3Schristos	(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
5083*ed0d50c3Schristos	(_bfd_mips_elf_final_write_processing): Add
5084*ed0d50c3Schristos	bfd_mach_mipsisa32r2 case.
5085*ed0d50c3Schristos	(_bfd_mips_elf_merge_private_bfd_data): Handle merging of
5086*ed0d50c3Schristos	binaries marked as using MIPS32 Release 2.
5087*ed0d50c3Schristos
5088*ed0d50c3Schristos2002-12-30    Dmitry Diky <diwil@mail.ru>
5089*ed0d50c3Schristos
5090*ed0d50c3Schristos	* Makefile.am: Add msp430 target.
5091*ed0d50c3Schristos	* configure.in: Likewise.
5092*ed0d50c3Schristos	* Makefile.in: Regenerate.
5093*ed0d50c3Schristos	* configure: Regenerate.
5094*ed0d50c3Schristos	* archures.c: Add msp430 architecture vector.
5095*ed0d50c3Schristos	* config.bfd: Likewise.
5096*ed0d50c3Schristos	* reloc.c: Add msp430 relocs.
5097*ed0d50c3Schristos	* targets.c: Add msp320 target.
5098*ed0d50c3Schristos	* cpu-msp430.c: New file: msp430 cpu detection.
5099*ed0d50c3Schristos	* elf32-msp430.c: New file: msp430 reloc processing.
5100*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
5101*ed0d50c3Schristos	* libbfd.h: Regenerate.
5102*ed0d50c3Schristos
5103*ed0d50c3Schristos2002-12-28  Jakub Jelinek  <jakub@redhat.com>
5104*ed0d50c3Schristos
5105*ed0d50c3Schristos	* elf.c (elf_sort_sections): Don't reorder .tbss.
5106*ed0d50c3Schristos	(assign_file_positions_for_segments): Only adjust off/voff
5107*ed0d50c3Schristos	for increased alignment in PT_LOAD or PT_NOTE segment,
5108*ed0d50c3Schristos	but adjust p_filesz for .tbss too.  in PT_LOAD consider
5109*ed0d50c3Schristos	.tbss to have zero memory size.
5110*ed0d50c3Schristos	(copy_private_bfd_data) [SECTION_SIZE]: Define.
5111*ed0d50c3Schristos	[IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
5112*ed0d50c3Schristos	[INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
5113*ed0d50c3Schristos	into PT_TLS segment.  Never put SHF_TLS sections in
5114*ed0d50c3Schristos	segments other than PT_TLS or PT_LOAD.
5115*ed0d50c3Schristos
5116*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
5117*ed0d50c3Schristos	sh_entsize.
5118*ed0d50c3Schristos
5119*ed0d50c3Schristos2002-12-23  DJ Delorie  <dj@redhat.com>
5120*ed0d50c3Schristos
5121*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
5122*ed0d50c3Schristos
5123*ed0d50c3Schristos2002-12-23  Alan Modra  <amodra@bigpond.net.au>
5124*ed0d50c3Schristos
5125*ed0d50c3Schristos	* elflink.h (elf_link_output_extsym): Heed strip_discarded.
5126*ed0d50c3Schristos
5127*ed0d50c3Schristos2002-12-23  Nick Clifton  <nickc@redhat.com>
5128*ed0d50c3Schristos
5129*ed0d50c3Schristos	* archures.c (bfd_arch_get_compatible): Add third parameter
5130*ed0d50c3Schristos	'accept_unknowns'.  Only accept unknown format BFDs if
5131*ed0d50c3Schristos	accept_unknowns is true, or if the format is "binary".
5132*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
5133*ed0d50c3Schristos
5134*ed0d50c3Schristos2002-12-21  Nick Clifton  <nickc@redhat.com>
5135*ed0d50c3Schristos
5136*ed0d50c3Schristos	* coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
5137*ed0d50c3Schristos	that subtracted 8 from pc relative relocations.
5138*ed0d50c3Schristos
5139*ed0d50c3Schristos2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
5140*ed0d50c3Schristos
5141*ed0d50c3Schristos	* coff-h8300.c: Fix comment typos.
5142*ed0d50c3Schristos	* coffcode.h: Likewise.
5143*ed0d50c3Schristos	* cpu-cris.c: Likewise.
5144*ed0d50c3Schristos	* elf32-vax.c: Likewise.
5145*ed0d50c3Schristos	* genlink.h: Likewise.
5146*ed0d50c3Schristos	* linker.c: Likewise.
5147*ed0d50c3Schristos	* som.c: Likewise.
5148*ed0d50c3Schristos	* tekhex.c: Likewise.
5149*ed0d50c3Schristos	* vms-misc.c: Likewise.
5150*ed0d50c3Schristos
5151*ed0d50c3Schristos2002-12-20  DJ Delorie  <dj@redhat.com>
5152*ed0d50c3Schristos
5153*ed0d50c3Schristos	* reloc.c: Add BFD_RELOC_XSTORMY16_12.
5154*ed0d50c3Schristos	* libbfd.h: Regenerate.
5155*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
5156*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
5157*ed0d50c3Schristos	(xstormy16_reloc_map): Add R_XSTORMY16_12.
5158*ed0d50c3Schristos
5159*ed0d50c3Schristos2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5160*ed0d50c3Schristos
5161*ed0d50c3Schristos	* doc/bfdint.texi: Fix typos.
5162*ed0d50c3Schristos
5163*ed0d50c3Schristos2002-12-20  Paul Eggert  <eggert@twinsun.com>
5164*ed0d50c3Schristos
5165*ed0d50c3Schristos	Port to POSIX 1003.1-2001.
5166*ed0d50c3Schristos	* acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
5167*ed0d50c3Schristos	* configure.in (build-warnings): Likewise.
5168*ed0d50c3Schristos	(Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
5169*ed0d50c3Schristos	* aclocal.m4: Regenerate.
5170*ed0d50c3Schristos	* config.in: Regenerate.
5171*ed0d50c3Schristos	* configure: Regenerate.
5172*ed0d50c3Schristos
5173*ed0d50c3Schristos2002-12-19  Alan Modra  <amodra@bigpond.net.au>
5174*ed0d50c3Schristos
5175*ed0d50c3Schristos	* coff-h8300.c: Include libiberty.h.
5176*ed0d50c3Schristos	(h8300_reloc16_extra_cases): Check the hash table creator before
5177*ed0d50c3Schristos	referencing h8300 specific fields.  Stash the hash table pointer
5178*ed0d50c3Schristos	in a local var.  Comment typo fixes.
5179*ed0d50c3Schristos	(h8300_bfd_link_add_symbols): Likewise.
5180*ed0d50c3Schristos
5181*ed0d50c3Schristos	* reloc.c (struct reloc_howto_struct): Revise src_mask and
5182*ed0d50c3Schristos	dst_mask comments.
5183*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
5184*ed0d50c3Schristos
5185*ed0d50c3Schristos2002-12-18  Alan Modra  <amodra@bigpond.net.au>
5186*ed0d50c3Schristos
5187*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
5188*ed0d50c3Schristos	code a little.  Comment on dynamic relocs against section symbols.
5189*ed0d50c3Schristos
5190*ed0d50c3Schristos2002-12-17  Roger Sayle  <roger@eyesopen.com>
5191*ed0d50c3Schristos
5192*ed0d50c3Schristos	* configure.host (ia64-*-hpux*): Support 64 bit targets using
5193*ed0d50c3Schristos	the HP compiler's "long long".
5194*ed0d50c3Schristos
5195*ed0d50c3Schristos2002-12-16  Andrew MacLeod  <amacleod@redhat.com>
5196*ed0d50c3Schristos
5197*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
5198*ed0d50c3Schristos	and R_XSTORMY16_HI16) howto entries.
5199*ed0d50c3Schristos	(xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
5200*ed0d50c3Schristos	(xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
5201*ed0d50c3Schristos	determine the start of the second reloc table.
5202*ed0d50c3Schristos
5203*ed0d50c3Schristos2002-12-16  Nathan Tallent  <eraxxon@alumni.rice.edu>
5204*ed0d50c3Schristos
5205*ed0d50c3Schristos	* ecofflink.c: Fix the reading of the debugging information
5206*ed0d50c3Schristos	of Tru64/Alpha binaries that are produced by recent Compaq
5207*ed0d50c3Schristos	compilers.
5208*ed0d50c3Schristos	(mk_fdrtab): Fix error in creating the FDR (file descriptor)
5209*ed0d50c3Schristos	table.
5210*ed0d50c3Schristos	(lookup_line): Because of the strange information sometimes
5211*ed0d50c3Schristos	generated by Compaq's recent compilers, change how the FDR
5212*ed0d50c3Schristos	table is searched so that PDRs (procedure descriptors) are
5213*ed0d50c3Schristos	correctly found.  Note that this change is really more of a hack;
5214*ed0d50c3Schristos	however, I have included extensive documentation as to why
5215*ed0d50c3Schristos	this is the best solution short of an extensive rewrite or
5216*ed0d50c3Schristos	another hack.
5217*ed0d50c3Schristos	(fdrtab_lookup): Add comments to explain the algorithm.
5218*ed0d50c3Schristos
5219*ed0d50c3Schristos2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5220*ed0d50c3Schristos
5221*ed0d50c3Schristos	* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
5222*ed0d50c3Schristos	initializers to match struct declaration.
5223*ed0d50c3Schristos
5224*ed0d50c3Schristos2002-12-12  Alan Modra  <amodra@bigpond.net.au>
5225*ed0d50c3Schristos
5226*ed0d50c3Schristos	* dwarf2.c (comp_unit_contains_address): Comment typo fix.
5227*ed0d50c3Schristos	* elf.c (get_program_header_size): Likewise.
5228*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
5229*ed0d50c3Schristos	(m32r_elf_generic_reloc): Likewise.
5230*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_howto_init): Likewise.
5231*ed0d50c3Schristos	* elflink.h (elf_bfd_discard_info): Likewise.
5232*ed0d50c3Schristos
5233*ed0d50c3Schristos2002-12-12  Alan Modra  <amodra@bigpond.net.au>
5234*ed0d50c3Schristos
5235*ed0d50c3Schristos	* elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
5236*ed0d50c3Schristos	to DT_JMPREL.  Use srelplt input section size for DT_PLTRELSZ and
5237*ed0d50c3Schristos	DT_RELSZ adjustment, not output section.  Avoid writing tags when
5238*ed0d50c3Schristos	unchanged.  Don't assume linker script is sane, adjust DT_REL too.
5239*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
5240*ed0d50c3Schristos	size of srelplt for DT_PLTRELSZ.  Use srelplt input section size for
5241*ed0d50c3Schristos	DT_RELASZ adjustment, not output section.  Avoid writing tags when
5242*ed0d50c3Schristos	unchanged.  Adjust DT_RELA.
5243*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
5244*ed0d50c3Schristos	formatting.  Avoid writing tags when unchanged.  Adjust DT_RELA.
5245*ed0d50c3Schristos
5246*ed0d50c3Schristos2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5247*ed0d50c3Schristos
5248*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
5249*ed0d50c3Schristos	addend by 4.
5250*ed0d50c3Schristos
5251*ed0d50c3Schristos2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5252*ed0d50c3Schristos
5253*ed0d50c3Schristos	* elfxx-mips.c (struct mips_got_entry): New.
5254*ed0d50c3Schristos	(struct mips_got_info): Added got_entries field.
5255*ed0d50c3Schristos	(mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
5256*ed0d50c3Schristos	(mips_elf_local_got_index, mips_elf_got_page,
5257*ed0d50c3Schristos	mips_elf_got16_entry): Re-implement in terms of new...
5258*ed0d50c3Schristos	(mips_elf_create_local_got_entry): Rewrite to use got_entries.
5259*ed0d50c3Schristos	Change return type.
5260*ed0d50c3Schristos	(mips_elf_highest): Warning clean-up.
5261*ed0d50c3Schristos	(mips_elf_create_got_section): Initialize got_entries.
5262*ed0d50c3Schristos	(_bfd_mips_elf_check_relocs): Use got_entries to estimate
5263*ed0d50c3Schristos	local got size.
5264*ed0d50c3Schristos	(_bfd_mips_elf_size_dynamic_sections): Do not account for
5265*ed0d50c3Schristos	GOT_PAGE entries, since we now reuse GOT16 entries.
5266*ed0d50c3Schristos
5267*ed0d50c3Schristos2002-12-10  Jason Thorpe  <thorpej@wasabisystems.com>
5268*ed0d50c3Schristos
5269*ed0d50c3Schristos	* aoutx.h (set_section_contents): Allow an otherwise unrepresentable
5270*ed0d50c3Schristos	read-only section that lies after .text and before .data to be
5271*ed0d50c3Schristos	written into the output file and included in a_text.
5272*ed0d50c3Schristos	(translate_to_native_sym_flags): If an otherwise unrepresentable
5273*ed0d50c3Schristos	section was merged with .text, convert its symbols to N_TEXT
5274*ed0d50c3Schristos	symbols.
5275*ed0d50c3Schristos	* libaout.h (aout_section_merge_with_text_p): New macro.
5276*ed0d50c3Schristos
5277*ed0d50c3Schristos2002-12-08  Alan Modra  <amodra@bigpond.net.au>
5278*ed0d50c3Schristos
5279*ed0d50c3Schristos	* bfd-in.h: Comment typo fix.  Formatting.
5280*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
5281*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
5282*ed0d50c3Schristos	* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
5283*ed0d50c3Schristos	* elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
5284*ed0d50c3Schristos
5285*ed0d50c3Schristos2002-12-05  Richard Henderson  <rth@redhat.com>
5286*ed0d50c3Schristos
5287*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
5288*ed0d50c3Schristos	Only send PCREL21B though the plt.  Fix installed reloc type.
5289*ed0d50c3Schristos	(elfNN_ia64_relocate_section): Give error for dynamic reloc
5290*ed0d50c3Schristos	against PCREL22 or PCREL64I; clean up error messages for
5291*ed0d50c3Schristos	branch relocs.
5292*ed0d50c3Schristos
5293*ed0d50c3Schristos2002-12-04  Kevin Buettner  <kevinb@redhat.com>
5294*ed0d50c3Schristos
5295*ed0d50c3Schristos	* elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
5296*ed0d50c3Schristos	New functions.
5297*ed0d50c3Schristos	(elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
5298*ed0d50c3Schristos
5299*ed0d50c3Schristos2002-12-04  David Mosberger  <davidm@hpl.hp.com>
5300*ed0d50c3Schristos
5301*ed0d50c3Schristos	* cpu-ia64-opc.c: Add operand constant "ar.csd".
5302*ed0d50c3Schristos
5303*ed0d50c3Schristos2002-12-04  H.J. Lu <hjl@gnu.org>
5304*ed0d50c3Schristos
5305*ed0d50c3Schristos	* elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
5306*ed0d50c3Schristos	BFD address when constructing local name.
5307*ed0d50c3Schristos
5308*ed0d50c3Schristos2002-12-04  Andreas Schwab  <schwab@suse.de>
5309*ed0d50c3Schristos
5310*ed0d50c3Schristos	* elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
5311*ed0d50c3Schristos	member.
5312*ed0d50c3Schristos	(elf_m68k_link_hash_table_create): Initialize it.
5313*ed0d50c3Schristos	(elf_m68k_check_relocs): Handle symbols that are forced to be
5314*ed0d50c3Schristos	local due to visibility changes.
5315*ed0d50c3Schristos	(elf_m68k_adjust_dynamic_symbol): Likewise.
5316*ed0d50c3Schristos	(elf_m68k_size_dynamic_sections): Likewise.
5317*ed0d50c3Schristos	(elf_m68k_discard_copies): Likewise.
5318*ed0d50c3Schristos	(elf_m68k_relocate_section): Likewise.
5319*ed0d50c3Schristos
5320*ed0d50c3Schristos2002-12-04  Alan Modra  <amodra@bigpond.net.au>
5321*ed0d50c3Schristos
5322*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
5323*ed0d50c3Schristos
5324*ed0d50c3Schristos2002-12-04  Alan Modra  <amodra@bigpond.net.au>
5325*ed0d50c3Schristos
5326*ed0d50c3Schristos	* srec.c (srec_write_symbols): Restore '$' prefix to address
5327*ed0d50c3Schristos	accidentally removed in 2002-04-04 change.
5328*ed0d50c3Schristos	(srec_get_symtab): Use 0 instead of `(long) FALSE'.
5329*ed0d50c3Schristos
5330*ed0d50c3Schristos2002-12-03  Nick Clifton  <nickc@redhat.com>
5331*ed0d50c3Schristos
5332*ed0d50c3Schristos	* elf32-ppc.c (apuinfo_list_init): New function.
5333*ed0d50c3Schristos	(apuinfo_list_add): New function: Add a value to the list.
5334*ed0d50c3Schristos	(apuinfo_list_length): New function: Return the number of
5335*ed0d50c3Schristos	values on the list.
5336*ed0d50c3Schristos	(apuinfo_list_element): New function: Return a value on the
5337*ed0d50c3Schristos	list.
5338*ed0d50c3Schristos	(apuinfo_list_finish): New function: Free the resources used
5339*ed0d50c3Schristos	by the list.
5340*ed0d50c3Schristos	(ppc_elf_begin_write_processing): New function.  Scan the
5341*ed0d50c3Schristos	input bfds for apuinfo sections.
5342*ed0d50c3Schristos	(ppc_elf_write_section): New function: Delay the creation of
5343*ed0d50c3Schristos	the contents of an apuinfo section in an output bfd.
5344*ed0d50c3Schristos	(ppc_elf_final_write_processing): New function.  Create the
5345*ed0d50c3Schristos	contents of an apuinfo section in an output bfd.
5346*ed0d50c3Schristos	(elf_backend_begin_write_processing): Define.
5347*ed0d50c3Schristos	(elf_backend_final_write_processing): Define.
5348*ed0d50c3Schristos	(elf_backend_write_section): Define.
5349*ed0d50c3Schristos
5350*ed0d50c3Schristos2002-12-03  Richard Henderson  <rth@redhat.com>
5351*ed0d50c3Schristos
5352*ed0d50c3Schristos	* cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
5353*ed0d50c3Schristos
5354*ed0d50c3Schristos2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
5355*ed0d50c3Schristos
5356*ed0d50c3Schristos	Fix PR savannah/1417:
5357*ed0d50c3Schristos	* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
5358*ed0d50c3Schristos	branch if it goes to the start of the deleted region.
5359*ed0d50c3Schristos
5360*ed0d50c3Schristos2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
5361*ed0d50c3Schristos
5362*ed0d50c3Schristos	* bfd-in2.h (bfd_mach_m6812): Rebuild.
5363*ed0d50c3Schristos	* archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
5364*ed0d50c3Schristos	bfd_mach_m6812s): Declare.
5365*ed0d50c3Schristos
5366*ed0d50c3Schristos	* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
5367*ed0d50c3Schristos	(_bfd_m68hc12_elf_set_private_flags): Call it.
5368*ed0d50c3Schristos	(_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
5369*ed0d50c3Schristos	(_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
5370*ed0d50c3Schristos	report microcontroller incompatibilities (HC12 vs HCS12).
5371*ed0d50c3Schristos	(elf_backend_object_p): Update.
5372*ed0d50c3Schristos
5373*ed0d50c3Schristos2002-11-30  Alan Modra  <amodra@bigpond.net.au>
5374*ed0d50c3Schristos
5375*ed0d50c3Schristos	* bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
5376*ed0d50c3Schristos	(enum bfd_boolean, boolean): Delete.
5377*ed0d50c3Schristos	(bfd_boolean): Typedef to an int.
5378*ed0d50c3Schristos	(FALSE, TRUE): Define.
5379*ed0d50c3Schristos	* aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
5380*ed0d50c3Schristos	aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
5381*ed0d50c3Schristos	aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
5382*ed0d50c3Schristos	binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
5383*ed0d50c3Schristos	coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
5384*ed0d50c3Schristos	coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
5385*ed0d50c3Schristos	coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
5386*ed0d50c3Schristos	coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
5387*ed0d50c3Schristos	coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
5388*ed0d50c3Schristos	coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
5389*ed0d50c3Schristos	corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
5390*ed0d50c3Schristos	cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
5391*ed0d50c3Schristos	cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
5392*ed0d50c3Schristos	cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
5393*ed0d50c3Schristos	cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
5394*ed0d50c3Schristos	cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
5395*ed0d50c3Schristos	cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
5396*ed0d50c3Schristos	cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
5397*ed0d50c3Schristos	cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
5398*ed0d50c3Schristos	cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
5399*ed0d50c3Schristos	dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
5400*ed0d50c3Schristos	elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
5401*ed0d50c3Schristos	elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
5402*ed0d50c3Schristos	elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
5403*ed0d50c3Schristos	elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
5404*ed0d50c3Schristos	elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
5405*ed0d50c3Schristos	elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
5406*ed0d50c3Schristos	elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
5407*ed0d50c3Schristos	elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
5408*ed0d50c3Schristos	elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
5409*ed0d50c3Schristos	elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
5410*ed0d50c3Schristos	elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
5411*ed0d50c3Schristos	elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
5412*ed0d50c3Schristos	elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
5413*ed0d50c3Schristos	elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
5414*ed0d50c3Schristos	elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
5415*ed0d50c3Schristos	hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
5416*ed0d50c3Schristos	i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
5417*ed0d50c3Schristos	libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
5418*ed0d50c3Schristos	libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
5419*ed0d50c3Schristos	m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
5420*ed0d50c3Schristos	mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
5421*ed0d50c3Schristos	nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
5422*ed0d50c3Schristos	pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
5423*ed0d50c3Schristos	pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
5424*ed0d50c3Schristos	pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
5425*ed0d50c3Schristos	reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
5426*ed0d50c3Schristos	som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
5427*ed0d50c3Schristos	syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
5428*ed0d50c3Schristos	vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
5429*ed0d50c3Schristos	xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
5430*ed0d50c3Schristos	bfd_boolean, true with TRUE, false with FALSE.  Simplify comparisons
5431*ed0d50c3Schristos	of bfd_boolean vars with TRUE/FALSE.  Formatting.
5432*ed0d50c3Schristos	* bfd-in2.h, libbfd.h, libcoff.h: Regenerate
5433*ed0d50c3Schristos
5434*ed0d50c3Schristos2002-11-28  Alan Modra  <amodra@bigpond.net.au>
5435*ed0d50c3Schristos
5436*ed0d50c3Schristos	* elf-bfd.h: Replace occurrences of Elf32_Internal_* and
5437*ed0d50c3Schristos	Elf64_Internal_* with Elf_Internal_*.  Replace Elf_Internal_Rel
5438*ed0d50c3Schristos	with Elf_Internal_Rela.
5439*ed0d50c3Schristos	* elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
5440*ed0d50c3Schristos	elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
5441*ed0d50c3Schristos	elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
5442*ed0d50c3Schristos	elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
5443*ed0d50c3Schristos	elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
5444*ed0d50c3Schristos	elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
5445*ed0d50c3Schristos	elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
5446*ed0d50c3Schristos	elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
5447*ed0d50c3Schristos	elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
5448*ed0d50c3Schristos	elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
5449*ed0d50c3Schristos	elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
5450*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_internal_shdr): Delete.  Use Elf_Internal_Shdr
5451*ed0d50c3Schristos	throughout instead.
5452*ed0d50c3Schristos	* elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
5453*ed0d50c3Schristos	* elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
5454*ed0d50c3Schristos	Remove INLINE keyword.
5455*ed0d50c3Schristos	(elf_swap_reloc_in): Likewise.  Also clear r_addend.
5456*ed0d50c3Schristos	(elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
5457*ed0d50c3Schristos	as a bfd_byte *.
5458*ed0d50c3Schristos	(elf_write_relocs): Consolidate REL and RELA code.
5459*ed0d50c3Schristos	(elf_slurp_reloc_table_from_section): Simplify REL code.
5460*ed0d50c3Schristos	(NAME(_bfd_elf,size_info)): Populate reloc swap entries.
5461*ed0d50c3Schristos	* elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
5462*ed0d50c3Schristos	* elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
5463*ed0d50c3Schristos	RELA code.
5464*ed0d50c3Schristos	(elf_link_adjust_relocs): Likewise.  Don't malloc space for temp
5465*ed0d50c3Schristos	reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
5466*ed0d50c3Schristos	(elf_link_output_relocs): Likewise.
5467*ed0d50c3Schristos	(elf_reloc_link_order): Likewise.
5468*ed0d50c3Schristos	(elf_finish_pointer_linker_section): Likewise.
5469*ed0d50c3Schristos	(struct elf_link_sort_rela): Remove union.
5470*ed0d50c3Schristos	(elf_link_sort_cmp1): Update to suit.
5471*ed0d50c3Schristos	(elf_link_sort_cmp2): Here too.
5472*ed0d50c3Schristos	(elf_link_sort_relocs): Consolidate REL and RELA code.  Fix memory
5473*ed0d50c3Schristos	over-allocation for int_rels_per_ext_rel != 1 case.
5474*ed0d50c3Schristos	* elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
5475*ed0d50c3Schristos	* elf32-i386.c: Likewise.
5476*ed0d50c3Schristos	* elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
5477*ed0d50c3Schristos	* elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
5478*ed0d50c3Schristos	elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
5479*ed0d50c3Schristos	* elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
5480*ed0d50c3Schristos	* elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
5481*ed0d50c3Schristos	elf64-sparc.c, elf64-x86-64.c: Likewise.
5482*ed0d50c3Schristos	* elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
5483*ed0d50c3Schristos	* elfxx-mips.c (sort_dynamic_relocs): Likewise for
5484*ed0d50c3Schristos	bfd_elf32_swap_reloc_in.
5485*ed0d50c3Schristos
5486*ed0d50c3Schristos	* elf32-arm.h: Update elf32_arm_info_to_howto calls.
5487*ed0d50c3Schristos	* elf32-mips.c: Likewise for mips_info_to_howto_rel.
5488*ed0d50c3Schristos	(mips_elf64_swap_reloc_in): Zero r_addend.
5489*ed0d50c3Schristos	(mips_elf64_be_swap_reloc_in): Likewise.
5490*ed0d50c3Schristos	(mips_elf64_slurp_one_reloc_table): Simplify.
5491*ed0d50c3Schristos
5492*ed0d50c3Schristos	* elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
5493*ed0d50c3Schristos	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
5494*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
5495*ed0d50c3Schristos
5496*ed0d50c3Schristos2002-11-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5497*ed0d50c3Schristos
5498*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section): Don't complain about
5499*ed0d50c3Schristos	unresolved debugging relocs in dynamic applications.
5500*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
5501*ed0d50c3Schristos
5502*ed0d50c3Schristos2002-11-26  Alan Modra  <amodra@bigpond.net.au>
5503*ed0d50c3Schristos
5504*ed0d50c3Schristos	* elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
5505*ed0d50c3Schristos	(_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
5506*ed0d50c3Schristos	on a relocatable link.  Comment typos.
5507*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
5508*ed0d50c3Schristos	in the order they are declared.  Clear elf_hash_value too.
5509*ed0d50c3Schristos	(_bfd_elf_link_hash_table_init): Likewise assign in order.  Clear
5510*ed0d50c3Schristos	eh_info and tls_segment.
5511*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
5512*ed0d50c3Schristos	sorted when discarding relocs by turning them into R_*_NONE.
5513*ed0d50c3Schristos
5514*ed0d50c3Schristos	* libbfd.c (warn_deprecated): Comment spelling.
5515*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
5516*ed0d50c3Schristos
5517*ed0d50c3Schristos2002-11-21  Richard Henderson  <rth@redhat.com>
5518*ed0d50c3Schristos
5519*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Don't overwrite the
5520*ed0d50c3Schristos	arch's st_other bits when merging visibilities.
5521*ed0d50c3Schristos	(elf_link_output_extsym): Tidy clearing of visibility field.
5522*ed0d50c3Schristos
5523*ed0d50c3Schristos2002-11-21  Alan Modra  <amodra@bigpond.net.au>
5524*ed0d50c3Schristos
5525*ed0d50c3Schristos	* coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
5526*ed0d50c3Schristos	(SWAP_OUT_RELOC_OFFSET): Define.
5527*ed0d50c3Schristos
5528*ed0d50c3Schristos2002-11-20  Alexandre Oliva  <aoliva@redhat.com>
5529*ed0d50c3Schristos
5530*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_table_init): Make sure
5531*ed0d50c3Schristos	can_refcount is properly extended to the type of
5532*ed0d50c3Schristos	init_refcount.
5533*ed0d50c3Schristos
5534*ed0d50c3Schristos2002-11-19  Alexandre Oliva  <aoliva@redhat.com>
5535*ed0d50c3Schristos
5536*ed0d50c3Schristos	* elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
5537*ed0d50c3Schristos	(_bfd_mips_elf_relocate_section): Use it.
5538*ed0d50c3Schristos
5539*ed0d50c3Schristos	* elfxx-mips.c (MNAME): New macro.
5540*ed0d50c3Schristos	(_bfd_mips_elf_check_relocs): Use it.
5541*ed0d50c3Schristos	(_bfd_mips_elf_discard_info): Likewise.
5542*ed0d50c3Schristos	(_bfd_mips_elf_final_link): Likewise.
5543*ed0d50c3Schristos
5544*ed0d50c3Schristos2002-11-19  Alan Modra  <amodra@bigpond.net.au>
5545*ed0d50c3Schristos
5546*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
5547*ed0d50c3Schristos	rel_hdr.sh_size too.
5548*ed0d50c3Schristos
5549*ed0d50c3Schristos2002-11-18  Klee Dienes  <kdienes@apple.com>
5550*ed0d50c3Schristos
5551*ed0d50c3Schristos	* Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
5552*ed0d50c3Schristos	(BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
5553*ed0d50c3Schristos	(BFD_H_FILES): Add bfdwin.c, bfdio.c.
5554*ed0d50c3Schristos	(LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
5555*ed0d50c3Schristos	Add dependencies for bfdwin.c, bfdio.c.
5556*ed0d50c3Schristos	* bfd.c: Remove bfd_get_mtime, bfd_get_size.
5557*ed0d50c3Schristos	* libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
5558*ed0d50c3Schristos	bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
5559*ed0d50c3Schristos	bfd_tell, bfd_flush, bfd_stat, bfd_seek.
5560*ed0d50c3Schristos	* bfdio.c: New file.  Contains real_read, bfd_bread, bfd_write,
5561*ed0d50c3Schristos	bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
5562*ed0d50c3Schristos	bfd_get_size (moved from libbfd.c and bfd.c).
5563*ed0d50c3Schristos	* bfdwin.c New file.  Contains _bfd_window_internal,
5564*ed0d50c3Schristos	bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
5565*ed0d50c3Schristos	libbfd.c and bfd.c).
5566*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
5567*ed0d50c3Schristos	* po/bfd.pot: Regenerate.
5568*ed0d50c3Schristos	* libbfd.h: Regenerate.
5569*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
5570*ed0d50c3Schristos	* aclocal.m4: Regenerate.
5571*ed0d50c3Schristos	* Makefile.in: Regenerate.
5572*ed0d50c3Schristos	* configure: Regenerate.
5573*ed0d50c3Schristos
5574*ed0d50c3Schristos2002-11-18  Klee Dienes  <kdienes@apple.com>
5575*ed0d50c3Schristos
5576*ed0d50c3Schristos	* bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
5577*ed0d50c3Schristos
5578*ed0d50c3Schristos2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5579*ed0d50c3Schristos
5580*ed0d50c3Schristos	* coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
5581*ed0d50c3Schristos	jsr after a short jump.
5582*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
5583*ed0d50c3Schristos
5584*ed0d50c3Schristos2002-11-15  Klee Dienes  <kdienes@apple.com>
5585*ed0d50c3Schristos
5586*ed0d50c3Schristos	* pef.c (bfd_pef_convert_architecture): Move declaration of
5587*ed0d50c3Schristos	ARCH_POWERPC and ARCH_M68K to the start of the function.
5588*ed0d50c3Schristos
5589*ed0d50c3Schristos2002-11-14  Svein E. Seldal  <Svein.Seldal@solidas.com>
5590*ed0d50c3Schristos
5591*ed0d50c3Schristos	* coff-tic4x.c (tic4x_howto_table): Formatting fixup
5592*ed0d50c3Schristos
5593*ed0d50c3Schristos2002-11-14  Hans-Peter Nilsson  <hp@bitrange.com>
5594*ed0d50c3Schristos
5595*ed0d50c3Schristos	* elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
5596*ed0d50c3Schristos	For bpo_gregs_section->contents, allocate _raw_size, not
5597*ed0d50c3Schristos	_cooked_size.
5598*ed0d50c3Schristos
5599*ed0d50c3Schristos2002-11-13  Klee Dienes  <kdienes@apple.com>
5600*ed0d50c3Schristos
5601*ed0d50c3Schristos	* config.bfd: Add entries for powerpc-*-darwin and cousins.
5602*ed0d50c3Schristos
5603*ed0d50c3Schristos2002-11-13  H.J. Lu <hjl@gnu.org>
5604*ed0d50c3Schristos
5605*ed0d50c3Schristos	* elfcode.h (elf_object_p): Don't restore abfd->arch_info.
5606*ed0d50c3Schristos
5607*ed0d50c3Schristos2002-11-13  Klee Dienes  <kdienes@apple.com>
5608*ed0d50c3Schristos	    Alan Modra  <amodra@bigpond.net.au>
5609*ed0d50c3Schristos
5610*ed0d50c3Schristos	* bfd.c (struct bfd_preserve): New.
5611*ed0d50c3Schristos	(bfd_preserve_save): New function.
5612*ed0d50c3Schristos	(bfd_preserve_restore): Ditto.
5613*ed0d50c3Schristos	(bfd_preserve_finish): Ditto.
5614*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
5615*ed0d50c3Schristos	* mach-o.c: Formatting.
5616*ed0d50c3Schristos	(bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
5617*ed0d50c3Schristos	(bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
5618*ed0d50c3Schristos	(bfd_mach_o_core_p): Ditto.
5619*ed0d50c3Schristos	(bfd_mach_o_scan): Pass in mdata.
5620*ed0d50c3Schristos	* mach-o.h (bfd_mach_o_scan): Update prototype.
5621*ed0d50c3Schristos	* pef.c: Formatting.
5622*ed0d50c3Schristos	(bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
5623*ed0d50c3Schristos	(bfd_pef_xlib_object_p): Ditto.
5624*ed0d50c3Schristos	(bfd_pef_scan): Pass in mdata.  Move version check to bfd_pef_object_p.
5625*ed0d50c3Schristos	* pef.h (bfd_pef_scan): Update prototype.
5626*ed0d50c3Schristos	* xsym.c: Formatting, K&R fixes.
5627*ed0d50c3Schristos	(bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
5628*ed0d50c3Schristos	(bfd_sym_scan): New function split out from bfd_sym_object_p.
5629*ed0d50c3Schristos	* xsym.h (bfd_sym_scan): Declare.
5630*ed0d50c3Schristos	* elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
5631*ed0d50c3Schristos	* elfcore.h (elf_core_file_p): Likewise.
5632*ed0d50c3Schristos	* targets.c (_bfd_target_vector): Revert 2002-11-08 change.
5633*ed0d50c3Schristos
5634*ed0d50c3Schristos2002-11-12  Nick Clifton  <nickc@redhat.com>
5635*ed0d50c3Schristos
5636*ed0d50c3Schristos	* po/da.po: Updated Danish translation.
5637*ed0d50c3Schristos
5638*ed0d50c3Schristos2002-11-12  Alan Modra  <amodra@bigpond.net.au>
5639*ed0d50c3Schristos
5640*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Optimize stabs for
5641*ed0d50c3Schristos	relocatable link too.
5642*ed0d50c3Schristos	(elf_link_input_bfd): When emitting relocs, adjust offsets for
5643*ed0d50c3Schristos	eh_frame and stab sections.  Zap deleted relocs.
5644*ed0d50c3Schristos	(elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
5645*ed0d50c3Schristos	(elf_bfd_discard_info): Run for relocatable link too.
5646*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd.  Make global.
5647*ed0d50c3Schristos	Handle ld -r case.
5648*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
5649*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_edit_opd): Declare.
5650*ed0d50c3Schristos
5651*ed0d50c3Schristos	* elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
5652*ed0d50c3Schristos	(struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
5653*ed0d50c3Schristos	(struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
5654*ed0d50c3Schristos	(enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
5655*ed0d50c3Schristos	(struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
5656*ed0d50c3Schristos	(struct elf_link_hash_table): Add eh_info.
5657*ed0d50c3Schristos	(struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
5658*ed0d50c3Schristos	(_bfd_elf_discard_section_eh_frame): Update prototype.
5659*ed0d50c3Schristos	(_bfd_elf_discard_section_eh_frame_hdr): Likewise.
5660*ed0d50c3Schristos	(_bfd_elf_write_section_eh_frame): Likewise.
5661*ed0d50c3Schristos	(_bfd_elf_write_section_eh_frame_hdr): Likewise.
5662*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
5663*ed0d50c3Schristos	param.  Get "hdr_info" from link hash table.
5664*ed0d50c3Schristos	(_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param.  Get
5665*ed0d50c3Schristos	header section from link hash table.  Save header section to elf_tdata.
5666*ed0d50c3Schristos	(_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec".  Use
5667*ed0d50c3Schristos	header section from link hash table.  Don't alloc hdr_info.  Clear
5668*ed0d50c3Schristos	hdr_sec instead of setting "strip".
5669*ed0d50c3Schristos	(_bfd_elf_eh_frame_section_offset): Formatting.
5670*ed0d50c3Schristos	(_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
5671*ed0d50c3Schristos	Get header section from link hash table.
5672*ed0d50c3Schristos	(_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
5673*ed0d50c3Schristos	Get header section from link hash table.
5674*ed0d50c3Schristos	* elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
5675*ed0d50c3Schristos	(get_program_header_size): Likewise.
5676*ed0d50c3Schristos	(_bfd_elf_section_offset): Formatting.
5677*ed0d50c3Schristos	* elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
5678*ed0d50c3Schristos	section pointer in link hash table.
5679*ed0d50c3Schristos	(elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
5680*ed0d50c3Schristos	and _bfd_elf_write_section_eh_frame calls.  Update comment about
5681*ed0d50c3Schristos	eh_frame entries.
5682*ed0d50c3Schristos	(elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
5683*ed0d50c3Schristos	_bfd_elf_discard_section_eh_frame_hdr calls.  Remove "ehdr".
5684*ed0d50c3Schristos
5685*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
5686*ed0d50c3Schristos
5687*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
5688*ed0d50c3Schristos	relocs for discarded FDEs.  Remove dead code.
5689*ed0d50c3Schristos	(_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
5690*ed0d50c3Schristos	* elflink.h (elf_bfd_discard_info): Don't save edited relocs.
5691*ed0d50c3Schristos	Tidy conditions under which stabs are edited.  Formatting.
5692*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
5693*ed0d50c3Schristos	from discarded relocs.
5694*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
5695*ed0d50c3Schristos	section adjustments after testing magic values.
5696*ed0d50c3Schristos
5697*ed0d50c3Schristos2002-11-12  Thomas Moestl <tmm@FreeBSD.org>
5698*ed0d50c3Schristos
5699*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
5700*ed0d50c3Schristos	references to large plt symbols.
5701*ed0d50c3Schristos
5702*ed0d50c3Schristos2002-11-12  Klee Dienes  <kdienes@apple.com>
5703*ed0d50c3Schristos
5704*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
5705*ed0d50c3Schristos	looking for an unused section name.
5706*ed0d50c3Schristos
5707*ed0d50c3Schristos2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5708*ed0d50c3Schristos
5709*ed0d50c3Schristos	* coff-h8300.c: Fix formatting.
5710*ed0d50c3Schristos	* elf32-h8300.c: Likewise.
5711*ed0d50c3Schristos	* reloc16.c: Likewise.
5712*ed0d50c3Schristos
5713*ed0d50c3Schristos2002-11-09  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5714*ed0d50c3Schristos
5715*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
5716*ed0d50c3Schristos	section when dynamic section unused;  _bfd_strip_section_from_output
5717*ed0d50c3Schristos	instead.
5718*ed0d50c3Schristos
5719*ed0d50c3Schristos2002-11-08  Alan Modra  <amodra@bigpond.net.au>
5720*ed0d50c3Schristos
5721*ed0d50c3Schristos	* targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
5722*ed0d50c3Schristos	and sym_vec.
5723*ed0d50c3Schristos
5724*ed0d50c3Schristos	* dwarf2.c: Revert last change.
5725*ed0d50c3Schristos
5726*ed0d50c3Schristos2002-11-07  Michal Ludvig  <mludvig@suse.cz>
5727*ed0d50c3Schristos
5728*ed0d50c3Schristos	* dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
5729*ed0d50c3Schristos	_bfd_dwarf2_find_nearest_line): Use
5730*ed0d50c3Schristos	bfd_simple_get_relocated_section_contents() instead of
5731*ed0d50c3Schristos	bfd_get_section_contents().
5732*ed0d50c3Schristos	* reloc.c (bfd_perform_relocation): Add sanity check.
5733*ed0d50c3Schristos	* simple.c (simple_get_relocated_section_contents): If the section
5734*ed0d50c3Schristos	does not have any relocs associated with it, just return the
5735*ed0d50c3Schristos	unadjusted contents.
5736*ed0d50c3Schristos
5737*ed0d50c3Schristos2002-11-07  Hans-Peter Nilsson  <hp@axis.com>
5738*ed0d50c3Schristos
5739*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
5740*ed0d50c3Schristos	case R_CRIS_32_GOT>: Correct test for filling in constant .got
5741*ed0d50c3Schristos	contents, enabling for a non-DSO, for symbols defined in the
5742*ed0d50c3Schristos	program with --export-dynamic.
5743*ed0d50c3Schristos
5744*ed0d50c3Schristos2002-11-07  Alan Modra  <amodra@bigpond.net.au>
5745*ed0d50c3Schristos
5746*ed0d50c3Schristos	* elf64-ppc.c: Comment typo fixes.
5747*ed0d50c3Schristos	(ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
5748*ed0d50c3Schristos
5749*ed0d50c3Schristos2002-11-07  Nick Clifton  <nickc@redhat.com>
5750*ed0d50c3Schristos
5751*ed0d50c3Schristos	* po/da.po: Updated Danish translation.
5752*ed0d50c3Schristos
5753*ed0d50c3Schristos2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5754*ed0d50c3Schristos
5755*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
5756*ed0d50c3Schristos	exactly three internal relocs per external reloc.  Set reloc_count
5757*ed0d50c3Schristos	to the external reloc count.
5758*ed0d50c3Schristos
5759*ed0d50c3Schristos2002-11-06  Klee Dienes  <kdienes@apple.com>
5760*ed0d50c3Schristos
5761*ed0d50c3Schristos	 * coff-stgo32.c (stub_bytes): Mark as const.
5762*ed0d50c3Schristos	 Fix comment formatting.
5763*ed0d50c3Schristos
5764*ed0d50c3Schristos2002-11-06  Klee Dienes  <kdienes@apple.com>
5765*ed0d50c3Schristos
5766*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
5767*ed0d50c3Schristos	xsym.lo.
5768*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
5769*ed0d50c3Schristos	(SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
5770*ed0d50c3Schristos	* archures.c (enum bfd_architecture): Add bfd_arch_m98k.
5771*ed0d50c3Schristos	* bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
5772*ed0d50c3Schristos	* targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
5773*ed0d50c3Schristos	sym.
5774*ed0d50c3Schristos	(_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
5775*ed0d50c3Schristos	* Makefile.in: Regenerate.
5776*ed0d50c3Schristos	* doc/Makefile.in: Regenerate.
5777*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
5778*ed0d50c3Schristos	* xsym.c: New file.  Contains support for the Apple/Metrowerks
5779*ed0d50c3Schristos	xSYM debugging format.
5780*ed0d50c3Schristos	* xsym.h: New file.
5781*ed0d50c3Schristos	* pef.c: New file.  Contains support for the Apple Code Fragment
5782*ed0d50c3Schristos	Manager Preferred Executable Format
5783*ed0d50c3Schristos	* pef.h: New file.
5784*ed0d50c3Schristos	* pef-traceback.h: New file.  Contains support for parsing PowerPC
5785*ed0d50c3Schristos	traceback tables as used by PEF executables (and perhaps other
5786*ed0d50c3Schristos	systems as well).
5787*ed0d50c3Schristos	* mach-o.c: New file.  Contains support for the Mach-O object file
5788*ed0d50c3Schristos	format.
5789*ed0d50c3Schristos	* mach-o.h: New file.
5790*ed0d50c3Schristos	* mach-o-target.c: New file.  Declares the mach-o targets
5791*ed0d50c3Schristos	themselves.  Included three times by mach-o.c; each time with a
5792*ed0d50c3Schristos	different set of macros set.
5793*ed0d50c3Schristos
5794*ed0d50c3Schristos2002-11-06  Graeme Peterson  <gp@qnx.com>
5795*ed0d50c3Schristos
5796*ed0d50c3Schristos	* Makefile.am: Remove entries for elf32-qnx.[ch].
5797*ed0d50c3Schristos	* Makefile.in: Regenerate.
5798*ed0d50c3Schristos	* config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
5799*ed0d50c3Schristos	ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
5800*ed0d50c3Schristos	bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
5801*ed0d50c3Schristos	* configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
5802*ed0d50c3Schristos	bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
5803*ed0d50c3Schristos	and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
5804*ed0d50c3Schristos	bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
5805*ed0d50c3Schristos	* configure: Regenerate.
5806*ed0d50c3Schristos	* elf32-qnx.c: Remove.
5807*ed0d50c3Schristos	* elf32-qnx.h: Remove.
5808*ed0d50c3Schristos	* elf.c: Remove calls to QNX specific set_nonloadable_filepos,
5809*ed0d50c3Schristos	is_contained_by_filepos, and copy_private_bfd_data_p.
5810*ed0d50c3Schristos	* elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
5811*ed0d50c3Schristos	is_contained_by_filepos, and copy_private_bfd_data_p.
5812*ed0d50c3Schristos	* elf32-i386.c: Remove QNX extended bfd support.
5813*ed0d50c3Schristos	* elf32-ppc.c: Remove QNX extended bfd support.
5814*ed0d50c3Schristos	* elf32-sh.c: Remove QNX extended bfd support.
5815*ed0d50c3Schristos	* elfarm-nabi.c: Remove QNX extended bfd support.
5816*ed0d50c3Schristos	* targets.c: Remove qnx vectors.
5817*ed0d50c3Schristos	* elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
5818*ed0d50c3Schristos	(elf_backend_is_contained_by_filepos): Remove.
5819*ed0d50c3Schristos	(elf_backend_copy_private_bfd_data_p): Remove.
5820*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
5821*ed0d50c3Schristos
5822*ed0d50c3Schristos2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5823*ed0d50c3Schristos	    Alan Modra  <amodra@bigpond.net.au>
5824*ed0d50c3Schristos
5825*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
5826*ed0d50c3Schristos	dynamic relocs against section symbols for the output section vma.
5827*ed0d50c3Schristos
5828*ed0d50c3Schristos2002-11-05  Alan Modra  <amodra@bigpond.net.au>
5829*ed0d50c3Schristos
5830*ed0d50c3Schristos	* elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
5831*ed0d50c3Schristos	t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
5832*ed0d50c3Schristos
5833*ed0d50c3Schristos2002-11-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5834*ed0d50c3Schristos	    Alan Modra  <amodra@bigpond.net.au>
5835*ed0d50c3Schristos
5836*ed0d50c3Schristos	* config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
5837*ed0d50c3Schristos	vectors in target_selvecs.
5838*ed0d50c3Schristos	(shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
5839*ed0d50c3Schristos	in target_selvecs.
5840*ed0d50c3Schristos	(sh-*-netbsdelf*): Likewise.
5841*ed0d50c3Schristos	* configure.in (assocvecs): New variable.  Handle assocvecs like
5842*ed0d50c3Schristos	selvecs.
5843*ed0d50c3Schristos	* configure: Regenerate.
5844*ed0d50c3Schristos	* format.c (bfd_check_format_matches): Store bfd_target pointers
5845*ed0d50c3Schristos	in matching_vector instead of target names.  Select first target
5846*ed0d50c3Schristos	from bfd_associated_vector that matches a list of ambiguous targets.
5847*ed0d50c3Schristos	* targets.c (_bfd_associated_vector): New array.
5848*ed0d50c3Schristos	(bfd_associated_vector): New variable.
5849*ed0d50c3Schristos	(_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
5850*ed0d50c3Schristos	* libbfd-in.h (bfd_associated_vector): Declare.
5851*ed0d50c3Schristos	* libbfd.h: Regenerate.
5852*ed0d50c3Schristos
5853*ed0d50c3Schristos2002-11-05  Elias Athanasopoulos  <eathan@otenet.gr>
5854*ed0d50c3Schristos
5855*ed0d50c3Schristos	* vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
5856*ed0d50c3Schristos	non-NULL before dereferencing.
5857*ed0d50c3Schristos
5858*ed0d50c3Schristos2002-11-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5859*ed0d50c3Schristos
5860*ed0d50c3Schristos	* vms.c (vms_object_p): Restore the start address when returning
5861*ed0d50c3Schristos	NULL.
5862*ed0d50c3Schristos
5863*ed0d50c3Schristos2002-11-04  Alan Modra  <amodra@bigpond.net.au>
5864*ed0d50c3Schristos	    Hans-Peter Nilsson  <hp@axis.com>
5865*ed0d50c3Schristos
5866*ed0d50c3Schristos	* elflink.h (struct elf_final_link_info): Add shndxbuf_size.
5867*ed0d50c3Schristos	(elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
5868*ed0d50c3Schristos	Set up a larger symshndxbuf, and write it out.  Free it on
5869*ed0d50c3Schristos	exit rather than freeing symbuf twice.  Correct section index
5870*ed0d50c3Schristos	on output section symbol loop.
5871*ed0d50c3Schristos	(elf_link_output_sym): Accumulate symbol extension section
5872*ed0d50c3Schristos	indices, reallocating symshndxbuf rather than writing it out.
5873*ed0d50c3Schristos	(elf_link_flush_output_syms): Don't flush symshndxbuf.
5874*ed0d50c3Schristos	* elf.c (assign_section_numbers): Init i_shdrp to all zero.
5875*ed0d50c3Schristos	Use bfd_zalloc to clear i_shdrp[0] too.
5876*ed0d50c3Schristos
5877*ed0d50c3Schristos2002-11-03  Stephen Clarke <stephen.clarke@earthling.net>
5878*ed0d50c3Schristos
5879*ed0d50c3Schristos	 * elf32-sh64-com.c (sh64_address_in_cranges): Use
5880*ed0d50c3Schristos	_raw_size of cranges section if _cooked_size not yet set.
5881*ed0d50c3Schristos
5882*ed0d50c3Schristos2002-11-03  Hans-Peter Nilsson  <hp@axis.com>
5883*ed0d50c3Schristos
5884*ed0d50c3Schristos	* elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
5885*ed0d50c3Schristos	for bfd_elf32_swap_symbol_out.
5886*ed0d50c3Schristos
5887*ed0d50c3Schristos2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5888*ed0d50c3Schristos
5889*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
5890*ed0d50c3Schristos	signed and unsigned in comparison.
5891*ed0d50c3Schristos
5892*ed0d50c3Schristos2002-10-30  Daniel Jacobowitz  <drow@mvista.com>
5893*ed0d50c3Schristos
5894*ed0d50c3Schristos	* coffcode.h: Remove extraneous '\'.
5895*ed0d50c3Schristos
5896*ed0d50c3Schristos2002-10-28  H.J. Lu <hjl@gnu.org>
5897*ed0d50c3Schristos
5898*ed0d50c3Schristos	* Makefile.am (targets.lo): Depend on Makefile instead of
5899*ed0d50c3Schristos	config.status.
5900*ed0d50c3Schristos	(archures.lo): Likewise.
5901*ed0d50c3Schristos	* Makefile.in: Regenerated.
5902*ed0d50c3Schristos
5903*ed0d50c3Schristos2002-10-25  Jason Thorpe  <thorpej@wasabisystems.com>
5904*ed0d50c3Schristos
5905*ed0d50c3Schristos	* config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
5906*ed0d50c3Schristos	bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
5907*ed0d50c3Schristos	targ_selvecs.
5908*ed0d50c3Schristos
5909*ed0d50c3Schristos2002-10-25  Jim Wilson  <wilson@redhat.com>
5910*ed0d50c3Schristos
5911*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Call
5912*ed0d50c3Schristos	_bfd_elf_rela_local_sym.  Handle relocs against STT_SECTION symbol
5913*ed0d50c3Schristos	of SHF_MERGE section.
5914*ed0d50c3Schristos
5915*ed0d50c3Schristos2002-10-25  Hans-Peter Nilsson  <hp@axis.com>
5916*ed0d50c3Schristos
5917*ed0d50c3Schristos	* simple.c: Correct placement of ATTRIBUTE_UNUSED.
5918*ed0d50c3Schristos
5919*ed0d50c3Schristos2002-10-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5920*ed0d50c3Schristos
5921*ed0d50c3Schristos	* aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
5922*ed0d50c3Schristos	unsigned int.  Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
5923*ed0d50c3Schristos	unsigned int.
5924*ed0d50c3Schristos	(NAME(aout,final_link)): Cast enum used in assignment.
5925*ed0d50c3Schristos	(aout_link_write_symbols): Cast enums in comparisons, int values to
5926*ed0d50c3Schristos	boolean, enums in assignments to int.
5927*ed0d50c3Schristos	(aout_link_input_section_std): Cast rel->r_index to unsigned int.
5928*ed0d50c3Schristos	(aout_link_input_section_ext): Likewise.  Cast enums used in
5929*ed0d50c3Schristos	comparisons with unsigned ints.
5930*ed0d50c3Schristos	(aout_link_reloc_link_order): Cast enum to int in assignment.
5931*ed0d50c3Schristos	* archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
5932*ed0d50c3Schristos	calls to char *.
5933*ed0d50c3Schristos	* bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
5934*ed0d50c3Schristos	assignment.
5935*ed0d50c3Schristos	* bfd-in2.h (bfd_set_section_vma): Likewise.
5936*ed0d50c3Schristos	* bfd.c (bfd_record_phdr): Cast enums in assignments.
5937*ed0d50c3Schristos	* binary.c (bfd_alloc): Cast enum to long.
5938*ed0d50c3Schristos	* coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
5939*ed0d50c3Schristos	* dwarf2.c (read_abbrevs): Add casts to enum types.
5940*ed0d50c3Schristos	(read_attribute_value): Likewise.
5941*ed0d50c3Schristos	(arange_add): Cast result of bfd_zalloc call.
5942*ed0d50c3Schristos	(comp_unit_contains_address): Return true and false.
5943*ed0d50c3Schristos	(comp_unit_find_nearest_line): Cast return to boolean.
5944*ed0d50c3Schristos	* format.c (bfd_check_format_matches, bfd_set_format): Likewise.
5945*ed0d50c3Schristos	* gen-aout.c: define macro '_' if not defined.
5946*ed0d50c3Schristos	* libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
5947*ed0d50c3Schristos	(bfd_bwrite): Cast bfd_realloc to bfd_byte *.
5948*ed0d50c3Schristos	(bfd_write_bigendian_4byte_int): Cast return to boolean.
5949*ed0d50c3Schristos	(bfd_seek): Cast bfd_realloc to bfd_byte *.
5950*ed0d50c3Schristos	(bfd_generic_is_local_label_name): Cast return to boolean.
5951*ed0d50c3Schristos	* libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
5952*ed0d50c3Schristos	* linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
5953*ed0d50c3Schristos	struct bfd_hash_entry *.
5954*ed0d50c3Schristos	(_bfd_generic_link_hash_newfunc): likewise.
5955*ed0d50c3Schristos	(_bfd_generic_final_link): Cast enum to unsigned int.
5956*ed0d50c3Schristos	* merge.c (sec_merge_emit): Cast return to boolean.
5957*ed0d50c3Schristos	(merge_strings): Add casts to const unsigned char *.
5958*ed0d50c3Schristos	* reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
5959*ed0d50c3Schristos	(bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
5960*ed0d50c3Schristos	* section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
5961*ed0d50c3Schristos	to struct bfd_hash_entry *.
5962*ed0d50c3Schristos	(bfd_set_section_content): Add cast to PTR in comparison.
5963*ed0d50c3Schristos	* simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
5964*ed0d50c3Schristos	simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
5965*ed0d50c3Schristos	simple_dummy_unattached_reloc,
5966*ed0d50c3Schristos	bfd_simple_get_relocated_section_contents): Add K&R declarations and
5967*ed0d50c3Schristos	function definitions.
5968*ed0d50c3Schristos	* srec.c (S3Forced): Initialize to false.
5969*ed0d50c3Schristos	(srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
5970*ed0d50c3Schristos	* stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
5971*ed0d50c3Schristos	(_bfd_discard_section_stabs): Likewise.  Also cast return to boolean.
5972*ed0d50c3Schristos	* syms.c (bfd_is_undefined_symclass): Cast return to boolean.
5973*ed0d50c3Schristos	(_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
5974*ed0d50c3Schristos	comparisons.
5975*ed0d50c3Schristos
5976*ed0d50c3Schristos2002-10-23  Jakub Jelinek  <jakub@redhat.com>
5977*ed0d50c3Schristos
5978*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
5979*ed0d50c3Schristos	relocs into shared lib non-allocated reloc sections.
5980*ed0d50c3Schristos
5981*ed0d50c3Schristos2002-10-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
5982*ed0d50c3Schristos
5983*ed0d50c3Schristos	* dwarf2.c (add_line_info): Ensure that the line_info_table is
5984*ed0d50c3Schristos	sorted even when given an out-of-order line sequence.
5985*ed0d50c3Schristos	(lookup_address_in_line_info_table): When an exact VMA match is
5986*ed0d50c3Schristos	not found, return line information with the closest VMA.
5987*ed0d50c3Schristos
5988*ed0d50c3Schristos2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
5989*ed0d50c3Schristos
5990*ed0d50c3Schristos	* elf64-hppa.c: Force DT_FLAGS to always be set.  Required by
5991*ed0d50c3Schristos	HPUX 11.00 patch PHSS_26559.
5992*ed0d50c3Schristos
5993*ed0d50c3Schristos2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
5994*ed0d50c3Schristos
5995*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
5996*ed0d50c3Schristos	the options section into a separate section unless IRIX 6
5997*ed0d50c3Schristos	compatibility is enabled.
5998*ed0d50c3Schristos
5999*ed0d50c3Schristos2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
6000*ed0d50c3Schristos
6001*ed0d50c3Schristos	* elflink.h (struct elf_link_sort_rela): Turn rel and rela
6002*ed0d50c3Schristos	into arrays.
6003*ed0d50c3Schristos	(elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
6004*ed0d50c3Schristos	(elf_link_sort_relocs): Likewise.  Take int_rels_per_ext_rel
6005*ed0d50c3Schristos	into account.
6006*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
6007*ed0d50c3Schristos	R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
6008*ed0d50c3Schristos
6009*ed0d50c3Schristos2002-10-21  Graeme Peterson  <gp@qnx.com>
6010*ed0d50c3Schristos
6011*ed0d50c3Schristos	* targets.c (_bfd_target_vector): Add missing qnx vectors.
6012*ed0d50c3Schristos
6013*ed0d50c3Schristos2002-10-21  Alan Modra  <amodra@bigpond.net.au>
6014*ed0d50c3Schristos
6015*ed0d50c3Schristos	* targets.c (bfd_target_list): Don't return the default target twice.
6016*ed0d50c3Schristos
6017*ed0d50c3Schristos2002-10-21  Elias Athanasopoulos  <eathan@otenet.gr>
6018*ed0d50c3Schristos
6019*ed0d50c3Schristos	* archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
6020*ed0d50c3Schristos	perror with bfd_perror.
6021*ed0d50c3Schristos
6022*ed0d50c3Schristos2002-10-19  H.J. Lu <hjl@gnu.org>
6023*ed0d50c3Schristos
6024*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Correctly handle
6025*ed0d50c3Schristos	DT_RPATH and DT_RUNPATH.
6026*ed0d50c3Schristos
6027*ed0d50c3Schristos2002-10-19  Mark Kettenis  <kettenis@gnu.org>
6028*ed0d50c3Schristos
6029*ed0d50c3Schristos	* elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
6030*ed0d50c3Schristos
6031*ed0d50c3Schristos2002-10-17  Denis Chertykov  <denisc@overta.ru>
6032*ed0d50c3Schristos
6033*ed0d50c3Schristos	* elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
6034*ed0d50c3Schristos	for ip2k port.
6035*ed0d50c3Schristos
6036*ed0d50c3Schristos2002-10-17  Alan Modra  <amodra@bigpond.net.au>
6037*ed0d50c3Schristos
6038*ed0d50c3Schristos	* elfxx-target.h (USE_REL): Don't define as 1.
6039*ed0d50c3Schristos	* elf32-arm.h (USE_REL): Provide a default define of 0.
6040*ed0d50c3Schristos	Use #if rather than #ifdef when testing USE_REL.
6041*ed0d50c3Schristos	* elf32-m32r.c: Likewise.
6042*ed0d50c3Schristos
6043*ed0d50c3Schristos	* elf32-arc.c (USE_REL): Define as 1.
6044*ed0d50c3Schristos	* elf32-d10v.c (USE_REL): Likewise.
6045*ed0d50c3Schristos	* elf32-m32r.c (USE_REL): Likewise.
6046*ed0d50c3Schristos	* elf32-m68hc11.c (USE_REL): Likewise.
6047*ed0d50c3Schristos	* elf32-m68hc12.c (USE_REL): Likewise.
6048*ed0d50c3Schristos	* elf32-or32.c (USE_REL): Likewise.
6049*ed0d50c3Schristos	* elfarm-nabi.c (USE_REL): Likewise.
6050*ed0d50c3Schristos
6051*ed0d50c3Schristos2002-10-16  Jakub Jelinek  <jakub@redhat.com>
6052*ed0d50c3Schristos
6053*ed0d50c3Schristos	* config.bfd (s390-*-linux*): Add targ64_selvecs.
6054*ed0d50c3Schristos	(s390x-*-linux*): Add targ_selvecs.
6055*ed0d50c3Schristos
6056*ed0d50c3Schristos2002-10-16  Alan Modra  <amodra@bigpond.net.au>
6057*ed0d50c3Schristos
6058*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
6059*ed0d50c3Schristos	elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
6060*ed0d50c3Schristos	elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
6061*ed0d50c3Schristos	elf32-sh64-nbsd.lo, elf32-shqnx.lo.  Add elf32-qnx.lo.
6062*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
6063*ed0d50c3Schristos	(BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
6064*ed0d50c3Schristos	(BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
6065*ed0d50c3Schristos	(SOURCE_HFILES): Add elf32-qnx.h.
6066*ed0d50c3Schristos	(BUILD_HFILES): Add bfdver.h.
6067*ed0d50c3Schristos	Run "make dep-am".
6068*ed0d50c3Schristos	* Makefile.in: Regenerate.
6069*ed0d50c3Schristos	* configure.in Update bfd vector dependencies.
6070*ed0d50c3Schristos	* configure: Regenerate.
6071*ed0d50c3Schristos	* elf32-i386-fbsd.c: Delete.  Move code to elf32-i386.c.
6072*ed0d50c3Schristos	* elf32-i386qnx.c: Likewise.
6073*ed0d50c3Schristos	* elf32-ppcqnx.c: Delete.  Move code to elf32-ppc.c.
6074*ed0d50c3Schristos	* elf32-sh-nbsd.c: Delete.  Move code to elf32-sh.c.
6075*ed0d50c3Schristos	* elf32-sh-lin.c: Likewise.
6076*ed0d50c3Schristos	* elf32-shqnx.c: Likewise.
6077*ed0d50c3Schristos	* elf32-sh64-lin.c: Delete.  Move code to elf32-sh64.c.
6078*ed0d50c3Schristos	* elf32-sh64-nbsd.c: Likewise.
6079*ed0d50c3Schristos	* elf64-sh64-lin.c: Delete.  Move code to elf64-sh64.c.
6080*ed0d50c3Schristos	* elf64-sh64-nbsd.c: Likewise.
6081*ed0d50c3Schristos	* elfarmqnx-nabi.c: Delete.  Move code to elfarm-nabi.c.
6082*ed0d50c3Schristos	* elf32-arm.h (ELF_MAXPAGESIZE): Always define.
6083*ed0d50c3Schristos	* elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
6084*ed0d50c3Schristos	* elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
6085*ed0d50c3Schristos	* elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
6086*ed0d50c3Schristos	(elf_backend_is_contained_by_filepos): Likewise.
6087*ed0d50c3Schristos	(elf_backend_copy_private_bfd_data_p): Likewise.
6088*ed0d50c3Schristos	Globalize and move functions to..
6089*ed0d50c3Schristos	* elf32-qnx.c: ..here.  New file.
6090*ed0d50c3Schristos	* elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests.  Don't
6091*ed0d50c3Schristos	emit target vectors when INCLUDE_SHMEDIA.
6092*ed0d50c3Schristos	* elf32-sh64.c: Remove ELF_ARCH test.  Move TARGET_* etc. defines to
6093*ed0d50c3Schristos	end of file.
6094*ed0d50c3Schristos	* elf64-sh64.c: Remove ELF_ARCH test.
6095*ed0d50c3Schristos	* elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
6096*ed0d50c3Schristos	* po/BLD-POTFILES.in: Regenerate.
6097*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
6098*ed0d50c3Schristos
6099*ed0d50c3Schristos2002-10-16  Alan Modra  <amodra@bigpond.net.au>
6100*ed0d50c3Schristos
6101*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
6102*ed0d50c3Schristos	loaded with --just-symbols.
6103*ed0d50c3Schristos
6104*ed0d50c3Schristos	* elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
6105*ed0d50c3Schristos	* elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
6106*ed0d50c3Schristos	* elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
6107*ed0d50c3Schristos	* elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
6108*ed0d50c3Schristos
6109*ed0d50c3Schristos2002-10-15  Richard Henderson  <rth@redhat.com>
6110*ed0d50c3Schristos
6111*ed0d50c3Schristos	* Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
6112*ed0d50c3Schristos	(BFD64_BACKENDS_CFILES): Likewise.
6113*ed0d50c3Schristos	* configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
6114*ed0d50c3Schristos	* elf64-alpha-fbsd.c: Remove file, move code ...
6115*ed0d50c3Schristos	* elf64-alpha.c: ... here.
6116*ed0d50c3Schristos	* Makefile.in, configure: Rebuild.
6117*ed0d50c3Schristos
6118*ed0d50c3Schristos2002-10-14  Richard Henderson  <rth@redhat.com>
6119*ed0d50c3Schristos
6120*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
6121*ed0d50c3Schristos	VALUE, not ADDEND.
6122*ed0d50c3Schristos
6123*ed0d50c3Schristos2002-10-14  Stephen Clarke <stephen.clarke@superh.com>
6124*ed0d50c3Schristos
6125*ed0d50c3Schristos	* elf32-sh.c (elf_sh_link_hash_entry): Replace
6126*ed0d50c3Schristos	datalabel_got_offset with union of datalabel_got
6127*ed0d50c3Schristos	offset and refcount.
6128*ed0d50c3Schristos	(sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
6129*ed0d50c3Schristos	(allocate_dynrelocs): Delete unnecessary code for
6130*ed0d50c3Schristos	STT_DATALABEL type.  Create entry in got for
6131*ed0d50c3Schristos	datalabel version of symbol if datalabel_got.refcount > 0.
6132*ed0d50c3Schristos	(sh_elf_relocate_section): Use datalabel_got union.
6133*ed0d50c3Schristos	(sh_elf_gc_sweep_hook): Pull common code to initialize
6134*ed0d50c3Schristos	h and eh out of switch statement.  Declare seen_stt_datalabel.
6135*ed0d50c3Schristos	Initialize it.  Decrement datalabel_got.refcount for
6136*ed0d50c3Schristos	got relocs when seen_stt_datalabel is true.
6137*ed0d50c3Schristos	Decrement local_got_refcounts entry for datalabel got relocs
6138*ed0d50c3Schristos	of local symbols.
6139*ed0d50c3Schristos	(sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
6140*ed0d50c3Schristos	(sh_elf_check_relocs): Declare seen_stt_datalabel.
6141*ed0d50c3Schristos	Initialize it.  When seen_stt_datalabel is true, increment
6142*ed0d50c3Schristos	datalabel_got refcount rather than got.refcount.
6143*ed0d50c3Schristos	(sh_elf_finish_dynamic_symbol): Create relocs to
6144*ed0d50c3Schristos	initialize got entry for datalabel version of symbol.
6145*ed0d50c3Schristos
6146*ed0d50c3Schristos2002-10-14  Alan Modra  <amodra@bigpond.net.au>
6147*ed0d50c3Schristos
6148*ed0d50c3Schristos	* Makefile.am: Run "make dep-am".
6149*ed0d50c3Schristos	(BFD_H_FILES): Remove version.h.
6150*ed0d50c3Schristos	* bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
6151*ed0d50c3Schristos	* version.h: ..to here.
6152*ed0d50c3Schristos	* configure.in (bfd_version_date): Remove.
6153*ed0d50c3Schristos	(AC_OUTPUT): Make bfdver.h from version.h.
6154*ed0d50c3Schristos	* bfd.c: #include "bfdver.h".
6155*ed0d50c3Schristos	* vms-hdr.c: Likewise.
6156*ed0d50c3Schristos	* Makefile.in: Regenerate.
6157*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
6158*ed0d50c3Schristos	* configure: Regenerate.
6159*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
6160*ed0d50c3Schristos
6161*ed0d50c3Schristos2002-10-14  Alan Modra  <amodra@bigpond.net.au>
6162*ed0d50c3Schristos
6163*ed0d50c3Schristos	* archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
6164*ed0d50c3Schristos	bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
6165*ed0d50c3Schristos	bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
6166*ed0d50c3Schristos	bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
6167*ed0d50c3Schristos	bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
6168*ed0d50c3Schristos	bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
6169*ed0d50c3Schristos	bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
6170*ed0d50c3Schristos	bfd_mach_ip2022, bfd_mach_ip2022ext,
6171*ed0d50c3Schristos	bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
6172*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
6173*ed0d50c3Schristos
6174*ed0d50c3Schristos2002-10-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
6175*ed0d50c3Schristos
6176*ed0d50c3Schristos	* config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
6177*ed0d50c3Schristos	endian vector to targ_selvecs.
6178*ed0d50c3Schristos
6179*ed0d50c3Schristos2002-10-13  Alexandre Oliva  <aoliva@redhat.com>
6180*ed0d50c3Schristos
6181*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Take
6182*ed0d50c3Schristos	save_addend argument.  Don't apply the 32-bit mask to a
6183*ed0d50c3Schristos	GPREL32 value if it's to be used in another relocation.  Don't
6184*ed0d50c3Schristos	use forced-check computation of local_p to decide whether to
6185*ed0d50c3Schristos	add gp0 to GPREL16 value.  Don't use only the lowest 16 bits
6186*ed0d50c3Schristos	of the addend of a non-in-place GPREL16 relocation.
6187*ed0d50c3Schristos	(_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
6188*ed0d50c3Schristos	mips_elf_calculate_relocation().
6189*ed0d50c3Schristos
6190*ed0d50c3Schristos2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
6191*ed0d50c3Schristos
6192*ed0d50c3Schristos	* elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
6193*ed0d50c3Schristos	with symbols in other sections if we relaxed something;  the sections
6194*ed0d50c3Schristos	output offsets must be re-computed before.
6195*ed0d50c3Schristos
6196*ed0d50c3Schristos2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
6197*ed0d50c3Schristos
6198*ed0d50c3Schristos	* elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
6199*ed0d50c3Schristos	handling to use Elf_Internal_Sym.
6200*ed0d50c3Schristos	(m68hc11_elf_relax_delete_bytes): Likewise.
6201*ed0d50c3Schristos
6202*ed0d50c3Schristos2002-10-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
6203*ed0d50c3Schristos
6204*ed0d50c3Schristos	* elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
6205*ed0d50c3Schristos	sh_elf_object_p, dtpoff_base): New functions.
6206*ed0d50c3Schristos	(sh_elf_howto_table): Add TLS relocs.
6207*ed0d50c3Schristos	(sh_reloc_map): Likewise.
6208*ed0d50c3Schristos	(sh_elf_info_to_howto): Support TLS relocs.
6209*ed0d50c3Schristos	(elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
6210*ed0d50c3Schristos	(sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
6211*ed0d50c3Schristos	New macros.
6212*ed0d50c3Schristos	(sh_elf_obj_tdata): New.
6213*ed0d50c3Schristos	(elf_sh_link_hash_table): Add tls_ldm_got.
6214*ed0d50c3Schristos	(sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
6215*ed0d50c3Schristos	(allocate_dynrelocs): Support TLS relocs.
6216*ed0d50c3Schristos	(sh_elf_size_dynamic_sections): Likewise.
6217*ed0d50c3Schristos	(sh_elf_relocate_section): Support TLS relocs.  Don't try to find
6218*ed0d50c3Schristos	.rela.got section when found already.  Return false after printing
6219*ed0d50c3Schristos	error about unresolvable relocation.
6220*ed0d50c3Schristos	(sh_elf_gc_sweep_hook): Support TLS relocs.
6221*ed0d50c3Schristos	(sh_elf_check_relocs): Likewise.
6222*ed0d50c3Schristos	(sh_elf_finish_dynamic_symbol): Likewise.
6223*ed0d50c3Schristos	(bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
6224*ed0d50c3Schristos	* reloc.c: Add SH TLS relocs.
6225*ed0d50c3Schristos	* bfd-in2.h, libbfd.h: Regenerate.
6226*ed0d50c3Schristos
6227*ed0d50c3Schristos2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
6228*ed0d50c3Schristos
6229*ed0d50c3Schristos	* Makefile.in: Regenerated.
6230*ed0d50c3Schristos
6231*ed0d50c3Schristos2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
6232*ed0d50c3Schristos
6233*ed0d50c3Schristos	* Makefile.am: Run dep-am.
6234*ed0d50c3Schristos	(BFD_H_DEP): Add simple.c and linker.c.
6235*ed0d50c3Schristos	(BFD32_LIBS): Add simple.lo.
6236*ed0d50c3Schristos	(BFD32_LIBS_CFILES): Add simple.c.
6237*ed0d50c3Schristos	* Makefile.in: Regenerated.
6238*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
6239*ed0d50c3Schristos	* simple.c: New file.
6240*ed0d50c3Schristos
6241*ed0d50c3Schristos2002-10-11  Alan Modra  <amodra@bigpond.net.au>
6242*ed0d50c3Schristos
6243*ed0d50c3Schristos	* coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
6244*ed0d50c3Schristos	(record_thumb_to_arm_glue): Likewise.
6245*ed0d50c3Schristos	* ecoff.c (ecoff_link_add_externals): Likewise.
6246*ed0d50c3Schristos	* elf32-arm.h (record_arm_to_thumb_glue): Likewise.
6247*ed0d50c3Schristos	(record_thumb_to_arm_glue): Likewise.
6248*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
6249*ed0d50c3Schristos	* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
6250*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
6251*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
6252*ed0d50c3Schristos	* elf64-ppc.c (func_desc_adjust): Likewise.
6253*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
6254*ed0d50c3Schristos	(sh64_elf64_create_dynamic_sections): Likewise.
6255*ed0d50c3Schristos	* elflink.c (_bfd_elf_create_got_section): Likewise.
6256*ed0d50c3Schristos	(_bfd_elf_create_dynamic_sections): Likewise.
6257*ed0d50c3Schristos	(_bfd_elf_create_linker_section): Likewise.
6258*ed0d50c3Schristos	* elflink.h (elf_add_default_symbol): Likewise.
6259*ed0d50c3Schristos	(elf_link_create_dynamic_sections): Likewise.
6260*ed0d50c3Schristos	(NAME(bfd_elf,size_dynamic_sections)): Likewise.
6261*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
6262*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_create_got_section): Likewise.
6263*ed0d50c3Schristos	(_bfd_mips_elf_add_symbol_hook): Likewise.
6264*ed0d50c3Schristos	(_bfd_mips_elf_create_dynamic_sections): Likewise.
6265*ed0d50c3Schristos	* linker.c (generic_link_add_symbol_list): Likewise.
6266*ed0d50c3Schristos	* xcofflink.c (xcoff_link_add_symbols): Likewise.
6267*ed0d50c3Schristos
6268*ed0d50c3Schristos	* elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
6269*ed0d50c3Schristos
6270*ed0d50c3Schristos	* elf64-ppc.c (edit_opd): Only zero opd syms when function is
6271*ed0d50c3Schristos	completely removed.  Correct local sym adjustment.
6272*ed0d50c3Schristos
6273*ed0d50c3Schristos2002-10-10  Stephen Clarke <stephen.clarke@superh.com>
6274*ed0d50c3Schristos
6275*ed0d50c3Schristos	* elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
6276*ed0d50c3Schristos	Correct mistake in calculation of address of .got.
6277*ed0d50c3Schristos	* elf64-sh64.c (elf_sh64_pic_plt_entry_be,
6278*ed0d50c3Schristos	elf_sh64_pic_plt_entry_le): Likewise.
6279*ed0d50c3Schristos
6280*ed0d50c3Schristos2002-10-09  Richard Shann <richard.shann@superh.com>
6281*ed0d50c3Schristos	    Stephen Clarke <stephen.clarke@superh.com>
6282*ed0d50c3Schristos
6283*ed0d50c3Schristos	* Makefile.am: Add entries for elf32-sh64-lin.c and
6284*ed0d50c3Schristos	elf64-sh64-lin.c. Regenerate.
6285*ed0d50c3Schristos	* Makefile.in: Regenerate.
6286*ed0d50c3Schristos	* config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
6287*ed0d50c3Schristos	to use sh64 vectors rather than sh vectors.
6288*ed0d50c3Schristos	* configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
6289*ed0d50c3Schristos	bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
6290*ed0d50c3Schristos	* configure: Regenerate.
6291*ed0d50c3Schristos	* elf32-sh64-lin.c: New file.
6292*ed0d50c3Schristos	* elf64-sh64-lin.c: New file.
6293*ed0d50c3Schristos	* targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
6294*ed0d50c3Schristos	bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
6295*ed0d50c3Schristos
6296*ed0d50c3Schristos2002-10-08  H.J. Lu <hjl@gnu.org>
6297*ed0d50c3Schristos
6298*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Re-arrange the
6299*ed0d50c3Schristos	IE->LE transition for R_386_TLS_IE.
6300*ed0d50c3Schristos
6301*ed0d50c3Schristos2002-10-08  Alan Modra  <amodra@bigpond.net.au>
6302*ed0d50c3Schristos
6303*ed0d50c3Schristos	* elf64-ppc.c (edit_opd): Correct test for discarded sections.
6304*ed0d50c3Schristos
6305*ed0d50c3Schristos2002-10-07  Mark Elbrecht  <snowball3@softhome.net>
6306*ed0d50c3Schristos
6307*ed0d50c3Schristos	* cofflink.c (mark_relocs): Don't mark relocations in excluded
6308*ed0d50c3Schristos	sections.
6309*ed0d50c3Schristos
6310*ed0d50c3Schristos2002-10-07  Alan Modra  <amodra@bigpond.net.au>
6311*ed0d50c3Schristos
6312*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
6313*ed0d50c3Schristos	code.
6314*ed0d50c3Schristos
6315*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
6316*ed0d50c3Schristos
6317*ed0d50c3Schristos2002-10-06  Alan Modra  <amodra@bigpond.net.au>
6318*ed0d50c3Schristos
6319*ed0d50c3Schristos	* opncls.c: Formatting.
6320*ed0d50c3Schristos	(_bfd_new_bfd): Use a smaller section hash table.
6321*ed0d50c3Schristos
6322*ed0d50c3Schristos2002-10-05  Alexandre Oliva  <aoliva@redhat.com>
6323*ed0d50c3Schristos
6324*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
6325*ed0d50c3Schristos	of the other two relocations packed with a REL32 to NONE.
6326*ed0d50c3Schristos
6327*ed0d50c3Schristos2002-10-02  Stephen Clarke <stephen.clarke@superh.com>
6328*ed0d50c3Schristos
6329*ed0d50c3Schristos	* elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
6330*ed0d50c3Schristos	(sh_elf_link_hash_newfunc): Initialize it.
6331*ed0d50c3Schristos	(allocate_dynrelocs): Transfer gotplt refs from plt.refcount
6332*ed0d50c3Schristos	to got.refcount for symbols that are forced local or when
6333*ed0d50c3Schristos	we have direct got refs.
6334*ed0d50c3Schristos	(sh_elf_gc_sweep_hook): Adjust gotplt_refcount.  Use it
6335*ed0d50c3Schristos	to correctly adjust got.refcount and plt.refcount.
6336*ed0d50c3Schristos	(sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
6337*ed0d50c3Schristos	(sh_elf_check_relocs): Increment gotplt_refcount.
6338*ed0d50c3Schristos
6339*ed0d50c3Schristos2002-10-01  Jakub Jelinek  <jakub@redhat.com>
6340*ed0d50c3Schristos
6341*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Fix
6342*ed0d50c3Schristos	movl foo@indntpoff, %eax IE->LE transition.
6343*ed0d50c3Schristos
6344*ed0d50c3Schristos2002-10-01  Jakub Jelinek  <jakub@redhat.com>
6345*ed0d50c3Schristos
6346*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
6347*ed0d50c3Schristos	sequence and its transitions.
6348*ed0d50c3Schristos
6349*ed0d50c3Schristos2002-10-01  Jakub Jelinek  <jakub@redhat.com>
6350*ed0d50c3Schristos
6351*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
6352*ed0d50c3Schristos	to st_value + addend in non-code sections.
6353*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
6354*ed0d50c3Schristos	R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
6355*ed0d50c3Schristos
6356*ed0d50c3Schristos2002-09-30  Gavin Romig-Koch  <gavin@redhat.com>
6357*ed0d50c3Schristos	    Ken Raeburn  <raeburn@cygnus.com>
6358*ed0d50c3Schristos	    Aldy Hernandez  <aldyh@redhat.com>
6359*ed0d50c3Schristos	    Eric Christopher  <echristo@redhat.com>
6360*ed0d50c3Schristos	    Richard Sandiford  <rsandifo@redhat.com>
6361*ed0d50c3Schristos
6362*ed0d50c3Schristos	* archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
6363*ed0d50c3Schristos	(bfd_mach_mips5500): New.
6364*ed0d50c3Schristos	* cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
6365*ed0d50c3Schristos	(arch_info_struct): Add corresponding entries here.
6366*ed0d50c3Schristos	* elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
6367*ed0d50c3Schristos	E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
6368*ed0d50c3Schristos	(_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
6369*ed0d50c3Schristos	bfd_mach_mips5400 and bfd_mach_mips5500.
6370*ed0d50c3Schristos	(_bfd_mips_elf_mach_extends_p): New function.
6371*ed0d50c3Schristos	(_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
6372*ed0d50c3Schristos	the EF_MIPS_MACH flags.
6373*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
6374*ed0d50c3Schristos
6375*ed0d50c3Schristos2002-09-28  Jason Thorpe  <thorpej@wasabisystems.com>
6376*ed0d50c3Schristos
6377*ed0d50c3Schristos	* elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
6378*ed0d50c3Schristos	.got sections.
6379*ed0d50c3Schristos
6380*ed0d50c3Schristos2002-09-28  Alan Modra  <amodra@bigpond.net.au>
6381*ed0d50c3Schristos
6382*ed0d50c3Schristos	* elf.c (map_sections_to_segments): Correct test for start of
6383*ed0d50c3Schristos	writable section in the same page as end of read-only section.
6384*ed0d50c3Schristos
6385*ed0d50c3Schristos2002-09-27  Matt Thomas  <matt@3am-software.com>
6386*ed0d50c3Schristos
6387*ed0d50c3Schristos	* elf32-vax.c (elf_vax_check_relocs): Remove unused
6388*ed0d50c3Schristos	local_got_refcounts usage.  Remove allocation of got slot.
6389*ed0d50c3Schristos	(elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
6390*ed0d50c3Schristos	Remove de-allocation of got slot.
6391*ed0d50c3Schristos	(elf_vax_size_dynamic_section): Fix some indentation.  Add hash
6392*ed0d50c3Schristos	traversal for elf_vax_instantiate_got_entries.  Allow empty .got
6393*ed0d50c3Schristos	sections to be GC'ed.
6394*ed0d50c3Schristos	(elf_vax_instantiate_got_entries): New function.
6395*ed0d50c3Schristos	(elf_vax_relocate_section): Simplify R_VAX_GOT32 handling.  Remove
6396*ed0d50c3Schristos	tests that are now handled by elf_vax_instantiate_got_entries.
6397*ed0d50c3Schristos	Assert GOT entry falls within .got section size.  Remove redundant
6398*ed0d50c3Schristos	comparisions.  Fix comments.
6399*ed0d50c3Schristos
6400*ed0d50c3Schristos2002-09-27  Jakub Jelinek  <jakub@redhat.com>
6401*ed0d50c3Schristos
6402*ed0d50c3Schristos	* reloc.c: Add x86-64 TLS relocs.
6403*ed0d50c3Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
6404*ed0d50c3Schristos	* elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
6405*ed0d50c3Schristos	relocs.  Add TLS relocs.
6406*ed0d50c3Schristos	(x86_64_reloc_map): Add TLS relocs.
6407*ed0d50c3Schristos	(elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
6408*ed0d50c3Schristos	(struct elf64_x86_64_link_hash_entry): Add tls_type field.
6409*ed0d50c3Schristos	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
6410*ed0d50c3Schristos	(elf64_x86_64_hash_entry): Define.
6411*ed0d50c3Schristos	(struct elf64_x86_64_obj_tdata): New.
6412*ed0d50c3Schristos	(elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
6413*ed0d50c3Schristos	(struct elf64_x86_64_link_hash_table): Add tls_ld_got.
6414*ed0d50c3Schristos	(link_hash_newfunc): Initialize tls_type.
6415*ed0d50c3Schristos	(elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
6416*ed0d50c3Schristos	(elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
6417*ed0d50c3Schristos	(elf64_x86_64_mkobject): New.
6418*ed0d50c3Schristos	(elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
6419*ed0d50c3Schristos	(elf64_x86_64_tls_transition): New.
6420*ed0d50c3Schristos	(elf64_x86_64_check_relocs): Add r_type variable and use it.
6421*ed0d50c3Schristos	Handle TLS relocs.
6422*ed0d50c3Schristos	(elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
6423*ed0d50c3Schristos	(allocate_dynrelocs): Allocate GOT space for TLS relocs.
6424*ed0d50c3Schristos	(elf64_x86_64_size_dynamic_sections): Likewise.
6425*ed0d50c3Schristos	(dtpoff_base, tpoff): New.
6426*ed0d50c3Schristos	(elf64_x86_64_relocate_section): Handle TLS relocs.
6427*ed0d50c3Schristos	(elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
6428*ed0d50c3Schristos	entries.
6429*ed0d50c3Schristos	(bfd_elf64_mkobject): Define.
6430*ed0d50c3Schristos
6431*ed0d50c3Schristos	* elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
6432*ed0d50c3Schristos	DF_STATIC_TLS if shared.
6433*ed0d50c3Schristos
6434*ed0d50c3Schristos2002-09-26  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6435*ed0d50c3Schristos
6436*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
6437*ed0d50c3Schristos	empty relocation sections.
6438*ed0d50c3Schristos
6439*ed0d50c3Schristos2002-09-26  Alan Modra  <amodra@bigpond.net.au>
6440*ed0d50c3Schristos
6441*ed0d50c3Schristos	* elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
6442*ed0d50c3Schristos	(ppc64_elf_build_stubs): Build them here instead.
6443*ed0d50c3Schristos
6444*ed0d50c3Schristos2002-09-24  Jakub Jelinek  <jakub@redhat.com>
6445*ed0d50c3Schristos
6446*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
6447*ed0d50c3Schristos	addend into r_addend, not *r_offset.
6448*ed0d50c3Schristos	(elf32_sparc_finish_dynamic_symbol): Likewise.
6449*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
6450*ed0d50c3Schristos	R_SPARC_RELATIVE's r_offset.
6451*ed0d50c3Schristos
6452*ed0d50c3Schristos2002-09-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
6453*ed0d50c3Schristos
6454*ed0d50c3Schristos	* dwarf2.c (decode_line_info): Update to correctly decode
6455*ed0d50c3Schristos	the (non-standard DWARF2) out-of-order address sequences
6456*ed0d50c3Schristos	generated by the Intel C++ 6.0 compiler for ia64-Linux.
6457*ed0d50c3Schristos
6458*ed0d50c3Schristos2002-09-23  Mark Elbrecht  <snowball3@softhome.net>
6459*ed0d50c3Schristos
6460*ed0d50c3Schristos	* config.bfd: For DJGPP targets, match with any cpu and any machine.
6461*ed0d50c3Schristos
6462*ed0d50c3Schristos2002-09-23  Alan Modra  <amodra@bigpond.net.au>
6463*ed0d50c3Schristos
6464*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
6465*ed0d50c3Schristos	for discarded FDEs.  Remove redundant assignment.
6466*ed0d50c3Schristos	* elflink.h (elf_bfd_discard_info): Save edited relocs.
6467*ed0d50c3Schristos
6468*ed0d50c3Schristos2002-09-22  H.J. Lu <hjl@gnu.org>
6469*ed0d50c3Schristos
6470*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
6471*ed0d50c3Schristos	the relocation count between different .reloc sections.
6472*ed0d50c3Schristos
6473*ed0d50c3Schristos2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6474*ed0d50c3Schristos
6475*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
6476*ed0d50c3Schristos	".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
6477*ed0d50c3Schristos	R_PPC_EMB_SDA2REL.  Similarly for R_PPC_EMB_SDA21 and
6478*ed0d50c3Schristos	R_PPC_EMB_RELSDA.
6479*ed0d50c3Schristos
6480*ed0d50c3Schristos	* elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
6481*ed0d50c3Schristos	unsigned.  Move "symcount" assignment out of loop.
6482*ed0d50c3Schristos	* Makefile.am: Run "make dep-am".
6483*ed0d50c3Schristos	* Makefile.in: Regenerate.
6484*ed0d50c3Schristos	* configure: Regenerate.
6485*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regnerate.
6486*ed0d50c3Schristos
6487*ed0d50c3Schristos2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
6488*ed0d50c3Schristos
6489*ed0d50c3Schristos	* dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
6490*ed0d50c3Schristos	zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
6491*ed0d50c3Schristos	(e.g. IRIX64).
6492*ed0d50c3Schristos
6493*ed0d50c3Schristos2002-09-19  Jakub Jelinek  <jakub@redhat.com>
6494*ed0d50c3Schristos
6495*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
6496*ed0d50c3Schristos	even if generating R_PPC_RELATIVE reloc.
6497*ed0d50c3Schristos	(ppc_elf_relocate_section): Make sure relocation is performed
6498*ed0d50c3Schristos	if skip == -2.  Clear memory at r_offset when creating dynamic
6499*ed0d50c3Schristos	relocation.
6500*ed0d50c3Schristos
6501*ed0d50c3Schristos2002-09-19  Jakub Jelinek  <jakub@redhat.com>
6502*ed0d50c3Schristos
6503*ed0d50c3Schristos	* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
6504*ed0d50c3Schristos	BFD_RELOC_386_TLS_GOTIE): Add.
6505*ed0d50c3Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
6506*ed0d50c3Schristos	* elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
6507*ed0d50c3Schristos	and R_386_TLS_GOTIE.
6508*ed0d50c3Schristos	(elf_i386_reloc_type_lookup): Handle it.
6509*ed0d50c3Schristos	(struct elf_i386_link_hash_entry): Change tls_type type to unsigned
6510*ed0d50c3Schristos	char instead of enum, change GOT_* into defines.
6511*ed0d50c3Schristos	(GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
6512*ed0d50c3Schristos	(elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
6513*ed0d50c3Schristos	(elf_i386_check_relocs): Likewise.  Avoid crash if local symbol is
6514*ed0d50c3Schristos	accessed both as normal and TLS symbol.  Move R_386_TLS_LDM and
6515*ed0d50c3Schristos	R_386_PLT32 cases so that R_386_TLS_IE can fall through.
6516*ed0d50c3Schristos	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
6517*ed0d50c3Schristos	(elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
6518*ed0d50c3Schristos	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
6519*ed0d50c3Schristos	(allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
6520*ed0d50c3Schristos	tls_type is GOT_TLS_IE_BOTH.
6521*ed0d50c3Schristos	(elf_i386_size_dynamic_sections): Likewise.
6522*ed0d50c3Schristos	(elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
6523*ed0d50c3Schristos	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
6524*ed0d50c3Schristos	(elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
6525*ed0d50c3Schristos	all 4 GOT_TLS_* TLS types.
6526*ed0d50c3Schristos
6527*ed0d50c3Schristos2002-09-19  Nick Clifton  <nickc@redhat.com>
6528*ed0d50c3Schristos
6529*ed0d50c3Schristos	* elflink.h (elf_fix_symbol_flags): When examining weak symbols,
6530*ed0d50c3Schristos	follow indirect links.
6531*ed0d50c3Schristos
6532*ed0d50c3Schristos2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
6533*ed0d50c3Schristos
6534*ed0d50c3Schristos	* ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
6535*ed0d50c3Schristos	correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
6536*ed0d50c3Schristos	on 64 bit machines.
6537*ed0d50c3Schristos	(ecoff_swap_sym_in) <iss>: Likewise.
6538*ed0d50c3Schristos	* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
6539*ed0d50c3Schristos	ECOFF information: 'ioptMax' refers to the actual *size*
6540*ed0d50c3Schristos	of the optimization symtab, not the number of entries.
6541*ed0d50c3Schristos
6542*ed0d50c3Schristos2002-09-19  Daniel Jacobowitz  <drow@mvista.com>
6543*ed0d50c3Schristos
6544*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
6545*ed0d50c3Schristos	ELF_LINK_HASH_NEEDS_PLT logic.
6546*ed0d50c3Schristos
6547*ed0d50c3Schristos2002-09-18  Daniel Jacobowitz  <drow@mvista.com>
6548*ed0d50c3Schristos
6549*ed0d50c3Schristos	* elfcode.h (elf_slurp_reloc_table_from_section): Check
6550*ed0d50c3Schristos	correct relocation count.
6551*ed0d50c3Schristos
6552*ed0d50c3Schristos2002-09-17  Daniel Jacobowitz  <drow@mvista.com>
6553*ed0d50c3Schristos
6554*ed0d50c3Schristos	* bfd-in.h (bfd_get_dynamic_symcount): Define.
6555*ed0d50c3Schristos	* bfd.c (struct _bfd): Add dynsymcount.
6556*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
6557*ed0d50c3Schristos	* elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
6558*ed0d50c3Schristos	abfd->dynsymcount.
6559*ed0d50c3Schristos	* elfcode.h (elf_slurp_reloc_table_from_section): Check
6560*ed0d50c3Schristos	for overflow.
6561*ed0d50c3Schristos
6562*ed0d50c3Schristos2002-09-17  Stan Cox <scox@redhat.com>
6563*ed0d50c3Schristos
6564*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
6565*ed0d50c3Schristos	(mips_elf64_final_gp): Don't make up gp value.
6566*ed0d50c3Schristos	* elfn32-mips.c (mips_elf_final_gp): Likewise.
6567*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_final_link): Always create
6568*ed0d50c3Schristos	.MIPS.options/.options section.
6569*ed0d50c3Schristos
6570*ed0d50c3Schristos2002-09-17  David O'Brien  <obrien@FreeBSD.org>
6571*ed0d50c3Schristos
6572*ed0d50c3Schristos	* elf32-i386-fbsd.c: Always label using the EI_OSABI method.
6573*ed0d50c3Schristos	It is benign for FreeBSD < 4.1.  Minor reformatting.
6574*ed0d50c3Schristos	* elf64-alpha-fbsd.c: Likewise.
6575*ed0d50c3Schristos
6576*ed0d50c3Schristos2002-09-17  Jakub Jelinek  <jakub@redhat.com>
6577*ed0d50c3Schristos
6578*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
6579*ed0d50c3Schristos	addend.
6580*ed0d50c3Schristos
6581*ed0d50c3Schristos2002-09-17  Alan Modra  <amodra@bigpond.net.au>
6582*ed0d50c3Schristos
6583*ed0d50c3Schristos	* elf64-alpha.c (alpha_elf_size_info): Make static.
6584*ed0d50c3Schristos
6585*ed0d50c3Schristos2002-09-17  Svein E. Seldal  <Svein.Seldal@solidas.com>
6586*ed0d50c3Schristos
6587*ed0d50c3Schristos	* coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
6588*ed0d50c3Schristos	* cpu-tic4x.c: Ditto.
6589*ed0d50c3Schristos
6590*ed0d50c3Schristos2002-09-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6591*ed0d50c3Schristos
6592*ed0d50c3Schristos	* elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
6593*ed0d50c3Schristos	duplicate define.
6594*ed0d50c3Schristos
6595*ed0d50c3Schristos2002-09-16  Bruno Haible  <bruno@clisp.org>
6596*ed0d50c3Schristos
6597*ed0d50c3Schristos	* elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
6598*ed0d50c3Schristos	by a target variant implementation.
6599*ed0d50c3Schristos	* elf64-alpha.c: Likewise.
6600*ed0d50c3Schristos	* elf32-i386-fbsd.c: New file.
6601*ed0d50c3Schristos	* elf64-alpha-fbsd.c: New file.
6602*ed0d50c3Schristos	* targets.c: Support bfd_elf32_i386_freebsd_vec and
6603*ed0d50c3Schristos	bfd_elf64_alpha_freebsd_vec.
6604*ed0d50c3Schristos	* configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
6605*ed0d50c3Schristos	bfd_elf64_alpha_freebsd_vec.
6606*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
6607*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
6608*ed0d50c3Schristos	(BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
6609*ed0d50c3Schristos	(BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
6610*ed0d50c3Schristos	(elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
6611*ed0d50c3Schristos	* config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
6612*ed0d50c3Schristos	specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
6613*ed0d50c3Schristos
6614*ed0d50c3Schristos2002-09-12  Jakub Jelinek  <jakub@redhat.com>
6615*ed0d50c3Schristos
6616*ed0d50c3Schristos	* elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
6617*ed0d50c3Schristos	NULL.
6618*ed0d50c3Schristos	(elf_i386_relocate_section): Return false after printing error about
6619*ed0d50c3Schristos	unresolvable relocation.
6620*ed0d50c3Schristos
6621*ed0d50c3Schristos2002-09-12  Nick Clifton  <nickc@redhat.com>
6622*ed0d50c3Schristos
6623*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
6624*ed0d50c3Schristos	R_ARM_THM_PC11.
6625*ed0d50c3Schristos
6626*ed0d50c3Schristos2002-09-11  Jeffrey Law  <law@redhat.com>
6627*ed0d50c3Schristos
6628*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_relax_section): Fix typo.
6629*ed0d50c3Schristos
6630*ed0d50c3Schristos2002-09-11  Andrew Haley  <aph@cambridge.redhat.com>
6631*ed0d50c3Schristos
6632*ed0d50c3Schristos	* elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
6633*ed0d50c3Schristos	line_ptr before deciding we've found a symbol.
6634*ed0d50c3Schristos
6635*ed0d50c3Schristos2002-09-11  Nick Clifton  <nickc@redhat.com>
6636*ed0d50c3Schristos
6637*ed0d50c3Schristos	* po/da.po: New Danish translation file.
6638*ed0d50c3Schristos	* configure.in (LINGUAS): Add 'da'.
6639*ed0d50c3Schristos	* configure: Regenerate.
6640*ed0d50c3Schristos
6641*ed0d50c3Schristos2002-09-10  Michael Snyder  <msnyder@redhat.com>
6642*ed0d50c3Schristos
6643*ed0d50c3Schristos	* irix-core.c (do_sections, do_sections64): New functions.
6644*ed0d50c3Schristos	(irix_core_core_file_p): Call new functions do_sections,
6645*ed0d50c3Schristos	do_sections64, depending on corefile (32-bit or 64-bit).
6646*ed0d50c3Schristos
6647*ed0d50c3Schristos2002-09-09  Richard Henderson  <rth@redhat.com>
6648*ed0d50c3Schristos
6649*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
6650*ed0d50c3Schristos	and PCREL21F like PCREL21B.
6651*ed0d50c3Schristos
6652*ed0d50c3Schristos2002-09-04  Kevin Buettner  <kevinb@redhat.com>
6653*ed0d50c3Schristos
6654*ed0d50c3Schristos	* config.bfd (mips*-*-irix6*): Add new ABI vectors.  Make n32 default
6655*ed0d50c3Schristos	vector.
6656*ed0d50c3Schristos
6657*ed0d50c3Schristos2002-09-02  Nick Clifton  <nickc@redhat.com>
6658*ed0d50c3Schristos
6659*ed0d50c3Schristos	* elf32-v850.c (v850_elf_final_link_relocate): Use helpful
6660*ed0d50c3Schristos	names instead of cryptically overloaded bfd_reloc error
6661*ed0d50c3Schristos	codes.
6662*ed0d50c3Schristos	(v850_elf_relocate_section): Likewise.
6663*ed0d50c3Schristos	(v850_elf_relax_section): Replace caching of external symbols
6664*ed0d50c3Schristos	with caching of internal symbols obtained from calling
6665*ed0d50c3Schristos	bfd_elf_get_elf_syms().
6666*ed0d50c3Schristos	Fixup problems with freeing cached allocated memory blocks.
6667*ed0d50c3Schristos
6668*ed0d50c3Schristos2002-09-02  Alan Modra  <amodra@bigpond.net.au>
6669*ed0d50c3Schristos
6670*ed0d50c3Schristos	* cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
6671*ed0d50c3Schristos	(bfd_pj_arch): Use bfd_default_scan.
6672*ed0d50c3Schristos	* cpu-v850.c (scan): Remove.
6673*ed0d50c3Schristos	(N): Use bfd_default_scan.
6674*ed0d50c3Schristos	* cpu-z8k.c (scan_mach): Remove.
6675*ed0d50c3Schristos	(arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
6676*ed0d50c3Schristos	first.  Use bfd_default_scan.
6677*ed0d50c3Schristos
6678*ed0d50c3Schristos	* ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
6679*ed0d50c3Schristos	bfd_mach constants.
6680*ed0d50c3Schristos	(ecoff_get_magic): Likewise.
6681*ed0d50c3Schristos	* elf32-v850.c (v850_elf_object_p): Likewise.
6682*ed0d50c3Schristos	(v850_elf_final_write_processing): Likewise.
6683*ed0d50c3Schristos	* mipsbsd.c (MY(set_arch_mach)): Likewise.
6684*ed0d50c3Schristos	(MY(write_object_contents)): Likewise.
6685*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
6686*ed0d50c3Schristos	* coffcode.h (coff_write_object_contents): Likewise.
6687*ed0d50c3Schristos	(coff_set_arch_mach_hook): Add comment describing machine == 0.
6688*ed0d50c3Schristos	Remove unnecessary "machine" assignments.
6689*ed0d50c3Schristos	(coff_write_relocs): Test for the absolute section sym by testing
6690*ed0d50c3Schristos	section and flags.
6691*ed0d50c3Schristos
6692*ed0d50c3Schristos	* aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
6693*ed0d50c3Schristos	and bfd_mach_i386_i386_intel_syntax.
6694*ed0d50c3Schristos	* pdp11.c (NAME(aout,machine_type)): Likewise.
6695*ed0d50c3Schristos
6696*ed0d50c3Schristos2002-08-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6697*ed0d50c3Schristos
6698*ed0d50c3Schristos	* bfd-in.h (align_power): Cast constants to bfd_vma type.
6699*ed0d50c3Schristos	* bfd-in2.h (align_power): Likewise.
6700*ed0d50c3Schristos
6701*ed0d50c3Schristos2002-08-30  Alan Modra  <amodra@bigpond.net.au>
6702*ed0d50c3Schristos
6703*ed0d50c3Schristos	* Makefile.am: Run "make dep-am".
6704*ed0d50c3Schristos	* Makefile.in: Regenerate.
6705*ed0d50c3Schristos
6706*ed0d50c3Schristos	* cpu-avr.c (compatible): Don't use hard-coded mach constants.
6707*ed0d50c3Schristos	* cpu-powerpc.c (powerpc_compatible): Likewise.
6708*ed0d50c3Schristos	* cpu-rs6000.c (rs6000_compatible): Likewise.
6709*ed0d50c3Schristos
6710*ed0d50c3Schristos2002-08-28  Catherine Moore  <clm@redhat.com>
6711*ed0d50c3Schristos
6712*ed0d50c3Schristos	* elf32-v850.c (v850_elf_reloc_map): Add new relocs.
6713*ed0d50c3Schristos	(v850-elf-reloc): Don't resolve pc relative relocs.
6714*ed0d50c3Schristos	(v850_elf_ignore_reloc): New routine.
6715*ed0d50c3Schristos	(v850_elf_final_link_relocate): Handle new relocs.
6716*ed0d50c3Schristos	(v850_elf_relax_delete_bytes ): New routine.
6717*ed0d50c3Schristos	(v850_elf_relax_section): New routine.
6718*ed0d50c3Schristos	(bfd_elf32_bfd_relax_section): Define.
6719*ed0d50c3Schristos	(HOWTO): New entries for new relocs.
6720*ed0d50c3Schristos	* reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
6721*ed0d50c3Schristos	(BFD_RELOC_V850_LONGJUMP): New reloc.
6722*ed0d50c3Schristos	(BFD_RELOC_V850_ALIGN): New reloc.
6723*ed0d50c3Schristos	* archures.c: Remove redundant v850ea architecture.
6724*ed0d50c3Schristos	* cpu-v850.c: Remove redundant v850ea support.
6725*ed0d50c3Schristos	* libbfd.h: Regenerate.
6726*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
6727*ed0d50c3Schristos
6728*ed0d50c3Schristos2002-08-28  Svein E. Seldal  <Svein.Seldal@solidas.com>
6729*ed0d50c3Schristos
6730*ed0d50c3Schristos	* config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
6731*ed0d50c3Schristos	* configure.in: Add tic4x_coff vector files.
6732*ed0d50c3Schristos	* configure: Regenerate.
6733*ed0d50c3Schristos	* Makefile.am: Add tic4x target.
6734*ed0d50c3Schristos	* Makefile.in: Regenerate.
6735*ed0d50c3Schristos
6736*ed0d50c3Schristos2002-08-27  Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6737*ed0d50c3Schristos
6738*ed0d50c3Schristos	* archures.c: Add the BFD arch type tic4x.
6739*ed0d50c3Schristos	* bfd-in.h: Add BFD_IN_MEMORY flag.
6740*ed0d50c3Schristos	* coff-tic4x.c: New file.
6741*ed0d50c3Schristos	* coffswap.h (coff_swap_sym_out): Add preadjuster.
6742*ed0d50c3Schristos	* cpu-tic4x.c: New file.
6743*ed0d50c3Schristos	* targets.c: Added tic4x- in list of xvecs.
6744*ed0d50c3Schristos	* ticoff.h: New file.
6745*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
6746*ed0d50c3Schristos
6747*ed0d50c3Schristos2002-08-27  Adam Nemet  <anemet@lnxw.com>
6748*ed0d50c3Schristos
6749*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
6750*ed0d50c3Schristos	bit of DT_INIT and DT_FINI for Thumb functions.
6751*ed0d50c3Schristos
6752*ed0d50c3Schristos2002-08-26  Alan Modra  <amodra@bigpond.net.au>
6753*ed0d50c3Schristos
6754*ed0d50c3Schristos	* coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
6755*ed0d50c3Schristos
6756*ed0d50c3Schristos2002-08-26  Alan Modra  <amodra@bigpond.net.au>
6757*ed0d50c3Schristos
6758*ed0d50c3Schristos	* aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
6759*ed0d50c3Schristos
6760*ed0d50c3Schristos2002-08-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
6761*ed0d50c3Schristos
6762*ed0d50c3Schristos	* elf32-sh.c (sh_elf_copy_indirect_symbol): New.
6763*ed0d50c3Schristos	(create_got_section, allocate_dynrelocs, readonly_dynrelocs):
6764*ed0d50c3Schristos	Likewise.
6765*ed0d50c3Schristos	(struct elf_sh_pcrel_relocs_copied): Removed.
6766*ed0d50c3Schristos	(struct elf_sh_dyn_relocs): New.
6767*ed0d50c3Schristos	(struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
6768*ed0d50c3Schristos	field with dyn_relocs.
6769*ed0d50c3Schristos	(struct elf_sh_link_hash_table): Add short-cuts to get dynamic
6770*ed0d50c3Schristos	sections and sym_sec.
6771*ed0d50c3Schristos	(sh_elf_link_hash_newfunc): Clear dyn_relocs.
6772*ed0d50c3Schristos	(sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
6773*ed0d50c3Schristos	(sh_elf_create_dynamic_sections): Use create_got_section instead
6774*ed0d50c3Schristos	of _bfd_elf_create_got_section.
6775*ed0d50c3Schristos	(sh_elf_check_relocs): Likewise.
6776*ed0d50c3Schristos	(sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
6777*ed0d50c3Schristos	sections.
6778*ed0d50c3Schristos	(sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
6779*ed0d50c3Schristos	sh_elf_relocate_section, sh_elf_check_relocs,
6780*ed0d50c3Schristos	sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
6781*ed0d50c3Schristos	Likewise.
6782*ed0d50c3Schristos	(sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
6783*ed0d50c3Schristos	dynamic relocations and avoiding the copy relocation when we
6784*ed0d50c3Schristos	didn't find any dynamic relocations in the section which has
6785*ed0d50c3Schristos	contents or is read-only.
6786*ed0d50c3Schristos	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
6787*ed0d50c3Schristos	(sh_elf_size_dynamic_sections): Don't reset the size of
6788*ed0d50c3Schristos	.rela.got section even if dynamic_sections_created flag is off.
6789*ed0d50c3Schristos	Don't use sh_elf_discard_copies. Scan all input bfd and use
6790*ed0d50c3Schristos	allocate_dynrelocs. Call readonly_dynrelocs to determine
6791*ed0d50c3Schristos	whether we need DT_TEXTREL.
6792*ed0d50c3Schristos	(sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
6793*ed0d50c3Schristos	whether the symbol was never referred to.
6794*ed0d50c3Schristos	(sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
6795*ed0d50c3Schristos	(sh_elf_gc_sweep_hook): Fill with the real sweep function.
6796*ed0d50c3Schristos	(sh_elf_check_relocs): Call create_got_section if the short-cut
6797*ed0d50c3Schristos	to .got is null. Increment reference counters only instead of
6798*ed0d50c3Schristos	allocating space on dynamic sections here. Don't conditionalize
6799*ed0d50c3Schristos	uninitialized got.offset value when marking the symbol as a
6800*ed0d50c3Schristos	global offset table entry. Keep relocations for symbols satisfied
6801*ed0d50c3Schristos	by a dynamic library to avoid copy relocations for the symbol.
6802*ed0d50c3Schristos	Set dynobj field of an elf hash table if needed.
6803*ed0d50c3Schristos	(sh_elf_finish_dynamic_sections): Handle null section pointer
6804*ed0d50c3Schristos	correctly.
6805*ed0d50c3Schristos	(elf_backend_copy_indirect_symbol): Defined.
6806*ed0d50c3Schristos	(elf_backend_can_refcount): Defined.
6807*ed0d50c3Schristos
6808*ed0d50c3Schristos2002-08-23  Nick Clifton  <nickc@redhat.com>
6809*ed0d50c3Schristos
6810*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
6811*ed0d50c3Schristos	previous change.  Add comment explaining why.
6812*ed0d50c3Schristos
6813*ed0d50c3Schristos2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
6814*ed0d50c3Schristos
6815*ed0d50c3Schristos	* elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
6816*ed0d50c3Schristos	contents of .got.plt[2] to tr0, not address of .got.plt.
6817*ed0d50c3Schristos	(sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
6818*ed0d50c3Schristos	patching absolute plt entry. For shmedia plt entry, set bottom bit
6819*ed0d50c3Schristos	of branch to plt0 as this is a branch to an shmedia instruction.
6820*ed0d50c3Schristos	* elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
6821*ed0d50c3Schristos	Copy contents of .got.plt[2] to tr0, not address of .got.plt.
6822*ed0d50c3Schristos	(elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
6823*ed0d50c3Schristos	branch to plt0.
6824*ed0d50c3Schristos	(sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
6825*ed0d50c3Schristos	patching absolute plt entry. For shmedia plt entry, branch to
6826*ed0d50c3Schristos	plt0 is now ptrel, so use relative offset.  Set bottom bit of
6827*ed0d50c3Schristos	branch target as it is a branch to an shmedia instruction.
6828*ed0d50c3Schristos
6829*ed0d50c3Schristos2002-08-23  Stephen Clarke <stephen.clarke@superh.com>,
6830*ed0d50c3Schristos	    Richard Shann <richard.shann@superh.com>
6831*ed0d50c3Schristos
6832*ed0d50c3Schristos	* elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
6833*ed0d50c3Schristos	value if .init is an SHmedia function.  Similarly for DT_FINI.
6834*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
6835*ed0d50c3Schristos
6836*ed0d50c3Schristos2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
6837*ed0d50c3Schristos
6838*ed0d50c3Schristos	* elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
6839*ed0d50c3Schristos	dynamic section.
6840*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
6841*ed0d50c3Schristos
6842*ed0d50c3Schristos2002-08-22  Kaz Kojima <kkojima@rr.iij4u.or.jp>
6843*ed0d50c3Schristos
6844*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
6845*ed0d50c3Schristos	byte read when reading the return address register column.
6846*ed0d50c3Schristos
6847*ed0d50c3Schristos2002-08-22  Nick Clifton  <nickc@redhat.com>
6848*ed0d50c3Schristos
6849*ed0d50c3Schristos	* config.bfd: Add powepc64-*-*bsd* target.
6850*ed0d50c3Schristos
6851*ed0d50c3Schristos2002-08-22  Graeme Peterson  <gp@qnx.com>
6852*ed0d50c3Schristos
6853*ed0d50c3Schristos	* Makefile.am: Add entries for elf32-shqnx.c
6854*ed0d50c3Schristos	* Makefile.in: Regenerate.
6855*ed0d50c3Schristos	* config.bfd: Add support sh-*-nto* target.
6856*ed0d50c3Schristos	* configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
6857*ed0d50c3Schristos	* configure: Regenerate.
6858*ed0d50c3Schristos	* elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
6859*ed0d50c3Schristos	* elf32-sh.c: Do not include elf32-target.h if
6860*ed0d50c3Schristos	ELF32_SH_C_INCLUDED is defined.
6861*ed0d50c3Schristos	* elf32-shqnx.c: New file: Support for QNX.
6862*ed0d50c3Schristos	* targets.c: Add bfd_elf32_sh{l}qnx_vec.
6863*ed0d50c3Schristos
6864*ed0d50c3Schristos2002-08-22  Nick Clifton  <nickc@redhat.com>
6865*ed0d50c3Schristos
6866*ed0d50c3Schristos	* po/tr.po: Updated Turkish translation.
6867*ed0d50c3Schristos
6868*ed0d50c3Schristos	* syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
6869*ed0d50c3Schristos	symbols are not read.
6870*ed0d50c3Schristos
6871*ed0d50c3Schristos2002-08-22  Alan Modra  <amodra@bigpond.net.au>
6872*ed0d50c3Schristos
6873*ed0d50c3Schristos	* elf32-m68hc11.c: Formatting fixes.
6874*ed0d50c3Schristos	(elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
6875*ed0d50c3Schristos	* elf32-m68hc12.c: Formatting fixes.
6876*ed0d50c3Schristos	(elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
6877*ed0d50c3Schristos
6878*ed0d50c3Schristos2002-08-22  Alan Modra  <amodra@bigpond.net.au>
6879*ed0d50c3Schristos
6880*ed0d50c3Schristos	* coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
6881*ed0d50c3Schristos	SEC_DATA.
6882*ed0d50c3Schristos	(pmac_xcoff_vec): Likewise.
6883*ed0d50c3Schristos	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
6884*ed0d50c3Schristos	(aix5coff64_vec): Likewise.
6885*ed0d50c3Schristos
6886*ed0d50c3Schristos2002-08-22  Alan Modra  <amodra@bigpond.net.au>
6887*ed0d50c3Schristos
6888*ed0d50c3Schristos	* elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
6889*ed0d50c3Schristos	param to elf_backend_copy_indirect_symbol.
6890*ed0d50c3Schristos	(_bfd_elf_link_hash_copy_indirect): Likewise.
6891*ed0d50c3Schristos	* elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
6892*ed0d50c3Schristos	calls to copy_indirect_symbol.
6893*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
6894*ed0d50c3Schristos	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
6895*ed0d50c3Schristos	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
6896*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
6897*ed0d50c3Schristos	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
6898*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
6899*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
6900*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
6901*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
6902*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_copy_indirect): Likewise.  Properly
6903*ed0d50c3Schristos	test refcounts for "used" values.
6904*ed0d50c3Schristos
6905*ed0d50c3Schristos2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6906*ed0d50c3Schristos
6907*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
6908*ed0d50c3Schristos	argument declaration.
6909*ed0d50c3Schristos
6910*ed0d50c3Schristos2002-08-19  Elena Zannoni <ezannoni@redhat.com>
6911*ed0d50c3Schristos
6912*ed0d50c3Schristos	* archures.c (bfd_mach_ppc_e500): Added.
6913*ed0d50c3Schristos	* bfd-in2.h: Rebuilt.
6914*ed0d50c3Schristos	* cpu-powerpc.c (bfd_powerpc_archs): Added e500.
6915*ed0d50c3Schristos
6916*ed0d50c3Schristos2002-08-19  Alan Modra  <amodra@bigpond.net.au>
6917*ed0d50c3Schristos
6918*ed0d50c3Schristos	* elf32-m68hc12.c (elf_backend_can_gc_sections): False.
6919*ed0d50c3Schristos
6920*ed0d50c3Schristos2002-08-17  Andrew Cagney  <ac131313@redhat.com>
6921*ed0d50c3Schristos
6922*ed0d50c3Schristos	* elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
6923*ed0d50c3Schristos	`bfd_byte'.
6924*ed0d50c3Schristos
6925*ed0d50c3Schristos2002-08-17  Stan Cox  <scox@redhat.com>
6926*ed0d50c3Schristos
6927*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
6928*ed0d50c3Schristos	IRIX 6 segment layout for NEWABI.
6929*ed0d50c3Schristos
6930*ed0d50c3Schristos2002-08-16  Stephen Clarke <stephen.clarke@superh.com>
6931*ed0d50c3Schristos
6932*ed0d50c3Schristos	* elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
6933*ed0d50c3Schristos	symbols when looking for section referred to by a relocation.
6934*ed0d50c3Schristos	* elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
6935*ed0d50c3Schristos
6936*ed0d50c3Schristos2002-08-15  Alan Modra  <amodra@bigpond.net.au>
6937*ed0d50c3Schristos
6938*ed0d50c3Schristos	* elf32-i370.c: Move reloc enum to include/elf/i370.h.
6939*ed0d50c3Schristos
6940*ed0d50c3Schristos2002-08-15  Hans-Peter Nilsson  <hp@axis.com>
6941*ed0d50c3Schristos
6942*ed0d50c3Schristos	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
6943*ed0d50c3Schristos	missing check for whether the symbol is referenced by DSO before
6944*ed0d50c3Schristos	unexporting it as an unneeded dynamic symbol.
6945*ed0d50c3Schristos
6946*ed0d50c3Schristos2002-08-14  H.J. Lu <hjl@gnu.org>
6947*ed0d50c3Schristos
6948*ed0d50c3Schristos	* libbfd.h: Regenerate.
6949*ed0d50c3Schristos
6950*ed0d50c3Schristos2002-08-14  H.J. Lu <hjl@gnu.org>
6951*ed0d50c3Schristos
6952*ed0d50c3Schristos	* config.bfd: Always add 64bit vectors to 32bit Linux/mips.
6953*ed0d50c3Schristos
6954*ed0d50c3Schristos2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
6955*ed0d50c3Schristos
6956*ed0d50c3Schristos	* elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
6957*ed0d50c3Schristos	instructions.
6958*ed0d50c3Schristos	(m68hc11_direct_relax): New to define table of relaxable instructions.
6959*ed0d50c3Schristos	(find_relaxable_insn): New, find a relaxable insn.
6960*ed0d50c3Schristos	(compare_reloc): New to compare two relocs.
6961*ed0d50c3Schristos	(m68hc11_elf_relax_section): New, relax text sections.
6962*ed0d50c3Schristos	(m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
6963*ed0d50c3Schristos	(elf32_m68hc11_check_relocs): New function for GC support.
6964*ed0d50c3Schristos	(elf32_m68hc11_relocate_section): New function for GC support.
6965*ed0d50c3Schristos	(bfd_elf32_bfd_relax_section): Define to support linker relaxation.
6966*ed0d50c3Schristos	(elf_backend_check_relocs): Likewise.
6967*ed0d50c3Schristos	(elf_backend_relocate_section): Likewise.
6968*ed0d50c3Schristos
6969*ed0d50c3Schristos2002-08-13  H.J. Lu <hjl@gnu.org>
6970*ed0d50c3Schristos
6971*ed0d50c3Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
6972*ed0d50c3Schristos	definitions in shared objects when checking symbol with
6973*ed0d50c3Schristos	undefined version.
6974*ed0d50c3Schristos
6975*ed0d50c3Schristos2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
6976*ed0d50c3Schristos
6977*ed0d50c3Schristos	* elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
6978*ed0d50c3Schristos	(elf32_m68hc11_gc_sweep_hook): Likewise.
6979*ed0d50c3Schristos	(elf_backend_gc_mark_hook): Define for GC section support.
6980*ed0d50c3Schristos	(elf_backend_gc_sweep_hook): Likewise.
6981*ed0d50c3Schristos	(elf_backend_can_gc_sections): Likewise.
6982*ed0d50c3Schristos
6983*ed0d50c3Schristos	* elf32-m68hc12.c: Likewise.
6984*ed0d50c3Schristos
6985*ed0d50c3Schristos2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
6986*ed0d50c3Schristos
6987*ed0d50c3Schristos	* elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
6988*ed0d50c3Schristos	(_bfd_m68hc11_elf_merge_private_bfd_data): New function.
6989*ed0d50c3Schristos	(_bfd_m68hc11_elf_set_private_flags): New function.
6990*ed0d50c3Schristos	Use them to set/check/print ELF flags specific to 68HC11.
6991*ed0d50c3Schristos
6992*ed0d50c3Schristos	* elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
6993*ed0d50c3Schristos	(_bfd_m68hc12_elf_merge_private_bfd_data): New function.
6994*ed0d50c3Schristos	(_bfd_m68hc12_elf_set_private_flags): New function.
6995*ed0d50c3Schristos	Use them to set/check/print ELF flags specific to 68HC12.
6996*ed0d50c3Schristos
6997*ed0d50c3Schristos2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
6998*ed0d50c3Schristos
6999*ed0d50c3Schristos	* elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
7000*ed0d50c3Schristos	fix masks for PC-rel relocs.
7001*ed0d50c3Schristos	(m68hc11_elf_ignore_reloc): New function.
7002*ed0d50c3Schristos
7003*ed0d50c3Schristos	* elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
7004*ed0d50c3Schristos	68HC12 banked addressing relocs.
7005*ed0d50c3Schristos	(m68hc12_phys_addr): New to compute physical address of banked memory.
7006*ed0d50c3Schristos	(m68hc12_phys_page): Likewise for page.
7007*ed0d50c3Schristos	(m68hc12_addr_is_banked): New to see if address is in banked area.
7008*ed0d50c3Schristos	(elf_m68hc12_howto_table): Add new relocs and rename to xx12.
7009*ed0d50c3Schristos
7010*ed0d50c3Schristos2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
7011*ed0d50c3Schristos
7012*ed0d50c3Schristos	* reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
7013*ed0d50c3Schristos	BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
7014*ed0d50c3Schristos	BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
7015*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
7016*ed0d50c3Schristos
7017*ed0d50c3Schristos2002-08-12  H.J. Lu <hjl@gnu.org>
7018*ed0d50c3Schristos
7019*ed0d50c3Schristos	* elflink.h (elf_add_default_symbol): Preserve section across
7020*ed0d50c3Schristos	elf_merge_symbol.
7021*ed0d50c3Schristos
7022*ed0d50c3Schristos2002-08-09  Graeme Peterson  <gp@qnx.com>
7023*ed0d50c3Schristos
7024*ed0d50c3Schristos	* Makefile.am: Add entries for elf32-ppcqnx.c, and add
7025*ed0d50c3Schristos	elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
7026*ed0d50c3Schristos	* Makefile.in: Regenerate.
7027*ed0d50c3Schristos	* config.bfd: Add support for powerpc{le}-*-nto targets.
7028*ed0d50c3Schristos	* configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
7029*ed0d50c3Schristos	* configure: Regenerate.
7030*ed0d50c3Schristos	* elf32-i386qnx.c: Moved backend functions into a QNX specific
7031*ed0d50c3Schristos	common file "elf32-qnx.h", and now include that file.
7032*ed0d50c3Schristos	* elf32-qnx.h: New file: QNX specific common elf backend.
7033*ed0d50c3Schristos	* elf32-ppc.c: Do not include elf32-target.h if
7034*ed0d50c3Schristos	ELF32_PPC_C_INCLUDED is defined.
7035*ed0d50c3Schristos	* elf32-ppcqnx.c: New file: Support for QNX.
7036*ed0d50c3Schristos	* elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
7037*ed0d50c3Schristos	* targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
7038*ed0d50c3Schristos
7039*ed0d50c3Schristos2002-08-09  Nick Clifton  <nickc@redhat.com>
7040*ed0d50c3Schristos
7041*ed0d50c3Schristos	* po/sv.po: Updated Swedish translation.
7042*ed0d50c3Schristos
7043*ed0d50c3Schristos2002-08-09  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7044*ed0d50c3Schristos
7045*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
7046*ed0d50c3Schristos	g->global_gotsym is NULL.
7047*ed0d50c3Schristos
7048*ed0d50c3Schristos2002-08-08  H.J. Lu <hjl@gnu.org>
7049*ed0d50c3Schristos
7050*ed0d50c3Schristos	* elflink.h (elf_add_default_symbol): Don't warn if a definition
7051*ed0d50c3Schristos	overrides an indirect versioned symbol.
7052*ed0d50c3Schristos
7053*ed0d50c3Schristos2002-08-08  Jakub Jelinek  <jakub@redhat.com>
7054*ed0d50c3Schristos
7055*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
7056*ed0d50c3Schristos	for R_386_TLS_TPOFF32 relocs against symndx 0.
7057*ed0d50c3Schristos
7058*ed0d50c3Schristos2002-08-07  H.J. Lu <hjl@gnu.org>
7059*ed0d50c3Schristos
7060*ed0d50c3Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
7061*ed0d50c3Schristos	with undefined version if needed.
7062*ed0d50c3Schristos	(elf_link_assign_sym_version): Match a default symbol with a
7063*ed0d50c3Schristos	version without definition. No need to hide the default
7064*ed0d50c3Schristos	definition separately.
7065*ed0d50c3Schristos
7066*ed0d50c3Schristos2002-08-08  Alan Modra  <amodra@bigpond.net.au>
7067*ed0d50c3Schristos
7068*ed0d50c3Schristos	* elflink.h (elf_link_output_extsym): Don't output symbols from
7069*ed0d50c3Schristos	SEC_EXCLUDE sections.
7070*ed0d50c3Schristos
7071*ed0d50c3Schristos	* aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
7072*ed0d50c3Schristos
7073*ed0d50c3Schristos2002-08-07  Alan Modra  <amodra@bigpond.net.au>
7074*ed0d50c3Schristos
7075*ed0d50c3Schristos	* elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
7076*ed0d50c3Schristos	entries.
7077*ed0d50c3Schristos
7078*ed0d50c3Schristos2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7079*ed0d50c3Schristos
7080*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
7081*ed0d50c3Schristos	mismatch.
7082*ed0d50c3Schristos
7083*ed0d50c3Schristos2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7084*ed0d50c3Schristos
7085*ed0d50c3Schristos	* elfxx-mips.c (ABI_64_P): Remove superfluous check.
7086*ed0d50c3Schristos
7087*ed0d50c3Schristos2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7088*ed0d50c3Schristos
7089*ed0d50c3Schristos	* elf32-mips.c (mips_reloc_map): Fix typo.
7090*ed0d50c3Schristos
7091*ed0d50c3Schristos2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7092*ed0d50c3Schristos
7093*ed0d50c3Schristos	* xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
7094*ed0d50c3Schristos
7095*ed0d50c3Schristos2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7096*ed0d50c3Schristos
7097*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
7098*ed0d50c3Schristos
7099*ed0d50c3Schristos2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7100*ed0d50c3Schristos
7101*ed0d50c3Schristos	* libxcoff.h: Use PARAMS on function declarations.
7102*ed0d50c3Schristos	* coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
7103*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
7104*ed0d50c3Schristos
7105*ed0d50c3Schristos	* coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
7106*ed0d50c3Schristos	addend.
7107*ed0d50c3Schristos	* coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
7108*ed0d50c3Schristos
7109*ed0d50c3Schristos2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7110*ed0d50c3Schristos
7111*ed0d50c3Schristos	* coff-rs6000.c: Formatting fixes.
7112*ed0d50c3Schristos	(xcoff_calculate_relocation): Use PARAMS in declaration.
7113*ed0d50c3Schristos	(xcoff_complain_overflow): Likewise.
7114*ed0d50c3Schristos	(xcoff_ppc_relocate_section): Use old-style function pointer call.
7115*ed0d50c3Schristos	(bfd_xcoff_backend_data): Remove useless comments.
7116*ed0d50c3Schristos	(rs6000coff_vec): Likewise.
7117*ed0d50c3Schristos	(bfd_pmac_xcoff_backend_data): Likewise.
7118*ed0d50c3Schristos	(pmac_xcoff_vec): Likewise.
7119*ed0d50c3Schristos
7120*ed0d50c3Schristos	* coff64-rs6000.c: Formatting fixes.
7121*ed0d50c3Schristos	(xcoff64_calculate_relocation): Use PARAMS in declaration.
7122*ed0d50c3Schristos	(xcoff64_ppc_relocate_section): Use old-style function pointer call.
7123*ed0d50c3Schristos	(bfd_xcoff_backend_data): Remove useless comments.
7124*ed0d50c3Schristos	(rs6000coff64_vec): Likewise.
7125*ed0d50c3Schristos	(bfd_xcoff_aix5_backend_data): Likewise.
7126*ed0d50c3Schristos	(aix5coff64_vec): Likewise.
7127*ed0d50c3Schristos
7128*ed0d50c3Schristos2002-08-06  Alan Modra  <amodra@bigpond.net.au>
7129*ed0d50c3Schristos
7130*ed0d50c3Schristos	* coff-rs6000.c (xcoff_howto_table): Revert some of last change to
7131*ed0d50c3Schristos	mask entries.  Use complain_overflow_dont for R_REF.
7132*ed0d50c3Schristos	(xcoff_reloc_type_ba): Revert last change.
7133*ed0d50c3Schristos	(xcoff_reloc_type_br): Likewise.
7134*ed0d50c3Schristos	(xcoff_reloc_type_crel): Likewise.
7135*ed0d50c3Schristos	(xcoff_ppc_relocate_section): Likewise.
7136*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
7137*ed0d50c3Schristos	(xcoff64_ppc_relocate_section): Likewise.
7138*ed0d50c3Schristos	(xcoff64_howto_table): Revert some of last change to mask entries.
7139*ed0d50c3Schristos	Use complain_overflow_dont for R_REF.
7140*ed0d50c3Schristos
7141*ed0d50c3Schristos	* coff-rs6000.c (xcoff_howto_table): Fix src_mask entries.  Make all
7142*ed0d50c3Schristos	relocs with bitsize == 16 have size = 1.
7143*ed0d50c3Schristos	(xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
7144*ed0d50c3Schristos	(xcoff_reloc_type_br): Likewise.
7145*ed0d50c3Schristos	(xcoff_reloc_type_crel): Likewise.
7146*ed0d50c3Schristos	(xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
7147*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
7148*ed0d50c3Schristos	dst_mask adjustment.
7149*ed0d50c3Schristos	(xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
7150*ed0d50c3Schristos	(xcoff64_howto_table): Fix src_mask entries.  Make all relocs with
7151*ed0d50c3Schristos	bitsize == 16 have size = 1.
7152*ed0d50c3Schristos
7153*ed0d50c3Schristos2002-08-01  Denis Chertykov  <denisc@overta.ru>
7154*ed0d50c3Schristos
7155*ed0d50c3Schristos	* elf32-ip2k.c: Processor manufacturer changed to Ubicom.
7156*ed0d50c3Schristos	(struct misc): New field isymbuf. All free_* fields removed.
7157*ed0d50c3Schristos	(symbol_value): Pass in internal syms. No need to swap syms in.
7158*ed0d50c3Schristos	(ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
7159*ed0d50c3Schristos	possibly cached info.
7160*ed0d50c3Schristos	(tidyup_after_error): Removed.
7161*ed0d50c3Schristos	(ip2k_elf_relax_section_pass1): Don't use removed fields of struct
7162*ed0d50c3Schristos	misc. Use new field.
7163*ed0d50c3Schristos	(adjust_all_relocations): Use internal syms. No need to swap syms
7164*ed0d50c3Schristos	in and out.
7165*ed0d50c3Schristos	(add_page_insn): Don't use removed fields of struct misc.
7166*ed0d50c3Schristos
7167*ed0d50c3Schristos2002-08-01  Nick Clifton  <nickc@redhat.com>
7168*ed0d50c3Schristos
7169*ed0d50c3Schristos	* elf32-arm.h: Revert previous delta.
7170*ed0d50c3Schristos
7171*ed0d50c3Schristos2002-08-01  Nick Clifton  <nickc@redhat.com>
7172*ed0d50c3Schristos
7173*ed0d50c3Schristos	* configure.in (AM_INIT_AUTOMAKE): Bump version number.
7174*ed0d50c3Schristos	* configure: Regenerate.
7175*ed0d50c3Schristos
7176*ed0d50c3Schristos2002-07-31  H.J. Lu <hjl@gnu.org>
7177*ed0d50c3Schristos
7178*ed0d50c3Schristos	* config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
7179*ed0d50c3Schristos	selected.
7180*ed0d50c3Schristos
7181*ed0d50c3Schristos2002-07-31  H.J. Lu <hjl@gnu.org>
7182*ed0d50c3Schristos
7183*ed0d50c3Schristos	* config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
7184*ed0d50c3Schristos	is selected.
7185*ed0d50c3Schristos
7186*ed0d50c3Schristos2002-07-31  Jakub Jelinek  <jakub@redhat.com>
7187*ed0d50c3Schristos
7188*ed0d50c3Schristos	* elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
7189*ed0d50c3Schristos	if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
7190*ed0d50c3Schristos
7191*ed0d50c3Schristos2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
7192*ed0d50c3Schristos
7193*ed0d50c3Schristos	* cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
7194*ed0d50c3Schristos	There is no 8 byte relocation type for this architecture.
7195*ed0d50c3Schristos	(do_ns32k_reloc): Use bfd_vma instead of native types.
7196*ed0d50c3Schristos	(bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
7197*ed0d50c3Schristos	returns void.
7198*ed0d50c3Schristos	(_bfd_ns32k_put_displacement): Don't check for overflow. We can
7199*ed0d50c3Schristos	rely on generic code to do that.
7200*ed0d50c3Schristos	* aout-ns32k.c (howto_table): Add appropriate overflow detection
7201*ed0d50c3Schristos	to all table entries.
7202*ed0d50c3Schristos	(_bfd_ns32k_relocate_contents): put_data returns void.
7203*ed0d50c3Schristos	* ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
7204*ed0d50c3Schristos	(_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
7205*ed0d50c3Schristos	return void.
7206*ed0d50c3Schristos
7207*ed0d50c3Schristos2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
7208*ed0d50c3Schristos
7209*ed0d50c3Schristos	* aoutx.h (aout_link_check_ar_symbols): Whether to include an
7210*ed0d50c3Schristos	archive object is target dependant.
7211*ed0d50c3Schristos
7212*ed0d50c3Schristos2002-07-31  Adam Nemet  <anemet@lnxw.com>
7213*ed0d50c3Schristos
7214*ed0d50c3Schristos	* elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
7215*ed0d50c3Schristos	(THUMB_PLT_ENTRY_SIZE): New macro.
7216*ed0d50c3Schristos	(PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
7217*ed0d50c3Schristos	(elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
7218*ed0d50c3Schristos	ARM_PLT_ENTRY_SIZE.
7219*ed0d50c3Schristos	(elf32_arm_plt_entry): Likewise.
7220*ed0d50c3Schristos	(elf_backend_plt_header_size): Likewise.
7221*ed0d50c3Schristos	(elf32_thumb_plt0_entry): New global.
7222*ed0d50c3Schristos	(elf32_arm_finish_dynamic_sections): Use it.  Put Thumb entries
7223*ed0d50c3Schristos	into .plt.thumb.
7224*ed0d50c3Schristos	(elf32_thumb_plt_entry): New global.
7225*ed0d50c3Schristos	(elf32_arm_finish_dynamic_symbol): Use it.  Use .thumb.plt for
7226*ed0d50c3Schristos	Thumb entries.  Set the bottom bit of the corresponding GOT entry
7227*ed0d50c3Schristos	for a Thumb PLT entry.
7228*ed0d50c3Schristos	(struct elf32_arm_plt_entry_info): New structure.
7229*ed0d50c3Schristos	(struct elf32_arm_link_hash_entry, plt_info): New member of this
7230*ed0d50c3Schristos	type.
7231*ed0d50c3Schristos	(elf32_arm_link_hash_newfunc): Initialize new member.
7232*ed0d50c3Schristos	(elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
7233*ed0d50c3Schristos	relocations against the PLT.
7234*ed0d50c3Schristos	(elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
7235*ed0d50c3Schristos	first_rel_type if this is the first time we encounter the symbol.
7236*ed0d50c3Schristos	(elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
7237*ed0d50c3Schristos	Determine if relocation needs a PLT entry.  Set first_rel_type if
7238*ed0d50c3Schristos	this is the first time we encounter the symbol
7239*ed0d50c3Schristos	(elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
7240*ed0d50c3Schristos	functions as well.
7241*ed0d50c3Schristos	(elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
7242*ed0d50c3Schristos	(elf32_arm_create_dynamic_sections): New function.  Create the
7243*ed0d50c3Schristos	.plt.thumb section.
7244*ed0d50c3Schristos	(elf_backend_create_dynamic_sections): Call it.
7245*ed0d50c3Schristos
7246*ed0d50c3Schristos2002-07-31  Nick Clifton  <nickc@redhat.com>
7247*ed0d50c3Schristos
7248*ed0d50c3Schristos	* bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
7249*ed0d50c3Schristos	'alternative' in order to avoid shadowing global symbol of the
7250*ed0d50c3Schristos	same name.
7251*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
7252*ed0d50c3Schristos	* libbfd.h: Regenerate.
7253*ed0d50c3Schristos	* libcoff.h: Regenerate.
7254*ed0d50c3Schristos
7255*ed0d50c3Schristos2002-07-31  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7256*ed0d50c3Schristos
7257*ed0d50c3Schristos	* Makefile.am: Add n32 ABI support.
7258*ed0d50c3Schristos	* Makefile.in: Regenerate.
7259*ed0d50c3Schristos	* config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
7260*ed0d50c3Schristos	bit vectors for mips*-*-linux targets as optional.
7261*ed0d50c3Schristos	* configure.in: Add n32 ABI vectors.
7262*ed0d50c3Schristos	* configure: Regenerate.
7263*ed0d50c3Schristos	* elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
7264*ed0d50c3Schristos	* elfn32-mips.c: New file, n32 ABI support.
7265*ed0d50c3Schristos	* targets.c: Add n32 ABI vectors.
7266*ed0d50c3Schristos
7267*ed0d50c3Schristos2002-07-30  Graeme Peterson  <gp@qnx.com>
7268*ed0d50c3Schristos
7269*ed0d50c3Schristos	* elfarmqnx-nabi.c: New file: Support for QNX.
7270*ed0d50c3Schristos	* config.bfd: Add support for arm-*-nto target.
7271*ed0d50c3Schristos	* configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
7272*ed0d50c3Schristos	* configure: Regenerate.
7273*ed0d50c3Schristos	* Makefile.am: Add entries for elfarmqnx-nabi.c.
7274*ed0d50c3Schristos	* Makefile.in: Regenerate.
7275*ed0d50c3Schristos	* elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
7276*ed0d50c3Schristos	Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
7277*ed0d50c3Schristos	* elfarm-nabi.c: Do not include elf32-arm.h if
7278*ed0d50c3Schristos	ELFARM_NABI_C_INCLUDED is defined.
7279*ed0d50c3Schristos	* targets.c: Add bfd_elf32_{big|little}armqnx_vec.
7280*ed0d50c3Schristos
7281*ed0d50c3Schristos2002-07-30  Nick Clifton  <nickc@redhat.com>
7282*ed0d50c3Schristos
7283*ed0d50c3Schristos	* po/sv.po: Updated Swedish translation.
7284*ed0d50c3Schristos
7285*ed0d50c3Schristos2002-07-30  Jakub Jelinek  <jakub@redhat.com>
7286*ed0d50c3Schristos
7287*ed0d50c3Schristos	* elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
7288*ed0d50c3Schristos
7289*ed0d50c3Schristos2002-07-30  Alan Modra  <amodra@bigpond.net.au>
7290*ed0d50c3Schristos
7291*ed0d50c3Schristos	* aoutx.h (some_aout_object_p): Clean up tdata properly on error.
7292*ed0d50c3Schristos	* archive.c (bfd_generic_archive_p): Likewise.
7293*ed0d50c3Schristos	* coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
7294*ed0d50c3Schristos	(_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
7295*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
7296*ed0d50c3Schristos	(xcoff64_archive_p): Likewise.
7297*ed0d50c3Schristos	(xcoff64_openr_next_archived_file): Likewise.
7298*ed0d50c3Schristos	(xcoff64_archive_p): Clean up tdata properly on error.
7299*ed0d50c3Schristos	* coffgen.c (coff_real_object_p): Likewise.
7300*ed0d50c3Schristos	(coff_object_p): Release filehdr and opthdr.
7301*ed0d50c3Schristos	* ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
7302*ed0d50c3Schristos	* ieee.c (ieee_archive_p): Likewise.
7303*ed0d50c3Schristos	* ihex.c (ihex_object_p): Likewise.
7304*ed0d50c3Schristos	(ihex_mkobject): Always allocate tdata.
7305*ed0d50c3Schristos	* peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
7306*ed0d50c3Schristos	* srec.c (srec_mkobject): Always allocate tdata.
7307*ed0d50c3Schristos	(srec_object_p): Clean up tdata properly on error.
7308*ed0d50c3Schristos	(symbolsrec_object_p): Likewise.
7309*ed0d50c3Schristos	* versados.c (versados_object_p): Likewise.
7310*ed0d50c3Schristos	* vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
7311*ed0d50c3Schristos	and bfd_realloc instead of realloc.
7312*ed0d50c3Schristos	(add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
7313*ed0d50c3Schristos	* vms.c (vms_initialize): Always allocate tdata.  Use bfd_alloc in
7314*ed0d50c3Schristos	place of bfd_malloc, simplifying error freeing.  Free hash table too.
7315*ed0d50c3Schristos	(vms_object_p): Clean up tdata on error.
7316*ed0d50c3Schristos	(vms_mkobject): Don't complain on stderr if vms_initialize fails.
7317*ed0d50c3Schristos	(vms_close_and_cleanup): Adjust for bfd_alloc use.
7318*ed0d50c3Schristos
7319*ed0d50c3Schristos2002-07-30  Alan Modra  <amodra@bigpond.net.au>
7320*ed0d50c3Schristos
7321*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
7322*ed0d50c3Schristos
7323*ed0d50c3Schristos2002-07-26  Chris Demetriou  <cgd@broadcom.com>
7324*ed0d50c3Schristos
7325*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
7326*ed0d50c3Schristos	flags into resulting BFD.
7327*ed0d50c3Schristos
7328*ed0d50c3Schristos2002-07-26  Alan Modra  <amodra@bigpond.net.au>
7329*ed0d50c3Schristos
7330*ed0d50c3Schristos	From John Reiser <jreiser@BitWagon.com>
7331*ed0d50c3Schristos	* elf32-i386.c (elf_i386_link_hash_table_create): Clear
7332*ed0d50c3Schristos	tls_ldm_got.refcount.
7333*ed0d50c3Schristos
7334*ed0d50c3Schristos2002-07-25  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7335*ed0d50c3Schristos
7336*ed0d50c3Schristos	* elf64-mips.c: Update TODO comment.
7337*ed0d50c3Schristos	(mips_elf64_higher_reloc,mips_elf64_highest_reloc,
7338*ed0d50c3Schristos	mips_elf64_gprel16_reloca): Remove prototypes.
7339*ed0d50c3Schristos	(mips16_jump_reloc,mips16_gprel_reloc): Add functions.
7340*ed0d50c3Schristos	(UNUSED_RELOC): Replace by EMPTY_RELOC.
7341*ed0d50c3Schristos	(mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
7342*ed0d50c3Schristos	wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
7343*ed0d50c3Schristos	R_MIPS_HIGHEST.
7344*ed0d50c3Schristos	(mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
7345*ed0d50c3Schristos	R_MIPS_GOT16. Remove wrong comments.
7346*ed0d50c3Schristos	(elf_mips16_jump_howto,elf_mips16_gprel_howto,
7347*ed0d50c3Schristos	elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
7348*ed0d50c3Schristos	from elf32-mips.c.
7349*ed0d50c3Schristos	(mips_elf64_hi16_reloc): Fix formatting.
7350*ed0d50c3Schristos	(mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
7351*ed0d50c3Schristos	(mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
7352*ed0d50c3Schristos	Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
7353*ed0d50c3Schristos	(mips_elf64_gprel16_reloc): Make static. Add check for
7354*ed0d50c3Schristos	partial_inplace.
7355*ed0d50c3Schristos	(mips_elf64_gprel16_reloca): Remove.
7356*ed0d50c3Schristos	(mips_elf64_literal_reloc): New function.
7357*ed0d50c3Schristos	(mips_elf64_gprel32_reloc): Fix formatting.
7358*ed0d50c3Schristos	(mips_elf64_shift6_reloc): Fix comment. Make static.
7359*ed0d50c3Schristos	(mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
7360*ed0d50c3Schristos	elf32-mips.c.
7361*ed0d50c3Schristos	(elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
7362*ed0d50c3Schristos	elf32-mips.c
7363*ed0d50c3Schristos	(bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
7364*ed0d50c3Schristos	specific relocations.
7365*ed0d50c3Schristos	(mips_elf64_rtype_to_howto): Enable GNU specific relocations.
7366*ed0d50c3Schristos	(mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
7367*ed0d50c3Schristos	(ELF_MAXPAGESIZE): Add comment.
7368*ed0d50c3Schristos
7369*ed0d50c3Schristos2002-07-25  Nick Clifton  <nickc@redhat.com>
7370*ed0d50c3Schristos
7371*ed0d50c3Schristos	* po/sv.po: Updated Swedish translation.
7372*ed0d50c3Schristos	* po/es.po: Updated Spanish translation.
7373*ed0d50c3Schristos	* po/fr.po: Updated French translation.
7374*ed0d50c3Schristos
7375*ed0d50c3Schristos2002-07-25  Alan Modra  <amodra@bigpond.net.au>
7376*ed0d50c3Schristos
7377*ed0d50c3Schristos	* elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
7378*ed0d50c3Schristos	as elf_link_record_local_dynamic_symbol.
7379*ed0d50c3Schristos	(_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
7380*ed0d50c3Schristos	(elf_link_record_local_dynamic_symbol): Declare.  Now returns int.
7381*ed0d50c3Schristos	* elflink.h (elf_link_record_local_dynamic_symbol): Move to..
7382*ed0d50c3Schristos	* elflink.c: .. here.  Use bfd_elf_get_elf_syms.  Check whether an
7383*ed0d50c3Schristos	attempt is made to record a symbol in a discarded section, and
7384*ed0d50c3Schristos	return `2' in that case.
7385*ed0d50c3Schristos
7386*ed0d50c3Schristos2002-07-24  Nick Clifton  <nickc@redhat.com>
7387*ed0d50c3Schristos
7388*ed0d50c3Schristos	* po/sv.po: Updated Swedish translation.
7389*ed0d50c3Schristos	* po/es.po: Updated Spanish translation.
7390*ed0d50c3Schristos
7391*ed0d50c3Schristos2002-07-23  Alan Modra  <amodra@bigpond.net.au>
7392*ed0d50c3Schristos
7393*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
7394*ed0d50c3Schristos
7395*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
7396*ed0d50c3Schristos	immediately.  Remove code handling relocatable linking.
7397*ed0d50c3Schristos	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
7398*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section): Likewise.
7399*ed0d50c3Schristos	* elf32-fr30.c (elf32_frv_relocate_section): Likewise.
7400*ed0d50c3Schristos	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
7401*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
7402*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
7403*ed0d50c3Schristos	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
7404*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
7405*ed0d50c3Schristos	* elf32-v850.c (v850_elf_relocate_section): Likewise.
7406*ed0d50c3Schristos	* elf32-vax.c (elf_vax_relocate_section): Likewise.
7407*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
7408*ed0d50c3Schristos	* elf32-avr.c (elf_backend_rela_normal): Define.
7409*ed0d50c3Schristos	* elf32-cris.c: Likewise.
7410*ed0d50c3Schristos	* elf32-fr30.c: Likewise.
7411*ed0d50c3Schristos	* elf32-frv.c: Likewise.
7412*ed0d50c3Schristos	* elf32-h8300.c: Likewise.
7413*ed0d50c3Schristos	* elf32-hppa.c: Likewise.
7414*ed0d50c3Schristos	* elf32-ip2k.c: Likewise.
7415*ed0d50c3Schristos	* elf32-sparc.c: Likewise.
7416*ed0d50c3Schristos	* elf32-v850.c: Likewise.
7417*ed0d50c3Schristos	* elf32-vax.c: Likewise.
7418*ed0d50c3Schristos	* elf64-hppa.c: Likewise.
7419*ed0d50c3Schristos	* elf64-sparc.c: Likewise.
7420*ed0d50c3Schristos	* elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
7421*ed0d50c3Schristos	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
7422*ed0d50c3Schristos	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
7423*ed0d50c3Schristos	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
7424*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
7425*ed0d50c3Schristos	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
7426*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
7427*ed0d50c3Schristos	* elf-m10200.c (USE_RELA): Don't define.
7428*ed0d50c3Schristos	* elf-m10300.c: Likewise.
7429*ed0d50c3Schristos	* elfarm-oabi.c: Likewise.
7430*ed0d50c3Schristos	* elf32-i370.c: Likewise.
7431*ed0d50c3Schristos	* elf32-ip2k.c: Likewise.
7432*ed0d50c3Schristos	* elf32-m68k.c: Likewise.
7433*ed0d50c3Schristos	* elf32-mcore.c: Likewise.
7434*ed0d50c3Schristos	* elf32-ppc.c: Likewise.
7435*ed0d50c3Schristos	* elf32-s390.c: Likewise.
7436*ed0d50c3Schristos	* elf32-vax.c: Likewise.
7437*ed0d50c3Schristos	* elf64-ppc.c: Likewise.
7438*ed0d50c3Schristos	* elf64-s390.c: Likewise.
7439*ed0d50c3Schristos	* elf64-x86-64.c: Likewise.
7440*ed0d50c3Schristos	* elfxx-ia64.c: Likewise.
7441*ed0d50c3Schristos	* elf32-avr.c (USE_REL): Don't undef.
7442*ed0d50c3Schristos	* elf32-ip2k.c: Likewise.
7443*ed0d50c3Schristos
7444*ed0d50c3Schristos2002-07-23  Nick Clifton  <nickc@redhat.com>
7445*ed0d50c3Schristos
7446*ed0d50c3Schristos	* elf-bfd.h (struct elf_backend_data): Add new bitfield
7447*ed0d50c3Schristos	'want_p_paddr_set_to_zero'.
7448*ed0d50c3Schristos	* elfxx-target.h: Set default value for want_p_paddr_set_to_zero
7449*ed0d50c3Schristos	to false;
7450*ed0d50c3Schristos	* elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
7451*ed0d50c3Schristos	* elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
7452*ed0d50c3Schristos
7453*ed0d50c3Schristos2002-07-23  Gabor Keresztfalvi  <keresztg@mail.com>
7454*ed0d50c3Schristos
7455*ed0d50c3Schristos	* nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
7456*ed0d50c3Schristos	the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
7457*ed0d50c3Schristos	show the Copyright string.
7458*ed0d50c3Schristos	Minor formatting tidy ups.
7459*ed0d50c3Schristos
7460*ed0d50c3Schristos2002-07-23  Nick Clifton  <nickc@redhat.com>
7461*ed0d50c3Schristos
7462*ed0d50c3Schristos	* po/fr.po: Updated French translation.
7463*ed0d50c3Schristos	* po/sv.po: Updated Swedish translation.
7464*ed0d50c3Schristos
7465*ed0d50c3Schristos2002-07-23  Alan Modra  <amodra@bigpond.net.au>
7466*ed0d50c3Schristos
7467*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd): Don't change internal symbols
7468*ed0d50c3Schristos	when outputting relocs.
7469*ed0d50c3Schristos
7470*ed0d50c3Schristos2002-07-20  Jason Thorpe  <thorpej@wasabisystems.com>
7471*ed0d50c3Schristos
7472*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
7473*ed0d50c3Schristos	DT_PLTGOT into the dynamic section if there is a PLT.
7474*ed0d50c3Schristos
7475*ed0d50c3Schristos2002-07-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7476*ed0d50c3Schristos
7477*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
7478*ed0d50c3Schristos	elf32-mips.c.
7479*ed0d50c3Schristos	(_bfd_mips_elf_write_section): Likewise.
7480*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
7481*ed0d50c3Schristos	(_bfd_mips_elf_write_section): Likewise.
7482*ed0d50c3Schristos	* elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
7483*ed0d50c3Schristos	(elf32_mips_write_section): Likewise.
7484*ed0d50c3Schristos	* elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
7485*ed0d50c3Schristos	(_bfd_mips_elf_write_section): Likewise.
7486*ed0d50c3Schristos
7487*ed0d50c3Schristos2002-07-19  Alan Modra  <amodra@bigpond.net.au>
7488*ed0d50c3Schristos
7489*ed0d50c3Schristos	* elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
7490*ed0d50c3Schristos	PT_IA_64_UNWIND segments for a given section.
7491*ed0d50c3Schristos
7492*ed0d50c3Schristos2002-07-17  H.J. Lu <hjl@gnu.org>
7493*ed0d50c3Schristos
7494*ed0d50c3Schristos	* Makefile.am: Fix a typo.
7495*ed0d50c3Schristos	* Makefile.in: Regenerate.
7496*ed0d50c3Schristos
7497*ed0d50c3Schristos2002-07-15  Denis Chertykov  <denisc@overta.ru>
7498*ed0d50c3Schristos	    Frank Ch. Eigler  <fche@redhat.com>
7499*ed0d50c3Schristos	    Ben Elliston  <bje@redhat.com>
7500*ed0d50c3Schristos	    Alan Lehotsky  <alehotsky@cygnus.com>
7501*ed0d50c3Schristos	    John Healy  <jhealy@redhat.com>
7502*ed0d50c3Schristos	    Graham Stott  <grahams@redhat.com>
7503*ed0d50c3Schristos	    Jeff Johnston  <jjohnstn@redhat.com>
7504*ed0d50c3Schristos
7505*ed0d50c3Schristos	* Makefile.am: Add support for ip2k.
7506*ed0d50c3Schristos	* Makefile.in: Regenerate.
7507*ed0d50c3Schristos	* doc/Makefile.in: Regenerate.
7508*ed0d50c3Schristos	* archures.c: Add support for ip2k.
7509*ed0d50c3Schristos	* config.bfd: Add support for ip2k.
7510*ed0d50c3Schristos	* configure.in: Add support for ip2k.
7511*ed0d50c3Schristos	* configure: Regenerate.
7512*ed0d50c3Schristos	* reloc.c: Add support for ip2k.
7513*ed0d50c3Schristos	* targets.c: Add support for ip2k.
7514*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
7515*ed0d50c3Schristos	* libbfd.h: Regenerate.
7516*ed0d50c3Schristos	* cpu-ip2k.c: New file.
7517*ed0d50c3Schristos	* elf32-ip2k.c: New file.
7518*ed0d50c3Schristos
7519*ed0d50c3Schristos2002-07-17  Ian Rickards  <irickard@arm.com>
7520*ed0d50c3Schristos
7521*ed0d50c3Schristos	* dwarf2.c (concat_filename): If we can't establish the directory
7522*ed0d50c3Schristos	just return the filename.
7523*ed0d50c3Schristos
7524*ed0d50c3Schristos2002-07-16  Moritz Jodeit  <moritz@jodeit.org>
7525*ed0d50c3Schristos
7526*ed0d50c3Schristos	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
7527*ed0d50c3Schristos
7528*ed0d50c3Schristos2002-07-16  Alan Modra  <amodra@bigpond.net.au>
7529*ed0d50c3Schristos
7530*ed0d50c3Schristos	* elflink.h: Formatting fixes, tidy prototypes.
7531*ed0d50c3Schristos	(elf_link_assign_sym_version): Move common code out of loop.
7532*ed0d50c3Schristos
7533*ed0d50c3Schristos2002-07-16  Alan Modra  <amodra@bigpond.net.au>
7534*ed0d50c3Schristos
7535*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
7536*ed0d50c3Schristos	reloc section size is zero.  Correct reloc output location.
7537*ed0d50c3Schristos
7538*ed0d50c3Schristos2002-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7539*ed0d50c3Schristos
7540*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
7541*ed0d50c3Schristos	the final type for the e_fsel selector when generating PA2.0W code.
7542*ed0d50c3Schristos	(elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
7543*ed0d50c3Schristos	relocations.
7544*ed0d50c3Schristos
7545*ed0d50c3Schristos2002-07-14  H.J. Lu <hjl@gnu.org>
7546*ed0d50c3Schristos
7547*ed0d50c3Schristos	* elflink.h (elf_link_assign_sym_version): Hide the default
7548*ed0d50c3Schristos	definition if there is a hidden versioned definition.
7549*ed0d50c3Schristos
7550*ed0d50c3Schristos2002-07-12  Hans-Peter Nilsson  <hp@axis.com>
7551*ed0d50c3Schristos
7552*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
7553*ed0d50c3Schristos	dynamic reference test in assertion when initializing GOT with
7554*ed0d50c3Schristos	static contents.  Just assert that there are either no dynamic
7555*ed0d50c3Schristos	sections, the symbol is defined in the regular objects or that the
7556*ed0d50c3Schristos	symbol is undef weak.  Tweak comment.
7557*ed0d50c3Schristos	(elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
7558*ed0d50c3Schristos	only if the symbol isn't defined in the program and isn't undef
7559*ed0d50c3Schristos	weak.
7560*ed0d50c3Schristos	(elf_cris_adjust_dynamic_symbol): Simplify condition for getting
7561*ed0d50c3Schristos	rid of PLT entry: only do it if the symbol isn't defined in a DSO.
7562*ed0d50c3Schristos	When doing so, clear ELF_LINK_HASH_NEEDS_PLT.  Tweak comments.
7563*ed0d50c3Schristos	(elf_cris_discard_excess_program_dynamics): Don't consider
7564*ed0d50c3Schristos	ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
7565*ed0d50c3Schristos
7566*ed0d50c3Schristos2002-07-11  Alan Modra  <amodra@bigpond.net.au>
7567*ed0d50c3Schristos
7568*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Don't complain about
7569*ed0d50c3Schristos	unresolved debugging relocs in dynamic applications.
7570*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
7571*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
7572*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
7573*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
7574*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
7575*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
7576*ed0d50c3Schristos
7577*ed0d50c3Schristos2002-07-10  Alan Modra  <amodra@bigpond.net.au>
7578*ed0d50c3Schristos
7579*ed0d50c3Schristos	* elf64-ppc.c (ONES): Define.
7580*ed0d50c3Schristos	(ppc64_elf_howto_table): Use ONES here to avoid warnings.  Fill in
7581*ed0d50c3Schristos	missing src_mask fields.  Tweak R_PPC64_NONE, R_PPC64_COPY.  Fill
7582*ed0d50c3Schristos	in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
7583*ed0d50c3Schristos
7584*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
7585*ed0d50c3Schristos	(ppc64_elf_set_private_flags): Delete.
7586*ed0d50c3Schristos	(ppc64_elf_section_from_shdr): Delete.
7587*ed0d50c3Schristos	(ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
7588*ed0d50c3Schristos	(ppc64_elf_fake_sections): Delete.
7589*ed0d50c3Schristos	(bfd_elf64_bfd_set_private_flags): Don't define.
7590*ed0d50c3Schristos	(bfd_elf64_get_symbol_info): Likewise.
7591*ed0d50c3Schristos	(elf_backend_section_from_shdr): Likewise.
7592*ed0d50c3Schristos	(elf_backend_fake_sections): Likewise.
7593*ed0d50c3Schristos
7594*ed0d50c3Schristos2002-07-10  Marco Walther  <Marco.Walther@sun.com>
7595*ed0d50c3Schristos
7596*ed0d50c3Schristos	* elf.c: (assign_section_numbers) Set sh_entsize for .stab only
7597*ed0d50c3Schristos	when not already set.
7598*ed0d50c3Schristos	* elf64-sparc.c: (sparc64_elf_fake_sections): New function.
7599*ed0d50c3Schristos	(elf_backend_fake_sections): Define.
7600*ed0d50c3Schristos
7601*ed0d50c3Schristos2002-07-10  Alan Modra  <amodra@bigpond.net.au>
7602*ed0d50c3Schristos
7603*ed0d50c3Schristos	* merge.c (_bfd_merge_section): Remove redundant output_section check.
7604*ed0d50c3Schristos	Formatting.
7605*ed0d50c3Schristos	(_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
7606*ed0d50c3Schristos
7607*ed0d50c3Schristos2002-07-09  Hans-Peter Nilsson  <hp@axis.com>
7608*ed0d50c3Schristos
7609*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
7610*ed0d50c3Schristos	NULL sym_hashes to just before use.
7611*ed0d50c3Schristos	<case R_CRIS_32_GOTREL>: In test for local symbol, accept also
7612*ed0d50c3Schristos	symbol with non-default visibility.
7613*ed0d50c3Schristos	<case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
7614*ed0d50c3Schristos	<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
7615*ed0d50c3Schristos	Ditto.
7616*ed0d50c3Schristos	(cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
7617*ed0d50c3Schristos	symbol with non-default visibility.
7618*ed0d50c3Schristos	(cris_elf_check_relocs): At tests for local symbol before
7619*ed0d50c3Schristos	increasing h->plt.refcount, also check for non-default
7620*ed0d50c3Schristos	visibility.  Ditto when checking for local symbol to eliminate
7621*ed0d50c3Schristos	pc-relative runtime relocs.
7622*ed0d50c3Schristos
7623*ed0d50c3Schristos2002-07-08  Alan Modra  <amodra@bigpond.net.au>
7624*ed0d50c3Schristos
7625*ed0d50c3Schristos	* elf.c: Formatting.
7626*ed0d50c3Schristos	(IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
7627*ed0d50c3Schristos	(INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
7628*ed0d50c3Schristos	(copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
7629*ed0d50c3Schristos	segments.
7630*ed0d50c3Schristos
7631*ed0d50c3Schristos2002-07-07  Mark Mitchell  <mark@codesourcery.com>
7632*ed0d50c3Schristos	    Alan Modra  <amodra@bigpond.net.au>
7633*ed0d50c3Schristos
7634*ed0d50c3Schristos	* cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
7635*ed0d50c3Schristos	account the impact of relocation count overflow when computing
7636*ed0d50c3Schristos	section offsets.
7637*ed0d50c3Schristos	* coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
7638*ed0d50c3Schristos	or not to apply the PE COFF reloc overflow handling.  Fix a
7639*ed0d50c3Schristos	fencepost error in deciding whether or not to use that technique.
7640*ed0d50c3Schristos
7641*ed0d50c3Schristos2002-07-07  Alan Modra  <amodra@bigpond.net.au>
7642*ed0d50c3Schristos
7643*ed0d50c3Schristos	* elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
7644*ed0d50c3Schristos	change type of locsyms.
7645*ed0d50c3Schristos	(bfd_elf_get_elf_syms): Declare.
7646*ed0d50c3Schristos	* elf.c (bfd_elf_get_elf_syms): New function.
7647*ed0d50c3Schristos	(group_signature): Use bfd_elf_get_elf_syms.
7648*ed0d50c3Schristos	(bfd_section_from_r_symndx): Likewise.
7649*ed0d50c3Schristos	* elfcode.h (elf_slurp_symbol_table): Likewise.
7650*ed0d50c3Schristos	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
7651*ed0d50c3Schristos	(elf_link_add_object_symbols): Likewise.  Reorganise to increase
7652*ed0d50c3Schristos	locality of various data structures.  Properly free internal relocs.
7653*ed0d50c3Schristos	(elf_bfd_final_link): Properly free internal relocs.
7654*ed0d50c3Schristos	(elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
7655*ed0d50c3Schristos	(elf_link_input_bfd): Likewise.
7656*ed0d50c3Schristos	(elf_gc_mark): Likewise.  Properly free internal relocs.
7657*ed0d50c3Schristos	(elf_gc_sweep): Properly free internal relocs.
7658*ed0d50c3Schristos	(elf_reloc_symbol_deleted_p): No need to swap syms in.
7659*ed0d50c3Schristos	(elf_bfd_discard_info): Use bfd_elf_get_elf_syms.  Properly free
7660*ed0d50c3Schristos	internal relocs.
7661*ed0d50c3Schristos	* elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
7662*ed0d50c3Schristos	Properly free possibly cached info.
7663*ed0d50c3Schristos	(mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
7664*ed0d50c3Schristos	(mn10200_elf_symbol_address_p): Pass in internal syms.  Remove
7665*ed0d50c3Schristos	symbol swapping code.
7666*ed0d50c3Schristos	(mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
7667*ed0d50c3Schristos	Properly free possibly cached info.
7668*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
7669*ed0d50c3Schristos	(mn10300_elf_relax_delete_bytes): Likewise.
7670*ed0d50c3Schristos	(mn10300_elf_symbol_address_p): Likewise.
7671*ed0d50c3Schristos	(mn10300_elf_get_relocated_section_contents): Likewise.
7672*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
7673*ed0d50c3Schristos	(elf32_h8_relax_delete_bytes): Likewise.
7674*ed0d50c3Schristos	(elf32_h8_symbol_address_p): Likewise.
7675*ed0d50c3Schristos	(elf32_h8_get_relocated_section_contents): Likewise.
7676*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
7677*ed0d50c3Schristos	(m32r_elf_relax_delete_bytes): Likewise.
7678*ed0d50c3Schristos	(m32r_elf_get_relocated_section_contents): Likewise.
7679*ed0d50c3Schristos	* elf32-sh.c (sh_elf_reloc_loop): Free section contents using
7680*ed0d50c3Schristos	elf_section_data to determine whether cached.
7681*ed0d50c3Schristos	(sh_elf_relax_section): As above for elf-m10200.c.
7682*ed0d50c3Schristos	(sh_elf_relax_delete_bytes): Likewise.
7683*ed0d50c3Schristos	(sh_elf_get_relocated_section_contents): Likewise.
7684*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
7685*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relax_section): As above.  Also delay
7686*ed0d50c3Schristos	reading of local syms.
7687*ed0d50c3Schristos	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
7688*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
7689*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): As above.
7690*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
7691*ed0d50c3Schristos	relocs.
7692*ed0d50c3Schristos	* elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
7693*ed0d50c3Schristos	free internal relocs and section contents.  Don't read symbols.
7694*ed0d50c3Schristos	* elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
7695*ed0d50c3Schristos	(elf32_hppa_size_stubs): Don't free local syms.
7696*ed0d50c3Schristos	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
7697*ed0d50c3Schristos	reading of local syms.  Use bfd_elf_get_elf_syms.  Properly free
7698*ed0d50c3Schristos	possibly cached info.
7699*ed0d50c3Schristos	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
7700*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
7701*ed0d50c3Schristos	* elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
7702*ed0d50c3Schristos	all_local_syms.
7703*ed0d50c3Schristos	(get_local_syms): Delete function.
7704*ed0d50c3Schristos	(edit_opd): Use bfd_elf_get_elf_syms.  Free on error exit.  Cache
7705*ed0d50c3Schristos	on exit.
7706*ed0d50c3Schristos	(ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms.  Free/cache on exit.
7707*ed0d50c3Schristos
7708*ed0d50c3Schristos2002-07-05  Jim Wilson  <wilson@redhat.com>
7709*ed0d50c3Schristos
7710*ed0d50c3Schristos	* syms.c (decode_section_type): New.
7711*ed0d50c3Schristos	(bfd_decode_symclass): Call decode_section_type.
7712*ed0d50c3Schristos
7713*ed0d50c3Schristos2002-07-04  Jakub Jelinek  <jakub@redhat.com>
7714*ed0d50c3Schristos
7715*ed0d50c3Schristos	* merge.c (_bfd_merged_section_offset): Avoid accessing byte before
7716*ed0d50c3Schristos	section content start.
7717*ed0d50c3Schristos	Reported by Michael Schumacher <mike@hightec-rt.com>.
7718*ed0d50c3Schristos
7719*ed0d50c3Schristos2002-07-04  Alan Modra  <amodra@bigpond.net.au>
7720*ed0d50c3Schristos
7721*ed0d50c3Schristos	* section.c (_bfd_strip_section_from_output): Remove unnecessary
7722*ed0d50c3Schristos	link order code.  Don't actually remove the output section here;
7723*ed0d50c3Schristos	Just set a flag for the linker to do so.
7724*ed0d50c3Schristos	* elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
7725*ed0d50c3Schristos	sections when setting up output section dynsyms.
7726*ed0d50c3Schristos
7727*ed0d50c3Schristos2002-07-04  Alan Modra  <amodra@bigpond.net.au>
7728*ed0d50c3Schristos
7729*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
7730*ed0d50c3Schristos	fudge.
7731*ed0d50c3Schristos	* elf.c (bfd_section_from_shdr): Work around broken hpux shared
7732*ed0d50c3Schristos	libs here instead.
7733*ed0d50c3Schristos
7734*ed0d50c3Schristos2002-07-02  Martin Schwidefsky  <schwidefsky@de.ibm.com>
7735*ed0d50c3Schristos
7736*ed0d50c3Schristos	* elf64-s390.c (create_got_section): Set .got section alignment to
7737*ed0d50c3Schristos	8 bytes.
7738*ed0d50c3Schristos	(elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
7739*ed0d50c3Schristos
7740*ed0d50c3Schristos2002-07-02  Alan Modra  <amodra@bigpond.net.au>
7741*ed0d50c3Schristos
7742*ed0d50c3Schristos	* elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
7743*ed0d50c3Schristos
7744*ed0d50c3Schristos2002-07-01  Matt Thomas  <matt@3am-software.com>
7745*ed0d50c3Schristos
7746*ed0d50c3Schristos	* elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
7747*ed0d50c3Schristos	to EF_VAX_*.
7748*ed0d50c3Schristos
7749*ed0d50c3Schristos2002-07-01  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7750*ed0d50c3Schristos
7751*ed0d50c3Schristos	* elfxx-mips.c (ABI_64_P): Fix comment.
7752*ed0d50c3Schristos	(MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
7753*ed0d50c3Schristos	new section names for N64 ABI.
7754*ed0d50c3Schristos	(mips_elf_output_extsym): No special _gp_disp handling for NewABI.
7755*ed0d50c3Schristos	(mips_elf_calculate_relocation): Code formatting.
7756*ed0d50c3Schristos	(mips_elf_create_dynamic_relocation): Likewise.
7757*ed0d50c3Schristos	(_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
7758*ed0d50c3Schristos	(_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
7759*ed0d50c3Schristos	(_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
7760*ed0d50c3Schristos	in any NewABI.
7761*ed0d50c3Schristos	(_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
7762*ed0d50c3Schristos	for NewABI.
7763*ed0d50c3Schristos	(_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
7764*ed0d50c3Schristos	(_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
7765*ed0d50c3Schristos	here, too.
7766*ed0d50c3Schristos
7767*ed0d50c3Schristos2002-07-01  Andreas Schwab  <schwab@suse.de>
7768*ed0d50c3Schristos
7769*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
7770*ed0d50c3Schristos	R_X86_64_64 to R_X86_64_RELATIVE.
7771*ed0d50c3Schristos
7772*ed0d50c3Schristos2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7773*ed0d50c3Schristos
7774*ed0d50c3Schristos	* vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
7775*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
7776*ed0d50c3Schristos	Run "make dep-am".
7777*ed0d50c3Schristos	* config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
7778*ed0d50c3Schristos	host_aout_vec.
7779*ed0d50c3Schristos	* configure.in (vaxbsd_vec): Add.
7780*ed0d50c3Schristos	* targets.c (vaxbsd_vec): Add.
7781*ed0d50c3Schristos	* Makefile.in: Rebuild.
7782*ed0d50c3Schristos	* configure: Rebuild.
7783*ed0d50c3Schristos	* po/SRC-POTFILES.in: Rebuild.
7784*ed0d50c3Schristos
7785*ed0d50c3Schristos2002-07-01  Alan Modra  <amodra@bigpond.net.au>
7786*ed0d50c3Schristos
7787*ed0d50c3Schristos	* elflink.h (elf_gc_mark): Pass in the section whose relocs we are
7788*ed0d50c3Schristos	examining to gc_mark_hook, rather than the bfd.
7789*ed0d50c3Schristos	(elf_gc_sections): Adjust.
7790*ed0d50c3Schristos	* elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
7791*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
7792*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
7793*ed0d50c3Schristos	* elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
7794*ed0d50c3Schristos	* elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
7795*ed0d50c3Schristos	* elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
7796*ed0d50c3Schristos	* elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
7797*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
7798*ed0d50c3Schristos	* elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
7799*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
7800*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
7801*ed0d50c3Schristos	* elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
7802*ed0d50c3Schristos	* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
7803*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
7804*ed0d50c3Schristos	* elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
7805*ed0d50c3Schristos	* elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
7806*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
7807*ed0d50c3Schristos	* elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
7808*ed0d50c3Schristos	* elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
7809*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
7810*ed0d50c3Schristos	* elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
7811*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
7812*ed0d50c3Schristos	* elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
7813*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
7814*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
7815*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
7816*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
7817*ed0d50c3Schristos	* elf32-frv.c (elf32_frv_gc_mark_hook): Likewise.  Also remove
7818*ed0d50c3Schristos	redundant local sym tests.
7819*ed0d50c3Schristos	* elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
7820*ed0d50c3Schristos	(link_hash_newfunc): Init is_entry.
7821*ed0d50c3Schristos	(ppc64_elf_copy_indirect_symbol): Copy is_entry.
7822*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Init all_local_syms.
7823*ed0d50c3Schristos	(create_linkage_sections): Use bfd_make_section_anyway rather than
7824*ed0d50c3Schristos	bfd_make_section.
7825*ed0d50c3Schristos	(ppc64_elf_mark_entry_syms): New function.
7826*ed0d50c3Schristos	(ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab.  Set
7827*ed0d50c3Schristos	up opd entry to function section map.
7828*ed0d50c3Schristos	(ppc64_elf_gc_mark_hook): Special case opd section relocs, and
7829*ed0d50c3Schristos	relocs that reference the opd section.
7830*ed0d50c3Schristos	(edit_opd): New function.
7831*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
7832*ed0d50c3Schristos	(ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
7833*ed0d50c3Schristos	(get_local_syms): Do so here.  Exit if we already have local syms.
7834*ed0d50c3Schristos	Remove bogus comment imported from elf32-hppa.c.  Don't attempt to
7835*ed0d50c3Schristos	read local syms on non-ELF input.
7836*ed0d50c3Schristos	(ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
7837*ed0d50c3Schristos	than duplicating it's function here.  Adjust free of internal
7838*ed0d50c3Schristos	relocs to suit.
7839*ed0d50c3Schristos	(ppc64_elf_relocate_section): Adjust local syms in opd section.
7840*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
7841*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_size_stubs): Call
7842*ed0d50c3Schristos	_bfd_elf32_link_read_relocs rather than duplicating it's function
7843*ed0d50c3Schristos	here.  Adjust free of internal relocs to suit.
7844*ed0d50c3Schristos
7845*ed0d50c3Schristos2002-07-01  Andreas Jaeger  <aj@suse.de>
7846*ed0d50c3Schristos
7847*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
7848*ed0d50c3Schristos	are not allowed in shared libs code, enforce -fPIC.
7849*ed0d50c3Schristos
7850*ed0d50c3Schristos2002-06-29  Hans-Peter Nilsson  <hp@bitrange.com>
7851*ed0d50c3Schristos
7852*ed0d50c3Schristos	* mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
7853*ed0d50c3Schristos	trailing zero-sequences when there's previous left-over data.
7854*ed0d50c3Schristos
7855*ed0d50c3Schristos2002-06-27  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7856*ed0d50c3Schristos
7857*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
7858*ed0d50c3Schristos	(elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
7859*ed0d50c3Schristos	and opd_rel_sec in order for starting rela section.  Check _raw_size.
7860*ed0d50c3Schristos	(elf_backend_reloc_type_class): Define.
7861*ed0d50c3Schristos
7862*ed0d50c3Schristos2002-06-27  Kevin Buettner <kevinb@redhat.com>
7863*ed0d50c3Schristos
7864*ed0d50c3Schristos	* dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
7865*ed0d50c3Schristos	DWARF2 formats.
7866*ed0d50c3Schristos
7867*ed0d50c3Schristos2002-06-27  Alan Modra  <amodra@bigpond.net.au>
7868*ed0d50c3Schristos
7869*ed0d50c3Schristos	* cpu-powerpc.c: Comment on ordering of arch_info.
7870*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_object_p): New function.
7871*ed0d50c3Schristos	(elf_backend_object_p): Define.
7872*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_object_p): New function.
7873*ed0d50c3Schristos	(elf_backend_object_p): Define.
7874*ed0d50c3Schristos
7875*ed0d50c3Schristos2002-06-26  Jason Thorpe  <thorpej@wasabisystems.com>
7876*ed0d50c3Schristos
7877*ed0d50c3Schristos	* configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
7878*ed0d50c3Schristos	* configure: Regenerate.
7879*ed0d50c3Schristos
7880*ed0d50c3Schristos2002-06-25  Jason Eckhardt  <jle@rice.edu>
7881*ed0d50c3Schristos
7882*ed0d50c3Schristos	* dwarf2.c (decode_line_info): Check unit->addr_size
7883*ed0d50c3Schristos	to read in the proper number of prologue bytes.
7884*ed0d50c3Schristos
7885*ed0d50c3Schristos2002-06-25  Nick Clifton  <nickc@cambridge.redhat.com>
7886*ed0d50c3Schristos
7887*ed0d50c3Schristos	* config.bfd (powerpc-*-aix5*): Only create a selvecs for
7888*ed0d50c3Schristos	aix5coff64_vec if 64-bit bfd support has been enabled.
7889*ed0d50c3Schristos	(powerpc64-*-aix5*): Only define if 64-bit bfd support has
7890*ed0d50c3Schristos	been enabled.
7891*ed0d50c3Schristos
7892*ed0d50c3Schristos	* targets.c (_bfd_target_vector[]): Only include
7893*ed0d50c3Schristos	aix5coff64_vec if 64-bit bfd support has been enabled.
7894*ed0d50c3Schristos
7895*ed0d50c3Schristos2002-06-25  Alan Modra  <amodra@bigpond.net.au>
7896*ed0d50c3Schristos
7897*ed0d50c3Schristos	* elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
7898*ed0d50c3Schristos	* elf32-hppa.c (hppa_add_stub): Likewise.
7899*ed0d50c3Schristos	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
7900*ed0d50c3Schristos	* elflink.h (elf_add_default_symbol): Fix comment typo.
7901*ed0d50c3Schristos	(elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
7902*ed0d50c3Schristos	(elf_link_add_object_symbols): Likewise.
7903*ed0d50c3Schristos	(elf_link_assign_sym_version): Likewise.
7904*ed0d50c3Schristos	* hash.c (bfd_hash_lookup): Likewise.
7905*ed0d50c3Schristos	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
7906*ed0d50c3Schristos	* section.c (bfd_get_unique_section_name): Likewise.
7907*ed0d50c3Schristos	* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
7908*ed0d50c3Schristos	* elf.c (_bfd_elf_make_section_from_phdr): Likewise.
7909*ed0d50c3Schristos	(assign_section_numbers): Likewise.
7910*ed0d50c3Schristos	(_bfd_elfcore_make_pseudosection): Likewise.
7911*ed0d50c3Schristos	(elfcore_grok_lwpstatus): Likewise.
7912*ed0d50c3Schristos	(elfcore_grok_win32pstatus): Likewise.
7913*ed0d50c3Schristos	(elfcore_write_note): Constify input params.  Use PTR instead of
7914*ed0d50c3Schristos	void *.  Include terminating NUL in namesz.  Correct padding.
7915*ed0d50c3Schristos	Support NULL "name" param.  Use memcpy instead of strcpy.
7916*ed0d50c3Schristos	(elfcore_write_prpsinfo): Constify input params.
7917*ed0d50c3Schristos	(elfcore_write_prstatus): Likewise.  Use PTR instead of void *.
7918*ed0d50c3Schristos	(elfcore_write_lwpstatus): Likewise.
7919*ed0d50c3Schristos	(elfcore_write_pstatus): Likewise.
7920*ed0d50c3Schristos	(elfcore_write_prfpreg): Likewise.
7921*ed0d50c3Schristos	(elfcore_write_prxfpreg): Likewise.
7922*ed0d50c3Schristos	* elf-bfd.h (elfcore_write_note): Update declaration.
7923*ed0d50c3Schristos	(elfcore_write_prpsinfo): Likewise.
7924*ed0d50c3Schristos	(elfcore_write_prstatus): Likewise.
7925*ed0d50c3Schristos	(elfcore_write_pstatus): Likewise.
7926*ed0d50c3Schristos	(elfcore_write_prfpreg): Likewise.
7927*ed0d50c3Schristos	(elfcore_write_prxfpreg): Likewise.
7928*ed0d50c3Schristos	(elfcore_write_lwpstatus): Likewise.
7929*ed0d50c3Schristos
7930*ed0d50c3Schristos2002-06-25  Jason Eckhardt  <jle@rice.edu>
7931*ed0d50c3Schristos
7932*ed0d50c3Schristos	* ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
7933*ed0d50c3Schristos	symbols of type stProc and stStaticProc.
7934*ed0d50c3Schristos
7935*ed0d50c3Schristos2002-06-25  Nick Clifton  <nickc@redhat.com>
7936*ed0d50c3Schristos
7937*ed0d50c3Schristos	* ecoff.c: VArious formatting fixes.
7938*ed0d50c3Schristos
7939*ed0d50c3Schristos2002-06-25  Alan Modra  <amodra@bigpond.net.au>
7940*ed0d50c3Schristos
7941*ed0d50c3Schristos	* coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
7942*ed0d50c3Schristos
7943*ed0d50c3Schristos2002-06-25  Alan Modra  <amodra@bigpond.net.au>
7944*ed0d50c3Schristos
7945*ed0d50c3Schristos	* aout-adobe.c: Don't compare against "true" or "false.
7946*ed0d50c3Schristos	* aout-target.h: Likewise.
7947*ed0d50c3Schristos	* aoutx.h: Likewise.
7948*ed0d50c3Schristos	* archive.c: Likewise.
7949*ed0d50c3Schristos	* bout.c: Likewise.
7950*ed0d50c3Schristos	* cache.c: Likewise.
7951*ed0d50c3Schristos	* coff-a29k.c: Likewise.
7952*ed0d50c3Schristos	* coff-alpha.c: Likewise.
7953*ed0d50c3Schristos	* coff-i386.c: Likewise.
7954*ed0d50c3Schristos	* coff-mips.c: Likewise.
7955*ed0d50c3Schristos	* coff-or32.c: Likewise.
7956*ed0d50c3Schristos	* coff64-rs6000.c: Likewise.
7957*ed0d50c3Schristos	* coffcode.h: Likewise.
7958*ed0d50c3Schristos	* coffgen.c: Likewise.
7959*ed0d50c3Schristos	* cpu-ns32k.c: Likewise.
7960*ed0d50c3Schristos	* ecoff.c: Likewise.
7961*ed0d50c3Schristos	* ecofflink.c: Likewise.
7962*ed0d50c3Schristos	* elf.c: Likewise.
7963*ed0d50c3Schristos	* elf32-arm.h: Likewise.
7964*ed0d50c3Schristos	* elf32-cris.c: Likewise.
7965*ed0d50c3Schristos	* elf32-d30v.c: Likewise.
7966*ed0d50c3Schristos	* elf32-i386.c: Likewise.
7967*ed0d50c3Schristos	* elf32-mcore.c: Likewise.
7968*ed0d50c3Schristos	* elf32-ppc.c: Likewise.
7969*ed0d50c3Schristos	* elf32-sh.c: Likewise.
7970*ed0d50c3Schristos	* elf32-sh64.c: Likewise.
7971*ed0d50c3Schristos	* elf32-v850.c: Likewise.
7972*ed0d50c3Schristos	* elf64-alpha.c: Likewise.
7973*ed0d50c3Schristos	* elf64-sh64.c: Likewise.
7974*ed0d50c3Schristos	* elfcode.h: Likewise.
7975*ed0d50c3Schristos	* elfcore.h: Likewise.
7976*ed0d50c3Schristos	* elflink.h: Likewise.
7977*ed0d50c3Schristos	* elfxx-mips.c: Likewise.
7978*ed0d50c3Schristos	* i386os9k.c: Likewise.
7979*ed0d50c3Schristos	* ieee.c: Likewise.
7980*ed0d50c3Schristos	* libbfd.c: Likewise.
7981*ed0d50c3Schristos	* linker.c: Likewise.
7982*ed0d50c3Schristos	* mmo.c: Likewise.
7983*ed0d50c3Schristos	* nlm32-alpha.c: Likewise.
7984*ed0d50c3Schristos	* nlm32-i386.c: Likewise.
7985*ed0d50c3Schristos	* nlm32-ppc.c: Likewise.
7986*ed0d50c3Schristos	* nlm32-sparc.c: Likewise.
7987*ed0d50c3Schristos	* nlmcode.h: Likewise.
7988*ed0d50c3Schristos	* oasys.c: Likewise.
7989*ed0d50c3Schristos	* pdp11.c: Likewise.
7990*ed0d50c3Schristos	* peicode.h: Likewise.
7991*ed0d50c3Schristos	* reloc.c: Likewise.
7992*ed0d50c3Schristos	* som.c: Likewise.
7993*ed0d50c3Schristos	* srec.c: Likewise.
7994*ed0d50c3Schristos	* tekhex.c: Likewise.
7995*ed0d50c3Schristos	* vms.c: Likewise.
7996*ed0d50c3Schristos	* xcofflink.c: Likewise.
7997*ed0d50c3Schristos	* elf64-sparc.c: Edit comment to not use "== false".
7998*ed0d50c3Schristos
7999*ed0d50c3Schristos	* aoutf1.h: Don't use "? true : false".
8000*ed0d50c3Schristos	* ecoff.c: Likewise.
8001*ed0d50c3Schristos	* format.c: Likewise.
8002*ed0d50c3Schristos	* ieee.c: Likewise.
8003*ed0d50c3Schristos	* linker.c: Likewise.
8004*ed0d50c3Schristos	* mmo.c: Likewise.
8005*ed0d50c3Schristos	* oasys.c: Likewise.
8006*ed0d50c3Schristos
8007*ed0d50c3Schristos2002-06-23  H.J. Lu  <hjl@gnu.org>
8008*ed0d50c3Schristos
8009*ed0d50c3Schristos	* elflink.h (elf_link_add_archive_symbols): For the default
8010*ed0d50c3Schristos	version, check references with only one `@' first.
8011*ed0d50c3Schristos
8012*ed0d50c3Schristos2002-06-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8013*ed0d50c3Schristos
8014*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
8015*ed0d50c3Schristos	function.
8016*ed0d50c3Schristos	(allocate_global_data_dlt): Don't add millicode symbols to dynamic
8017*ed0d50c3Schristos	symbol table.
8018*ed0d50c3Schristos	(allocate_global_data_opd, allocate_dynrel_entries): Likewise.
8019*ed0d50c3Schristos	(elf64_hppa_size_dynamic_sections): Revise to use
8020*ed0d50c3Schristos	elf64_hppa_mark_milli_and_exported_functions.
8021*ed0d50c3Schristos	(elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
8022*ed0d50c3Schristos	symbols out of dynamic symbol table.
8023*ed0d50c3Schristos
8024*ed0d50c3Schristos2002-06-23  Alan Modra  <amodra@bigpond.net.au>
8025*ed0d50c3Schristos
8026*ed0d50c3Schristos	* Makefile.in: Regenerate.
8027*ed0d50c3Schristos	* libbfd.h: Regenerate.
8028*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
8029*ed0d50c3Schristos	* configure: Regenerate.
8030*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
8031*ed0d50c3Schristos
8032*ed0d50c3Schristos	* elflink.h: Comment typo fixes.
8033*ed0d50c3Schristos
8034*ed0d50c3Schristos2002-06-23  H.J. Lu  <hjl@gnu.org>
8035*ed0d50c3Schristos
8036*ed0d50c3Schristos	* elf-bfd.h (elf_link_loaded_list): New structure.
8037*ed0d50c3Schristos	(elf_link_hash_table): Add "loaded".
8038*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
8039*ed0d50c3Schristos	* elflink.h (elf_link_check_versioned_symbol): New function.
8040*ed0d50c3Schristos	(elf_link_output_extsym): Call elf_link_check_versioned_symbol.
8041*ed0d50c3Schristos
8042*ed0d50c3Schristos2002-06-19  Nick Clifton  <nickc@cambridge.redhat.com>
8043*ed0d50c3Schristos
8044*ed0d50c3Schristos	* elflink.h (size_dynamic_sections): If the target does not
8045*ed0d50c3Schristos	support an ELF style hash table, return true, indicating that
8046*ed0d50c3Schristos	nothing needed to be done, rather than false, indicating that the
8047*ed0d50c3Schristos	section's size could not be computed.
8048*ed0d50c3Schristos
8049*ed0d50c3Schristos2002-06-18  Dave Brolley  <brolley@redhat.com>
8050*ed0d50c3Schristos
8051*ed0d50c3Schristos	From Catherine Moore, Michael Meissner, Dave Brolley:
8052*ed0d50c3Schristos	* po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
8053*ed0d50c3Schristos	* targets.c: Support bfd_elf32_frv_vec.
8054*ed0d50c3Schristos	* reloc.c: Add FRV relocs.
8055*ed0d50c3Schristos	* configure.in: Add support for bfd-elf32-frv-vec.
8056*ed0d50c3Schristos	* config.bfd (targ_cpu): Add support for frv-*-elf.
8057*ed0d50c3Schristos	* archures.c: Add frv arch and machines.
8058*ed0d50c3Schristos	* Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
8059*ed0d50c3Schristos	(ALL_MACHINES_CFILES): Add cpu-frv.c.
8060*ed0d50c3Schristos	(BFD32_BACKENDS): Add elf32-frv.lo.
8061*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-frv.c
8062*ed0d50c3Schristos	(cpu-frv.lo): New target.
8063*ed0d50c3Schristos	(elf32-frv.lo): New target.
8064*ed0d50c3Schristos	* cpu-frv.c: New file.
8065*ed0d50c3Schristos	* elf32-frv.c: New file.
8066*ed0d50c3Schristos
8067*ed0d50c3Schristos2002-06-18  Jakub Jelinek  <jakub@redhat.com>
8068*ed0d50c3Schristos
8069*ed0d50c3Schristos	* elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
8070*ed0d50c3Schristos	e_shnum == 0.
8071*ed0d50c3Schristos	Only read the first section header if e_shoff is non-zero.
8072*ed0d50c3Schristos	Don't consider e_shstrndx if there are no sections.
8073*ed0d50c3Schristos
8074*ed0d50c3Schristos2002-06-17  Tom Rix <trix@redhat.com>
8075*ed0d50c3Schristos
8076*ed0d50c3Schristos	* elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
8077*ed0d50c3Schristos	R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
8078*ed0d50c3Schristos	complain_overflow_bitfield.
8079*ed0d50c3Schristos
8080*ed0d50c3Schristos2002-06-17  Alan Modra  <amodra@bigpond.net.au>
8081*ed0d50c3Schristos
8082*ed0d50c3Schristos	* opncls.c (bfd_openr): Remove redundant bfd_set_error.
8083*ed0d50c3Schristos	(bfd_fdopenr): Likewise.
8084*ed0d50c3Schristos	(bfd_openstreamr): Likewise.
8085*ed0d50c3Schristos	(bfd_openw): Likewise.
8086*ed0d50c3Schristos
8087*ed0d50c3Schristos	* targets.c: Sort target vecs.
8088*ed0d50c3Schristos	(_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
8089*ed0d50c3Schristos	bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
8090*ed0d50c3Schristos	bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
8091*ed0d50c3Schristos	bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
8092*ed0d50c3Schristos	* configure.in: Sort target vecs.  Add m88kmach3_vec.
8093*ed0d50c3Schristos	* configure: Regenerate.
8094*ed0d50c3Schristos
8095*ed0d50c3Schristos2002-06-16  Hans-Peter Nilsson  <hp@bitrange.com>
8096*ed0d50c3Schristos
8097*ed0d50c3Schristos	* elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
8098*ed0d50c3Schristos	bpo_reloc_no to break sort order ties, not address of items.
8099*ed0d50c3Schristos
8100*ed0d50c3Schristos2002-06-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8101*ed0d50c3Schristos
8102*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
8103*ed0d50c3Schristos	Skip excluded sections in determing __gp value.
8104*ed0d50c3Schristos	(elf_hppa_final_link_relocate): Use the symbol's address in
8105*ed0d50c3Schristos	R_PARISC_FPTR64 relocations that don't need an opd entry.
8106*ed0d50c3Schristos	* elf64-hppa.c (allocate_dynrel_entries): Simplify code.
8107*ed0d50c3Schristos	(elf64_hppa_finalize_dynreloc): Likewise.
8108*ed0d50c3Schristos	(elf64_hppa_size_dynamic_sections): Move comments and fix typo.
8109*ed0d50c3Schristos	(elf64_hppa_finish_dynamic_symbol): Break up assert.
8110*ed0d50c3Schristos
8111*ed0d50c3Schristos2002-06-14  Sergey Grigoriev  <serge@leopold.Physik.Uni-Augsburg.DE>
8112*ed0d50c3Schristos
8113*ed0d50c3Schristos	* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
8114*ed0d50c3Schristos	alignment for .bss, .data and .text sections so that sse and sse2
8115*ed0d50c3Schristos	code will work.
8116*ed0d50c3Schristos	* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
8117*ed0d50c3Schristos
8118*ed0d50c3Schristos2002-06013  J"orn Rennecke  <joern.rennecke@superh.com>
8119*ed0d50c3Schristos
8120*ed0d50c3Schristos	config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
8121*ed0d50c3Schristos	sh[1234]*-elf*.
8122*ed0d50c3Schristos
8123*ed0d50c3Schristos2002-06-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8124*ed0d50c3Schristos
8125*ed0d50c3Schristos	* elflink.h (elf_bfd_final_link): Improve error handling for missing
8126*ed0d50c3Schristos	dynamic sections.
8127*ed0d50c3Schristos
8128*ed0d50c3Schristos	* elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
8129*ed0d50c3Schristos	for a symbol that has no output section.
8130*ed0d50c3Schristos	(allocate_dynrel_entries): Correct comment.
8131*ed0d50c3Schristos	(elf64_hppa_finalize_dynreloc): Likewise.  Don't create an opd entry
8132*ed0d50c3Schristos	unless we want one.
8133*ed0d50c3Schristos	(elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
8134*ed0d50c3Schristos	(elf64_hppa_finalize_dlt): Likewise.  Prevent segfault for symbols
8135*ed0d50c3Schristos	with no section.  Remove unnecessary parentheses.
8136*ed0d50c3Schristos
8137*ed0d50c3Schristos2002-06-11  Tom Rix  <trix@redhat.com>
8138*ed0d50c3Schristos
8139*ed0d50c3Schristos	* coffcode.h (coff_compute_section_file_positions): Add data
8140*ed0d50c3Schristos	section to AIX loader alignment check.
8141*ed0d50c3Schristos
8142*ed0d50c3Schristos	* coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
8143*ed0d50c3Schristos	alignment to 4 bytes.
8144*ed0d50c3Schristos	(_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
8145*ed0d50c3Schristos	power accessor macro.
8146*ed0d50c3Schristos	(do_shared_object_padding): Remove invalid assertion.
8147*ed0d50c3Schristos
8148*ed0d50c3Schristos2002-06-10  Richard Sandiford  <rsandifo@redhat.com>
8149*ed0d50c3Schristos
8150*ed0d50c3Schristos	* section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
8151*ed0d50c3Schristos	for removed output sections.
8152*ed0d50c3Schristos
8153*ed0d50c3Schristos2002-06-10  Geoffrey Keating  <geoffk@redhat.com>
8154*ed0d50c3Schristos
8155*ed0d50c3Schristos	* merge.c (merge_strings): Use htab_create_alloc with calloc, not
8156*ed0d50c3Schristos	htab_alloc.
8157*ed0d50c3Schristos	* elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
8158*ed0d50c3Schristos
8159*ed0d50c3Schristos2002-06-08  H.J. Lu <hjl@gnu.org>
8160*ed0d50c3Schristos
8161*ed0d50c3Schristos	* elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
8162*ed0d50c3Schristos	work around a long long bug in gcc 2.96 on mips.
8163*ed0d50c3Schristos
8164*ed0d50c3Schristos2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
8165*ed0d50c3Schristos
8166*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
8167*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
8168*ed0d50c3Schristos	Regenerate dependency lists.
8169*ed0d50c3Schristos	* Makefile.in: Regenerate.
8170*ed0d50c3Schristos	* config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
8171*ed0d50c3Schristos	vax1knetbsd_vec to targ_selvecs.
8172*ed0d50c3Schristos	* configure.in: Add vax1knetbsd_vec.
8173*ed0d50c3Schristos	* configure: Regenerate.
8174*ed0d50c3Schristos	* targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
8175*ed0d50c3Schristos	* vax1knetbsd.c: New file.
8176*ed0d50c3Schristos	* vaxnetbsd.c: Update copyright years.
8177*ed0d50c3Schristos	(TARGET_PAGE_SIZE): Set to 0x1000.
8178*ed0d50c3Schristos	(DEFAULT_MID): Set to M_VAX4K_NETBSD.
8179*ed0d50c3Schristos
8180*ed0d50c3Schristos2002-06-08  Matt Thomas  <matt@3am-software.com>
8181*ed0d50c3Schristos
8182*ed0d50c3Schristos	* libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
8183*ed0d50c3Schristos
8184*ed0d50c3Schristos2002-06-08  Alan Modra  <amodra@bigpond.net.au>
8185*ed0d50c3Schristos
8186*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
8187*ed0d50c3Schristos
8188*ed0d50c3Schristos2002-06-08  Alan Modra  <amodra@bigpond.net.au>
8189*ed0d50c3Schristos
8190*ed0d50c3Schristos	* Makefile.am: Run "make dep-am".
8191*ed0d50c3Schristos	* Makefile.in: Regenerate.
8192*ed0d50c3Schristos
8193*ed0d50c3Schristos	* armnetbsd.c: Replace CONST with const.
8194*ed0d50c3Schristos	* corefile.c: Likewise.
8195*ed0d50c3Schristos	* elf32-dlx.c: Likewise.
8196*ed0d50c3Schristos	* elf64-mips.c: Likewise.
8197*ed0d50c3Schristos	* mmo.c: Likewise.
8198*ed0d50c3Schristos	* ns32knetbsd.c: Likewise.
8199*ed0d50c3Schristos
8200*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
8201*ed0d50c3Schristos	table is elf64-sparc.
8202*ed0d50c3Schristos
8203*ed0d50c3Schristos2002-06-08  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8204*ed0d50c3Schristos
8205*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
8206*ed0d50c3Schristos	Fix RELA addends to get not shifted in the result. Don't do special
8207*ed0d50c3Schristos	handling of R_MIPS_64 for NewABI.
8208*ed0d50c3Schristos
8209*ed0d50c3Schristos2002-06-07  Alan Modra  <amodra@bigpond.net.au>
8210*ed0d50c3Schristos
8211*ed0d50c3Schristos	* aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
8212*ed0d50c3Schristos	(NAME(aout,slurp_reloc_table)): Likewise.
8213*ed0d50c3Schristos	* coff-mips.c (mips_relax_section): Use bfd_zalloc.
8214*ed0d50c3Schristos	* coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
8215*ed0d50c3Schristos	(xcoff_write_archive_contents_big): Likewise.
8216*ed0d50c3Schristos	(xcoff_generate_rtinit): Likewise.
8217*ed0d50c3Schristos	(xcoff_generate_rtinit): Likewise, and check error return.
8218*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
8219*ed0d50c3Schristos	* coffgen.c (coff_section_symbol): Use bfd_zalloc.
8220*ed0d50c3Schristos	(coff_get_normalized_symtab): Likewise.
8221*ed0d50c3Schristos	(coff_make_empty_symbol): Likewise.
8222*ed0d50c3Schristos	(bfd_coff_set_symbol_class): Likewise.
8223*ed0d50c3Schristos	* cofflink.c (coff_link_add_symbols): Likewise.
8224*ed0d50c3Schristos	* ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
8225*ed0d50c3Schristos	* ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
8226*ed0d50c3Schristos	(bfd_ecoff_write_accumulated_debug): Likewise.
8227*ed0d50c3Schristos	* elf64-alpha.c (get_got_entry): Use bfd_zalloc.
8228*ed0d50c3Schristos	* i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
8229*ed0d50c3Schristos	* i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
8230*ed0d50c3Schristos	* ieee.c (do_with_relocs): Use bfd_zalloc.
8231*ed0d50c3Schristos	* m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
8232*ed0d50c3Schristos	* pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
8233*ed0d50c3Schristos	(NAME(aout,slurp_reloc_table)): Likewise.
8234*ed0d50c3Schristos	(NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
8235*ed0d50c3Schristos	* reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
8236*ed0d50c3Schristos	* som.c (som_build_and_write_symbol_table): Likewise.
8237*ed0d50c3Schristos	(som_slurp_string_table): Likewise.
8238*ed0d50c3Schristos	(som_slurp_symbol_table): Likewise.
8239*ed0d50c3Schristos	(som_bfd_ar_write_symbol_stuff): Likewise.
8240*ed0d50c3Schristos	* sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
8241*ed0d50c3Schristos	* sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
8242*ed0d50c3Schristos	* tekhex.c (find_chunk): Likewise.  Get rid of unused "sname".
8243*ed0d50c3Schristos	* vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
8244*ed0d50c3Schristos	* xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
8245*ed0d50c3Schristos
8246*ed0d50c3Schristos2002-06-07  Alan Modra  <amodra@bigpond.net.au>
8247*ed0d50c3Schristos
8248*ed0d50c3Schristos	* elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
8249*ed0d50c3Schristos	"group" union.
8250*ed0d50c3Schristos	(elf_group_name): Update.
8251*ed0d50c3Schristos	(elf_group_id): Define.
8252*ed0d50c3Schristos	(bfd_elf_set_group_contents): Declare.
8253*ed0d50c3Schristos	* elf.c (elf_fake_sections): Qualify use of elf_group_name.
8254*ed0d50c3Schristos	(set_group_contents): Rename to bfd_elf_set_group_contents.  Remove
8255*ed0d50c3Schristos	ATTRIBUTE_UNUSED from failedptrarg.  If elf_group_id is set, use
8256*ed0d50c3Schristos	that sym for the signature.
8257*ed0d50c3Schristos	(_bfd_elf_compute_section_file_positions): Don't call
8258*ed0d50c3Schristos	set_group_contents for "ld -r" case.
8259*ed0d50c3Schristos	(swap_out_syms): Use bfd_zalloc.
8260*ed0d50c3Schristos	* elflink.h (elf_link_add_archive_symbols): Likewise.
8261*ed0d50c3Schristos	(NAME(bfd_elf,size_dynamic_sections)): Likewise.
8262*ed0d50c3Schristos	(elf_bfd_final_link): Call bfd_elf_set_group_contents.
8263*ed0d50c3Schristos
8264*ed0d50c3Schristos2002-06-07  Alan Modra  <amodra@bigpond.net.au>
8265*ed0d50c3Schristos
8266*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
8267*ed0d50c3Schristos	relocs in opd for non-shared too.
8268*ed0d50c3Schristos
8269*ed0d50c3Schristos2002-06-06  Jeffrey Law  <law@redhat.com>
8270*ed0d50c3Schristos
8271*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
8272*ed0d50c3Schristos	relocations.
8273*ed0d50c3Schristos
8274*ed0d50c3Schristos2002-06-06  Nick Clifton  <nickc@cambridge.redhat.com>
8275*ed0d50c3Schristos
8276*ed0d50c3Schristos	* merge.c: Include libiberty.h.
8277*ed0d50c3Schristos	* elf-strtab.c: Include libiberty.h.
8278*ed0d50c3Schristos
8279*ed0d50c3Schristos2002-06-06  Elias Athanasopoulos  <eathan@otenet.gr>
8280*ed0d50c3Schristos
8281*ed0d50c3Schristos	* peXXigen.c (pe_print_idata): Remove unused variable.
8282*ed0d50c3Schristos
8283*ed0d50c3Schristos2002-06-06  David Heine <dlheine@tensilica.com>
8284*ed0d50c3Schristos
8285*ed0d50c3Schristos	* elf.c (assign_file_positions_for_segments): Remove unallocated
8286*ed0d50c3Schristos	sections from the section to segment mapping for PT_LOAD segments.
8287*ed0d50c3Schristos	Update comment about empty loadable segments.
8288*ed0d50c3Schristos
8289*ed0d50c3Schristos2002-06-06  Richard Sandiford  <rsandifo@redhat.com>
8290*ed0d50c3Schristos
8291*ed0d50c3Schristos	* stabs.c (_bfd_link_section_stabs): Check that the symbol offset
8292*ed0d50c3Schristos	is within the .stabstr section.
8293*ed0d50c3Schristos
8294*ed0d50c3Schristos2002-06-06  Alan Modra  <amodra@bigpond.net.au>
8295*ed0d50c3Schristos
8296*ed0d50c3Schristos	* elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
8297*ed0d50c3Schristos	are "const PTR", not "const PTR *".
8298*ed0d50c3Schristos	(bfd_elf32_swap_symbol_in): Likewise.
8299*ed0d50c3Schristos	(bfd_elf64_swap_symbol_in): Likewise.
8300*ed0d50c3Schristos	* elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
8301*ed0d50c3Schristos	(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
8302*ed0d50c3Schristos	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
8303*ed0d50c3Schristos	(elf_link_add_object_symbols): Likewise.
8304*ed0d50c3Schristos	(elf_link_record_local_dynamic_symbol): Likewise.
8305*ed0d50c3Schristos	(elf_link_input_bfd): Likewise.
8306*ed0d50c3Schristos	(elf_gc_mark): Likewise.
8307*ed0d50c3Schristos	(elf_reloc_symbol_deleted_p): Likewise.
8308*ed0d50c3Schristos	* elf-m10200.c (mn10200_elf_relax_section): Likewise.
8309*ed0d50c3Schristos	(mn10200_elf_relax_delete_bytes): Likewise.
8310*ed0d50c3Schristos	(mn10200_elf_symbol_address_p): Likewise.
8311*ed0d50c3Schristos	(mn10200_elf_get_relocated_section_contents): Likewise.
8312*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relax_section): Likewise.
8313*ed0d50c3Schristos	(mn10300_elf_relax_section): Likewise.
8314*ed0d50c3Schristos	(mn10300_elf_relax_delete_bytes): Likewise.
8315*ed0d50c3Schristos	(mn10300_elf_symbol_address_p): Likewise.
8316*ed0d50c3Schristos	(mn10300_elf_get_relocated_section_contents): Likewise.
8317*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
8318*ed0d50c3Schristos	(elf32_h8_relax_delete_bytes): Likewise.
8319*ed0d50c3Schristos	(elf32_h8_symbol_address_p): Likewise.
8320*ed0d50c3Schristos	(elf32_h8_get_relocated_section_contents): Likewise.
8321*ed0d50c3Schristos	* elf32-hppa.c (get_local_syms): Likewise.
8322*ed0d50c3Schristos	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
8323*ed0d50c3Schristos	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
8324*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relax_section): Likewise.
8325*ed0d50c3Schristos	(sh_elf_relax_delete_bytes): Likewise.
8326*ed0d50c3Schristos	(sh_elf_get_relocated_section_contents): Likewise.
8327*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
8328*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
8329*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
8330*ed0d50c3Schristos	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
8331*ed0d50c3Schristos	* elf64-ppc.c (get_local_syms): Likewise.
8332*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
8333*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
8334*ed0d50c3Schristos
8335*ed0d50c3Schristos2002-06-05  J"orn Rennecke <joern.rennecke@superh.com>
8336*ed0d50c3Schristos
8337*ed0d50c3Schristos	* config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
8338*ed0d50c3Schristos
8339*ed0d50c3Schristos2002-06-05  Alan Modra  <amodra@bigpond.net.au>
8340*ed0d50c3Schristos
8341*ed0d50c3Schristos	* elf.c (group_signature): Swap in the whole symbol, and handle
8342*ed0d50c3Schristos	extracting section symbol names.
8343*ed0d50c3Schristos	(setup_group): Add comment.
8344*ed0d50c3Schristos	(set_group_contents): When called from objcopy or ld, arrange for
8345*ed0d50c3Schristos	section contents to be written.  Write group member output section
8346*ed0d50c3Schristos	indices to allow objcopy to reorganize sections.
8347*ed0d50c3Schristos	(_bfd_elf_copy_private_section_data): Copy group info.
8348*ed0d50c3Schristos
8349*ed0d50c3Schristos	* elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
8350*ed0d50c3Schristos	(bfd_elf32_swap_symbol_in): Update prototype.
8351*ed0d50c3Schristos	(bfd_elf64_swap_symbol_in): Likewise.
8352*ed0d50c3Schristos	* elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
8353*ed0d50c3Schristos	(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
8354*ed0d50c3Schristos	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
8355*ed0d50c3Schristos	(elf_link_add_object_symbols): Likewise.
8356*ed0d50c3Schristos	(elf_link_record_local_dynamic_symbol): Likewise.
8357*ed0d50c3Schristos	(elf_link_input_bfd): Likewise.
8358*ed0d50c3Schristos	(elf_gc_mark): Likewise.
8359*ed0d50c3Schristos	(elf_reloc_symbol_deleted_p): Likewise.
8360*ed0d50c3Schristos	* elf-m10200.c (mn10200_elf_relax_section): Likewise.
8361*ed0d50c3Schristos	(mn10200_elf_relax_delete_bytes): Likewise.
8362*ed0d50c3Schristos	(mn10200_elf_symbol_address_p): Likewise.
8363*ed0d50c3Schristos	(mn10200_elf_get_relocated_section_contents): Likewise.
8364*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relax_section): Likewise.
8365*ed0d50c3Schristos	(mn10300_elf_relax_section): Likewise.
8366*ed0d50c3Schristos	(mn10300_elf_relax_delete_bytes): Likewise.
8367*ed0d50c3Schristos	(mn10300_elf_symbol_address_p): Likewise.
8368*ed0d50c3Schristos	(mn10300_elf_get_relocated_section_contents): Likewise.
8369*ed0d50c3Schristos	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
8370*ed0d50c3Schristos	(elf32_h8_relax_delete_bytes): Likewise.
8371*ed0d50c3Schristos	(elf32_h8_symbol_address_p): Likewise.
8372*ed0d50c3Schristos	(elf32_h8_get_relocated_section_contents): Likewise.
8373*ed0d50c3Schristos	* elf32-hppa.c (get_local_syms): Likewise.
8374*ed0d50c3Schristos	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
8375*ed0d50c3Schristos	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
8376*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relax_section): Likewise.
8377*ed0d50c3Schristos	(sh_elf_relax_delete_bytes): Likewise.
8378*ed0d50c3Schristos	(sh_elf_get_relocated_section_contents): Likewise.
8379*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
8380*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
8381*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
8382*ed0d50c3Schristos	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
8383*ed0d50c3Schristos	* elf64-ppc.c (get_local_syms): Likewise.
8384*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
8385*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
8386*ed0d50c3Schristos	* elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
8387*ed0d50c3Schristos	* elf64-alpha.c (alpha_elf_size_info): Likewise.
8388*ed0d50c3Schristos	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
8389*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_size_info): Likewise.
8390*ed0d50c3Schristos	* elf64-s390.c (s390_elf64_size_info): Likewise.
8391*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
8392*ed0d50c3Schristos
8393*ed0d50c3Schristos2002-06-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
8394*ed0d50c3Schristos
8395*ed0d50c3Schristos	* elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
8396*ed0d50c3Schristos	elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
8397*ed0d50c3Schristos	elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
8398*ed0d50c3Schristos	_bfd_mips_elf_ignore_discarded_relocs.
8399*ed0d50c3Schristos	elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
8400*ed0d50c3Schristos
8401*ed0d50c3Schristos2002-06-05  H.J. Lu <hjl@gnu.org>
8402*ed0d50c3Schristos
8403*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Call
8404*ed0d50c3Schristos	_bfd_elf_rel_local_sym for STT_SECTION relocations against
8405*ed0d50c3Schristos	the SEC_MERGE section.
8406*ed0d50c3Schristos
8407*ed0d50c3Schristos2002-06-05  Alan Modra  <amodra@bigpond.net.au>
8408*ed0d50c3Schristos
8409*ed0d50c3Schristos	* coff-alpha.c: Update copyright date.
8410*ed0d50c3Schristos	* coff-mips.c: Likewise.
8411*ed0d50c3Schristos	* xcoff-target.h: Likewise.
8412*ed0d50c3Schristos
8413*ed0d50c3Schristos	* bfd-in.h: Remove "taken from the source" comment.
8414*ed0d50c3Schristos	* libbfd-in.h: Likewise.
8415*ed0d50c3Schristos	* libcoff-in.h: Likewise.
8416*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
8417*ed0d50c3Schristos	* libbfd.h: Regenerate.
8418*ed0d50c3Schristos	* libcoff.h: Regenerate.
8419*ed0d50c3Schristos
8420*ed0d50c3Schristos	* elf.c (bfd_elf_discard_group): Return true.
8421*ed0d50c3Schristos	* elf-bfd.h (bfd_elf_discard_group): Declare.
8422*ed0d50c3Schristos	* bfd-in.h (bfd_elf_discard_group): Don't declare here.
8423*ed0d50c3Schristos	* section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
8424*ed0d50c3Schristos	* bfd.c (bfd_discard_group): Define.
8425*ed0d50c3Schristos	* targets.c (struct bfd_target): Add _bfd_discard_group.
8426*ed0d50c3Schristos	(BFD_JUMP_TABLE_LINK): Here too.
8427*ed0d50c3Schristos	* libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
8428*ed0d50c3Schristos	* aout-adobe.c (aout_32_bfd_discard_group): Define.
8429*ed0d50c3Schristos	* aout-target.h (MY_bfd_discard_group): Define.
8430*ed0d50c3Schristos	* aout-tic30.c (MY_bfd_discard_group): Define.
8431*ed0d50c3Schristos	* binary.c (binary_bfd_discard_group): Define.
8432*ed0d50c3Schristos	* bout.c (b_out_bfd_discard_group): Define.
8433*ed0d50c3Schristos	* coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
8434*ed0d50c3Schristos	* coffcode.h (coff_bfd_discard_group): Define.
8435*ed0d50c3Schristos	* coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
8436*ed0d50c3Schristos	* elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
8437*ed0d50c3Schristos	* i386msdos.c (msdos_bfd_discard_group): Define.
8438*ed0d50c3Schristos	* i386os9k.c (os9k_bfd_discard_group): Define.
8439*ed0d50c3Schristos	* ieee.c (ieee_bfd_discard_group): Define.
8440*ed0d50c3Schristos	* ihex.c (ihex_bfd_discard_group): Define.
8441*ed0d50c3Schristos	* mmo.c (mmo_bfd_discard_group): Define.
8442*ed0d50c3Schristos	* nlm-target.h (nlm_bfd_discard_group): Define.
8443*ed0d50c3Schristos	* oasys.c (oasys_bfd_discard_group): Define.
8444*ed0d50c3Schristos	* ppcboot.c (ppcboot_bfd_discard_group): Define.
8445*ed0d50c3Schristos	* som.c (som_bfd_discard_group): Define.
8446*ed0d50c3Schristos	* srec.c (srec_bfd_discard_group): Define.
8447*ed0d50c3Schristos	* tekhex.c (tekhex_bfd_discard_group): Define.
8448*ed0d50c3Schristos	* versados.c (versados_bfd_discard_group): Define.
8449*ed0d50c3Schristos	* vms.c (vms_bfd_discard_group): Define.
8450*ed0d50c3Schristos	* xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
8451*ed0d50c3Schristos	* coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
8452*ed0d50c3Schristos	(aix5coff64_vec): Likewise.
8453*ed0d50c3Schristos	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
8454*ed0d50c3Schristos
8455*ed0d50c3Schristos2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
8456*ed0d50c3Schristos
8457*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
8458*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
8459*ed0d50c3Schristos	(elf32-sh64-com.lo): New dependency list.
8460*ed0d50c3Schristos	* Makefile.in: Regenerate.
8461*ed0d50c3Schristos	* configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
8462*ed0d50c3Schristos	(bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
8463*ed0d50c3Schristos	elf32-sh64-com.lo.
8464*ed0d50c3Schristos	* configure: Regenerate.
8465*ed0d50c3Schristos	* elf32-sh64.c (sh64_address_in_cranges)
8466*ed0d50c3Schristos	(sh64_get_contents_type, sh64_address_is_shmedia): Move to...
8467*ed0d50c3Schristos	(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
8468*ed0d50c3Schristos	(crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
8469*ed0d50c3Schristos	* elf32-sh64-com.c: ...here.  New file.
8470*ed0d50c3Schristos
8471*ed0d50c3Schristos2002-06-04  Alan Modra  <amodra@bigpond.net.au>
8472*ed0d50c3Schristos
8473*ed0d50c3Schristos	* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
8474*ed0d50c3Schristos	ATTRIBUTE_UNUSED on used params.
8475*ed0d50c3Schristos	* elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
8476*ed0d50c3Schristos	before calling bfd_section_from_elf_index on local syms.
8477*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
8478*ed0d50c3Schristos
8479*ed0d50c3Schristos2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
8480*ed0d50c3Schristos
8481*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
8482*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
8483*ed0d50c3Schristos	(BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
8484*ed0d50c3Schristos	(BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
8485*ed0d50c3Schristos	(elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
8486*ed0d50c3Schristos	* Makefile.in: Regenerate.
8487*ed0d50c3Schristos	* config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
8488*ed0d50c3Schristos	(sh64-*-netbsd*): New targets.
8489*ed0d50c3Schristos	* configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
8490*ed0d50c3Schristos	bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
8491*ed0d50c3Schristos	* configure: Regenerate.
8492*ed0d50c3Schristos	* elf32-sh64-nbsd.c: New file.
8493*ed0d50c3Schristos	* elf64-sh64-nbsd.c: New file.
8494*ed0d50c3Schristos	* targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
8495*ed0d50c3Schristos	bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
8496*ed0d50c3Schristos	bfd_elf64_sh64lnbsd_vec.
8497*ed0d50c3Schristos
8498*ed0d50c3Schristos2002-06-04  Alan Modra  <amodra@bigpond.net.au>
8499*ed0d50c3Schristos
8500*ed0d50c3Schristos	* elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
8501*ed0d50c3Schristos	(bfd_section_from_shdr): Likewise.  Set section name of group
8502*ed0d50c3Schristos	sections from signature.
8503*ed0d50c3Schristos	(group_signature): Split out from setup_group.  Ensure symbol table
8504*ed0d50c3Schristos	is available.
8505*ed0d50c3Schristos	(bfd_elf_discard_group): New function.
8506*ed0d50c3Schristos	(_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
8507*ed0d50c3Schristos	.gnu.linkonce* sections if they are members of a group.
8508*ed0d50c3Schristos	(set_group_contents): Set GRP_COMDAT flag.
8509*ed0d50c3Schristos	* section.c (bfd_discard_group): New function.
8510*ed0d50c3Schristos	* bfd-in.h (bfd_elf_discard_group): Declare.
8511*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
8512*ed0d50c3Schristos	* elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
8513*ed0d50c3Schristos	(elf_linkonce_p): Define.
8514*ed0d50c3Schristos
8515*ed0d50c3Schristos2002-06-04  Alan Modra  <amodra@bigpond.net.au>
8516*ed0d50c3Schristos
8517*ed0d50c3Schristos	* elf.c (bfd_section_from_shdr): Make "name" const.
8518*ed0d50c3Schristos	* elf-bfd.h (elf_backend_section_from_shdr): Likewise.
8519*ed0d50c3Schristos	* elf32-i370.c (i370_elf_section_from_shdr): Likewise.
8520*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
8521*ed0d50c3Schristos	* elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
8522*ed0d50c3Schristos	* elf32-v850.c (v850_elf_section_from_shdr): Likewise.
8523*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
8524*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
8525*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
8526*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
8527*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
8528*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
8529*ed0d50c3Schristos
8530*ed0d50c3Schristos2002-06-03  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
8531*ed0d50c3Schristos
8532*ed0d50c3Schristos	* elfxx-mips.c (ABI_64_P): Use backend's data to determine the
8533*ed0d50c3Schristos	ABI.
8534*ed0d50c3Schristos
8535*ed0d50c3Schristos2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
8536*ed0d50c3Schristos
8537*ed0d50c3Schristos	* elf32-arc.c: Fix formatting.
8538*ed0d50c3Schristos	* elf32-arm.h: Likewise.
8539*ed0d50c3Schristos	* elf32-cris.c: Likewise.
8540*ed0d50c3Schristos	* elf32-dlx.c: Likewise.
8541*ed0d50c3Schristos	* elf32-hppa.c: Likewise.
8542*ed0d50c3Schristos	* elf32-i386.c: Likewise.
8543*ed0d50c3Schristos	* elf32-i386qnx.c: Likewise.
8544*ed0d50c3Schristos	* elf32-or32.c: Likewise.
8545*ed0d50c3Schristos	* elf32-s390.c: Likewise.
8546*ed0d50c3Schristos	* elf32-sh64.c: Likewise.
8547*ed0d50c3Schristos	* elf32-vax.c: Likewise.
8548*ed0d50c3Schristos	* elf32-xstormy16.c: Likewise.
8549*ed0d50c3Schristos	* elf64-alpha.c: Likewise.
8550*ed0d50c3Schristos	* elf64-mmix.c: Likewise.
8551*ed0d50c3Schristos	* elf64-ppc.c: Likewise.
8552*ed0d50c3Schristos	* elf64-s390.c: Likewise.
8553*ed0d50c3Schristos	* elf64-sh64.c: Likewise.
8554*ed0d50c3Schristos	* elf64-x86-64.c: Likewise.
8555*ed0d50c3Schristos
8556*ed0d50c3Schristos2002-06-02  Richard Henderson  <rth@redhat.com>
8557*ed0d50c3Schristos
8558*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
8559*ed0d50c3Schristos	null when there are no got entries for a symbol.
8560*ed0d50c3Schristos	(elf64_alpha_relax_find_tls_segment): Rearrange to avoid
8561*ed0d50c3Schristos	uninitialized variable warning.
8562*ed0d50c3Schristos
8563*ed0d50c3Schristos2002-06-01  Richard Henderson  <rth@redhat.com>
8564*ed0d50c3Schristos
8565*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
8566*ed0d50c3Schristos	undefined symbols here.
8567*ed0d50c3Schristos	(elf64_alpha_relax_section): Do it here.  Also test for not
8568*ed0d50c3Schristos	defined in the current module.
8569*ed0d50c3Schristos	(elf64_alpha_relocate_section_r): Split out of ...
8570*ed0d50c3Schristos	(elf64_alpha_relocate_section): ... here.  Don't dereference
8571*ed0d50c3Schristos	NULL when looking up local got entries.
8572*ed0d50c3Schristos
8573*ed0d50c3Schristos2002-06-01  Richard Henderson  <rth@redhat.com>
8574*ed0d50c3Schristos
8575*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
8576*ed0d50c3Schristos	symbols from JSR relaxation.
8577*ed0d50c3Schristos	(elf64_alpha_size_plt_section_1): New.
8578*ed0d50c3Schristos	(elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
8579*ed0d50c3Schristos	(elf64_alpha_size_rela_got_1): ... here.
8580*ed0d50c3Schristos	(elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
8581*ed0d50c3Schristos	(elf64_alpha_size_rela_got_section): ... here.
8582*ed0d50c3Schristos	(elf64_alpha_size_plt_section): New.
8583*ed0d50c3Schristos	(elf64_alpha_relax_section): Call them.
8584*ed0d50c3Schristos	(elf64_alpha_size_got_sections): Remove output_bfd arg.
8585*ed0d50c3Schristos	(elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
8586*ed0d50c3Schristos
8587*ed0d50c3Schristos2002-06-01  Richard Henderson  <rth@redhat.com>
8588*ed0d50c3Schristos
8589*ed0d50c3Schristos	* elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
8590*ed0d50c3Schristos	(elf64_alpha_relocate_section): Use them.  Reject LE TLS relocs
8591*ed0d50c3Schristos	in shared libraries.  Fix DTPRELHI and TPRELHI value.
8592*ed0d50c3Schristos	(INSN_ADDQ, INSN_RDUNIQ): New.
8593*ed0d50c3Schristos	(struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
8594*ed0d50c3Schristos	(elf64_alpha_relax_with_lituse): Return boolean.  Remove irelend
8595*ed0d50c3Schristos	argument.  Reject dynamic symbols.  Use LITUSE symbolic constants.
8596*ed0d50c3Schristos	(elf64_alpha_relax_got_load): Rename from relax_without_lituse.
8597*ed0d50c3Schristos	Handle GOTDTPREL and GOTTPREL relocations.
8598*ed0d50c3Schristos	(elf64_alpha_relax_gprelhilo): New.
8599*ed0d50c3Schristos	(elf64_alpha_relax_tls_get_addr): New.
8600*ed0d50c3Schristos	(elf64_alpha_relax_find_tls_segment): New.
8601*ed0d50c3Schristos	(elf64_alpha_relax_section): Handle TLS relocations.
8602*ed0d50c3Schristos	(ALPHA_ELF_LINK_HASH_TLS_IE): New.
8603*ed0d50c3Schristos	(elf64_alpha_check_relocs): Set it.
8604*ed0d50c3Schristos
8605*ed0d50c3Schristos2002-06-01  Richard Henderson  <rth@redhat.com>
8606*ed0d50c3Schristos
8607*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
8608*ed0d50c3Schristos
8609*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
8610*ed0d50c3Schristos	check; don't suppress dynamic relocs for non-allocated sections.
8611*ed0d50c3Schristos
8612*ed0d50c3Schristos	* elf64-alpha.c: Remove dead code.
8613*ed0d50c3Schristos
8614*ed0d50c3Schristos2002-05-31  Alan Modra  <amodra@bigpond.net.au>
8615*ed0d50c3Schristos
8616*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
8617*ed0d50c3Schristos	* libbfd.h: Regenerate.
8618*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
8619*ed0d50c3Schristos
8620*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
8621*ed0d50c3Schristos	space for bss .plt.
8622*ed0d50c3Schristos
8623*ed0d50c3Schristos2002-05-31  Graeme Peterson  <gp@qnx.com>
8624*ed0d50c3Schristos
8625*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
8626*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
8627*ed0d50c3Schristos	Run "make dep-am".
8628*ed0d50c3Schristos	* Makefile.in: Regenerate.
8629*ed0d50c3Schristos	* config.bfd: Add i[3456]86-*-nto-qnx* support.
8630*ed0d50c3Schristos	* configure.in: Add bfd_elf32_i386qnx_vec support.
8631*ed0d50c3Schristos	* configure: Regenerate.
8632*ed0d50c3Schristos	* elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
8633*ed0d50c3Schristos	is_contained_by_filepos, and copy_private_bfd_data_p.
8634*ed0d50c3Schristos	* elf.c (assign_file_positions_for_segments): Call backend
8635*ed0d50c3Schristos	set_nonloadable_filepos.  Fix non-K&R call to _bfd_error_handler.
8636*ed0d50c3Schristos	(IS_CONTAINED_BY_FILEPOS): Define.
8637*ed0d50c3Schristos	(INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
8638*ed0d50c3Schristos	(copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS.  Typo fix.
8639*ed0d50c3Schristos	Fix non-K&R call to _bfd_error_handler.
8640*ed0d50c3Schristos	(_bfd_elf_copy_private_section_data): Use backend
8641*ed0d50c3Schristos	copy_private_bfd_data_p.
8642*ed0d50c3Schristos	* elf32-i386.c: Don't include elfxx-target.h when
8643*ed0d50c3Schristos	ELF32_I386_C_INCLUDED is defined.
8644*ed0d50c3Schristos	* elf32-i386qnx.c: New QNX elf backend file.
8645*ed0d50c3Schristos	* elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
8646*ed0d50c3Schristos	elf_backend_is_contained_by_filepos, and
8647*ed0d50c3Schristos	elf_backend_do_copy_private_bfd_data.
8648*ed0d50c3Schristos	* targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
8649*ed0d50c3Schristos
8650*ed0d50c3Schristos2002-05-31  Alan Modra  <amodra@bigpond.net.au>
8651*ed0d50c3Schristos
8652*ed0d50c3Schristos	* elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
8653*ed0d50c3Schristos	Move other similar defines to start of file.
8654*ed0d50c3Schristos
8655*ed0d50c3Schristos2002-05-30  Tom Rix  <trix@redhat.com>
8656*ed0d50c3Schristos
8657*ed0d50c3Schristos	* coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
8658*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_rtype2howto): Same.
8659*ed0d50c3Schristos
8660*ed0d50c3Schristos2002-05-30  Richard Henderson  <rth@redhat.com>
8661*ed0d50c3Schristos
8662*ed0d50c3Schristos	* elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
8663*ed0d50c3Schristos	ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
8664*ed0d50c3Schristos	(ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
8665*ed0d50c3Schristos	(ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
8666*ed0d50c3Schristos	(struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
8667*ed0d50c3Schristos	(struct alpha_elf_obj_tdata): Rename total_got_entries and
8668*ed0d50c3Schristos	n_local_got_entries to total_got_size and local_got_size.
8669*ed0d50c3Schristos	(elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
8670*ed0d50c3Schristos	(alpha_got_entry_size): New.
8671*ed0d50c3Schristos	(elf64_alpha_relax_with_lituse): Use it.
8672*ed0d50c3Schristos	(elf64_alpha_relax_without_lituse): Likewise.
8673*ed0d50c3Schristos	(MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
8674*ed0d50c3Schristos	(get_got_entry): New.
8675*ed0d50c3Schristos	(elf64_alpha_check_relocs): Handle TLS relocs.  Reorganize.
8676*ed0d50c3Schristos	(elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
8677*ed0d50c3Schristos	(elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
8678*ed0d50c3Schristos	(elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
8679*ed0d50c3Schristos	(elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
8680*ed0d50c3Schristos	(elf64_alpha_calc_got_offsets): Likewise.
8681*ed0d50c3Schristos	(alpha_dynamic_entries_for_reloc): New.
8682*ed0d50c3Schristos	(elf64_alpha_calc_dynrel_sizes): Use it.
8683*ed0d50c3Schristos	(elf64_alpha_size_dynamic_sections): Likewise.
8684*ed0d50c3Schristos	(elf64_alpha_relocate_section): Handle TLS relocations.
8685*ed0d50c3Schristos	* reloc.c: Add Alpha TLS relocations.
8686*ed0d50c3Schristos	* bfd-in2.h, libbfd.h: Rebuild.
8687*ed0d50c3Schristos
8688*ed0d50c3Schristos2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
8689*ed0d50c3Schristos
8690*ed0d50c3Schristos	* peXXigen.c (pe_print_idata): Remove double printed
8691*ed0d50c3Schristos	import table lines; add Bound-To comment.
8692*ed0d50c3Schristos
8693*ed0d50c3Schristos2002-05-29  Matt Thomas  <matt@3am-software.com>
8694*ed0d50c3Schristos
8695*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
8696*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-vax.c.
8697*ed0d50c3Schristos	(elf32-vax.lo): New rule.
8698*ed0d50c3Schristos	* Makefile.in: Regenerate.
8699*ed0d50c3Schristos	* configure.in (bfd_elf32_vax_vec)
8700*ed0d50c3Schristos	(vaxnetbsd_vec): New vectors.
8701*ed0d50c3Schristos	* configure: Regenerate.
8702*ed0d50c3Schristos	* config.bfd (vax-*-netbsdelf*)
8703*ed0d50c3Schristos	(vax-*-netbsdaout*)
8704*ed0d50c3Schristos	(vax-*-netbsd*): New targets.
8705*ed0d50c3Schristos	* elf32-vax.c: New file.
8706*ed0d50c3Schristos	* reloc.c: Add VAX relocations.
8707*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
8708*ed0d50c3Schristos	* targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
8709*ed0d50c3Schristos
8710*ed0d50c3Schristos2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
8711*ed0d50c3Schristos
8712*ed0d50c3Schristos	* config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
8713*ed0d50c3Schristos	and bfd_elf32_bigarm_vec to targ_selvecs.
8714*ed0d50c3Schristos
8715*ed0d50c3Schristos2002-05-29  Ralf Habacker  <ralf.habacker@freenet.de>
8716*ed0d50c3Schristos
8717*ed0d50c3Schristos	* peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
8718*ed0d50c3Schristos	with auto-imported symbols.
8719*ed0d50c3Schristos
8720*ed0d50c3Schristos2002-05-29  Adam Nemet  <anemet@lnxw.com>
8721*ed0d50c3Schristos
8722*ed0d50c3Schristos	* elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
8723*ed0d50c3Schristos	sections only record bfd.
8724*ed0d50c3Schristos	(bfd_elf32_arm_add_glue_sections_to_bfd): New function.
8725*ed0d50c3Schristos	* bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
8726*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
8727*ed0d50c3Schristos
8728*ed0d50c3Schristos2002-05-28  Nick Clifton  <nickc@cambridge.redhat.com>
8729*ed0d50c3Schristos
8730*ed0d50c3Schristos	* syms.c (_bfd_stab_section_find_nearest_line): Move
8731*ed0d50c3Schristos	declaration and initialisation of saw_line and saw_func out of
8732*ed0d50c3Schristos	for loop.
8733*ed0d50c3Schristos
8734*ed0d50c3Schristos2002-05-29  Alan Modra  <amodra@bigpond.net.au>
8735*ed0d50c3Schristos
8736*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
8737*ed0d50c3Schristos	(bfd_elf64_get_symbol_info): Define.
8738*ed0d50c3Schristos	* elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
8739*ed0d50c3Schristos
8740*ed0d50c3Schristos2002-05-29  Andrey Volkov  <avolkov@transas.com>
8741*ed0d50c3Schristos
8742*ed0d50c3Schristos	* cpu-h8300.c: Make default h8300 machine first in machine list.
8743*ed0d50c3Schristos
8744*ed0d50c3Schristos2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
8745*ed0d50c3Schristos
8746*ed0d50c3Schristos	* config.bfd: Added DLX configuraton.
8747*ed0d50c3Schristos	* Makefile.am: Added DLX configuraton.
8748*ed0d50c3Schristos	* configure.in: Added DLX configuraton.
8749*ed0d50c3Schristos	* archures.c: Add DLX architecture.
8750*ed0d50c3Schristos	* reloc.c: Add DLX relocs.
8751*ed0d50c3Schristos	* targets.c: Added DLX target vector.
8752*ed0d50c3Schristos	* configure: Regenerate.
8753*ed0d50c3Schristos	* Makefile.in: Regenreate.
8754*ed0d50c3Schristos	* bfd-in2.h: Regenreate.
8755*ed0d50c3Schristos	* elf32-dlx.c: New file: Support DLX target.
8756*ed0d50c3Schristos	* cpu-dlx.c: New file: Support DLX target.
8757*ed0d50c3Schristos
8758*ed0d50c3Schristos2002-05-25  Alan Modra  <amodra@bigpond.net.au>
8759*ed0d50c3Schristos
8760*ed0d50c3Schristos	* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
8761*ed0d50c3Schristos
8762*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
8763*ed0d50c3Schristos	(ppc64_elf_check_relocs): Don't set up function descriptor symbol
8764*ed0d50c3Schristos	strings to point inside function code sym string.
8765*ed0d50c3Schristos	(func_desc_adjust): Likewise.
8766*ed0d50c3Schristos	(ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
8767*ed0d50c3Schristos
8768*ed0d50c3Schristos2002-05-24  Michal Ludvig  <mludvig@suse.cz>
8769*ed0d50c3Schristos
8770*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
8771*ed0d50c3Schristos	(elf64_x86_64_grok_psinfo): Added.
8772*ed0d50c3Schristos
8773*ed0d50c3Schristos2002-05-24  TAMURA Kent <kent@netbsd.org>
8774*ed0d50c3Schristos
8775*ed0d50c3Schristos	* config.bfd: Add a target for i386-netbsdpe.
8776*ed0d50c3Schristos
8777*ed0d50c3Schristos2002-05-24  Alan Modra  <amodra@bigpond.net.au>
8778*ed0d50c3Schristos
8779*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
8780*ed0d50c3Schristos	and is_func_descriptor.
8781*ed0d50c3Schristos	(func_desc_adjust): Hide function code sym in shared libs unless
8782*ed0d50c3Schristos	there is a matching exported function descriptor sym.
8783*ed0d50c3Schristos
8784*ed0d50c3Schristos2002-05-23  Jakub Jelinek  <jakub@redhat.com>
8785*ed0d50c3Schristos
8786*ed0d50c3Schristos	* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
8787*ed0d50c3Schristos	for symbols from SHF_TLS section.
8788*ed0d50c3Schristos	(_bfd_elf_print_private_bfd_data): Add PT_TLS.
8789*ed0d50c3Schristos	(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
8790*ed0d50c3Schristos	(map_sections_to_segments): Build PT_TLS segment if necessary.
8791*ed0d50c3Schristos	(assign_file_positions_for_segments): Likewise.
8792*ed0d50c3Schristos	(get_program_header_size): Account for PT_TLS segment.
8793*ed0d50c3Schristos	(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
8794*ed0d50c3Schristos	SEC_THREAD_LOCAL sections to STT_TLS.
8795*ed0d50c3Schristos	* reloc.c: Add 386 and IA-64 TLS relocs.
8796*ed0d50c3Schristos	* section.c (SEC_THREAD_LOCAL): Define.
8797*ed0d50c3Schristos	(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
8798*ed0d50c3Schristos	Remove.
8799*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Support .tcommon.
8800*ed0d50c3Schristos	(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
8801*ed0d50c3Schristos	unconditionally.
8802*ed0d50c3Schristos	(struct elf_final_link_info): Add first_tls_sec.
8803*ed0d50c3Schristos	(elf_bfd_final_link): Set first_tls_sec.
8804*ed0d50c3Schristos	Compute elf_hash_table (info)->tls_segment.
8805*ed0d50c3Schristos	(elf_link_output_extsym): Handle STT_TLS symbols.
8806*ed0d50c3Schristos	(elf_link_input_bfd): Likewise.
8807*ed0d50c3Schristos	* syms.c (BSF_THREAD_LOCAL): Define.
8808*ed0d50c3Schristos	* bfd-in2.h: Rebuilt.
8809*ed0d50c3Schristos	* libbfd.h: Rebuilt.
8810*ed0d50c3Schristos	* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
8811*ed0d50c3Schristos	elf_i386_mkobject, elf_i386_object_p): New functions.
8812*ed0d50c3Schristos	(elf_howto_table): Add TLS relocs.
8813*ed0d50c3Schristos	(elf_i386_reloc_type_lookup): Support TLS relocs.
8814*ed0d50c3Schristos	(elf_i386_info_to_howto_rel): Likewise.
8815*ed0d50c3Schristos	(struct elf_i386_link_hash_entry): Add tls_type.
8816*ed0d50c3Schristos	(struct elf_i386_obj_tdata): New.
8817*ed0d50c3Schristos	(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
8818*ed0d50c3Schristos	New macros.
8819*ed0d50c3Schristos	(struct elf_i386_link_hash_table): Add tls_ldm_got.
8820*ed0d50c3Schristos	(link_hash_newfunc): Clear tls_type.
8821*ed0d50c3Schristos	(elf_i386_check_relocs): Support TLS relocs.
8822*ed0d50c3Schristos	(elf_i386_gc_sweep_hook): Likewise.
8823*ed0d50c3Schristos	(allocate_dynrelocs): Likewise.
8824*ed0d50c3Schristos	(elf_i386_size_dynamic_sections): Likewise.
8825*ed0d50c3Schristos	(elf_i386_relocate_section): Likewise.
8826*ed0d50c3Schristos	(elf_i386_finish_dynamic_symbol): Likewise.
8827*ed0d50c3Schristos	(bfd_elf32_mkobject, elf_backend_object_p): Define.
8828*ed0d50c3Schristos	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
8829*ed0d50c3Schristos	dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
8830*ed0d50c3Schristos	want_tprel, want_dtpmod, want_dtprel.
8831*ed0d50c3Schristos	(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
8832*ed0d50c3Schristos	(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
8833*ed0d50c3Schristos	R_IA64_LTOFF_TPREL22.
8834*ed0d50c3Schristos	(elf_code_to_howto_index): Add TLS relocs.
8835*ed0d50c3Schristos	(elfNN_ia64_check_relocs): Support TLS relocs.
8836*ed0d50c3Schristos	(allocate_global_data_got): Account for TLS .got data.
8837*ed0d50c3Schristos	(allocate_dynrel_entries): Account for TLS dynamic relocations.
8838*ed0d50c3Schristos	(elfNN_ia64_install_value): Supprt TLS relocs.
8839*ed0d50c3Schristos	(set_got_entry): Support TLS relocs.
8840*ed0d50c3Schristos	(elfNN_ia64_relocate_section): Likewise.
8841*ed0d50c3Schristos
8842*ed0d50c3Schristos2002-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
8843*ed0d50c3Schristos
8844*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
8845*ed0d50c3Schristos	BLX reloc round the relocation up rather than down.
8846*ed0d50c3Schristos	* coff-arm.c (coff_arm_relocate_section): Likewise.
8847*ed0d50c3Schristos
8848*ed0d50c3Schristos2002-05-21  H.J. Lu  (hjl@gnu.org)
8849*ed0d50c3Schristos
8850*ed0d50c3Schristos	* linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
8851*ed0d50c3Schristos	definition.
8852*ed0d50c3Schristos
8853*ed0d50c3Schristos2002-05-22  Alan Modra  <amodra@bigpond.net.au>
8854*ed0d50c3Schristos
8855*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
8856*ed0d50c3Schristos	(ppc64_elf_relocate_section): Handle unresolved relocs in opd.
8857*ed0d50c3Schristos
8858*ed0d50c3Schristos2002-05-22  Alan Modra  <amodra@bigpond.net.au>
8859*ed0d50c3Schristos
8860*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Return false for
8861*ed0d50c3Schristos	unresolved relocs.
8862*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Check for splt NULL.
8863*ed0d50c3Schristos
8864*ed0d50c3Schristos2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8865*ed0d50c3Schristos
8866*ed0d50c3Schristos	* bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
8867*ed0d50c3Schristos	non-ELF targets.
8868*ed0d50c3Schristos
8869*ed0d50c3Schristos2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8870*ed0d50c3Schristos
8871*ed0d50c3Schristos	* elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
8872*ed0d50c3Schristos	an error value.
8873*ed0d50c3Schristos	* elflink.h (elf_link_output_relocs): Likewise. Improve error message.
8874*ed0d50c3Schristos	return with false on error.
8875*ed0d50c3Schristos	(elf_link_input_bfd): Check reloc_emitter return value.
8876*ed0d50c3Schristos
8877*ed0d50c3Schristos2002-05-21  Jason Thorpe  <thorpej@wasabisystems.com>
8878*ed0d50c3Schristos
8879*ed0d50c3Schristos	* config.bfd (armeb-*-netbsdelf*): New target.
8880*ed0d50c3Schristos
8881*ed0d50c3Schristos2002-05-20  Alan Modra  <amodra@bigpond.net.au>
8882*ed0d50c3Schristos
8883*ed0d50c3Schristos	* elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
8884*ed0d50c3Schristos	at the plt call stub.
8885*ed0d50c3Schristos
8886*ed0d50c3Schristos2002-05-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8887*ed0d50c3Schristos
8888*ed0d50c3Schristos	* cpu-mips.c (mips_compatible): Don't try to check machine
8889*ed0d50c3Schristos	compatibility.
8890*ed0d50c3Schristos
8891*ed0d50c3Schristos2002-05-18  Tom Rix  <trix@redhat.com>
8892*ed0d50c3Schristos
8893*ed0d50c3Schristos	* coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
8894*ed0d50c3Schristos
8895*ed0d50c3Schristos2002-05-17  Alan Modra  <amodra@bigpond.net.au>
8896*ed0d50c3Schristos
8897*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
8898*ed0d50c3Schristos	(ppc64_elf_relocate_section): Don't warn about reloc overflow when
8899*ed0d50c3Schristos	we've already warned about an undefined symbol.  Report more
8900*ed0d50c3Schristos	detail on reloc errors.
8901*ed0d50c3Schristos
8902*ed0d50c3Schristos2002-05-17  Alan Modra  <amodra@bigpond.net.au>
8903*ed0d50c3Schristos
8904*ed0d50c3Schristos	* acinclude.m4 (AM_INSTALL_LIBBFD): New.
8905*ed0d50c3Schristos	* configure.in: Invoke AM_INSTALL_LIBBFD.
8906*ed0d50c3Schristos	* Makefile.am (install-data-local): Revert 2002-05-13.  Move to..
8907*ed0d50c3Schristos	(install_libbfd): .. New target.
8908*ed0d50c3Schristos	(uninstall_libbfd): Likewise.
8909*ed0d50c3Schristos	(install-bfdlibLTLIBRARIES): Likewise.
8910*ed0d50c3Schristos	(uninstall-bfdlibLTLIBRARIES): Likewise.
8911*ed0d50c3Schristos	(bfdlibdir): New.
8912*ed0d50c3Schristos	(bfdincludedir): New.
8913*ed0d50c3Schristos	(lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
8914*ed0d50c3Schristos	* aclocal.m4: Regenerate.
8915*ed0d50c3Schristos	* configure: Regenerate.
8916*ed0d50c3Schristos	* Makefile.in: Regenerate.
8917*ed0d50c3Schristos
8918*ed0d50c3Schristos2002-05-17  Stuart Balfour <sbalfour@cisco.com>
8919*ed0d50c3Schristos
8920*ed0d50c3Schristos	* hash.c (bfd_hash_lookup): Remove computation of len from inside
8921*ed0d50c3Schristos	hash loop.
8922*ed0d50c3Schristos
8923*ed0d50c3Schristos2002-05-16  Nick Clifton  <nickc@cambridge.redhat.com>
8924*ed0d50c3Schristos
8925*ed0d50c3Schristos	* config.bfd: Add targets for sh64-linux (little endian and
8926*ed0d50c3Schristos	big endian).
8927*ed0d50c3Schristos
8928*ed0d50c3Schristos2002-05-15  Laurent Pinchart <laurent.pinchart@skynet.be>
8929*ed0d50c3Schristos
8930*ed0d50c3Schristos	* peXXigen.c (pe_print_idata): Do not assume that the first thunk
8931*ed0d50c3Schristos	is located in the same section as the import table.  Instead
8932*ed0d50c3Schristos	check, and if necessary load the section containing the thunk.
8933*ed0d50c3Schristos
8934*ed0d50c3Schristos2002-05-15  Nick Clifton  <nickc@cambridge.redhat.com>
8935*ed0d50c3Schristos
8936*ed0d50c3Schristos	* aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
8937*ed0d50c3Schristos	bfd_bread.
8938*ed0d50c3Schristos	(xcoff64_core_file_matches_executable_p): Replace bfd_read
8939*ed0d50c3Schristos	with bfd_bread.
8940*ed0d50c3Schristos
8941*ed0d50c3Schristos2002-05-15  Alan Modra  <amodra@bigpond.net.au>
8942*ed0d50c3Schristos
8943*ed0d50c3Schristos	* aix5ppc-core.c: Warning fixes.
8944*ed0d50c3Schristos	* aout-adobe.c (aout_32_bfd_link_just_syms): Define.
8945*ed0d50c3Schristos	* aout-target.h (MY_bfd_link_just_syms): Define.
8946*ed0d50c3Schristos	* aout-tic30.c (MY_bfd_link_just_syms): Define.
8947*ed0d50c3Schristos	* bfd.c (bfd_link_just_syms): Define.
8948*ed0d50c3Schristos	* binary.c (binary_bfd_link_just_syms): Define.
8949*ed0d50c3Schristos	* bout.c (b_out_bfd_link_just_syms): Define.
8950*ed0d50c3Schristos	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
8951*ed0d50c3Schristos	* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
8952*ed0d50c3Schristos	* coffcode.h (coff_bfd_link_just_syms): Define.
8953*ed0d50c3Schristos	* elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
8954*ed0d50c3Schristos	(elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
8955*ed0d50c3Schristos	(_bfd_elf_link_just_syms): Declare.
8956*ed0d50c3Schristos	* elf.c (_bfd_elf_link_just_syms): New function.
8957*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
8958*ed0d50c3Schristos	sections haven't already been discarded by the linker.
8959*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Likewise for stab
8960*ed0d50c3Schristos	sections and SEC_MERGE sections.
8961*ed0d50c3Schristos	(elf_bfd_discard_info): Similarly here.
8962*ed0d50c3Schristos	* elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
8963*ed0d50c3Schristos	* i386msdos.c (msdos_bfd_link_just_syms): Define.
8964*ed0d50c3Schristos	* i386os9k.c (os9k_bfd_link_just_syms): Define.
8965*ed0d50c3Schristos	* ieee.c (ieee_bfd_link_just_syms): Define.
8966*ed0d50c3Schristos	* ihex.c (ihex_bfd_link_just_syms): Define.
8967*ed0d50c3Schristos	* libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
8968*ed0d50c3Schristos	(_bfd_generic_link_just_syms): Declare.
8969*ed0d50c3Schristos	* libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
8970*ed0d50c3Schristos	* linker.c (_bfd_generic_link_just_syms): New function.
8971*ed0d50c3Schristos	* mmo.c (mmo_bfd_link_just_syms): Define.
8972*ed0d50c3Schristos	* nlm-target.h (nlm_bfd_link_just_syms): Define.
8973*ed0d50c3Schristos	* oasys.c (oasys_bfd_link_just_syms): Define.
8974*ed0d50c3Schristos	* ppcboot.c (ppcboot_bfd_link_just_syms): Define.
8975*ed0d50c3Schristos	* som.c (som_bfd_link_just_syms): Define.
8976*ed0d50c3Schristos	* srec.c (srec_bfd_link_just_syms): Define.
8977*ed0d50c3Schristos	* targets.c (struct bfd_target): Add _bfd_link_just_syms.
8978*ed0d50c3Schristos	(BFD_JUMP_TABLE_LINK): And here.
8979*ed0d50c3Schristos	* tekhex.c (tekhex_bfd_link_just_syms): Define.
8980*ed0d50c3Schristos	* versados.c (versados_bfd_link_just_syms): Define.
8981*ed0d50c3Schristos	* vms.c (vms_bfd_link_just_syms): Define.
8982*ed0d50c3Schristos	* libbfd.h: Regenerate.
8983*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
8984*ed0d50c3Schristos
8985*ed0d50c3Schristos2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8986*ed0d50c3Schristos
8987*ed0d50c3Schristos	* elf32-mips.c: Remove superfluous definitions copied from
8988*ed0d50c3Schristos	elfxx-mips.c.
8989*ed0d50c3Schristos	(bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
8990*ed0d50c3Schristos	SGIish vectors to check the special case.
8991*ed0d50c3Schristos	(mips_elf_hi16_reloc): Fix comment.
8992*ed0d50c3Schristos	(mips_elf_got16_reloc): Likewise.
8993*ed0d50c3Schristos	(_bfd_mips_elf32_gprel16_reloc): Likewise.
8994*ed0d50c3Schristos	(elf_reloc_map): Code cleanup.
8995*ed0d50c3Schristos	(mips_reloc_map): Add comment.
8996*ed0d50c3Schristos	(bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
8997*ed0d50c3Schristos	(mips_elf32_rtype_to_howto): Likewise.
8998*ed0d50c3Schristos	(mips_elf32_discard_info): Likewise.
8999*ed0d50c3Schristos	(elf32_mips_irix_compat): Invert logic: Only SGIish vectors
9000*ed0d50c3Schristos	lead to IRIX compatibility now.
9001*ed0d50c3Schristos
9002*ed0d50c3Schristos2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
9003*ed0d50c3Schristos
9004*ed0d50c3Schristos	* elfxx-mips.c: Call it IRIX, not Irix in comments.
9005*ed0d50c3Schristos
9006*ed0d50c3Schristos2002-05-13  Jason Thorpe  <thorpej@wasabisystems.com>
9007*ed0d50c3Schristos
9008*ed0d50c3Schristos	* config.bfd (shle-*-netbsdelf*): Add target which includes
9009*ed0d50c3Schristos	sh64 support.
9010*ed0d50c3Schristos
9011*ed0d50c3Schristos2002-05-13  David Edelsohn  <edelsohn@gnu.org>
9012*ed0d50c3Schristos
9013*ed0d50c3Schristos	* configure.in: Revert 2002-04-07.  Instead, auto-configure
9014*ed0d50c3Schristos	HAVE_ST_C_IMPL.
9015*ed0d50c3Schristos	* configure: Regenerate.
9016*ed0d50c3Schristos	* config.in: Regenerate.
9017*ed0d50c3Schristos	* rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
9018*ed0d50c3Schristos	or AIX_5_CORE.
9019*ed0d50c3Schristos
9020*ed0d50c3Schristos2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
9021*ed0d50c3Schristos
9022*ed0d50c3Schristos	* configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
9023*ed0d50c3Schristos	corefiles as well.2
9024*ed0d50c3Schristos	* configure: Regenerate.
9025*ed0d50c3Schristos
9026*ed0d50c3Schristos2002-05-13  Alan Modra  <amodra@bigpond.net.au>
9027*ed0d50c3Schristos
9028*ed0d50c3Schristos	* Makefile.am (install-data-local): Install headers to
9029*ed0d50c3Schristos	$(exec_prefix)/include.
9030*ed0d50c3Schristos	* Makefile.in: Regenerate.
9031*ed0d50c3Schristos
9032*ed0d50c3Schristos2002-05-11  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
9033*ed0d50c3Schristos	    Daniel Jacobowitz  <drow@mvista.com>
9034*ed0d50c3Schristos
9035*ed0d50c3Schristos	* coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE.  Don't
9036*ed0d50c3Schristos	map BFD_RELOC_RVA.
9037*ed0d50c3Schristos
9038*ed0d50c3Schristos2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
9039*ed0d50c3Schristos
9040*ed0d50c3Schristos	* config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
9041*ed0d50c3Schristos	hppa*-*-openbsd*): New targets.
9042*ed0d50c3Schristos	* configure.in (alpha*-*-openbsd*): Set COREFILE.
9043*ed0d50c3Schristos	* configure: Regenerate.
9044*ed0d50c3Schristos
9045*ed0d50c3Schristos2002-05-10  Tom Rix  <trix@redhat.com>
9046*ed0d50c3Schristos
9047*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_reloc_type_br): New function for
9048*ed0d50c3Schristos	xcoff64_ppc_relocate_section.
9049*ed0d50c3Schristos	* coff-rs6000.c : Extern common xcoff_reloc_type functions.
9050*ed0d50c3Schristos	* libxcoff.h: Common xcoff_reloc_type function declaration.
9051*ed0d50c3Schristos
9052*ed0d50c3Schristos2002-05-10  Alan Modra  <amodra@bigpond.net.au>
9053*ed0d50c3Schristos
9054*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
9055*ed0d50c3Schristos	added in 2002-05-09 commit.
9056*ed0d50c3Schristos
9057*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
9058*ed0d50c3Schristos	don't look for stubs on all undefined syms.
9059*ed0d50c3Schristos
9060*ed0d50c3Schristos2002-05-09  Alan Modra  <amodra@bigpond.net.au>
9061*ed0d50c3Schristos
9062*ed0d50c3Schristos	* elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
9063*ed0d50c3Schristos	(ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
9064*ed0d50c3Schristos	pcrel_offset.
9065*ed0d50c3Schristos
9066*ed0d50c3Schristos	* elf32-i386.c (elf_howto_table): Comments.
9067*ed0d50c3Schristos	(elf_i386_relocate_section): Handle more relocs for relocatable
9068*ed0d50c3Schristos	linking and against SEC_MERGE sections.
9069*ed0d50c3Schristos
9070*ed0d50c3Schristos2002-05-08  Alan Modra  <amodra@bigpond.net.au>
9071*ed0d50c3Schristos
9072*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_create_got): New function.
9073*ed0d50c3Schristos	(ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
9074*ed0d50c3Schristos	_bfd_elf_create_dynamic_sections.  Correct .plt flags.
9075*ed0d50c3Schristos	(ppc_elf_check_relocs): Use ppc_elf_create_got in place of
9076*ed0d50c3Schristos	_bfd_elf_create_got_section.
9077*ed0d50c3Schristos
9078*ed0d50c3Schristos2002-05-07  Alan Modra  <amodra@bigpond.net.au>
9079*ed0d50c3Schristos
9080*ed0d50c3Schristos	* elf-bfd.h (struct elf_backend_data): Add rela_normal.
9081*ed0d50c3Schristos	* elfxx-target.h (elf_backend_rela_normal): Define.
9082*ed0d50c3Schristos	(elfNN_bed): Init rela_normal.
9083*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
9084*ed0d50c3Schristos	for section symbols here if rela_normal.  Simplify abs section test.
9085*ed0d50c3Schristos	* elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
9086*ed0d50c3Schristos	return immediately.  Remove code handling relocatable linking.
9087*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
9088*ed0d50c3Schristos	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
9089*ed0d50c3Schristos	* elf32-i370.c (i370_elf_relocate_section): Likewise.
9090*ed0d50c3Schristos	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
9091*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
9092*ed0d50c3Schristos	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
9093*ed0d50c3Schristos	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
9094*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
9095*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
9096*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
9097*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
9098*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
9099*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
9100*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
9101*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
9102*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
9103*ed0d50c3Schristos	* elf-m10200.c (elf_backend_rela_normal): Define.
9104*ed0d50c3Schristos	* elf-m10300.c (elf_backend_rela_normal): Define.
9105*ed0d50c3Schristos	* elf32-fr30.c (elf_backend_rela_normal): Define.
9106*ed0d50c3Schristos	* elf32-i370.c (elf_backend_rela_normal): Define.
9107*ed0d50c3Schristos	* elf32-i860.c (elf_backend_rela_normal): Define.
9108*ed0d50c3Schristos	* elf32-m68k.c (elf_backend_rela_normal): Define.
9109*ed0d50c3Schristos	* elf32-mcore.c (elf_backend_rela_normal): Define.
9110*ed0d50c3Schristos	* elf32-openrisc.c (elf_backend_rela_normal): Define.
9111*ed0d50c3Schristos	* elf32-ppc.c (elf_backend_rela_normal): Define.
9112*ed0d50c3Schristos	* elf32-s390.c (elf_backend_rela_normal): Define.
9113*ed0d50c3Schristos	* elf32-xstormy16.c (elf_backend_rela_normal): Define.
9114*ed0d50c3Schristos	* elf64-ppc.c (elf_backend_rela_normal): Define.
9115*ed0d50c3Schristos	* elf64-s390.c (elf_backend_rela_normal): Define.
9116*ed0d50c3Schristos	* elf64-x86-64.c (elf_backend_rela_normal): Define.
9117*ed0d50c3Schristos	* elfxx-ia64.c (elf_backend_rela_normal): Define.
9118*ed0d50c3Schristos	* elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
9119*ed0d50c3Schristos	* elf32-m32r.c (elf_backend_rela_normal): Likewise.
9120*ed0d50c3Schristos
9121*ed0d50c3Schristos2002-05-06  Nick Clifton  <nickc@cambridge.redhat.com>
9122*ed0d50c3Schristos
9123*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_final_link_relocate): Convert
9124*ed0d50c3Schristos	'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
9125*ed0d50c3Schristos
9126*ed0d50c3Schristos2002-05-06  Alan Modra  <amodra@bigpond.net.au>
9127*ed0d50c3Schristos
9128*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
9129*ed0d50c3Schristos	when not relocatable.  Fix reloc_emitter call for K&R.
9130*ed0d50c3Schristos
9131*ed0d50c3Schristos2002-05-04  Alan Modra  <amodra@bigpond.net.au>
9132*ed0d50c3Schristos
9133*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
9134*ed0d50c3Schristos	reloading local sym addend mistakenly removed in 2002-05-01 change.
9135*ed0d50c3Schristos
9136*ed0d50c3Schristos	* dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
9137*ed0d50c3Schristos	(read_abbrevs): Change "offset" param to bfd_vma.
9138*ed0d50c3Schristos	(parse_comp_unit): Change "version" and addr_size to unsigned ints.
9139*ed0d50c3Schristos	Change "abbrev_offset" to bfd_vma.
9140*ed0d50c3Schristos	(read_indirect_string): Use correct conversion chars in error
9141*ed0d50c3Schristos	message format string, cast bfd_vma's to unsigned long.
9142*ed0d50c3Schristos	(read_abbrevs): Likewise.
9143*ed0d50c3Schristos	(read_attribute_value): Likewise.
9144*ed0d50c3Schristos	(decode_line_info): Likewise.
9145*ed0d50c3Schristos	(scan_unit_for_functions): Likewise.
9146*ed0d50c3Schristos	(parse_comp_unit): Likewise.
9147*ed0d50c3Schristos
9148*ed0d50c3Schristos2002-05-04  Tom Rix  <trix@redhat.com>
9149*ed0d50c3Schristos
9150*ed0d50c3Schristos	* coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
9151*ed0d50c3Schristos	(coff_swap_reloc_out): Same.
9152*ed0d50c3Schristos	* coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
9153*ed0d50c3Schristos	(xcoff_swap_reloc_out): Same.
9154*ed0d50c3Schristos	(xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
9155*ed0d50c3Schristos	case some 16 bit relocs. Add reloc value to output.
9156*ed0d50c3Schristos	(xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
9157*ed0d50c3Schristos	R_RBR. Improve names.
9158*ed0d50c3Schristos	(_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
9159*ed0d50c3Schristos	(bfd_xcoff_backend_data): Update with new reloc swap names.
9160*ed0d50c3Schristos	(bfd_pmac_xcoff_backend_data) : Same.
9161*ed0d50c3Schristos	* coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
9162*ed0d50c3Schristos	(xcoff64_swap_reloc_out): Same.
9163*ed0d50c3Schristos	(xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
9164*ed0d50c3Schristos	R_POS. Add reloc value to output.
9165*ed0d50c3Schristos	(xcoff64_howto_table): Move 64 bit R_POS to first entry.  Add 16
9166*ed0d50c3Schristos	bit R_RBR. Improve names, masks.
9167*ed0d50c3Schristos	(xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
9168*ed0d50c3Schristos	(bfd_xcoff_backend_data): Update with new reloc swap names.
9169*ed0d50c3Schristos	(bfd_xcoff_aix5_backend_data) : Same.
9170*ed0d50c3Schristos
9171*ed0d50c3Schristos2002-05-04  Alan Modra  <amodra@bigpond.net.au>
9172*ed0d50c3Schristos
9173*ed0d50c3Schristos	* elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
9174*ed0d50c3Schristos	bfd_count top_index, input_list, all_local_syms.
9175*ed0d50c3Schristos	(elf32_hppa_setup_section_lists): New function, split from
9176*ed0d50c3Schristos	elf32_hppa_size_stubs.
9177*ed0d50c3Schristos	(elf32_hppa_next_input_section): Likewise.
9178*ed0d50c3Schristos	(group_sections): Likewise.
9179*ed0d50c3Schristos	(get_local_syms): Likewise.
9180*ed0d50c3Schristos	(elf32_hppa_size_stubs): Adjust for split out functions.  Look for
9181*ed0d50c3Schristos	stubs on undefined syms too.
9182*ed0d50c3Schristos	(elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
9183*ed0d50c3Schristos	Only access htab elf fields when we have an elf hash table.
9184*ed0d50c3Schristos	* elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
9185*ed0d50c3Schristos	(elf32_hppa_next_input_section): Declare.
9186*ed0d50c3Schristos
9187*ed0d50c3Schristos2002-05-04  Bob Byrnes  <byrnes@curl.com>
9188*ed0d50c3Schristos
9189*ed0d50c3Schristos	* opncls.c (_bfd_new_bfd_contained_in): Check return value of
9190*ed0d50c3Schristos	_bfd_new_bfd.
9191*ed0d50c3Schristos
9192*ed0d50c3Schristos2002-05-03  H.J. Lu  (hjl@gnu.org)
9193*ed0d50c3Schristos
9194*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
9195*ed0d50c3Schristos	(mips_elf_link_hash_newfunc): Initialize forced_local to false.
9196*ed0d50c3Schristos	(mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
9197*ed0d50c3Schristos	to hide a global symbol.
9198*ed0d50c3Schristos	(_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
9199*ed0d50c3Schristos	forced_local to true.
9200*ed0d50c3Schristos
9201*ed0d50c3Schristos2002-05-02  Richard Henderson  <rth@redhat.com>
9202*ed0d50c3Schristos
9203*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
9204*ed0d50c3Schristos	vs SHN_UNDEF to zero.
9205*ed0d50c3Schristos
9206*ed0d50c3Schristos2002-05-02  Alan Modra  <amodra@bigpond.net.au>
9207*ed0d50c3Schristos
9208*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
9209*ed0d50c3Schristos	16 bit reloc.
9210*ed0d50c3Schristos	<R_PPC64_SECTOFF_DS>: Likewise.
9211*ed0d50c3Schristos	(ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
9212*ed0d50c3Schristos	SECTOFF reloc.
9213*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
9214*ed0d50c3Schristos	(ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
9215*ed0d50c3Schristos	SECTOFF reloc.
9216*ed0d50c3Schristos
9217*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
9218*ed0d50c3Schristos	(ppc64_elf_ha_reloc): New function.
9219*ed0d50c3Schristos	(ppc64_elf_brtaken_reloc): New function.
9220*ed0d50c3Schristos	(ppc64_elf_sectoff_reloc): New function.
9221*ed0d50c3Schristos	(ppc64_elf_sectoff_ha_reloc): New function.
9222*ed0d50c3Schristos	(ppc64_elf_toc_reloc): New function.
9223*ed0d50c3Schristos	(ppc64_elf_toc_ha_reloc): New function.
9224*ed0d50c3Schristos	(ppc64_elf_toc64_reloc): New function.
9225*ed0d50c3Schristos	(ppc64_elf_unhandled_reloc): New function.
9226*ed0d50c3Schristos	(ppc64_elf_howto_raw): Use the above.
9227*ed0d50c3Schristos	<R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
9228*ed0d50c3Schristos	<R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset.  Fix dst_mask.
9229*ed0d50c3Schristos	<R_PPC64_SECTOFF_DS>: Likewise.
9230*ed0d50c3Schristos	(IS_ABSOLUTE_RELOC): Update.
9231*ed0d50c3Schristos	(struct ppc_link_hash_table): Add have_undefweak.
9232*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Init.
9233*ed0d50c3Schristos	(func_desc_adjust): Set have_undefweak.
9234*ed0d50c3Schristos	(ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier.  Only
9235*ed0d50c3Schristos	add the .sfpr blr when have_undefweak.
9236*ed0d50c3Schristos	(ppc64_elf_setup_section_lists): Check hash table flavour.
9237*ed0d50c3Schristos	(ppc64_elf_next_input_section): Move output_section->owner test to
9238*ed0d50c3Schristos	ppc64elf.em.
9239*ed0d50c3Schristos	(ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
9240*ed0d50c3Schristos	and relocatable test.  Return TOCstart and don't set elf_gp.
9241*ed0d50c3Schristos	(ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
9242*ed0d50c3Schristos	offset calculation.  Add assert on weak sym branch tweaks.
9243*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_set_toc): Delete.
9244*ed0d50c3Schristos	(ppc64_elf_toc): Declare.
9245*ed0d50c3Schristos	(ppc64_elf_next_input_section): Update.
9246*ed0d50c3Schristos
9247*ed0d50c3Schristos2002-05-01  Alan Modra  <amodra@bigpond.net.au>
9248*ed0d50c3Schristos
9249*ed0d50c3Schristos	* syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
9250*ed0d50c3Schristos	file_name.
9251*ed0d50c3Schristos
9252*ed0d50c3Schristos2002-05-01  Alan Modra  <amodra@bigpond.net.au>
9253*ed0d50c3Schristos
9254*ed0d50c3Schristos	* elf64-ppc.c (CROR_151515, CROR_313131): Define.
9255*ed0d50c3Schristos	(ppc64_elf_relocate_section): Use them.  Don't look for plt calls
9256*ed0d50c3Schristos	on R_PPC64_ADDR24 relocs.  Require a nop or no link reg on plt
9257*ed0d50c3Schristos	call branches.  Correct undefined weak destination.
9258*ed0d50c3Schristos	(ppc64_elf_func_desc_adjust): Always create at least one blr in
9259*ed0d50c3Schristos	.sfpr, and correct case where either only savef* or restf* is
9260*ed0d50c3Schristos	needed.
9261*ed0d50c3Schristos
9262*ed0d50c3Schristos	Long branch stubs, multiple stub sections.
9263*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
9264*ed0d50c3Schristos	(ppc64_elf_next_input_section): Declare.
9265*ed0d50c3Schristos	* elf64-ppc.c: Move linker-only prototypes.
9266*ed0d50c3Schristos	(STUB_SUFFIX): Define.
9267*ed0d50c3Schristos	(enum ppc_stub_type): New.
9268*ed0d50c3Schristos	(struct ppc_stub_hash_entry): New.
9269*ed0d50c3Schristos	(struct ppc_branch_hash_entry): New.
9270*ed0d50c3Schristos	(struct ppc_link_hash_entry): Add stub_cache, oh.
9271*ed0d50c3Schristos	(struct ppc_link_hash_table): Add stub_hash_table etc.  Remove
9272*ed0d50c3Schristos	sstub.  Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
9273*ed0d50c3Schristos	Rename plt_overflow to stub_error.
9274*ed0d50c3Schristos	(ppc_stub_hash_lookup): Define.
9275*ed0d50c3Schristos	(ppc_branch_hash_lookup): Define.
9276*ed0d50c3Schristos	(stub_hash_newfunc): New function.
9277*ed0d50c3Schristos	(branch_hash_newfunc): New function.
9278*ed0d50c3Schristos	(link_hash_newfunc): Init new fields.
9279*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Likewise.
9280*ed0d50c3Schristos	(ppc64_elf_link_hash_table_free): New function.
9281*ed0d50c3Schristos	(ppc_stub_name): New function.
9282*ed0d50c3Schristos	(ppc_get_stub_entry): New function.
9283*ed0d50c3Schristos	(ppc_add_stub): New function.
9284*ed0d50c3Schristos	(create_linkage_sections): Use bfd_make_section_anyway.  Create
9285*ed0d50c3Schristos	.branch_lt and .rela.branch_lt sections.  Don't create .stub.
9286*ed0d50c3Schristos	(ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
9287*ed0d50c3Schristos	and set up for plt call stubs.  Link func and func desc syms.
9288*ed0d50c3Schristos	(ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
9289*ed0d50c3Schristos	(func_desc_adjust): Avoid hash lookup when func desc sym available
9290*ed0d50c3Schristos	via shortcut, and set links when processing.
9291*ed0d50c3Schristos	(ppc64_elf_hide_symbol): Likewise.
9292*ed0d50c3Schristos	(allocate_dynrelocs): Don't allocate stub section here.
9293*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
9294*ed0d50c3Schristos	Remove sstub code.
9295*ed0d50c3Schristos	(ppc_type_of_stub): New function.
9296*ed0d50c3Schristos	(build_one_stub): Delete.
9297*ed0d50c3Schristos	(ppc_build_one_stub): New function.
9298*ed0d50c3Schristos	(ppc_size_one_stub): New function.
9299*ed0d50c3Schristos	(ppc64_elf_setup_section_lists): New function.
9300*ed0d50c3Schristos	(ppc64_elf_next_input_section): New function.
9301*ed0d50c3Schristos	(group_sections): New function.
9302*ed0d50c3Schristos	(get_local_syms): New function.
9303*ed0d50c3Schristos	(ppc64_elf_size_stubs): Rewrite.
9304*ed0d50c3Schristos	(ppc64_elf_build_stubs): Rewrite.
9305*ed0d50c3Schristos	(ppc64_elf_relocate_section): Look up stub entry for REL24
9306*ed0d50c3Schristos	relocs.  Don't propagate REL14* to dynamic objects.  Look for long
9307*ed0d50c3Schristos	branch stubs if REL14* or REL24 relocs won't reach.
9308*ed0d50c3Schristos	(bfd_elf64_bfd_link_hash_table_free): Define.
9309*ed0d50c3Schristos
9310*ed0d50c3Schristos2002-04-30  Mark Mitchell  <mark@codesourcery.com>
9311*ed0d50c3Schristos
9312*ed0d50c3Schristos	* config.bfd: Add support for powerpc-*-windiss.
9313*ed0d50c3Schristos
9314*ed0d50c3Schristos2002-04-30  Tom Rix  <trix@redhat.com>
9315*ed0d50c3Schristos
9316*ed0d50c3Schristos	* xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
9317*ed0d50c3Schristos	symbol names into the hash table.
9318*ed0d50c3Schristos
9319*ed0d50c3Schristos2002-04-28  Tom Rix  <trix@redhat.com>
9320*ed0d50c3Schristos
9321*ed0d50c3Schristos	* coff-rs6000.c (xcoff_calculate_relocation) : Function table for
9322*ed0d50c3Schristos	calulating relocations.
9323*ed0d50c3Schristos	(xcoff_complain_overflow) : Function table for relocation errors.
9324*ed0d50c3Schristos	(xcoff_ppc_relocate_section): Use relocation and complain function
9325*ed0d50c3Schristos	tables.
9326*ed0d50c3Schristos	(xcoff_complain_overflow_unsigned_func): New complain function.
9327*ed0d50c3Schristos	(xcoff_complain_overflow_signed_func): Same.
9328*ed0d50c3Schristos	(xcoff_complain_overflow_bitfield_func): Same.
9329*ed0d50c3Schristos	(xcoff_complain_overflow_dont_func): Same.
9330*ed0d50c3Schristos	(xcoff_reloc_type_crel): New recot function.
9331*ed0d50c3Schristos	(xcoff_reloc_type_br): Same.
9332*ed0d50c3Schristos	(xcoff_reloc_type_ba): Same.
9333*ed0d50c3Schristos	(xcoff_reloc_type_toc): Same.
9334*ed0d50c3Schristos	(xcoff_reloc_type_rel): Same.
9335*ed0d50c3Schristos	(xcoff_reloc_type_neg): Same.
9336*ed0d50c3Schristos	(xcoff_reloc_type_pos): Same.
9337*ed0d50c3Schristos	(xcoff_reloc_type_fail): Same.
9338*ed0d50c3Schristos	(xcoff_reloc_type_noop): Same.
9339*ed0d50c3Schristos	* libxcoff.h : Declare common parts for xcoff64.
9340*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
9341*ed0d50c3Schristos	and complain function tables.
9342*ed0d50c3Schristos
9343*ed0d50c3Schristos2002-04-28  Alan Modra  <amodra@bigpond.net.au>
9344*ed0d50c3Schristos
9345*ed0d50c3Schristos	* elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
9346*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_final_link): Formatting.
9347*ed0d50c3Schristos
9348*ed0d50c3Schristos2002-04-26  Alan Modra  <amodra@bigpond.net.au>
9349*ed0d50c3Schristos
9350*ed0d50c3Schristos	* opncls.c (bfd_make_readable): Call bfd_section_list_clear.
9351*ed0d50c3Schristos	* xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
9352*ed0d50c3Schristos
9353*ed0d50c3Schristos	* elflink.h (elf_bfd_final_link): Ensure input bfd class is the
9354*ed0d50c3Schristos	same as the output before calling elf_link_input_bfd.
9355*ed0d50c3Schristos
9356*ed0d50c3Schristos	* coffcode.h (coff_compute_section_file_positions): Set
9357*ed0d50c3Schristos	section_tail after shuffling section list.
9358*ed0d50c3Schristos
9359*ed0d50c3Schristos2002-04-24  Christian Groessler <chris@groessler.org>
9360*ed0d50c3Schristos
9361*ed0d50c3Schristos	* coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
9362*ed0d50c3Schristos	addresses are 23bit with a special layout, not plain 32bit
9363*ed0d50c3Schristos	values.  Prevent relocation of immediate values.
9364*ed0d50c3Schristos
9365*ed0d50c3Schristos2002-04-24  Chris G. Demetriou  <cgd@broadcom.com>
9366*ed0d50c3Schristos
9367*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
9368*ed0d50c3Schristos	MIPS-16 ASE flags are set, print something to indicate that.
9369*ed0d50c3Schristos
9370*ed0d50c3Schristos2002-04-23  Alan Modra  <amodra@bigpond.net.au>
9371*ed0d50c3Schristos
9372*ed0d50c3Schristos	* elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
9373*ed0d50c3Schristos	under which a plt call stub is used.
9374*ed0d50c3Schristos	(final_link_relocate): Similarly.
9375*ed0d50c3Schristos	(allocate_plt_static): Clear h-plabel except when plt entry is
9376*ed0d50c3Schristos	exclusively used for a plabel.
9377*ed0d50c3Schristos	(allocate_dynrelocs): Use the above to simplify plt sizing.
9378*ed0d50c3Schristos	(struct elf32_hppa_link_hash_table): Add has_22bit_branch.
9379*ed0d50c3Schristos	(elf32_hppa_link_hash_table_create): Init.
9380*ed0d50c3Schristos	(BL22_RP): Define.
9381*ed0d50c3Schristos	(hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
9382*ed0d50c3Schristos	(elf32_hppa_check_relocs): Set has_22bit_branch.
9383*ed0d50c3Schristos
9384*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
9385*ed0d50c3Schristos	(final_link_relocate): Likewise.
9386*ed0d50c3Schristos
9387*ed0d50c3Schristos2002-04-22  Jakub Jelinek  <jakub@redhat.com>
9388*ed0d50c3Schristos
9389*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
9390*ed0d50c3Schristos	search table if some FDE is DW_EH_PE_aligned encoded either.
9391*ed0d50c3Schristos	(_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
9392*ed0d50c3Schristos
9393*ed0d50c3Schristos2002-04-22  Richard Smith  <richard@ex-parrot.com>
9394*ed0d50c3Schristos	    Jakub Jelinek  <jakub@redhat.com>
9395*ed0d50c3Schristos
9396*ed0d50c3Schristos	* elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
9397*ed0d50c3Schristos	(_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
9398*ed0d50c3Schristos	encoded personality.
9399*ed0d50c3Schristos	(_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
9400*ed0d50c3Schristos	for CIE/FDE removal.
9401*ed0d50c3Schristos
9402*ed0d50c3Schristos2002-04-20  Tom Rix  <trix@redhat.com>
9403*ed0d50c3Schristos
9404*ed0d50c3Schristos	* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
9405*ed0d50c3Schristos
9406*ed0d50c3Schristos2002-04-20  Alan Modra  <amodra@bigpond.net.au>
9407*ed0d50c3Schristos
9408*ed0d50c3Schristos	* archures.c (bfd_lookup_arch): Move the list order comment..
9409*ed0d50c3Schristos	(struct bfd_arch_info): ..to where it belongs.
9410*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
9411*ed0d50c3Schristos
9412*ed0d50c3Schristos	* archures.c (bfd_lookup_arch): Add comment on list order.
9413*ed0d50c3Schristos	(bfd_default_set_arch_mach): Use bfd_lookup_arch.
9414*ed0d50c3Schristos	* cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
9415*ed0d50c3Schristos	is always at head of list.
9416*ed0d50c3Schristos
9417*ed0d50c3Schristos2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
9418*ed0d50c3Schristos
9419*ed0d50c3Schristos	* coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
9420*ed0d50c3Schristos	insert_thumb_branch, record_thumb_to_arm_glue): Suppress
9421*ed0d50c3Schristos	definition of these functions for ARM_WINCE builds as they are
9422*ed0d50c3Schristos	not used.
9423*ed0d50c3Schristos	(SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
9424*ed0d50c3Schristos	for ARM_WINCE builds.
9425*ed0d50c3Schristos
9426*ed0d50c3Schristos2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
9427*ed0d50c3Schristos
9428*ed0d50c3Schristos	* coff-arm.c (bfd_arm_process_before_allocation):
9429*ed0d50c3Schristos
9430*ed0d50c3Schristos2002-04-17  J"orn Rennecke <joern.rennecke@superh.com>
9431*ed0d50c3Schristos
9432*ed0d50c3Schristos	* cpu-sh.c (scan_mach): Delete.
9433*ed0d50c3Schristos	(arch_info_struct): Replace scan_mach with bfd_default_scan.
9434*ed0d50c3Schristos	(bfd_sh_arch): Likewise.
9435*ed0d50c3Schristos
9436*ed0d50c3Schristos2002-04-16  Nick Clifton  <nickc@cambridge.redhat.com>
9437*ed0d50c3Schristos
9438*ed0d50c3Schristos	* ihex.c (ihex_write_object_contents): Fix check for records
9439*ed0d50c3Schristos	crossing 64K boundaries.
9440*ed0d50c3Schristos
9441*ed0d50c3Schristos2002-04-16  Alan Modra  <amodra@bigpond.net.au>
9442*ed0d50c3Schristos
9443*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
9444*ed0d50c3Schristos	type rather than just assuming entries are ELF.
9445*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
9446*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
9447*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
9448*ed0d50c3Schristos	* elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
9449*ed0d50c3Schristos	rather than elf_link_hash_entry.
9450*ed0d50c3Schristos
9451*ed0d50c3Schristos2002-04-15  Richard Henderson  <rth@redhat.com>
9452*ed0d50c3Schristos
9453*ed0d50c3Schristos	* elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
9454*ed0d50c3Schristos	n32 binaries.
9455*ed0d50c3Schristos
9456*ed0d50c3Schristos2002-04-15  Michael Snyder  <msnyder@redhat.com>
9457*ed0d50c3Schristos
9458*ed0d50c3Schristos	* opncls.c (bfd_close): Write contents if writeable.
9459*ed0d50c3Schristos	Minor formatting tidy-ups.
9460*ed0d50c3Schristos
9461*ed0d50c3Schristos2002-04-15  Alan Modra  <amodra@bigpond.net.au>
9462*ed0d50c3Schristos
9463*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
9464*ed0d50c3Schristos
9465*ed0d50c3Schristos2002-04-12  Michael Snyder  <msnyder@redhat.com>
9466*ed0d50c3Schristos
9467*ed0d50c3Schristos	* bfd-in.h (bfd_get_section_lma): New access macro.
9468*ed0d50c3Schristos	Minor white-space fix-up.
9469*ed0d50c3Schristos
9470*ed0d50c3Schristos2002-04-12  Alan Modra  <amodra@bigpond.net.au>
9471*ed0d50c3Schristos
9472*ed0d50c3Schristos	* elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
9473*ed0d50c3Schristos	header pad.
9474*ed0d50c3Schristos
9475*ed0d50c3Schristos2002-04-09  DJ Delorie  <dj@redhat.com>
9476*ed0d50c3Schristos
9477*ed0d50c3Schristos	* elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
9478*ed0d50c3Schristos
9479*ed0d50c3Schristos2002-04-09  Casper S. Hornstrup <chorns@users.sourceforge.net>
9480*ed0d50c3Schristos
9481*ed0d50c3Schristos	* coffcode.h (coff_read_word): New.
9482*ed0d50c3Schristos	(coff_compute_checksum): New.
9483*ed0d50c3Schristos	(coff_apply_checksum): New.
9484*ed0d50c3Schristos	(coff_write_object_contents): Call coff_apply_checksum () to
9485*ed0d50c3Schristos	apply checksum to PE image.
9486*ed0d50c3Schristos
9487*ed0d50c3Schristos2002-04-08  Randolph Chung  <tausq@debian.org>
9488*ed0d50c3Schristos
9489*ed0d50c3Schristos	* elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
9490*ed0d50c3Schristos	(elf32_hppa_final_link): Split out sorting logic to..
9491*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_sort_unwind): ..here.
9492*ed0d50c3Schristos	(elf_hppa_final_link): Call elf_hppa_sort_unwind.
9493*ed0d50c3Schristos
9494*ed0d50c3Schristos2002-04-07  Andrew Cagney  <ac131313@redhat.com>
9495*ed0d50c3Schristos
9496*ed0d50c3Schristos	* configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
9497*ed0d50c3Schristos	pattern.
9498*ed0d50c3Schristos	* configure: Re-generate.
9499*ed0d50c3Schristos
9500*ed0d50c3Schristos2002-04-07  Andrew Cagney  <ac131313@redhat.com>
9501*ed0d50c3Schristos
9502*ed0d50c3Schristos	* configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
9503*ed0d50c3Schristos	is greater or equal to 4.3.3.
9504*ed0d50c3Schristos	* configure: Regenerate.
9505*ed0d50c3Schristos	Fix PR gdb/344.
9506*ed0d50c3Schristos
9507*ed0d50c3Schristos2002-04-05  Hans-Peter Nilsson  <hp@axis.com>
9508*ed0d50c3Schristos
9509*ed0d50c3Schristos	* elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
9510*ed0d50c3Schristos	R_CRIS_32_PCREL>: Fix typo in name.
9511*ed0d50c3Schristos	(cris_elf_check_relocs): Always create .rela.got here when
9512*ed0d50c3Schristos	R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
9513*ed0d50c3Schristos	(elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
9514*ed0d50c3Schristos	assume it's created.
9515*ed0d50c3Schristos
9516*ed0d50c3Schristos2002-04-04  Daniel Jacobowitz  <drow@mvista.com>
9517*ed0d50c3Schristos
9518*ed0d50c3Schristos	* aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
9519*ed0d50c3Schristos	* aout-target.h (MY_bfd_link_hash_table_free): Conditionally
9520*ed0d50c3Schristos	define.
9521*ed0d50c3Schristos	* aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
9522*ed0d50c3Schristos	* bfd.c (bfd_link_hash_table_free): Define.
9523*ed0d50c3Schristos	* binary.c (binary_bfd_link_hash_table_free): Define.
9524*ed0d50c3Schristos	* bout.c (b_out_bfd_link_hash_table_free): Define.
9525*ed0d50c3Schristos	* coff-rs6000.c (rs6000coff_vec): Include
9526*ed0d50c3Schristos	_bfd_generic_link_hash_table_free.
9527*ed0d50c3Schristos	(pmac_xcoff_vec): Likewise.
9528*ed0d50c3Schristos	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
9529*ed0d50c3Schristos	(aix5coff64_vec): Likewise.
9530*ed0d50c3Schristos	* coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
9531*ed0d50c3Schristos	* elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
9532*ed0d50c3Schristos	(bfd_elf32_bfd_link_hash_table_free): Define.
9533*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
9534*ed0d50c3Schristos	(bfd_elf32_bfd_link_hash_table_free): Define.
9535*ed0d50c3Schristos	* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
9536*ed0d50c3Schristos	define.
9537*ed0d50c3Schristos	* i386msdos.c (msdos_bfd_link_hash_table_free): Define.
9538*ed0d50c3Schristos	* i386os9k.c (os9k_bfd_link_hash_table_free): Define.
9539*ed0d50c3Schristos	* ieee.c (ieee_bfd_link_hash_table_free): Define.
9540*ed0d50c3Schristos	* ihex.c (ihex_bfd_link_hash_table_free): Define.
9541*ed0d50c3Schristos	* libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
9542*ed0d50c3Schristos	(_bfd_generic_link_hash_table_free): Add prototype.
9543*ed0d50c3Schristos	* libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
9544*ed0d50c3Schristos	* libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
9545*ed0d50c3Schristos	* linker.c (_bfd_generic_link_hash_table_free): New function.
9546*ed0d50c3Schristos	* mmo.c (mmo_bfd_link_hash_table_free): Define.
9547*ed0d50c3Schristos	* nlm-target.h (nlm_bfd_link_hash_table_free): Define.
9548*ed0d50c3Schristos	* oasys.c (oasys_bfd_link_hash_table_free): Define.
9549*ed0d50c3Schristos	* ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
9550*ed0d50c3Schristos	* som.c (som_bfd_link_hash_table_free): Define.
9551*ed0d50c3Schristos	* srec.c (srec_bfd_link_hash_table_free): Define.
9552*ed0d50c3Schristos	* tekhex.c (tekhex_bfd_link_hash_table_free): Define.
9553*ed0d50c3Schristos	* versados.c (versados_bfd_link_hash_table_free): Define.
9554*ed0d50c3Schristos	* vms.c (vms_bfd_link_hash_table_free): New function.
9555*ed0d50c3Schristos	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
9556*ed0d50c3Schristos
9557*ed0d50c3Schristos	* coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
9558*ed0d50c3Schristos	instead of bfd_alloc.
9559*ed0d50c3Schristos	* coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
9560*ed0d50c3Schristos	* coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
9561*ed0d50c3Schristos	* coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
9562*ed0d50c3Schristos	* cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
9563*ed0d50c3Schristos	* ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
9564*ed0d50c3Schristos	* elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
9565*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_table_create): Likewise.
9566*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
9567*ed0d50c3Schristos	* elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
9568*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
9569*ed0d50c3Schristos	* elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
9570*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
9571*ed0d50c3Schristos	* elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
9572*ed0d50c3Schristos	* elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
9573*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
9574*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
9575*ed0d50c3Schristos	* elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
9576*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
9577*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
9578*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
9579*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
9580*ed0d50c3Schristos	* linker.c (_bfd_generic_link_hash_table_create): Likewise.
9581*ed0d50c3Schristos	* m68klinux.c (linux_link_hash_table_create): Likewise.
9582*ed0d50c3Schristos	* sparclinux.c (linux_link_hash_table_create): Likewise.
9583*ed0d50c3Schristos	* sunos.c (sunos_link_hash_table_create): Likewise.
9584*ed0d50c3Schristos	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
9585*ed0d50c3Schristos
9586*ed0d50c3Schristos	* targets.c: Add _bfd_link_hash_table_free to xvec.
9587*ed0d50c3Schristos
9588*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
9589*ed0d50c3Schristos	* libbfd.h: Regenerate.
9590*ed0d50c3Schristos	* libcoff.h: Regenerate.
9591*ed0d50c3Schristos
9592*ed0d50c3Schristos2002-04-04  Alan Modra  <amodra@bigpond.net.au>
9593*ed0d50c3Schristos
9594*ed0d50c3Schristos	* dep-in.sed: Cope with absolute paths.
9595*ed0d50c3Schristos	* Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
9596*ed0d50c3Schristos	Run "make dep-am".
9597*ed0d50c3Schristos	* Makefile.in: Regenerate.
9598*ed0d50c3Schristos	* coff-arm.c: Fix copyright date.
9599*ed0d50c3Schristos	* cpu-h8300.c: Likewise.
9600*ed0d50c3Schristos	* cpu-i370.c: Likewise.
9601*ed0d50c3Schristos	* cpu-s390.c: Likewise.
9602*ed0d50c3Schristos	* cpu-mips.c: Likewise.
9603*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
9604*ed0d50c3Schristos
9605*ed0d50c3Schristos2002-04-04  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
9606*ed0d50c3Schristos
9607*ed0d50c3Schristos	* Makefile.am: Add elfxx-mips.c to the known backends.
9608*ed0d50c3Schristos	(elf32-mips.lo): remove dependency to coff/external.h.
9609*ed0d50c3Schristos	* Makefile.in: Regenerate.
9610*ed0d50c3Schristos	* configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
9611*ed0d50c3Schristos	Remove elf32-mips.lo from 64 bit vectors. Update dependencies
9612*ed0d50c3Schristos	accordingly.
9613*ed0d50c3Schristos	* configure: Regenerate.
9614*ed0d50c3Schristos	* elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
9615*ed0d50c3Schristos	(irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
9616*ed0d50c3Schristos	(elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
9617*ed0d50c3Schristos	MIPS specific backend functions.
9618*ed0d50c3Schristos	* elf32-mips.c: Moved most code to elfxx-mips.c.
9619*ed0d50c3Schristos	(mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
9620*ed0d50c3Schristos	static.
9621*ed0d50c3Schristos	(mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
9622*ed0d50c3Schristos	(mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
9623*ed0d50c3Schristos	(mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
9624*ed0d50c3Schristos	(mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
9625*ed0d50c3Schristos	interface to allow selection of the right REL or RELA howto table.
9626*ed0d50c3Schristos	(mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
9627*ed0d50c3Schristos	static. Let it refuse n32 objects.
9628*ed0d50c3Schristos	(elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
9629*ed0d50c3Schristos	(elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
9630*ed0d50c3Schristos	(elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
9631*ed0d50c3Schristos	(elf32_mips_ignore_discarded_relocs): Rename from
9632*ed0d50c3Schristos	_bfd_elf32_mips_ignore_discarded_relocs.
9633*ed0d50c3Schristos	(elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
9634*ed0d50c3Schristos	(elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
9635*ed0d50c3Schristos	(elf_mips_howto_table_rela): Remove.
9636*ed0d50c3Schristos	* elf64-mips.c: Moved most code to elfxx-mips.c.
9637*ed0d50c3Schristos	(bfd_elf64_bfd_reloc_type_lookup): Make static.
9638*ed0d50c3Schristos	(mips_elf64_rtype_to_howto): New function.
9639*ed0d50c3Schristos	(mips_elf64_object_p): Likewise.
9640*ed0d50c3Schristos	(elf64_mips_irix_compat): Likewise.
9641*ed0d50c3Schristos	* elfxx-mips.c: New file containing common code merged together from
9642*ed0d50c3Schristos	elf32-mips.c and elf64-mips.c.
9643*ed0d50c3Schristos	* elfxx-mips.h: New file containing MIPS specific prototypes from
9644*ed0d50c3Schristos	elf-bfd.h.
9645*ed0d50c3Schristos	* elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
9646*ed0d50c3Schristos	elf_backend_mips_rtype_to_howto.
9647*ed0d50c3Schristos
9648*ed0d50c3Schristos2002-04-04  Alan Modra  <amodra@bigpond.net.au>
9649*ed0d50c3Schristos
9650*ed0d50c3Schristos	* srec.c (MAXCHUNK, Chunk): Revise comments.
9651*ed0d50c3Schristos	(srec_write_record): Correct buffer size.
9652*ed0d50c3Schristos	(srec_write_header): Do without intermediate buffer.
9653*ed0d50c3Schristos	(srec_write_section): Validate Chunk.
9654*ed0d50c3Schristos	(srec_write_terminator): Pass NULL instead of dummy buffer.
9655*ed0d50c3Schristos	(srec_write_symbols): Pass file and symbol names directly to
9656*ed0d50c3Schristos	bfd_bwrite so sprintf won't overflow buffer.
9657*ed0d50c3Schristos
9658*ed0d50c3Schristos2002-04-03  Jakub Jelinek  <jakub@redhat.com>
9659*ed0d50c3Schristos
9660*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
9661*ed0d50c3Schristos	PC relative relocs against hidden symbols.
9662*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
9663*ed0d50c3Schristos
9664*ed0d50c3Schristos2002-04-03  Alan Modra  <amodra@bigpond.net.au>
9665*ed0d50c3Schristos
9666*ed0d50c3Schristos	* elf.c (_bfd_elf_make_section_from_shdr): When setting section
9667*ed0d50c3Schristos	LMAs, loop over segments until p_vaddr and p_memsz specify an
9668*ed0d50c3Schristos	extent enclosing the section.
9669*ed0d50c3Schristos
9670*ed0d50c3Schristos2002-04-02  Nick Clifton  <nickc@cambridge.redhat.com>
9671*ed0d50c3Schristos
9672*ed0d50c3Schristos	* ihex.c (ihex_write_object_contents): Do not allow records to
9673*ed0d50c3Schristos	cross a 64K boundary - wrap if necessary.
9674*ed0d50c3Schristos
9675*ed0d50c3Schristos2002-04-01  Nathan Williams  <nathanw@wasabisystems.com>
9676*ed0d50c3Schristos
9677*ed0d50c3Schristos	* elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
9678*ed0d50c3Schristos	which caused the returned LWP ID to always be 0.
9679*ed0d50c3Schristos
9680*ed0d50c3Schristos2002-04-01  Richard Henderson  <rth@redhat.com>
9681*ed0d50c3Schristos
9682*ed0d50c3Schristos	* elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
9683*ed0d50c3Schristos	(elf32_sparc_relocate_section): Use it to figure out when to
9684*ed0d50c3Schristos	initialize .got entries.
9685*ed0d50c3Schristos	* elf64-sparc.c: Similarly.
9686*ed0d50c3Schristos
9687*ed0d50c3Schristos2002-03-28  Alan Modra  <amodra@bigpond.net.au>
9688*ed0d50c3Schristos
9689*ed0d50c3Schristos	* linker.c (link_action): Ignore duplicate warning syms.
9690*ed0d50c3Schristos	(_bfd_generic_link_write_global_symbol): Follow warning symbol link.
9691*ed0d50c3Schristos	* elflink.h (elf_adjust_dynstr_offsets): Likewise.
9692*ed0d50c3Schristos	(elf_adjust_dynamic_symbol): Likewise.
9693*ed0d50c3Schristos	(elf_export_symbol): Likewise.
9694*ed0d50c3Schristos	(elf_link_find_version_dependencies): Likewise.
9695*ed0d50c3Schristos	(elf_link_assign_sym_version): Likewise.
9696*ed0d50c3Schristos	(elf_link_sec_merge_syms): Likewise.
9697*ed0d50c3Schristos	(elf_link_output_extsym): Likewise.
9698*ed0d50c3Schristos	(elf_gc_sweep_symbol): Likewise.
9699*ed0d50c3Schristos	(elf_gc_propagate_vtable_entries_used): Likewise.
9700*ed0d50c3Schristos	(elf_gc_smash_unused_vtentry_relocs): Likewise.
9701*ed0d50c3Schristos	(elf_gc_allocate_got_offsets): Likewise.
9702*ed0d50c3Schristos	(elf_collect_hash_codes): Likewise.
9703*ed0d50c3Schristos	* elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
9704*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
9705*ed0d50c3Schristos	(elf_hppa_remark_useless_dynamic_symbols): Likewise.
9706*ed0d50c3Schristos	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
9707*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_discard_copies): Likewise.
9708*ed0d50c3Schristos	* elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
9709*ed0d50c3Schristos	(elf_cris_discard_excess_dso_dynamics): Likewise.
9710*ed0d50c3Schristos	* elf32-hppa.c (clobber_millicode_symbols): Likewise.
9711*ed0d50c3Schristos	(mark_PIC_calls): Likewise.
9712*ed0d50c3Schristos	(allocate_plt_static): Likewise.
9713*ed0d50c3Schristos	(allocate_dynrelocs): Likewise.
9714*ed0d50c3Schristos	(readonly_dynrelocs): Likewise.
9715*ed0d50c3Schristos	* elf32-i386.c (allocate_dynrelocs): Likewise.
9716*ed0d50c3Schristos	(readonly_dynrelocs): Likewise.
9717*ed0d50c3Schristos	* elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
9718*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_discard_copies): Likewise.
9719*ed0d50c3Schristos	* elf32-mips.c (mips_elf_output_extsym): Likewise.
9720*ed0d50c3Schristos	(mips_elf_sort_hash_table_f): Likewise.
9721*ed0d50c3Schristos	(mips_elf_check_mips16_stubs): Likewise.
9722*ed0d50c3Schristos	* elf32-s390.c (allocate_dynrelocs): Likewise.
9723*ed0d50c3Schristos	(readonly_dynrelocs): Likewise.
9724*ed0d50c3Schristos	* elf32-sh.c (sh_elf_discard_copies): Likewise.
9725*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
9726*ed0d50c3Schristos	(xstormy16_relax_plt_realloc): Likewise.
9727*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
9728*ed0d50c3Schristos	(elf64_alpha_output_extsym): Likewise.
9729*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
9730*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
9731*ed0d50c3Schristos	(mips_elf64_check_mips16_stubs): Likewise.
9732*ed0d50c3Schristos	(mips_elf64_output_extsym): Likewise.
9733*ed0d50c3Schristos	* elf64-ppc.c (func_desc_adjust): Likewise.
9734*ed0d50c3Schristos	(allocate_dynrelocs): Likewise.
9735*ed0d50c3Schristos	(readonly_dynrelocs): Likewise.
9736*ed0d50c3Schristos	* elf64-s390.c (allocate_dynrelocs): Likewise.
9737*ed0d50c3Schristos	(readonly_dynrelocs): Likewise.
9738*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
9739*ed0d50c3Schristos	* elf64-x86-64.c (allocate_dynrelocs): Likewise.
9740*ed0d50c3Schristos	(readonly_dynrelocs): Likewise.
9741*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
9742*ed0d50c3Schristos	* aoutx.h (aout_link_write_other_symbol): Likewise.
9743*ed0d50c3Schristos	* cofflink.c (_bfd_coff_write_task_globals): Likewise.
9744*ed0d50c3Schristos	(_bfd_coff_write_global_sym): Likewise.
9745*ed0d50c3Schristos	* i386linux.c (linux_tally_symbols): Likewise.
9746*ed0d50c3Schristos	* m68klinux.c (linux_tally_symbols): Likewise.
9747*ed0d50c3Schristos	* sparclinux.c (linux_tally_symbols): Likewise.
9748*ed0d50c3Schristos	* pdp11.c (aout_link_write_other_symbol): Likewise.
9749*ed0d50c3Schristos	* sunos.c (sunos_scan_dynamic_symbol): Likewise.
9750*ed0d50c3Schristos	* xcofflink.c (xcoff_build_ldsyms): Likewise.
9751*ed0d50c3Schristos	(xcoff_write_global_symbol): Likewise.
9752*ed0d50c3Schristos
9753*ed0d50c3Schristos	* cofflink.c (_bfd_coff_final_link): Formatting.
9754*ed0d50c3Schristos	* cpu-mips.c (mips_compatible): Make static, prototype.
9755*ed0d50c3Schristos	* elf32-i386.c (elf_i386_check_relocs): Formatting.
9756*ed0d50c3Schristos	* elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
9757*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
9758*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
9759*ed0d50c3Schristos	(mips_elf64_final_link): Likewise.
9760*ed0d50c3Schristos	* elflink.h (elf_link_find_version_dependencies): Remove duplicate
9761*ed0d50c3Schristos	prototype.
9762*ed0d50c3Schristos
9763*ed0d50c3Schristos2002-03-27  Nick Clifton  <nickc@cambridge.redhat.com>
9764*ed0d50c3Schristos
9765*ed0d50c3Schristos	* coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
9766*ed0d50c3Schristos	(SWAP_OUT_RELOC_OFFSET): Define.
9767*ed0d50c3Schristos
9768*ed0d50c3Schristos2002-03-27  Gregory Steuck <greg@nest.cx>
9769*ed0d50c3Schristos
9770*ed0d50c3Schristos	* elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
9771*ed0d50c3Schristos	terminating NULL if empty symbol table.
9772*ed0d50c3Schristos	(_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
9773*ed0d50c3Schristos
9774*ed0d50c3Schristos2002-03-26  H.J. Lu  (hjl@gnu.org)
9775*ed0d50c3Schristos
9776*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd): Revert the last change since
9777*ed0d50c3Schristos	the gcc exception handling isn't fixed yet.
9778*ed0d50c3Schristos
9779*ed0d50c3Schristos2002-03-26  H.J. Lu  (hjl@gnu.org)
9780*ed0d50c3Schristos
9781*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd): Complain about relocations
9782*ed0d50c3Schristos	against local symbols in discarded sections.
9783*ed0d50c3Schristos
9784*ed0d50c3Schristos2002-03-26  Alan Modra  <amodra@bigpond.net.au>
9785*ed0d50c3Schristos
9786*ed0d50c3Schristos	* elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
9787*ed0d50c3Schristos
9788*ed0d50c3Schristos2002-03-23  Alan Modra  <amodra@bigpond.net.au>
9789*ed0d50c3Schristos
9790*ed0d50c3Schristos	* elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
9791*ed0d50c3Schristos	section file offset for !SEC_LOAD sections.
9792*ed0d50c3Schristos
9793*ed0d50c3Schristos2002-03-21  Richard Earnshaw  <rearnsha@arm.com>
9794*ed0d50c3Schristos
9795*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
9796*ed0d50c3Schristos	<case R_ARM_GOT>): Handle relocations to Thumb functions.
9797*ed0d50c3Schristos
9798*ed0d50c3Schristos2002-03-21  Alan Modra  <amodra@bigpond.net.au>
9799*ed0d50c3Schristos
9800*ed0d50c3Schristos	* coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
9801*ed0d50c3Schristos	Whitespace changes.
9802*ed0d50c3Schristos	* archive.c: Update copyright date.
9803*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
9804*ed0d50c3Schristos	* libbfd.h: Regenerate.
9805*ed0d50c3Schristos	* Makefile.am: Run "make dep-am"
9806*ed0d50c3Schristos	* Makefile.in: Regenerate.
9807*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
9808*ed0d50c3Schristos
9809*ed0d50c3Schristos2002-03-20  Daniel Jacobowitz  <drow@mvista.com>
9810*ed0d50c3Schristos
9811*ed0d50c3Schristos	* dwarf2.c (struct funcinfo): Move up.
9812*ed0d50c3Schristos	(lookup_address_in_function_table): New argument function_ptr.
9813*ed0d50c3Schristos	Set it.
9814*ed0d50c3Schristos	(lookup_address_in_line_table): New argument function.  If function
9815*ed0d50c3Schristos	is non-NULL, use it to handle ``addr'' before the first line note of
9816*ed0d50c3Schristos	the function.
9817*ed0d50c3Schristos	(comp_unit_find_nearest_line): Update and swap calls to
9818*ed0d50c3Schristos	lookup_address_in_function_table and lookup_address_in_line_table.
9819*ed0d50c3Schristos	* syms.c (_bfd_stab_section_find_nearest_line): Use the first
9820*ed0d50c3Schristos	N_SLINE encountered if we see an N_FUN before any N_SLINE.
9821*ed0d50c3Schristos
9822*ed0d50c3Schristos2002-03-20  Tom Rix  <trix@redhat.com>
9823*ed0d50c3Schristos
9824*ed0d50c3Schristos	* coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
9825*ed0d50c3Schristos	_bfd_xcoff_generic_stat_arch_elt.  Fix format check.
9826*ed0d50c3Schristos	* coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
9827*ed0d50c3Schristos
9828*ed0d50c3Schristos2002-03-19  Tom Rix  <trix@redhat.com>
9829*ed0d50c3Schristos
9830*ed0d50c3Schristos	* xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
9831*ed0d50c3Schristos	dynamic objects in archives.
9832*ed0d50c3Schristos
9833*ed0d50c3Schristos2002-03-19  Hans-Peter Nilsson  <hp@bitrange.com>
9834*ed0d50c3Schristos
9835*ed0d50c3Schristos	* elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
9836*ed0d50c3Schristos	STT_NOTYPE symbols to STT_OBJECT.
9837*ed0d50c3Schristos
9838*ed0d50c3Schristos2002-03-18  Jan Hubicka  <jh@suse.cz>
9839*ed0d50c3Schristos
9840*ed0d50c3Schristos	* cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
9841*ed0d50c3Schristos
9842*ed0d50c3Schristos2002-03-18  Tom Rix  <trix@redhat.com>
9843*ed0d50c3Schristos
9844*ed0d50c3Schristos	* aix5ppc.core.c : New file for AIX 5 64 bit core support.
9845*ed0d50c3Schristos	* bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
9846*ed0d50c3Schristos	* coff-rs6000 (do_pad) : New function for archive padding.
9847*ed0d50c3Schristos	(do_copy) : New function for object file copying in archives.
9848*ed0d50c3Schristos	(do_shared_object_padding) : New function for padding shared
9849*ed0d50c3Schristos	objects to their text section alignment in archives.
9850*ed0d50c3Schristos	(bfd_xcoff_ar_achive_set_magic) : Stub.
9851*ed0d50c3Schristos	(xcoff_write_armap_big) : Use do_copy and do_pad.
9852*ed0d50c3Schristos	(xcoff_write_archive_contents_big) : Use do_shared_object_padding,
9853*ed0d50c3Schristos	do_copy and do_pad.
9854*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
9855*ed0d50c3Schristos	bfd_xcoff_magic_number.
9856*ed0d50c3Schristos	(xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
9857*ed0d50c3Schristos	fop.
9858*ed0d50c3Schristos	(xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
9859*ed0d50c3Schristos	(bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
9860*ed0d50c3Schristos	(aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
9861*ed0d50c3Schristos	* rs6000-core.c : Update copyright date.
9862*ed0d50c3Schristos	* xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
9863*ed0d50c3Schristos	csectpp.
9864*ed0d50c3Schristos	* coffcode.h (coff_new_section_hook) : Use new accessor macros.
9865*ed0d50c3Schristos	(coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
9866*ed0d50c3Schristos	(coff_set_flags) : Use bfd_xcoff_magic_number.
9867*ed0d50c3Schristos	* libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
9868*ed0d50c3Schristos	* configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
9869*ed0d50c3Schristos	* Makefile.am : Same.
9870*ed0d50c3Schristos	* config.bfd : Same.
9871*ed0d50c3Schristos	* targets.c : Same.
9872*ed0d50c3Schristos	* configure : Regnerate.
9873*ed0d50c3Schristos	* Makefile.in : Same.
9874*ed0d50c3Schristos	* bfd-in2.h : Same.
9875*ed0d50c3Schristos
9876*ed0d50c3Schristos2002-03-18  Nick Clifton  <nickc@cambridge.redhat.com>
9877*ed0d50c3Schristos
9878*ed0d50c3Schristos	* po/fr.po: Updated version.
9879*ed0d50c3Schristos
9880*ed0d50c3Schristos2002-03-18  Alan Modra  <amodra@bigpond.net.au>
9881*ed0d50c3Schristos
9882*ed0d50c3Schristos	* libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
9883*ed0d50c3Schristos	* libbfd.h: Regenerate.
9884*ed0d50c3Schristos	* archive.c (coff_write_armap): Pass on failures from
9885*ed0d50c3Schristos	bfd_write_bigendian_4byte_int.
9886*ed0d50c3Schristos
9887*ed0d50c3Schristos2002-03-14  H.J. Lu <hjl@gnu.org>
9888*ed0d50c3Schristos
9889*ed0d50c3Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
9890*ed0d50c3Schristos	error to bfd_error_nonrepresentable_section for reinit_array
9891*ed0d50c3Schristos	section in DSO.
9892*ed0d50c3Schristos
9893*ed0d50c3Schristos2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
9894*ed0d50c3Schristos
9895*ed0d50c3Schristos	* coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
9896*ed0d50c3Schristos	OR it in rather than replacing previously selected flags.
9897*ed0d50c3Schristos
9898*ed0d50c3Schristos	* elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
9899*ed0d50c3Schristos	(TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
9900*ed0d50c3Schristos
9901*ed0d50c3Schristos2002-03-14  Alan Modra  <amodra@bigpond.net.au>
9902*ed0d50c3Schristos
9903*ed0d50c3Schristos	* cpu-mips.c (mips_compatible): New.  Don't check bits_per_word.
9904*ed0d50c3Schristos	(N): Use the above.
9905*ed0d50c3Schristos	* elflink.h (elf_bfd_final_link): Revert last change.  Instead,
9906*ed0d50c3Schristos	ensure reloc size matches before calling elf_link_input_bfd.
9907*ed0d50c3Schristos	Add an assert to check reloc size when counting output relocs.
9908*ed0d50c3Schristos
9909*ed0d50c3Schristos2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
9910*ed0d50c3Schristos
9911*ed0d50c3Schristos	* mmo.c (mmo_get_loc): Return NULL rather than false.
9912*ed0d50c3Schristos
9913*ed0d50c3Schristos2002-03-13  Nick Clifton  <nickc@cambridge.redhat.com>
9914*ed0d50c3Schristos
9915*ed0d50c3Schristos	* po/fr.po: Updated version.
9916*ed0d50c3Schristos
9917*ed0d50c3Schristos2002-03-13  Alan Modra  <amodra@bigpond.net.au>
9918*ed0d50c3Schristos
9919*ed0d50c3Schristos	* archures.c (bfd_default_compatible): Test bits_per_word.
9920*ed0d50c3Schristos	* cpu-i386.c (i386_compatible): Remove.  Replace occurrences with
9921*ed0d50c3Schristos	bfd_default_compatible.
9922*ed0d50c3Schristos	* cpu-i370.c (i370_compatible): Likewise.
9923*ed0d50c3Schristos	* cpu-sparc.c (sparc_compatible): Likewise.
9924*ed0d50c3Schristos	* cpu-h8300.c (compatible): Test in->arch == out->arch.
9925*ed0d50c3Schristos
9926*ed0d50c3Schristos	* elflink.h: Formatting fixes.
9927*ed0d50c3Schristos	(elf_link_output_extsym): Merge undefined and undef weak cases.
9928*ed0d50c3Schristos
9929*ed0d50c3Schristos	* elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
9930*ed0d50c3Schristos	when word size of input matches output word size.
9931*ed0d50c3Schristos
9932*ed0d50c3Schristos2002-03-12  Andreas Jaeger  <aj@suse.de>
9933*ed0d50c3Schristos
9934*ed0d50c3Schristos	* cpu-i386.c (i386_compatible): New.  Use it instead of
9935*ed0d50c3Schristos	bfd_default_compatible.
9936*ed0d50c3Schristos
9937*ed0d50c3Schristos2002-03-07  H.J. Lu  (hjl@gnu.org)
9938*ed0d50c3Schristos
9939*ed0d50c3Schristos	* coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
9940*ed0d50c3Schristos	as the type for bfd_reloc_val.
9941*ed0d50c3Schristos
9942*ed0d50c3Schristos2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9943*ed0d50c3Schristos
9944*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
9945*ed0d50c3Schristos	(elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
9946*ed0d50c3Schristos	(elf_hppa_final_link_relocate): Correct relocations for indirect
9947*ed0d50c3Schristos	references to local data through the DLT.  Fix .opd creation for
9948*ed0d50c3Schristos	local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
9949*ed0d50c3Schristos	relocations.  Use e_lsel selector for R_PARISC_DLTIND21L,
9950*ed0d50c3Schristos	R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
9951*ed0d50c3Schristos	"Processor-Specific ELF for PA_RISC, Version 1.43" document.
9952*ed0d50c3Schristos	Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
9953*ed0d50c3Schristos	* elf32-hppa.c (final_link_relocate): Revise relocation selectors
9954*ed0d50c3Schristos	as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
9955*ed0d50c3Schristos
9956*ed0d50c3Schristos2002-03-05  Jakub Jelinek  <jakub@redhat.com>
9957*ed0d50c3Schristos
9958*ed0d50c3Schristos	* merge.c (_bfd_merge_sections): Don't segfault if there
9959*ed0d50c3Schristos	is nothing to merge due to GC.
9960*ed0d50c3Schristos
9961*ed0d50c3Schristos2002-03-05  Alan Modra  <amodra@bigpond.net.au>
9962*ed0d50c3Schristos
9963*ed0d50c3Schristos	* elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
9964*ed0d50c3Schristos	symbols that have been forced local.
9965*ed0d50c3Schristos
9966*ed0d50c3Schristos	* elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
9967*ed0d50c3Schristos	to output forced local syms for non-shared link.
9968*ed0d50c3Schristos	(elf_link_output_extsym): Tweak condition for calling backend
9969*ed0d50c3Schristos	adjust_dynamic_symbol so that previous behaviour is kept.
9970*ed0d50c3Schristos	Whitespace changes throughout file.
9971*ed0d50c3Schristos
9972*ed0d50c3Schristos2002-03-04  H.J. Lu <hjl@gnu.org>
9973*ed0d50c3Schristos
9974*ed0d50c3Schristos	* elf.c (bfd_section_from_shdr): Handle special sections,
9975*ed0d50c3Schristos	.init_array, .fini_array and .preinit_array.
9976*ed0d50c3Schristos	(elf_fake_sections): Likewise.
9977*ed0d50c3Schristos
9978*ed0d50c3Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
9979*ed0d50c3Schristos	DT entry only if the section is in output for .init_array,
9980*ed0d50c3Schristos	.fini_array and .preinit_array. Complain about .preinit_array
9981*ed0d50c3Schristos	section in DSO.
9982*ed0d50c3Schristos	(elf_bfd_final_link): Warn zero size for .init_array,
9983*ed0d50c3Schristos	.fini_array and .preinit_array sections.
9984*ed0d50c3Schristos
9985*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
9986*ed0d50c3Schristos	SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
9987*ed0d50c3Schristos	(elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
9988*ed0d50c3Schristos	.preinit_array.
9989*ed0d50c3Schristos
9990*ed0d50c3Schristos2002-03-04  Alan Modra  <amodra@bigpond.net.au>
9991*ed0d50c3Schristos
9992*ed0d50c3Schristos	* configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
9993*ed0d50c3Schristos	* configure: Regenerate.
9994*ed0d50c3Schristos
9995*ed0d50c3Schristos2002-03-02  Tom Rix  <trix@redhat.com>
9996*ed0d50c3Schristos
9997*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
9998*ed0d50c3Schristos	symbolic equiv.
9999*ed0d50c3Schristos	* coff-rs6000.c (xcoff_howto_table): Same.
10000*ed0d50c3Schristos
10001*ed0d50c3Schristos2002-03-01  David Mosberger  <davidm@hpl.hp.com>
10002*ed0d50c3Schristos
10003*ed0d50c3Schristos	* elflink.h (size_dynamic_sections): If section named
10004*ed0d50c3Schristos	".preinit_array" exists, create DT_PREINIT_ARRAY and
10005*ed0d50c3Schristos	DT_PREINIT_ARRAYSZ entries in dynamic table.  Analogously for
10006*ed0d50c3Schristos	".init_array" and ".fini_array".
10007*ed0d50c3Schristos	(elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
10008*ed0d50c3Schristos	DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
10009*ed0d50c3Schristos	DT_FINI_ARRAY.
10010*ed0d50c3Schristos
10011*ed0d50c3Schristos2002-02-26  Andrew Macleod  <amacleod@cygnus.com>
10012*ed0d50c3Schristos
10013*ed0d50c3Schristos	* elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
10014*ed0d50c3Schristos	dynsyms.
10015*ed0d50c3Schristos
10016*ed0d50c3Schristos2002-02-25  Alan Modra  <amodra@bigpond.net.au>
10017*ed0d50c3Schristos
10018*ed0d50c3Schristos	* elf64-hppa.h: Update copyright date.
10019*ed0d50c3Schristos
10020*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
10021*ed0d50c3Schristos	(ppc64_elf_relocate_section): Don't generate power4 style branch
10022*ed0d50c3Schristos	hints for *_BRTAKEN and *_BRNTAKEN relocs.
10023*ed0d50c3Schristos
10024*ed0d50c3Schristos2002-02-22  Jakub Jelinek  <jakub@redhat.com>
10025*ed0d50c3Schristos
10026*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
10027*ed0d50c3Schristos	last patch.
10028*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
10029*ed0d50c3Schristos
10030*ed0d50c3Schristos2002-02-21  Andreas Jaeger  <aj@suse.de>
10031*ed0d50c3Schristos
10032*ed0d50c3Schristos	* elf64-x86-64.c: Major rework that introduces all recent changes
10033*ed0d50c3Schristos	to the x86-64 backend.  Get a closer match to elf32-i386.
10034*ed0d50c3Schristos	(struct elf64_x86_64_dyn_relocs): Rename from
10035*ed0d50c3Schristos	elf64_x86_64_pcrel_relocs_copied, add additional fields.  Change
10036*ed0d50c3Schristos	all users.
10037*ed0d50c3Schristos	(struct elf64_x86_64_link_hash_table): Add short cuts to some
10038*ed0d50c3Schristos	sections.
10039*ed0d50c3Schristos	(link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
10040*ed0d50c3Schristos	remove casts, initialize new hash members.
10041*ed0d50c3Schristos	(create_got_section): New.
10042*ed0d50c3Schristos	(elf64_x86_64_create_dynamic_sections): New.
10043*ed0d50c3Schristos	(elf64_x86_64_copy_indirect_symbol): New.
10044*ed0d50c3Schristos	(elf64_x86_64_check_relocs): Don't allocate space for dynamic
10045*ed0d50c3Schristos	relocs, .got or .relgot here but do it in allocate_dynrelocs.
10046*ed0d50c3Schristos	Reference count possible .plt and .got entries.  Don't test input
10047*ed0d50c3Schristos	section SEC_READONLY here to try to avoid copy relocs, and keep
10048*ed0d50c3Schristos	dyn_relocs regardless of ELF_LINK_NON_GOT_REF.  Don't set
10049*ed0d50c3Schristos	DF_TEXTREL here.  Delay setting of variables until needed.  Cache
10050*ed0d50c3Schristos	pointer to "sreloc" section in elf_section_data. Tweak condition
10051*ed0d50c3Schristos	under which .got created.  Report files with bad relocation
10052*ed0d50c3Schristos	section names.
10053*ed0d50c3Schristos	(elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
10054*ed0d50c3Schristos	Reference count possible .plt entries.  Don't deallocate .got and
10055*ed0d50c3Schristos	.relgot space here.
10056*ed0d50c3Schristos	(elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc.  Don't
10057*ed0d50c3Schristos	do copy reloc processing for weakdefs.  Remove redundant casts and
10058*ed0d50c3Schristos	aborts.  Delay setting of vars until needed.  Move creation of
10059*ed0d50c3Schristos	dynamic symbols and allocation of .plt and .rela.plt to
10060*ed0d50c3Schristos	allocate_dynrelocs.  Replace BFD_ASSERT with abort.
10061*ed0d50c3Schristos	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
10062*ed0d50c3Schristos	(allocate_dynrelocs): New.
10063*ed0d50c3Schristos	(readonly_dynrelocs): New.
10064*ed0d50c3Schristos	(elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
10065*ed0d50c3Schristos	Allocate space for dyn relocs.  Replace BFD_ASSERT with abort.
10066*ed0d50c3Schristos	Zero out the dynamic allocated content space.
10067*ed0d50c3Schristos	(elf64_x86_64_discard_copies): Removed.
10068*ed0d50c3Schristos	(elf64_x86_64_relocate_section): Make use of dynamic section
10069*ed0d50c3Schristos	short-cuts.  Localise vars, and delay setting.  Better error
10070*ed0d50c3Schristos	reporting, replace BFD_ASSERT with abort.  Check
10071*ed0d50c3Schristos	ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
10072*ed0d50c3Schristos	regular object file and tread the weak definition as the normal
10073*ed0d50c3Schristos	one.  Don't discard relocs for undefweak or undefined symbols and
10074*ed0d50c3Schristos	check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
10075*ed0d50c3Schristos	relocs.
10076*ed0d50c3Schristos	(elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
10077*ed0d50c3Schristos	symbols that have been forced local.  Use same test to decide if
10078*ed0d50c3Schristos	we can use a relative reloc for got as relocate_section.  Expand
10079*ed0d50c3Schristos	SHN_UNDEF comment.  Move expressions out of function calls.
10080*ed0d50c3Schristos	Replace BFD_ASSERT with abort.
10081*ed0d50c3Schristos	(bfd_elf64_bfd_final_link): Removed.
10082*ed0d50c3Schristos	(elf_backend_copy_indirect_symbol): Define.
10083*ed0d50c3Schristos
10084*ed0d50c3Schristos2002-02-20  Tom Rix  <trix@redhat.com>
10085*ed0d50c3Schristos
10086*ed0d50c3Schristos	* coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
10087*ed0d50c3Schristos	(_bfd_xcoff_reloc_type_lookup): Use it.
10088*ed0d50c3Schristos	* coff64-rs6000.c (xcoff64_howto_table): Same.
10089*ed0d50c3Schristos	(xcoff64_reloc_type_lookup): Same.
10090*ed0d50c3Schristos
10091*ed0d50c3Schristos2002-02-20  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
10092*ed0d50c3Schristos
10093*ed0d50c3Schristos	* osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
10094*ed0d50c3Schristos	little endian.
10095*ed0d50c3Schristos
10096*ed0d50c3Schristos2002-02-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>
10097*ed0d50c3Schristos
10098*ed0d50c3Schristos	* archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
10099*ed0d50c3Schristos	(bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
10100*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
10101*ed0d50c3Schristos	* cpu-s390.c (arch_info_struct): Use renamed architecture defines.
10102*ed0d50c3Schristos	Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
10103*ed0d50c3Schristos	with "s390:64-bit".
10104*ed0d50c3Schristos	* elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
10105*ed0d50c3Schristos	(elf_s390_reloc_type_lookup): Likewise.
10106*ed0d50c3Schristos	(elf_s390_check_relocs): Likewise.
10107*ed0d50c3Schristos	(elf_s390_gc_sweep_hook): Likewise.
10108*ed0d50c3Schristos	(elf_s390_relocate_section): Likewise.
10109*ed0d50c3Schristos	(elf_s390_object_p): Use renamed architecture define.
10110*ed0d50c3Schristos	* elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
10111*ed0d50c3Schristos
10112*ed0d50c3Schristos2002-02-19  Frank Ch. Eigler  <fche@redhat.com>
10113*ed0d50c3Schristos
10114*ed0d50c3Schristos	* syms.c (stt[]): Sorted.  Added .init/.fini -> "t" mapping.
10115*ed0d50c3Schristos
10116*ed0d50c3Schristos2002-02-19  Jakub Jelinek  <jakub@redhat.com>
10117*ed0d50c3Schristos
10118*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
10119*ed0d50c3Schristos	absptr -> pcrel optimization for shared libs.
10120*ed0d50c3Schristos	Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
10121*ed0d50c3Schristos	library cannot be converted to pcrel.
10122*ed0d50c3Schristos	(_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
10123*ed0d50c3Schristos	relative.
10124*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): If
10125*ed0d50c3Schristos	_bfd_elf_section_offset returned -2, skip, but make sure the
10126*ed0d50c3Schristos	relocation is installed.
10127*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
10128*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section): Likewise.
10129*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
10130*ed0d50c3Schristos	* elf32-i370.c (i370_elf_relocate_section): Likewise.
10131*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
10132*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
10133*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
10134*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section): Likewise.
10135*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
10136*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
10137*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
10138*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
10139*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
10140*ed0d50c3Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
10141*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Handle
10142*ed0d50c3Schristos	_bfd_elf_section_offset returning -2 the same way as -1.
10143*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
10144*ed0d50c3Schristos	* elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
10145*ed0d50c3Schristos	and BFD_ASSERT.
10146*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
10147*ed0d50c3Schristos
10148*ed0d50c3Schristos2002-02-18  Tom Rix  <trix@redhat.com>
10149*ed0d50c3Schristos
10150*ed0d50c3Schristos	* xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
10151*ed0d50c3Schristos	(bfd_xcoff_size_dynamic_sections): Same.
10152*ed0d50c3Schristos	* bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
10153*ed0d50c3Schristos	(bfd_xcoff_size_dynamic_sections): Same.
10154*ed0d50c3Schristos	* coff-rs6000.c (xcoff_generate_rtinit): Same.
10155*ed0d50c3Schristos	* coff-rs646000.c (xcoff64_generate_rtinit): Same.
10156*ed0d50c3Schristos	* libxcoff.h (struct xcoff_backend_data_rec): Same.
10157*ed0d50c3Schristos	* xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
10158*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
10159*ed0d50c3Schristos
10160*ed0d50c3Schristos2002-02-18  Alan Modra  <amodra@bigpond.net.au>
10161*ed0d50c3Schristos
10162*ed0d50c3Schristos	* elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
10163*ed0d50c3Schristos	(struct ppc_link_hash_table): Add sfpr.
10164*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Init it.
10165*ed0d50c3Schristos	(ppc64_elf_create_dynamic_sections): Split creation of .stub and
10166*ed0d50c3Schristos	.glink out to..
10167*ed0d50c3Schristos	(create_linkage_sections): ..here.  Make .sfpr too.
10168*ed0d50c3Schristos	(ppc64_elf_check_relocs): Call create_linkage_sections, and set
10169*ed0d50c3Schristos	dynobj early.
10170*ed0d50c3Schristos	(MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
10171*ed0d50c3Schristos	(ppc64_elf_func_desc_adjust): Look for missing ._savef* and
10172*ed0d50c3Schristos	._restf* functions, and create as needed.
10173*ed0d50c3Schristos	(func_desc_adjust): Only force_local for shared libs.
10174*ed0d50c3Schristos
10175*ed0d50c3Schristos2002-02-18  David O'Brien  <obrien@FreeBSD.org>
10176*ed0d50c3Schristos
10177*ed0d50c3Schristos	* configure.in: Bump version number post 2.12 branching.
10178*ed0d50c3Schristos	* configure: Regenerate.
10179*ed0d50c3Schristos
10180*ed0d50c3Schristos2002-02-17  Hans-Peter Nilsson  <hp@bitrange.com>
10181*ed0d50c3Schristos
10182*ed0d50c3Schristos	* mmo.c: Correct and improve comments.
10183*ed0d50c3Schristos	(mmo_write_chunk): Store trailing byte in bfd buffer; don't
10184*ed0d50c3Schristos	zero-pad.  Use input to fill up non-empty bfd buffer.
10185*ed0d50c3Schristos	(mmo_flush_chunk): New function.
10186*ed0d50c3Schristos	(mmo_write_loc_chunk): Add parameter last_vmap, all callers
10187*ed0d50c3Schristos	changed.  Don't emit location specifier if VMA is same as
10188*ed0d50c3Schristos	*LAST_VMAP after omitting leading zero contents.  Call
10189*ed0d50c3Schristos	mmo_flush_chunk before emitting location specifier.
10190*ed0d50c3Schristos	(mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
10191*ed0d50c3Schristos	with mmo_write_loc_chunk calls.
10192*ed0d50c3Schristos	(mmo_internal_write_section): Call mmo_flush_chunk after
10193*ed0d50c3Schristos	mmo_write_chunk.
10194*ed0d50c3Schristos	(mmo_write_symbols_and_terminator): Move :Main to first position
10195*ed0d50c3Schristos	in symbol array.  Add faked one if it does not exist if there are
10196*ed0d50c3Schristos	other symbols.  Don't add it if there are no symbols at all.  Move
10197*ed0d50c3Schristos	out test for value of :Main from symbol loop.  Rename table
10198*ed0d50c3Schristos	fakemain to maintable and variable mainsym to fakemain.
10199*ed0d50c3Schristos
10200*ed0d50c3Schristos2002-02-15  Richard Henderson  <rth@redhat.com>
10201*ed0d50c3Schristos
10202*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
10203*ed0d50c3Schristos	section with no got matches any got.  Simplify error generaion.
10204*ed0d50c3Schristos
10205*ed0d50c3Schristos2002-02-15  Alan Modra  <amodra@bigpond.net.au>
10206*ed0d50c3Schristos
10207*ed0d50c3Schristos	Support arbitrary length fill patterns.
10208*ed0d50c3Schristos	* linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
10209*ed0d50c3Schristos	(_bfd_default_link_order): Remove bfd_fill_link_order code.
10210*ed0d50c3Schristos	Call default_data_link_order.
10211*ed0d50c3Schristos	(default_fill_link_order): Delete.
10212*ed0d50c3Schristos	(default_data_link_order): New function.
10213*ed0d50c3Schristos	* elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
10214*ed0d50c3Schristos	of bfd_fill_link_order with bfd_data_link_order.
10215*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_final_link): Likewise.
10216*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_final_link): Likewise.
10217*ed0d50c3Schristos
10218*ed0d50c3Schristos	* bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
10219*ed0d50c3Schristos	Correct value returned in "end" for "0x<non-hex>".
10220*ed0d50c3Schristos
10221*ed0d50c3Schristos2002-02-14  Nick Clifton  <nickc@cambridge.redhat.com>
10222*ed0d50c3Schristos
10223*ed0d50c3Schristos	* cpu-arm.c (processors): Replace 'arch' field with 'mach'.
10224*ed0d50c3Schristos	(scan): Test against 'mach' field in info structure.
10225*ed0d50c3Schristos
10226*ed0d50c3Schristos2002-02-14  Alan Modra  <amodra@bigpond.net.au>
10227*ed0d50c3Schristos
10228*ed0d50c3Schristos	* elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
10229*ed0d50c3Schristos
10230*ed0d50c3Schristos2002-02-14  Matt Fredette  <fredette@netbsd.org>
10231*ed0d50c3Schristos
10232*ed0d50c3Schristos	* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
10233*ed0d50c3Schristos	EF_M68000.
10234*ed0d50c3Schristos
10235*ed0d50c3Schristos2002-02-13  Nick Clifton  <nickc@cambridge.redhat.com>
10236*ed0d50c3Schristos
10237*ed0d50c3Schristos	* elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
10238*ed0d50c3Schristos	non-zero physical addresses when adjusting the LMAs of new
10239*ed0d50c3Schristos	sections.
10240*ed0d50c3Schristos
10241*ed0d50c3Schristos2002-02-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10242*ed0d50c3Schristos
10243*ed0d50c3Schristos	* elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
10244*ed0d50c3Schristos	from _bfd_elf_hppa_gen_reloc_type.
10245*ed0d50c3Schristos	(_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
10246*ed0d50c3Schristos	* elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
10247*ed0d50c3Schristos	* elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
10248*ed0d50c3Schristos	* elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
10249*ed0d50c3Schristos
10250*ed0d50c3Schristos2002-02-12  Alexandre Oliva  <aoliva@redhat.com>
10251*ed0d50c3Schristos
10252*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relax_section): Skip section before
10253*ed0d50c3Schristos	loading its contents if there's nothing to do in it.
10254*ed0d50c3Schristos
10255*ed0d50c3Schristos2002-02-12  Alan Modra  <amodra@bigpond.net.au>
10256*ed0d50c3Schristos
10257*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
10258*ed0d50c3Schristos	64k boundary.
10259*ed0d50c3Schristos
10260*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
10261*ed0d50c3Schristos	DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
10262*ed0d50c3Schristos	(ppc64_elf_finish_dynamic_sections): Set values for them.
10263*ed0d50c3Schristos
10264*ed0d50c3Schristos2002-02-11  Michael Snyder  <msnyder@redhat.com>
10265*ed0d50c3Schristos
10266*ed0d50c3Schristos	* elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
10267*ed0d50c3Schristos	* elf.c (elfcore_grok_pstatus): Add prototype.
10268*ed0d50c3Schristos	(elfcore_grok_lwpstatus): Add prototype.
10269*ed0d50c3Schristos	(elfcore_write_lwpstatus): New function.
10270*ed0d50c3Schristos	(elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
10271*ed0d50c3Schristos
10272*ed0d50c3Schristos2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
10273*ed0d50c3Schristos
10274*ed0d50c3Schristos	* elf32-sh.c: Added missing prototypes.
10275*ed0d50c3Schristos	* elf32-sh64.c: Likewise.
10276*ed0d50c3Schristos	(sh_elf_align_loads): Mark unused args as such.
10277*ed0d50c3Schristos	* elf64-sh64.c: Added missing prototypes.
10278*ed0d50c3Schristos	(struct elf_sh64_link_hash_entry): Fix typo.
10279*ed0d50c3Schristos	(sh_elf64_relocate_section): Fix info argument passed to
10280*ed0d50c3Schristos	_bfd_elf_section_offset.
10281*ed0d50c3Schristos
10282*ed0d50c3Schristos2002-02-11  Alan Modra  <amodra@bigpond.net.au>
10283*ed0d50c3Schristos
10284*ed0d50c3Schristos	* Makefile.am: "make dep-am".
10285*ed0d50c3Schristos	* Makefile.in: Regenerate.
10286*ed0d50c3Schristos	* aclocal.m4: Regenerate.
10287*ed0d50c3Schristos	* config.in: Regenerate.
10288*ed0d50c3Schristos	* configure: Regenerate.
10289*ed0d50c3Schristos
10290*ed0d50c3Schristos2002-02-10  Daniel Jacobowitz  <drow@mvista.com>
10291*ed0d50c3Schristos
10292*ed0d50c3Schristos	* coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
10293*ed0d50c3Schristos	variable warnings.
10294*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
10295*ed0d50c3Schristos	comparison warning.
10296*ed0d50c3Schristos	* trad-core.c (trad_unix_core_file_p): Silence pointer/integer
10297*ed0d50c3Schristos	cast warnings for the common case.
10298*ed0d50c3Schristos
10299*ed0d50c3Schristos2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
10300*ed0d50c3Schristos
10301*ed0d50c3Schristos	* config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
10302*ed0d50c3Schristos	vectors.
10303*ed0d50c3Schristos	(sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
10304*ed0d50c3Schristos	vectors.
10305*ed0d50c3Schristos
10306*ed0d50c3Schristos2002-02-09  Richard Henderson  <rth@redhat.com>
10307*ed0d50c3Schristos
10308*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
10309*ed0d50c3Schristos	(elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
10310*ed0d50c3Schristos	(elf64_alpha_relocate_section): Likewise.
10311*ed0d50c3Schristos	* reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
10312*ed0d50c3Schristos	* bfd-in2.h, libbfd.h: Rebuild.
10313*ed0d50c3Schristos
10314*ed0d50c3Schristos2002-02-09  Hans-Peter Nilsson  <hp@bitrange.com>
10315*ed0d50c3Schristos
10316*ed0d50c3Schristos	* elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
10317*ed0d50c3Schristos	that base-plus-offset reloc accounting is consistent.
10318*ed0d50c3Schristos	(mmix_elf_relax_section): Keep base-plus-offset reloc accounting
10319*ed0d50c3Schristos	up to date for undefined symbols.
10320*ed0d50c3Schristos
10321*ed0d50c3Schristos2002-02-08  Eric Christopher  <echristo@redhat.com>
10322*ed0d50c3Schristos
10323*ed0d50c3Schristos	From Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10324*ed0d50c3Schristos
10325*ed0d50c3Schristos	* elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
10326*ed0d50c3Schristos	sections for the O32 ABI.
10327*ed0d50c3Schristos
10328*ed0d50c3Schristos2002-02-08  Chris Demetriou  <cgd@broadcom.com>
10329*ed0d50c3Schristos
10330*ed0d50c3Schristos	* elf32-arm.h: Fix formatting of _("...").
10331*ed0d50c3Schristos	* elf32-d10v.c: Likewise.
10332*ed0d50c3Schristos	* elf32-m68k.c: Likewise.
10333*ed0d50c3Schristos	* elf32-mips.c: Likewise.
10334*ed0d50c3Schristos
10335*ed0d50c3Schristos2002-02-08  Ivan Guzvinec <ivang@opencores.org>
10336*ed0d50c3Schristos
10337*ed0d50c3Schristos	* coff-or32.c: Fix compile time warning messages.
10338*ed0d50c3Schristos
10339*ed0d50c3Schristos2002-02-08  Alexandre Oliva  <aoliva@redhat.com>
10340*ed0d50c3Schristos
10341*ed0d50c3Schristos	Contribute sh64-elf.
10342*ed0d50c3Schristos	2002-01-23  Alexandre Oliva  <aoliva@redhat.com>
10343*ed0d50c3Schristos	* reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
10344*ed0d50c3Schristos	R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
10345*ed0d50c3Schristos	R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
10346*ed0d50c3Schristos	R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
10347*ed0d50c3Schristos	R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
10348*ed0d50c3Schristos	R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
10349*ed0d50c3Schristos	R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
10350*ed0d50c3Schristos	R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
10351*ed0d50c3Schristos	R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
10352*ed0d50c3Schristos	New relocs.
10353*ed0d50c3Schristos	* libbfd.h, bfd-in2.h: Rebuilt.
10354*ed0d50c3Schristos	* elf32-sh.c (sh_elf_howto_table): Define new relocs.
10355*ed0d50c3Schristos	(sh_reloc_map): Map them.
10356*ed0d50c3Schristos	(PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
10357*ed0d50c3Schristos	elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
10358*ed0d50c3Schristos	elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
10359*ed0d50c3Schristos	elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
10360*ed0d50c3Schristos	elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
10361*ed0d50c3Schristos	elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
10362*ed0d50c3Schristos	movi_shori_putval) [INCLUDE_SHMEDIA]: New.
10363*ed0d50c3Schristos	(elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
10364*ed0d50c3Schristos	datalabel_got_offset.
10365*ed0d50c3Schristos	(sh_elf_link_hash_newfunc): Initialize it.
10366*ed0d50c3Schristos	(sh_elf_relocate_section): Augment the scope of
10367*ed0d50c3Schristos	seen_stt_datalabel.  Introduce GOTPLT support.  Extend GOTPC, PLT,
10368*ed0d50c3Schristos	GOT and GOTOFF handling to new SHmedia relocation types.  Support
10369*ed0d50c3Schristos	GOT_BIAS.
10370*ed0d50c3Schristos	(sh_elf_check_relocs): Likewise.
10371*ed0d50c3Schristos	(sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
10372*ed0d50c3Schristos	PLT entries using movi_shori_putval.  Support GOT_BIAS.
10373*ed0d50c3Schristos	(sh_elf_finish_dynamic_sections): Likewise.
10374*ed0d50c3Schristos	* elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
10375*ed0d50c3Schristos	relocation, it's now done by the caller.
10376*ed0d50c3Schristos	(GOT_BIAS): New.
10377*ed0d50c3Schristos	* elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
10378*ed0d50c3Schristos	elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
10379*ed0d50c3Schristos	elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
10380*ed0d50c3Schristos	elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
10381*ed0d50c3Schristos	elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
10382*ed0d50c3Schristos	elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
10383*ed0d50c3Schristos	sh64_elf64_hash_table): New.
10384*ed0d50c3Schristos	(sh_elf64_howto_table): Introduce new relocs.
10385*ed0d50c3Schristos	(sh_elf64_info_to_howto): Accept new PIC relocs.
10386*ed0d50c3Schristos	(sh_elf64_relocate_section): Augment the scope of
10387*ed0d50c3Schristos	seen_stt_datalabel.  Support new PIC relocs.
10388*ed0d50c3Schristos	(sh_elf64_check_relocs): Support new PIC relocs.
10389*ed0d50c3Schristos	(elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
10390*ed0d50c3Schristos	elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
10391*ed0d50c3Schristos	elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
10392*ed0d50c3Schristos	elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
10393*ed0d50c3Schristos	sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
10394*ed0d50c3Schristos	movi_shori_putval, movi_3shori_putval,
10395*ed0d50c3Schristos	sh64_elf64_create_dynamic_sections,
10396*ed0d50c3Schristos	sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
10397*ed0d50c3Schristos	sh64_elf64_size_dynamic_sections,
10398*ed0d50c3Schristos	sh64_elf64_finish_dynamic_symbol,
10399*ed0d50c3Schristos	sh64_elf64_finish_dynamic_sections): New.
10400*ed0d50c3Schristos	(elf_backend_create_dynamic-sections,
10401*ed0d50c3Schristos	bfd_elf64_bfd_link_hash_table_create,
10402*ed0d50c3Schristos	elf_backend_adjust_dynamic_symbol,
10403*ed0d50c3Schristos	elf_backend_size_dynamic_sections,
10404*ed0d50c3Schristos	elf_backend_finish_dynamic_symbol,
10405*ed0d50c3Schristos	elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
10406*ed0d50c3Schristos	elf_backend_plt_readonly, elf_backend_want_plt_sym,
10407*ed0d50c3Schristos	elf_backend_got_header_size, elf_backend_plt_header_size):
10408*ed0d50c3Schristos	Define.
10409*ed0d50c3Schristos	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
10410*ed0d50c3Schristos	* elf32-sh.c: Renumbered and renamed some SH5 relocations to
10411*ed0d50c3Schristos	match official numbers and names; moved unmaching ones to the
10412*ed0d50c3Schristos	range 0xf2-0xff.
10413*ed0d50c3Schristos	* elf32-sh64.c, elf64-sh64.c: Likewise.
10414*ed0d50c3Schristos	2001-03-12  DJ Delorie  <dj@redhat.com>
10415*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
10416*ed0d50c3Schristos	sections.
10417*ed0d50c3Schristos	2001-03-12  DJ Delorie  <dj@redhat.com>
10418*ed0d50c3Schristos	* elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
10419*ed0d50c3Schristos	be aligned.
10420*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Ditto.
10421*ed0d50c3Schristos	2001-01-14  Hans-Peter Nilsson  <hpn@cygnus.com>
10422*ed0d50c3Schristos	* elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
10423*ed0d50c3Schristos	(sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
10424*ed0d50c3Schristos	.cranges section with SEC_SORT_ENTRIES set.
10425*ed0d50c3Schristos	(sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
10426*ed0d50c3Schristos	incoming sorted .cranges section.
10427*ed0d50c3Schristos	(sh64_bfd_elf_copy_private_section_data): New.
10428*ed0d50c3Schristos	(sh64_elf_final_write_processing): Only sort .cranges and modify
10429*ed0d50c3Schristos	start address if called by linker.
10430*ed0d50c3Schristos	2001-01-08  Ben Elliston  <bje@redhat.com>
10431*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_final_write_processing): Activate
10432*ed0d50c3Schristos	Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
10433*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
10434*ed0d50c3Schristos	2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
10435*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
10436*ed0d50c3Schristos	line.  Add comments before all entries.
10437*ed0d50c3Schristos	<R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
10438*ed0d50c3Schristos	comment.
10439*ed0d50c3Schristos	(sh_elf64_reloc): Correct head comment.
10440*ed0d50c3Schristos	(sh_elf64_relocate_section): Correct spacing.
10441*ed0d50c3Schristos	<relocating for a local symbol>: Do not honour STO_SH5_ISA32;
10442*ed0d50c3Schristos	instead call reloc_dangerous callback.
10443*ed0d50c3Schristos	<case R_SH_SHMEDIA_CODE>: New case.
10444*ed0d50c3Schristos	(sh_elf64_gc_mark_hook): Correct spacing.
10445*ed0d50c3Schristos	(sh_elf64_check_relocs): Ditto.
10446*ed0d50c3Schristos	* elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
10447*ed0d50c3Schristos	New case.
10448*ed0d50c3Schristos	* elf32-sh.c: Correct #endif comments for #ifndef-wrapped
10449*ed0d50c3Schristos	functions.
10450*ed0d50c3Schristos	(sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
10451*ed0d50c3Schristos	clarify describing comment.  Add comments before all entries.
10452*ed0d50c3Schristos	(sh_elf_relocate_section) <relocating for a local symbol>: Do not
10453*ed0d50c3Schristos	honour STO_SH5_ISA32; instead call reloc_dangerous callback.
10454*ed0d50c3Schristos	2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
10455*ed0d50c3Schristos	Sort .cranges section in final link.  Prepare to set bit 0 on
10456*ed0d50c3Schristos	entry address.
10457*ed0d50c3Schristos	* elf32-sh64.c (struct sh64_find_section_vma_data): New.
10458*ed0d50c3Schristos	(sh64_elf_link_output_symbol_hook): Fix typo in prototype.
10459*ed0d50c3Schristos	(sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
10460*ed0d50c3Schristos	.cranges section.
10461*ed0d50c3Schristos	(sh64_backend_section_from_shdr): New, to recognize
10462*ed0d50c3Schristos	SHT_SH5_CR_SORTED on incoming .cranges section.
10463*ed0d50c3Schristos	(elf_backend_section_from_shdr): Define.
10464*ed0d50c3Schristos	(sh64_elf_final_write_processing): Sort outgoing .cranges
10465*ed0d50c3Schristos	section.  (New, temporarily disabled:) Set bit 0 on entry address
10466*ed0d50c3Schristos	according to ISA type.
10467*ed0d50c3Schristos	(sh64_find_section_for_address): New.
10468*ed0d50c3Schristos	(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
10469*ed0d50c3Schristos	crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
10470*ed0d50c3Schristos	(sh64_address_in_cranges): Move here from opcodes/sh64-dis.c.  Use
10471*ed0d50c3Schristos	bfd_malloc, not xmalloc.
10472*ed0d50c3Schristos	(sh64_get_contents_type): Move here from opcodes/sh64-dis.c.  Make
10473*ed0d50c3Schristos	global.
10474*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
10475*ed0d50c3Schristos	temporarily disabled) setting bit 0 on entry address.
10476*ed0d50c3Schristos	(elf_backend_final_write_processing): Define.
10477*ed0d50c3Schristos	2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
10478*ed0d50c3Schristos	* elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
10479*ed0d50c3Schristos	be a proper relocation for PTA and PTB rather than a marker.
10480*ed0d50c3Schristos	<R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
10481*ed0d50c3Schristos	R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
10482*ed0d50c3Schristos	R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
10483*ed0d50c3Schristos	R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
10484*ed0d50c3Schristos	R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
10485*ed0d50c3Schristos	Zero src_mask.
10486*ed0d50c3Schristos	* elf64-sh64.c: Ditto.
10487*ed0d50c3Schristos	(sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
10488*ed0d50c3Schristos	* elf32-sh64.c: Include opcodes/sh64-opc.h
10489*ed0d50c3Schristos	(shmedia_prepare_reloc): Take a bfd_link_info pointer as first
10490*ed0d50c3Schristos	argument.  Drop const qualifiers from "bfd *" and "bfd_byte *"
10491*ed0d50c3Schristos	parameters.  No unused parameters.  Caller changed.
10492*ed0d50c3Schristos	<case R_SH_PT_16>: New case.
10493*ed0d50c3Schristos	* Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
10494*ed0d50c3Schristos	* Makefile.in: Regenerate.
10495*ed0d50c3Schristos	2000-12-30  Hans-Peter Nilsson  <hpn@cygnus.com>
10496*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
10497*ed0d50c3Schristos	all code sections.
10498*ed0d50c3Schristos	(sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
10499*ed0d50c3Schristos	(sh64_elf_merge_private_data): Ditto.
10500*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
10501*ed0d50c3Schristos	to access stored section flags.
10502*ed0d50c3Schristos	(sh64_elf_final_write_processing): Return immediately unless
10503*ed0d50c3Schristos	called by linker.  Use sh64_elf_section_data (cranges) to get size
10504*ed0d50c3Schristos	of linker-generated cranges entries.
10505*ed0d50c3Schristos	(sh64_elf_copy_private_data): Add missing "return true".
10506*ed0d50c3Schristos	(sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
10507*ed0d50c3Schristos	(sh_elf64_merge_private_data): Ditto.
10508*ed0d50c3Schristos	2000-12-19  Hans-Peter Nilsson  <hpn@cygnus.com>
10509*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
10510*ed0d50c3Schristos	elf64-sh64.c:sh64_elf_fake_sections.
10511*ed0d50c3Schristos	(elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
10512*ed0d50c3Schristos	2000-12-18  Hans-Peter Nilsson  <hpn@cygnus.com>
10513*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
10514*ed0d50c3Schristos	(sh64_elf_final_write_processing): New.
10515*ed0d50c3Schristos	(elf_backend_final_write_processing): Define.
10516*ed0d50c3Schristos	(sh64_elf_fake_sections): Get header flags from tdata field.
10517*ed0d50c3Schristos	(sh64_elf_copy_private_data): Do not call
10518*ed0d50c3Schristos	sh64_elf_copy_private_data_internal, just copy e_flags field.
10519*ed0d50c3Schristos	(sh64_elf_merge_private_data): Do not call
10520*ed0d50c3Schristos	sh64_elf_copy_private_data_internal.
10521*ed0d50c3Schristos	2000-12-12  Hans-Peter Nilsson  <hpn@cygnus.com>
10522*ed0d50c3Schristos	Remove EF_SH64_ABI64, let ELF size make difference.
10523*ed0d50c3Schristos	Remove SH64-specific BFD section flag.
10524*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
10525*ed0d50c3Schristos	containing SHmedia through elf_section_data (asect)->tdata
10526*ed0d50c3Schristos	non-zero, not using a BFD section flag.
10527*ed0d50c3Schristos	(sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
10528*ed0d50c3Schristos	(sh64_elf_merge_private_data): Similar.
10529*ed0d50c3Schristos	(elf_backend_section_flags): Don't define.
10530*ed0d50c3Schristos	(sh64_elf_backend_section_flags): Delete.
10531*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
10532*ed0d50c3Schristos	not EF_SH64_ABI64.
10533*ed0d50c3Schristos	(sh_elf64_merge_private_data): Similar.
10534*ed0d50c3Schristos	* section.c (Section flags definitions): Don't define
10535*ed0d50c3Schristos	SEC_SH_ISA_SHMEDIA.
10536*ed0d50c3Schristos	(bfd-in2.h): Regenerate.
10537*ed0d50c3Schristos	2000-12-09  Hans-Peter Nilsson  <hpn@cygnus.com>
10538*ed0d50c3Schristos	Make DataLabel references work with partial linking.
10539*ed0d50c3Schristos	* elf32-sh64.c: Fix formatting.
10540*ed0d50c3Schristos	(sh64_elf_link_output_symbol_hook): New.
10541*ed0d50c3Schristos	(elf_backend_link_output_symbol_hook): Define to
10542*ed0d50c3Schristos	sh64_elf_link_output_symbol_hook.
10543*ed0d50c3Schristos	(sh64_elf_add_symbol_hook): Make DataLabel symbol just global
10544*ed0d50c3Schristos	undefined if partial linking.  Adjust sanity check.
10545*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
10546*ed0d50c3Schristos	(elf_backend_link_output_symbol_hook): Define to
10547*ed0d50c3Schristos	sh64_elf64_link_output_symbol_hook.
10548*ed0d50c3Schristos	(sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
10549*ed0d50c3Schristos	undefined if partial linking.  Adjust sanity check.
10550*ed0d50c3Schristos	2000-12-07  Hans-Peter Nilsson  <hpn@cygnus.com>
10551*ed0d50c3Schristos	Implement semantics for inter-file DataLabel references.
10552*ed0d50c3Schristos	* elf64-sh64.c (DATALABEL_SUFFIX): Define.
10553*ed0d50c3Schristos	(sh64_elf64_add_symbol_hook): New.
10554*ed0d50c3Schristos	(sh_elf64_relocate_section): If passing an indirect symbol with
10555*ed0d50c3Schristos	st_type STT_DATALABEL on the way to a symbol with st_other
10556*ed0d50c3Schristos	STO_SH5_ISA32, do not bitor 1 to the relocation.
10557*ed0d50c3Schristos	(elf_backend_add_symbol_hook): Define to
10558*ed0d50c3Schristos	sh64_elf64_add_symbol_hook.
10559*ed0d50c3Schristos	* elf64-sh32.c: Tweak comments.
10560*ed0d50c3Schristos	(DATALABEL_SUFFIX): Define.
10561*ed0d50c3Schristos	(sh64_elf_add_symbol_hook): New.
10562*ed0d50c3Schristos	(elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
10563*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section): If passing an indirect
10564*ed0d50c3Schristos	symbol with st_type STT_DATALABEL on the way to a symbol with
10565*ed0d50c3Schristos	st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
10566*ed0d50c3Schristos	2000-12-05  Hans-Peter Nilsson  <hpn@cygnus.com>
10567*ed0d50c3Schristos	Pass through STT_DATALABEL.
10568*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_get_symbol_type): New.
10569*ed0d50c3Schristos	(elf_backend_get_symbol_type): Define.
10570*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_get_symbol_type): New.
10571*ed0d50c3Schristos	(elf_backend_get_symbol_type): Define.
10572*ed0d50c3Schristos	2000-11-30  Hans-Peter Nilsson  <hpn@cygnus.com>
10573*ed0d50c3Schristos	* elf32-sh64.c: Tweak comments.
10574*ed0d50c3Schristos	(sh64_elf_copy_private_data_internal): Add prototype.
10575*ed0d50c3Schristos	(bfd_elf32_bfd_set_private_flags): Define.
10576*ed0d50c3Schristos	(sh64_elf_copy_private_data_internal): Compare machine name, not
10577*ed0d50c3Schristos	textual BFD target name, to check whether to copy section flag
10578*ed0d50c3Schristos	SHF_SH5_ISA32.
10579*ed0d50c3Schristos	(sh64_elf_merge_private_data): Validize bfd_get_arch_size.
10580*ed0d50c3Schristos	Tweak section-contents-type-mismatch message.
10581*ed0d50c3Schristos	(shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
10582*ed0d50c3Schristos	Validize reloc-types.
10583*ed0d50c3Schristos	* elf64-sh64.c: New file.
10584*ed0d50c3Schristos	* targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
10585*ed0d50c3Schristos	* Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
10586*ed0d50c3Schristos	(BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
10587*ed0d50c3Schristos	Regenerate dependencies.
10588*ed0d50c3Schristos	* Makefile.in: Regenerate.
10589*ed0d50c3Schristos	* config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
10590*ed0d50c3Schristos	bfd_elf64_sh64l_vec.
10591*ed0d50c3Schristos	* configure.in: Handle bfd_elf64_sh64_vec and
10592*ed0d50c3Schristos	bfd_elf64_sh64l_vec.
10593*ed0d50c3Schristos	* configure: Regenerate.
10594*ed0d50c3Schristos	* po/POTFILES.in: Regenerate.
10595*ed0d50c3Schristos	* po/bfd.pot: Regenerate.
10596*ed0d50c3Schristos	2000-11-29  Hans-Peter Nilsson  <hpn@cygnus.com>
10597*ed0d50c3Schristos	* elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
10598*ed0d50c3Schristos	anything else but EF_SH64 and EF_SH64_ABI64.
10599*ed0d50c3Schristos	(sh64_elf_merge_private_data): Emit error for anything else but
10600*ed0d50c3Schristos	EF_SH64 and EF_SH64_ABI64.
10601*ed0d50c3Schristos	* config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
10602*ed0d50c3Schristos	from targ_selvecs.
10603*ed0d50c3Schristos	* configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
10604*ed0d50c3Schristos	bfd_elf32_sh64l_vec as a temporary measure.
10605*ed0d50c3Schristos	* configure: Regenerate.
10606*ed0d50c3Schristos	2000-11-27  Hans-Peter Nilsson  <hpn@cygnus.com>
10607*ed0d50c3Schristos	* cpu-sh.c (arch_info_struct): Include sh5 item
10608*ed0d50c3Schristos	unconditionalized.
10609*ed0d50c3Schristos	* config.bfd (sh64-*-elf*): Do not set targ_cflags.
10610*ed0d50c3Schristos	Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
10611*ed0d50c3Schristos	bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
10612*ed0d50c3Schristos	* elf32-sh64.c: Tweak comments.
10613*ed0d50c3Schristos	(sh64_elf_set_mach_from_flags): Recognize all machine flags that
10614*ed0d50c3Schristos	are proper subsets of SH64 as bfd_mach_sh5.  Add EF_SH64_ABI64.
10615*ed0d50c3Schristos	(sh64_elf_copy_private_data_internal): Wrap long line.
10616*ed0d50c3Schristos	(sh64_elf_merge_private_data): Rewrite to allow objects from
10617*ed0d50c3Schristos	SH64 subsets to be linked together.
10618*ed0d50c3Schristos	(INCLUDE_SHMEDIA): Define.
10619*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section) <local symbol>:
10620*ed0d50c3Schristos	Parenthesize plus-expression inside or-expression.
10621*ed0d50c3Schristos	<global symbol>: Ditto.
10622*ed0d50c3Schristos	(sh_elf_set_mach_from_flags): Remove code refusing
10623*ed0d50c3Schristos	deleted EF_SH64_32BIT_ABI flag.
10624*ed0d50c3Schristos	2000-11-26  Hans-Peter Nilsson  <hpn@cygnus.com>
10625*ed0d50c3Schristos	* elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
10626*ed0d50c3Schristos	R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
10627*ed0d50c3Schristos	R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
10628*ed0d50c3Schristos	(sh_elf_relocate_section) <local symbol>: Or 1 in
10629*ed0d50c3Schristos	calculation of relocation if sym->st_other & STO_SH5_ISA32.
10630*ed0d50c3Schristos	<global symbol>: Ditto if h->other & STO_SH5_ISA32.
10631*ed0d50c3Schristos	* elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
10632*ed0d50c3Schristos	relocation.
10633*ed0d50c3Schristos	2000-11-24  Hans-Peter Nilsson  <hpn@cygnus.com>
10634*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
10635*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
10636*ed0d50c3Schristos	Regenerate dependencies.
10637*ed0d50c3Schristos	* Makefile.in: Regenerate.
10638*ed0d50c3Schristos	* archures.c: Add bfd_mach_sh5.
10639*ed0d50c3Schristos	* config.bfd: Map targ_cpu sh* to bfd_sh_arch.
10640*ed0d50c3Schristos	Handle sh64-*-elf*.  Set targ_cflags to -DINCLUDE_SHMEDIA.
10641*ed0d50c3Schristos	* configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
10642*ed0d50c3Schristos	* configure: Regenerate.
10643*ed0d50c3Schristos	* reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
10644*ed0d50c3Schristos	BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
10645*ed0d50c3Schristos	BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
10646*ed0d50c3Schristos	BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
10647*ed0d50c3Schristos	BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
10648*ed0d50c3Schristos	BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
10649*ed0d50c3Schristos	BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
10650*ed0d50c3Schristos	BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
10651*ed0d50c3Schristos	BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
10652*ed0d50c3Schristos	* cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
10653*ed0d50c3Schristos	in item for SH5.
10654*ed0d50c3Schristos	* elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
10655*ed0d50c3Schristos	for SHmedia relocs.
10656*ed0d50c3Schristos	[INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
10657*ed0d50c3Schristos	[INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
10658*ed0d50c3Schristos	shmedia_prepare_reloc, goto final_link_relocate if it returns
10659*ed0d50c3Schristos	non-zero, else fail as before.
10660*ed0d50c3Schristos	(sh_elf_set_mach_from_flags): Provide function only if not defined
10661*ed0d50c3Schristos	as macro.  Do not recognize objects with EF_SH64_32BIT_ABI set.
10662*ed0d50c3Schristos	(sh_elf_set_private_flags): Provide function only if not defined
10663*ed0d50c3Schristos	as a macro.
10664*ed0d50c3Schristos	(sh_elf_copy_private_data): Similar.
10665*ed0d50c3Schristos	(sh_elf_merge_private_data): Similar.
10666*ed0d50c3Schristos	* section.c (SEC_SH_ISA_SHMEDIA): New.
10667*ed0d50c3Schristos	* targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
10668*ed0d50c3Schristos	* elf32-sh64.c: New file.
10669*ed0d50c3Schristos	* libbfd.h: Regenerate.
10670*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
10671*ed0d50c3Schristos	* po/POTFILES.in: Regenerate.
10672*ed0d50c3Schristos	* po/bfd.pot: Regenerate.
10673*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
10674*ed0d50c3Schristos	* libbfd.h: Regenerate.
10675*ed0d50c3Schristos
10676*ed0d50c3Schristos2002-02-07  Daniel Jacobowitz  <drow@mvista.com>
10677*ed0d50c3Schristos
10678*ed0d50c3Schristos	* bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
10679*ed0d50c3Schristos	been included, not drag it in.
10680*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
10681*ed0d50c3Schristos
10682*ed0d50c3Schristos2002-02-06  H.J. Lu  (hjl@gnu.org)
10683*ed0d50c3Schristos
10684*ed0d50c3Schristos	* elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
10685*ed0d50c3Schristos	the mach and ISA fields if necessary.
10686*ed0d50c3Schristos
10687*ed0d50c3Schristos2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
10688*ed0d50c3Schristos
10689*ed0d50c3Schristos	* coffcode.h (coff_set_arch_mach_hook): Select the highest known
10690*ed0d50c3Schristos	ARM architecture when an F_ARM_5 flag is detected, since we cannot
10691*ed0d50c3Schristos	be sure exactly which architecture this represents.
10692*ed0d50c3Schristos
10693*ed0d50c3Schristos2002-02-05  Nick Clifton  <nickc@redhat.com>
10694*ed0d50c3Schristos
10695*ed0d50c3Schristos	* po/tr.po: Updated translation.
10696*ed0d50c3Schristos
10697*ed0d50c3Schristos2002-02-05  Alan Modra  <amodra@bigpond.net.au>
10698*ed0d50c3Schristos
10699*ed0d50c3Schristos	From Jimi X <jimix@watson.ibm.com>
10700*ed0d50c3Schristos	* archures (bfd_mach_ppc64): Define.
10701*ed0d50c3Schristos	(bfd_powerpc_arch): Rename to bfd_powerpc_archs.
10702*ed0d50c3Schristos	(bfd_powerpc_arch): Define.
10703*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
10704*ed0d50c3Schristos	* cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
10705*ed0d50c3Schristos	(bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
10706*ed0d50c3Schristos	(bfd_powerpc_archs): Add default powerpc64 arch.
10707*ed0d50c3Schristos
10708*ed0d50c3Schristos2002-02-05  Alan Modra  <amodra@bigpond.net.au>
10709*ed0d50c3Schristos
10710*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
10711*ed0d50c3Schristos	against section syms in readonly sections.  Don't do the global
10712*ed0d50c3Schristos	sym check if we find one.
10713*ed0d50c3Schristos	* elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
10714*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
10715*ed0d50c3Schristos	* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
10716*ed0d50c3Schristos	* elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
10717*ed0d50c3Schristos	(elf_s390_grok_prstatus): Add missing prototype.
10718*ed0d50c3Schristos
10719*ed0d50c3Schristos2002-02-04  Hans-Peter Nilsson  <hp@bitrange.com>
10720*ed0d50c3Schristos
10721*ed0d50c3Schristos	* elf64-mmix.c (mmix_dump_bpo_gregs): New function.
10722*ed0d50c3Schristos	(mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
10723*ed0d50c3Schristos	Call bfd_get_section_by_name only once.  Initialize
10724*ed0d50c3Schristos	bpodata->n_bpo_relocs_this_section.
10725*ed0d50c3Schristos	(_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
10726*ed0d50c3Schristos	referring to DSOs.
10727*ed0d50c3Schristos	(bpo_reloc_request_sort_fn): Don't use difference of values as
10728*ed0d50c3Schristos	return-value.
10729*ed0d50c3Schristos
10730*ed0d50c3Schristos2002-02-02  David O'Brien  <obrien@FreeBSD>
10731*ed0d50c3Schristos
10732*ed0d50c3Schristos	* configure.in: Tweak the FreeBSD 4.x recognition more.  Only treat
10733*ed0d50c3Schristos	version 4.5 and later the same as 5-CURRENT.
10734*ed0d50c3Schristos	* configure: Re-generate.
10735*ed0d50c3Schristos
10736*ed0d50c3Schristos2002-02-02  Jason Thorpe  <thorpej@wasabisystems.com>
10737*ed0d50c3Schristos
10738*ed0d50c3Schristos	* config.bfd (hppa*-*-netbsd*): New target.
10739*ed0d50c3Schristos
10740*ed0d50c3Schristos2002-01-31  Philipp Thomas  <pthomas@suse.de>
10741*ed0d50c3Schristos
10742*ed0d50c3Schristos	* coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
10743*ed0d50c3Schristos	to front of message. Unify messages with elf32-arm.h. Use
10744*ed0d50c3Schristos	commas where neccessary.
10745*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
10746*ed0d50c3Schristos	ERROR in messages. Unify messages with coff-arm.c. Correct
10747*ed0d50c3Schristos	VFP/FPA error message.
10748*ed0d50c3Schristos	(elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
10749*ed0d50c3Schristos	APCS-32 for translation.
10750*ed0d50c3Schristos
10751*ed0d50c3Schristos2002-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
10752*ed0d50c3Schristos
10753*ed0d50c3Schristos	Perform on-demand global register allocation from
10754*ed0d50c3Schristos	R_MMIX_BASE_PLUS_OFFSET relocs.
10755*ed0d50c3Schristos	* elf64-mmix.c (struct bpo_reloc_section_info, struct
10756*ed0d50c3Schristos	bpo_reloc_request, struct bpo_greg_section_info): New.
10757*ed0d50c3Schristos	(mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
10758*ed0d50c3Schristos	bpo_reloc_request_sort_fn, mmix_elf_relax_section,
10759*ed0d50c3Schristos	_bfd_mmix_check_all_relocs,
10760*ed0d50c3Schristos	_bfd_mmix_prepare_linker_allocated_gregs,
10761*ed0d50c3Schristos	_bfd_mmix_finalize_linker_allocated_gregs): New functions.
10762*ed0d50c3Schristos	(elf_mmix_howto_table): Correct src_mask for most relocs.
10763*ed0d50c3Schristos	(mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
10764*ed0d50c3Schristos	case.
10765*ed0d50c3Schristos	(mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
10766*ed0d50c3Schristos	case.  Fix typo in comment.  New label do_mmix_reloc.
10767*ed0d50c3Schristos	(mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
10768*ed0d50c3Schristos	store first object file with a base-plus-offset reloc.  Call
10769*ed0d50c3Schristos	mmix_elf_check_common_relocs for the part common with mmo.
10770*ed0d50c3Schristos	(mmix_elf_final_link): Write out linker-allocated register
10771*ed0d50c3Schristos	contents section.
10772*ed0d50c3Schristos	(elf_backend_gc_sweep_hook): Define.
10773*ed0d50c3Schristos	(bfd_elf64_bfd_relax_section): Define.
10774*ed0d50c3Schristos
10775*ed0d50c3Schristos	* mmo.c: Don't include <ctype.h>
10776*ed0d50c3Schristos	(mmo_init): Correct init-once logic.
10777*ed0d50c3Schristos
10778*ed0d50c3Schristos2002-02-01  Tom Rix  <trix@redhat.com>
10779*ed0d50c3Schristos
10780*ed0d50c3Schristos	* config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
10781*ed0d50c3Schristos
10782*ed0d50c3Schristos2002-02-01  Alan Modra  <amodra@bigpond.net.au>
10783*ed0d50c3Schristos
10784*ed0d50c3Schristos	* Makefile.am: Run "make dep-am"
10785*ed0d50c3Schristos	* Makefile.in: Regenerate.
10786*ed0d50c3Schristos
10787*ed0d50c3Schristos2002-01-31  David O'Brien  <obrien@FreeBSD>
10788*ed0d50c3Schristos
10789*ed0d50c3Schristos	* configure.in: Recognize the differences in core files from FreeBSD
10790*ed0d50c3Schristos	4.{0,1} and later versions of 4.x.  This treats 4.2+ the same as
10791*ed0d50c3Schristos	5-CURRENT.
10792*ed0d50c3Schristos	* configure: Regenerate.
10793*ed0d50c3Schristos
10794*ed0d50c3Schristos2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
10795*ed0d50c3Schristos
10796*ed0d50c3Schristos	* coff-or32.c: New file.
10797*ed0d50c3Schristos	* cpu-or32.c: New file.
10798*ed0d50c3Schristos	* elf32-or32.c: New file.
10799*ed0d50c3Schristos	* archures.c: Add support for or32.
10800*ed0d50c3Schristos	* targets.c: Add support for or32.
10801*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
10802*ed0d50c3Schristos	* coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
10803*ed0d50c3Schristos	coff_write_object_contents): Add support for or32.
10804*ed0d50c3Schristos	* config.bfd: Add target.
10805*ed0d50c3Schristos	* configure.in: Add support for or32.
10806*ed0d50c3Schristos	* configure: Regenerate.
10807*ed0d50c3Schristos	* Makefile.am: Add support for or32.
10808*ed0d50c3Schristos	* Makefile.in: Regenerate.
10809*ed0d50c3Schristos	* po/SRC-POTFILES.in: Add or32 files.
10810*ed0d50c3Schristos	* po/bfd.pot: Regenerate.
10811*ed0d50c3Schristos
10812*ed0d50c3Schristos2002-01-31  Nick Clifton  <nickc@cambridge.redhat.com>
10813*ed0d50c3Schristos	    Don Lindsay  <lindsayd@cisco.com>
10814*ed0d50c3Schristos
10815*ed0d50c3Schristos	* elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
10816*ed0d50c3Schristos	false' with a return of a bfd_reloc_ error code.
10817*ed0d50c3Schristos
10818*ed0d50c3Schristos2002-01-31  Hans-Peter Nilsson  <hp@axis.com>
10819*ed0d50c3Schristos
10820*ed0d50c3Schristos	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
10821*ed0d50c3Schristos	unexport unreferenced symbols when --export-dynamic.  Call
10822*ed0d50c3Schristos	_bfd_elf_strtab_delref when unexporting.
10823*ed0d50c3Schristos
10824*ed0d50c3Schristos2002-01-30  Daniel Jacobowitz  <drow@mvista.com>
10825*ed0d50c3Schristos
10826*ed0d50c3Schristos	* bfd-in.h: Include <stdbool.h> if it is available.
10827*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
10828*ed0d50c3Schristos
10829*ed0d50c3Schristos2002-01-31  Alan Modra  <amodra@bigpond.net.au>
10830*ed0d50c3Schristos
10831*ed0d50c3Schristos	* elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
10832*ed0d50c3Schristos	not go via the plt.
10833*ed0d50c3Schristos
10834*ed0d50c3Schristos2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
10835*ed0d50c3Schristos
10836*ed0d50c3Schristos	* archures.c: Tidy up formatting of embedded comments.
10837*ed0d50c3Schristos	* bfd.c: Tidy up formatting of embedded comments.
10838*ed0d50c3Schristos	* bfd-in.h: Fix formatting of comments.
10839*ed0d50c3Schristos	* reloc.c: Tidy up formatting of ordinary & embedded comments.
10840*ed0d50c3Schristos	* section.c: Tidy up formatting of embedded comments.
10841*ed0d50c3Schristos	* syms.c: Tidy up formatting of embedded comments.
10842*ed0d50c3Schristos	* targets.c: Tidy up formatting of embedded comments.
10843*ed0d50c3Schristos
10844*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
10845*ed0d50c3Schristos
10846*ed0d50c3Schristos2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
10847*ed0d50c3Schristos
10848*ed0d50c3Schristos	* vms-tir.c (cmd_name): New function.
10849*ed0d50c3Schristos	(tir_cmd_name): New function.
10850*ed0d50c3Schristos	(etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
10851*ed0d50c3Schristos	(tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
10852*ed0d50c3Schristos	Fix formatting.
10853*ed0d50c3Schristos
10854*ed0d50c3Schristos	* peXXigen.c (pe_print_idata): Rearrange message to aid in
10855*ed0d50c3Schristos	translation.
10856*ed0d50c3Schristos	(pe_print_pdata): Rearrange message to aid in translation.
10857*ed0d50c3Schristos
10858*ed0d50c3Schristos	* libbfd.c (warn_deprecated): Rearrange error message to aid in
10859*ed0d50c3Schristos	translation.
10860*ed0d50c3Schristos
10861*ed0d50c3Schristos	* ihex.c (ihex_write_object_contents): Fix spelling typo.
10862*ed0d50c3Schristos
10863*ed0d50c3Schristos	* ieee.c (ieee_slurp_external_symbols): Remove spurious space.
10864*ed0d50c3Schristos
10865*ed0d50c3Schristos	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
10866*ed0d50c3Schristos	message to aid in translation.
10867*ed0d50c3Schristos
10868*ed0d50c3Schristos	* elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
10869*ed0d50c3Schristos	to aid in translation.
10870*ed0d50c3Schristos
10871*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
10872*ed0d50c3Schristos
10873*ed0d50c3Schristos2002-01-30  Philipp Thomas  <pthomas@suse.de>
10874*ed0d50c3Schristos
10875*ed0d50c3Schristos	* coff-arm.c, elf32-elf.h: Unify messages.
10876*ed0d50c3Schristos
10877*ed0d50c3Schristos2002-01-30  Nick Clifton <nickc@redhat.com>
10878*ed0d50c3Schristos
10879*ed0d50c3Schristos	* po/sv.po: Updated translation.
10880*ed0d50c3Schristos
10881*ed0d50c3Schristos2002-01-30  Philipp Thomas  <pthomas@suse.de>
10882*ed0d50c3Schristos
10883*ed0d50c3Schristos	* dwarf2.c (read_abbrev): Use full section name in error message.
10884*ed0d50c3Schristos	(decode_line_info): Likewise.
10885*ed0d50c3Schristos
10886*ed0d50c3Schristos	* elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
10887*ed0d50c3Schristos	message.
10888*ed0d50c3Schristos
10889*ed0d50c3Schristos2002-01-30  Alan Modra  <amodra@bigpond.net.au>
10890*ed0d50c3Schristos
10891*ed0d50c3Schristos	* elf64-ppc.c (func_desc_adjust): Only provide missing function
10892*ed0d50c3Schristos	descriptor symbols for undefined function code syms.  Clear
10893*ed0d50c3Schristos	ELF_LINK_NON_ELF so that they can stay weak.
10894*ed0d50c3Schristos
10895*ed0d50c3Schristos2002-01-29  Chris Demetriou  <cgd@broadcom.com>
10896*ed0d50c3Schristos	    Mitch Lichtenberg  <mpl@broadcom.com>
10897*ed0d50c3Schristos
10898*ed0d50c3Schristos	* bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
10899*ed0d50c3Schristos	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
10900*ed0d50c3Schristos	to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
10901*ed0d50c3Schristos	generation.
10902*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
10903*ed0d50c3Schristos
10904*ed0d50c3Schristos2002-01-29  Chris Demetriou  <cgd@broadcom.com>
10905*ed0d50c3Schristos
10906*ed0d50c3Schristos	* elf32-mips.c: Add additional comments about HI16 relocation
10907*ed0d50c3Schristos	processing.
10908*ed0d50c3Schristos	(_bfd_mips_elf_hi16_reloc): Don't subtract address here for
10909*ed0d50c3Schristos	pc-relative relocations.  (Reverts change made on 2001-10-31.)
10910*ed0d50c3Schristos	(_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
10911*ed0d50c3Schristos	for pc-relative relocations.
10912*ed0d50c3Schristos	(mips_elf_calculate_relocation): Add a comment about a kludge
10913*ed0d50c3Schristos	in the R_MIPS_GNU_REL_HI16 handling.
10914*ed0d50c3Schristos	(_bfd_mips_elf_relocate_section): Implement that kludge;
10915*ed0d50c3Schristos	adjust pc-relative HI16 relocation for difference in HI16 and
10916*ed0d50c3Schristos	LO16 addresses, since it can't easily be done in
10917*ed0d50c3Schristos	mips_elf_calculate_relocation.
10918*ed0d50c3Schristos
10919*ed0d50c3Schristos2002-01-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>
10920*ed0d50c3Schristos
10921*ed0d50c3Schristos	* elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
10922*ed0d50c3Schristos	relocations with PC32 relocations for undefined or weak symbols.
10923*ed0d50c3Schristos	* elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
10924*ed0d50c3Schristos	* elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
10925*ed0d50c3Schristos
10926*ed0d50c3Schristos2002-01-28  Jason Thorpe  <thorpej@wasabisystems.com>
10927*ed0d50c3Schristos
10928*ed0d50c3Schristos	* elfcore.h (elf_core_file_p): Improve comment for last change.
10929*ed0d50c3Schristos
10930*ed0d50c3Schristos2002-01-27  Daniel Jacobowitz  <drow@mvista.com>
10931*ed0d50c3Schristos
10932*ed0d50c3Schristos	* configure: Regenerated.
10933*ed0d50c3Schristos
10934*ed0d50c3Schristos2002-01-27  Jason Thorpe  <thorpej@wasabisystems.com>
10935*ed0d50c3Schristos
10936*ed0d50c3Schristos	* elfcore.h (elf_core_file_p): Set the machine architecture
10937*ed0d50c3Schristos	before processing the program headers.
10938*ed0d50c3Schristos
10939*ed0d50c3Schristos2002-01-26  Hans-Peter Nilsson  <hp@bitrange.com>
10940*ed0d50c3Schristos
10941*ed0d50c3Schristos	* configure.in <64-bit configuration>: If using gcc, check and
10942*ed0d50c3Schristos	emit error for egcs-1.1.2.
10943*ed0d50c3Schristos	* configure: Regenerate.
10944*ed0d50c3Schristos
10945*ed0d50c3Schristos2002-01-26  Egor Duda  <deo@logos-m.ru>
10946*ed0d50c3Schristos
10947*ed0d50c3Schristos	* elf.c (elfcore_grok_win32pstatus): Copy only as much information
10948*ed0d50c3Schristos	as possible to avoid stack corruption.
10949*ed0d50c3Schristos
10950*ed0d50c3Schristos2002-01-26  Richard Henderson  <rth@redhat.com>
10951*ed0d50c3Schristos
10952*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
10953*ed0d50c3Schristos	for non-allocated sections.
10954*ed0d50c3Schristos
10955*ed0d50c3Schristos2002-01-25  Mark Kettenis  <kettenis@gnu.org>
10956*ed0d50c3Schristos
10957*ed0d50c3Schristos	* elf.c (elfcore_write_prstatus): Make sure we pass the address of
10958*ed0d50c3Schristos	prstat.pr_reg even if it is a struct.
10959*ed0d50c3Schristos
10960*ed0d50c3Schristos2002-01-25  Steve Ellcey <sje@cup.hp.com>
10961*ed0d50c3Schristos
10962*ed0d50c3Schristos	* elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
10963*ed0d50c3Schristos
10964*ed0d50c3Schristos2002-01-25  Philipp Thomas  <pthomas@suse.de>
10965*ed0d50c3Schristos
10966*ed0d50c3Schristos	* coffgen.c (coff_print_symbol): Don't mark info message
10967*ed0d50c3Schristos	for translation.
10968*ed0d50c3Schristos
10969*ed0d50c3Schristos2002-01-25  Nick Clifton <nickc@redhat.com>
10970*ed0d50c3Schristos
10971*ed0d50c3Schristos	* po/fr.po: Updated translation.
10972*ed0d50c3Schristos	* po/es.po: Updated translation.
10973*ed0d50c3Schristos
10974*ed0d50c3Schristos2002-01-25  Philipp Thomas  <pthomas@suse.de>
10975*ed0d50c3Schristos
10976*ed0d50c3Schristos	* coff-alpha.c (alpha_relocate_section): Unify warning message
10977*ed0d50c3Schristos	for GP relative relocations without GP defined.
10978*ed0d50c3Schristos	* coff-mips.c (mips_relocate_section): Likewise.
10979*ed0d50c3Schristos
10980*ed0d50c3Schristos2002-01-25  Alan Modra  <amodra@bigpond.net.au>
10981*ed0d50c3Schristos
10982*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
10983*ed0d50c3Schristos	unsigned overflow when new_offset < old_offset.
10984*ed0d50c3Schristos
10985*ed0d50c3Schristos2002-01-24  Philipp Thomas  <pthomas@suse.de>
10986*ed0d50c3Schristos
10987*ed0d50c3Schristos	* bfd.c (_bfd_abort): Fix typo.
10988*ed0d50c3Schristos
10989*ed0d50c3Schristos2002-01-23  Richard Henderson  <rth@redhat.com>
10990*ed0d50c3Schristos
10991*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
10992*ed0d50c3Schristos	plt entries for undefweak symbols.
10993*ed0d50c3Schristos
10994*ed0d50c3Schristos2002-01-23  Steve Ellcey <sje@cup.hp.com>
10995*ed0d50c3Schristos
10996*ed0d50c3Schristos	* targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
10997*ed0d50c3Schristos	(bfd_elf64_ia64_hpux_big_vec): Ditto.
10998*ed0d50c3Schristos	(bfd_elf32_h8300_vec): Ditto.
10999*ed0d50c3Schristos
11000*ed0d50c3Schristos2002-01-23  Alan Modra  <amodra@bigpond.net.au>
11001*ed0d50c3Schristos
11002*ed0d50c3Schristos	* elf64-ppc.c: Remove stale part of ABI comment.
11003*ed0d50c3Schristos	(NO_OPD_RELOCS): Define.
11004*ed0d50c3Schristos	(ppc64_elf_check_relocs): Use it.
11005*ed0d50c3Schristos	(ppc64_elf_relocate_section): Here too.
11006*ed0d50c3Schristos	(build_one_stub): Don't point function syms at the stub.  Instead,
11007*ed0d50c3Schristos	hijack plt.offset.
11008*ed0d50c3Schristos	(ppc64_elf_relocate_section): Check whether REL24 relocs should
11009*ed0d50c3Schristos	really go to the stub.  Make all dynamic relocs in opd against
11010*ed0d50c3Schristos	locals.
11011*ed0d50c3Schristos	(ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
11012*ed0d50c3Schristos	plt.offset.
11013*ed0d50c3Schristos
11014*ed0d50c3Schristos2002-01-22  Richard Henderson  <rth@redhat.com>
11015*ed0d50c3Schristos
11016*ed0d50c3Schristos	* elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
11017*ed0d50c3Schristos
11018*ed0d50c3Schristos2002-01-22  Alan Modra  <amodra@bigpond.net.au>
11019*ed0d50c3Schristos
11020*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
11021*ed0d50c3Schristos	TOC_BASE_OFF adjustment.
11022*ed0d50c3Schristos
11023*ed0d50c3Schristos	* Makefile.am: Run "make dep-am".
11024*ed0d50c3Schristos	* Makefile.in: Regenerate.
11025*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
11026*ed0d50c3Schristos
11027*ed0d50c3Schristos2002-01-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11028*ed0d50c3Schristos
11029*ed0d50c3Schristos	* configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
11030*ed0d50c3Schristos	host defines.
11031*ed0d50c3Schristos
11032*ed0d50c3Schristos2002-01-21  Hans-Peter Nilsson  <hp@axis.com>
11033*ed0d50c3Schristos
11034*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
11035*ed0d50c3Schristos	Check for and emit error if sgot is NULL at this point.
11036*ed0d50c3Schristos
11037*ed0d50c3Schristos2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
11038*ed0d50c3Schristos
11039*ed0d50c3Schristos	* config.bfd (ia64*-*-netbsd*): New target.
11040*ed0d50c3Schristos
11041*ed0d50c3Schristos2002-01-21  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
11042*ed0d50c3Schristos
11043*ed0d50c3Schristos	* som.c (som_write_space_strings): Comment typo fix.
11044*ed0d50c3Schristos
11045*ed0d50c3Schristos2002-01-21  Alan Modra  <amodra@bigpond.net.au>
11046*ed0d50c3Schristos
11047*ed0d50c3Schristos	* elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
11048*ed0d50c3Schristos	is_func_descriptor fields.
11049*ed0d50c3Schristos	(link_hash_newfunc): Init them.
11050*ed0d50c3Schristos	(ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
11051*ed0d50c3Schristos	dot are candidates for plt entries.  When processing .opd relocs,
11052*ed0d50c3Schristos	set function descriptor strings to point inside function code
11053*ed0d50c3Schristos	string, and set new ppc_link_hash_entry fields.
11054*ed0d50c3Schristos	(ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
11055*ed0d50c3Schristos	(ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
11056*ed0d50c3Schristos	function descriptors.  It's now done in..
11057*ed0d50c3Schristos	(func_desc_adjust): New.
11058*ed0d50c3Schristos	(ppc64_elf_func_desc_adjust): New.
11059*ed0d50c3Schristos	(define elf_backend_always_size_sections): Define.
11060*ed0d50c3Schristos	(ppc64_elf_hide_symbol): New.
11061*ed0d50c3Schristos	(define elf_backend_hide_symbol): Define.
11062*ed0d50c3Schristos	(allocate_dynrelocs): Remove code looking up function descriptors
11063*ed0d50c3Schristos	as that has been done earlier.
11064*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
11065*ed0d50c3Schristos	table.
11066*ed0d50c3Schristos	(ppc64_elf_finish_dynamic_symbol): Likewise.  Remove code looking
11067*ed0d50c3Schristos	up function descriptor.
11068*ed0d50c3Schristos	(build_one_stub): Look up the function code sym.  Check for
11069*ed0d50c3Schristos	invalid plt offsets.
11070*ed0d50c3Schristos	(ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
11071*ed0d50c3Schristos	Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
11072*ed0d50c3Schristos
11073*ed0d50c3Schristos	* elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
11074*ed0d50c3Schristos	boolean param.
11075*ed0d50c3Schristos	(_bfd_elf_link_hash_hide_symbol): Likewise.
11076*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): Adjust call to
11077*ed0d50c3Schristos	elf_backend_hide_symbol.
11078*ed0d50c3Schristos	(elf_fix_symbol_flags): Likewise.
11079*ed0d50c3Schristos	(elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
11080*ed0d50c3Schristos	than bfd_alloc.
11081*ed0d50c3Schristos	* elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
11082*ed0d50c3Schristos	Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
11083*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
11084*ed0d50c3Schristos	(clobber_millicode_symbols): Adjust to suit new hide_symbol.
11085*ed0d50c3Schristos	* elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
11086*ed0d50c3Schristos	and adjust to suit.
11087*ed0d50c3Schristos	* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
11088*ed0d50c3Schristos	_bfd_elf_link_hash_hide_symbol rather than duplicating code.
11089*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
11090*ed0d50c3Schristos
11091*ed0d50c3Schristos2002-01-18  Alan Modra  <amodra@bigpond.net.au>
11092*ed0d50c3Schristos
11093*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
11094*ed0d50c3Schristos	dynamic function descriptor symbol, not the associated function
11095*ed0d50c3Schristos	symbol.
11096*ed0d50c3Schristos
11097*ed0d50c3Schristos2002-01-17  Eric Christopher  <echristo@redhat.com>
11098*ed0d50c3Schristos
11099*ed0d50c3Schristos	* elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
11100*ed0d50c3Schristos
11101*ed0d50c3Schristos2002-01-17  Nick Clifton  <nickc@cambridge.redhat.com>
11102*ed0d50c3Schristos
11103*ed0d50c3Schristos	* po/bfd.pot: Regenerate.
11104*ed0d50c3Schristos	* po/fr.po: Regenerate.
11105*ed0d50c3Schristos
11106*ed0d50c3Schristos2002-01-17  Alan Modra  <amodra@bigpond.net.au>
11107*ed0d50c3Schristos
11108*ed0d50c3Schristos	* elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
11109*ed0d50c3Schristos	Remove "Elf_Internal_Shdr *" param.
11110*ed0d50c3Schristos	(_bfd_mips_elf_section_from_bfd_section): Ditto.
11111*ed0d50c3Schristos	* elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
11112*ed0d50c3Schristos	* elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
11113*ed0d50c3Schristos	* elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
11114*ed0d50c3Schristos	* elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
11115*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
11116*ed0d50c3Schristos	* elf.c (_bfd_elf_section_from_bfd_section): Allow backend
11117*ed0d50c3Schristos	function to override special sections.  Remove hdr arg from
11118*ed0d50c3Schristos	backend call, and don't loop.
11119*ed0d50c3Schristos
11120*ed0d50c3Schristos2002-01-16  Eric Christopher  <echristo@redhat.com>
11121*ed0d50c3Schristos
11122*ed0d50c3Schristos	* elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
11123*ed0d50c3Schristos	on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
11124*ed0d50c3Schristos	relocations requiring gp0 and gp.
11125*ed0d50c3Schristos
11126*ed0d50c3Schristos2002-01-16  Richard Earnshaw  <rearnsha@arm.com>
11127*ed0d50c3Schristos
11128*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
11129*ed0d50c3Schristos	EF_ARM_VFP_FLOAT.
11130*ed0d50c3Schristos	(elf32_arm_print_private_bfd_data): Likewise.
11131*ed0d50c3Schristos
11132*ed0d50c3Schristos2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
11133*ed0d50c3Schristos
11134*ed0d50c3Schristos	* po/tr.po: Import new version.
11135*ed0d50c3Schristos
11136*ed0d50c3Schristos2002-01-16  Alan Modra  <amodra@bigpond.net.au>
11137*ed0d50c3Schristos
11138*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
11139*ed0d50c3Schristos	(ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
11140*ed0d50c3Schristos	(ORI_R0_R0_0): Correct.
11141*ed0d50c3Schristos
11142*ed0d50c3Schristos2002-01-16  Alan Modra  <amodra@bigpond.net.au>
11143*ed0d50c3Schristos
11144*ed0d50c3Schristos	* elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
11145*ed0d50c3Schristos	when plt_not_loaded.
11146*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
11147*ed0d50c3Schristos	clear .plt SEC_CODE here.  Create .stub and correct .glink flags.
11148*ed0d50c3Schristos	(PLT_INITIAL_ENTRY_SIZE): Set to 24.
11149*ed0d50c3Schristos	(ppc64_elf_glink_code): Delete.
11150*ed0d50c3Schristos	(PPC64_ELF_GLINK_SIZE): Delete.
11151*ed0d50c3Schristos	(ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
11152*ed0d50c3Schristos	BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
11153*ed0d50c3Schristos	ORI_R0_R0_0): Define.
11154*ed0d50c3Schristos	(PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
11155*ed0d50c3Schristos	(struct ppc_link_hash_table): Add sstub and plt_overflow.
11156*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Init them.
11157*ed0d50c3Schristos	(ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
11158*ed0d50c3Schristos	Don't copy to shared lib.
11159*ed0d50c3Schristos	(ppc64_elf_check_relocs): Call bfd_set_error on errors.
11160*ed0d50c3Schristos	(ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
11161*ed0d50c3Schristos	(allocate_dynrelocs <plt>): Don't change function sym here.  Make
11162*ed0d50c3Schristos	room for .stub and .glink code.
11163*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Handle .stub.  Make entry for
11164*ed0d50c3Schristos	DT_PPC64_GLINK.
11165*ed0d50c3Schristos	(ppc64_elf_final_link): Rename to ppc64_elf_set_toc.  Don't call
11166*ed0d50c3Schristos	bfd_elf64_bfd_final_link.
11167*ed0d50c3Schristos	(bfd_elf64_bfd_final_link): Don't define.
11168*ed0d50c3Schristos	(ppc64_elf_size_stubs): New.
11169*ed0d50c3Schristos	(build_plt_stub): New.
11170*ed0d50c3Schristos	(build_one_stub): New.
11171*ed0d50c3Schristos	(ppc64_elf_build_stubs): New.
11172*ed0d50c3Schristos	(ppc64_elf_relocate_section <toc relocs>): Remove assert.
11173*ed0d50c3Schristos	(ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
11174*ed0d50c3Schristos	(ppc64_elf_finish_dynamic_symbol): Don't build stubs here.  Set
11175*ed0d50c3Schristos	DT_PPC64_GLINK entry.  Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
11176*ed0d50c3Schristos	case output sections not separate.  Adjust DT_RELASZ to not
11177*ed0d50c3Schristos	include plt relocs.  Set reserved got entry.  Set got and plt
11178*ed0d50c3Schristos	entry size.
11179*ed0d50c3Schristos	(elf_backend_got_header_size): Set to 8.
11180*ed0d50c3Schristos	* elf64-ppc.h: New file.
11181*ed0d50c3Schristos
11182*ed0d50c3Schristos2002-01-16  Alan Modra  <amodra@bigpond.net.au>
11183*ed0d50c3Schristos
11184*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
11185*ed0d50c3Schristos	sections, use bfd_section_list_remove.
11186*ed0d50c3Schristos	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
11187*ed0d50c3Schristos	* elflink.h (elf_link_add_object_symbols): When removing all
11188*ed0d50c3Schristos	sections, use bfd_section_list_clear.
11189*ed0d50c3Schristos
11190*ed0d50c3Schristos2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
11191*ed0d50c3Schristos
11192*ed0d50c3Schristos	* po/sv.po: New file: Swedish translation.
11193*ed0d50c3Schristos	* configure.in (ALL_LINGUAS): Add sv.
11194*ed0d50c3Schristos	* configure: Regenerate.
11195*ed0d50c3Schristos
11196*ed0d50c3Schristos2002-01-15  Jakub Jelinek  <jakub@redhat.com>
11197*ed0d50c3Schristos
11198*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
11199*ed0d50c3Schristos	* elf.c (merge_sections_remove_hook): New function.
11200*ed0d50c3Schristos	(_bfd_elf_merge_sections): Pass it as 3rd argument to
11201*ed0d50c3Schristos	_bfd_merge_sections.
11202*ed0d50c3Schristos	* libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
11203*ed0d50c3Schristos	* libbfd.h: Rebuilt.
11204*ed0d50c3Schristos	* merge.c (_bfd_merge_sections): Add remove_hook argument.
11205*ed0d50c3Schristos	Call remove_hook if a SEC_EXCLUDE section is encountered.
11206*ed0d50c3Schristos
11207*ed0d50c3Schristos2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
11208*ed0d50c3Schristos
11209*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
11210*ed0d50c3Schristos	(xstormy16_reloc_map): Initialise new field with correct howto
11211*ed0d50c3Schristos	table.
11212*ed0d50c3Schristos	(xstormy16_reloc_type_lookup): Use 'table' field to locate correct
11213*ed0d50c3Schristos	howto entry.
11214*ed0d50c3Schristos
11215*ed0d50c3Schristos2002-01-10  Michael Snyder  <msnyder@redhat.com>
11216*ed0d50c3Schristos
11217*ed0d50c3Schristos	* elf.c (elfcore_write_prstatus): Use long instead of pid_t;
11218*ed0d50c3Schristos	(elfcore_write_pstatus): Use long instead of pid_t;
11219*ed0d50c3Schristos	* elf-bfd.h: Change prototypes to use long instead of pid_t;
11220*ed0d50c3Schristos
11221*ed0d50c3Schristos2002-01-09  Jason Thorpe  <thorpej@wasabisystems.com>
11222*ed0d50c3Schristos
11223*ed0d50c3Schristos	* elf.c: Update copyright years.
11224*ed0d50c3Schristos	(elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
11225*ed0d50c3Schristos	and NT_NETBSDCORE_FIRSTMACH.  Improve a comment.
11226*ed0d50c3Schristos
11227*ed0d50c3Schristos2002-01-08  Michael Snyder  <msnyder@redhat.com>
11228*ed0d50c3Schristos
11229*ed0d50c3Schristos	Add capability to write corefile note sections, for gdb.
11230*ed0d50c3Schristos	* elf.c (elfcore_write_note): New function.
11231*ed0d50c3Schristos	(elfcore_write_prpsinfo): New function.
11232*ed0d50c3Schristos	(elfcore_write_prstatus): New function.
11233*ed0d50c3Schristos	(elfcore_write_pstatus): New function.
11234*ed0d50c3Schristos	(elfcore_write_prfpreg): New function.
11235*ed0d50c3Schristos	(elfcore_write_prxfpreg): New function.
11236*ed0d50c3Schristos	* elf-bfd.h: Add prototypes for above functions.
11237*ed0d50c3Schristos
11238*ed0d50c3Schristos2002-01-08  Alexandre Oliva  <aoliva@redhat.com>
11239*ed0d50c3Schristos
11240*ed0d50c3Schristos	* elf.c (elf_fake_sections): Propagate errors from
11241*ed0d50c3Schristos	elf_backend_fake_section.
11242*ed0d50c3Schristos
11243*ed0d50c3Schristos2002-01-07  Jason Thorpe  <thorpej@wasabisystems.com>
11244*ed0d50c3Schristos
11245*ed0d50c3Schristos	* Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
11246*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
11247*ed0d50c3Schristos	(elf32-sh-nbsd.lo): New rule.
11248*ed0d50c3Schristos	* Makefile.in: Regenerate.
11249*ed0d50c3Schristos	* config.bfd (sh*le-*-netbsdelf*): New target.
11250*ed0d50c3Schristos	(sh*-*-netbsdelf*): New target.
11251*ed0d50c3Schristos	* configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
11252*ed0d50c3Schristos	(bfd_elf32_shnbsd_vec): New vector.
11253*ed0d50c3Schristos	(bfd_elf32_shlnbsd_vec): New vector.
11254*ed0d50c3Schristos	* configure: Regenerate.
11255*ed0d50c3Schristos	* elf32-sh-nbsd.c: New file.
11256*ed0d50c3Schristos	* targets.c: Update copyright years.
11257*ed0d50c3Schristos	(_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
11258*ed0d50c3Schristos	bfd_elf32_shnbsd_vec.
11259*ed0d50c3Schristos
11260*ed0d50c3Schristos2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
11261*ed0d50c3Schristos
11262*ed0d50c3Schristos	* coff-rs6000.c (READ20): Use bfd_scan_vma.
11263*ed0d50c3Schristos
11264*ed0d50c3Schristos2002-01-07  Geoffrey Keating  <geoffk@redhat.com>
11265*ed0d50c3Schristos
11266*ed0d50c3Schristos	* elflink.h (elf_link_input_bfd): Don't ask for the merged offset
11267*ed0d50c3Schristos	of a symbol in a section that will be deleted.
11268*ed0d50c3Schristos
11269*ed0d50c3Schristos2002-01-07  Nick Clifton  <nickc@cambridge.redhat.com>
11270*ed0d50c3Schristos
11271*ed0d50c3Schristos	* po/es.po: New file: Spanish translation.
11272*ed0d50c3Schristos	* configure.in (ALL_LINGUAS): Add es.
11273*ed0d50c3Schristos	* configure: Regenerate.
11274*ed0d50c3Schristos
11275*ed0d50c3Schristos2002-01-06  Steve Ellcey  <sje@cup.hp.com>
11276*ed0d50c3Schristos
11277*ed0d50c3Schristos	* elfxx-ia64.c (is_unwind_section_name): Add target vector as
11278*ed0d50c3Schristos	argument so we can handle HP-UX specially.
11279*ed0d50c3Schristos	(elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
11280*ed0d50c3Schristos	(elfNN_hpux_backend_section_from_bfd_section): New for support
11281*ed0d50c3Schristos	of SHN_IA_64_ANSI_COMMON.
11282*ed0d50c3Schristos	(elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
11283*ed0d50c3Schristos	(is_unwind_section_name): Add special HP-UX support.
11284*ed0d50c3Schristos	(elfNN_ia64_section_from_shdr): Add support for more sections.
11285*ed0d50c3Schristos	(elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
11286*ed0d50c3Schristos	add support for more sections.
11287*ed0d50c3Schristos	(elfNN_ia64_additional_program_headers): Modify
11288*ed0d50c3Schristos	is_unwind_section_name call.
11289*ed0d50c3Schristos	(elfNN_ia64_modify_segment_map): Remove assumption that there is
11290*ed0d50c3Schristos	only one unwind section in segment.
11291*ed0d50c3Schristos
11292*ed0d50c3Schristos2002-01-06  Alan Modra  <amodra@bigpond.net.au>
11293*ed0d50c3Schristos
11294*ed0d50c3Schristos	* syms.c (_bfd_generic_make_empty_symbol): New function.
11295*ed0d50c3Schristos	* libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
11296*ed0d50c3Schristos	_bfd_generic_make_empty_symbol.
11297*ed0d50c3Schristos	* libbfd.h: Regenerate.
11298*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
11299*ed0d50c3Schristos	* hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
11300*ed0d50c3Schristos	(hppabsd_core_get_symtab_upper_bound): Don't define.
11301*ed0d50c3Schristos	(hppabsd_core_get_symtab): Likewise.
11302*ed0d50c3Schristos	(hppabsd_core_print_symbol): Likewise.
11303*ed0d50c3Schristos	(hppabsd_core_get_symbol_info): Likewise.
11304*ed0d50c3Schristos	(hppabsd_core_bfd_is_local_label_name): Likewise.
11305*ed0d50c3Schristos	(hppabsd_core_get_lineno): Likewise.
11306*ed0d50c3Schristos	(hppabsd_core_find_nearest_line): Likewise.
11307*ed0d50c3Schristos	(hppabsd_core_bfd_make_debug_symbol): Likewise.
11308*ed0d50c3Schristos	(hppabsd_core_read_minisymbols): Likewise.
11309*ed0d50c3Schristos	(hppabsd_core_minisymbol_to_symbol): Likewise.
11310*ed0d50c3Schristos	(hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
11311*ed0d50c3Schristos	Formatting fixes.
11312*ed0d50c3Schristos	* hpux-core.c: Similarly.
11313*ed0d50c3Schristos	* irix-core.c: Similarly.
11314*ed0d50c3Schristos	* osf-core.c: Similarly.
11315*ed0d50c3Schristos	* sco5-core.c: Similarly.
11316*ed0d50c3Schristos	* binary.c (binary_make_empty_symbol): Remove function, define as
11317*ed0d50c3Schristos	_bfd_generic_make_empty_symbol.
11318*ed0d50c3Schristos	* ihex.c (ihex_make_empty_symbol): Likewise.
11319*ed0d50c3Schristos	* mmo.c (mmo_make_empty_symbol): Likewise.
11320*ed0d50c3Schristos	* ppcboot.c (ppcboot_make_empty_symbol): Likewise.
11321*ed0d50c3Schristos	* srec.c (srec_make_empty_symbol): Likewise.
11322*ed0d50c3Schristos	* versados.c (versados_make_empty_symbol): Likewise.
11323*ed0d50c3Schristos	* vms.c (_bfd_vms_make_empty_symbol): Remove.
11324*ed0d50c3Schristos	(vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
11325*ed0d50c3Schristos	* vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
11326*ed0d50c3Schristos	rather than _bfd_vms_make_empty_symbol.
11327*ed0d50c3Schristos	* vms-misc.c (new_symbol): Likewise.
11328*ed0d50c3Schristos
11329*ed0d50c3Schristos2002-01-05  Alan Modra  <amodra@bigpond.net.au>
11330*ed0d50c3Schristos
11331*ed0d50c3Schristos	* section.c (bfd_section_init): Remove unnecessary initialisations.
11332*ed0d50c3Schristos	(bfd_section_list_clear): New function.
11333*ed0d50c3Schristos	(bfd_section_list_remove, bfd_section_list_insert): New macros.
11334*ed0d50c3Schristos	(_bfd_strip_section_from_output): Use them.
11335*ed0d50c3Schristos	* coffcode.h (coff_set_alignment_hook): Likewise.
11336*ed0d50c3Schristos	* elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
11337*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_final_link): Likewise.
11338*ed0d50c3Schristos	* elf64-mmix.c (mmix_elf_final_link): Likewise.
11339*ed0d50c3Schristos	* sunos.c (sunos_add_dynamic_symbols): Likewise.
11340*ed0d50c3Schristos	* xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
11341*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
11342*ed0d50c3Schristos
11343*ed0d50c3Schristos	* netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
11344*ed0d50c3Schristos	rather than doing our own section handling.  Clean up after errors
11345*ed0d50c3Schristos	with bfd_release and bfd_section_list_clear.  Handle unexpected
11346*ed0d50c3Schristos	flags.
11347*ed0d50c3Schristos	* aoutf1.h (sunos4_core_file_p): Likewise.
11348*ed0d50c3Schristos	* aix386-core.c (aix386_core_file_p): Likewise.
11349*ed0d50c3Schristos	* cisco-core.c (cisco_core_file_validate): Likewise.
11350*ed0d50c3Schristos	* ptrace-core.c (ptrace_unix_core_file_p): Likewise.
11351*ed0d50c3Schristos	* trad-core.c (trad_unix_core_file_p): Likewise.
11352*ed0d50c3Schristos
11353*ed0d50c3Schristos	* hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
11354*ed0d50c3Schristos	with bfd_release and bfd_section_list_clear.
11355*ed0d50c3Schristos	* hpux-core.c (hpux_core_core_file_p): Likewise.
11356*ed0d50c3Schristos	* irix-core.c (irix_core_core_file_p): Likewise.
11357*ed0d50c3Schristos	* lynx-core.c (lynx_core_file_p): Likewise.
11358*ed0d50c3Schristos	* osf-core.c (osf_core_core_file_p): Likewise.
11359*ed0d50c3Schristos	* rs6000-core.c (rs6000coff_core_p): Likewise.
11360*ed0d50c3Schristos	* sco5-core.c (sco5_core_file_p): Likewise.
11361*ed0d50c3Schristos
11362*ed0d50c3Schristos	* elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
11363*ed0d50c3Schristos	sign extension adjustments without conditionals.
11364*ed0d50c3Schristos
11365*ed0d50c3Schristos2002-01-04  Jakub Jelinek  <jakub@redhat.com>
11366*ed0d50c3Schristos
11367*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
11368*ed0d50c3Schristos	CIE at .eh_frame start is removed due to no FDEs referencing it.
11369*ed0d50c3Schristos
11370*ed0d50c3Schristos2002-01-04  Jason Thorpe  <thorpej@wasabisystems.com>
11371*ed0d50c3Schristos
11372*ed0d50c3Schristos	* config.bfd (x86_64-*-netbsd*): New target.
11373*ed0d50c3Schristos	* configure.in (x86_64-*-netbsd*): Set COREFILE
11374*ed0d50c3Schristos	to netbsd-core.lo.
11375*ed0d50c3Schristos	* configure: Regenerated.
11376*ed0d50c3Schristos
11377*ed0d50c3Schristos2002-01-03  Tom Rix  <trix@redhat.com>
11378*ed0d50c3Schristos
11379*ed0d50c3Schristos	* xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
11380*ed0d50c3Schristos	for recent bfd_make_section_anyway change.
11381*ed0d50c3Schristos
11382*ed0d50c3Schristos2002-01-03  Nick Clifton  <nickc@cambridge.redhat.com>
11383*ed0d50c3Schristos
11384*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_final_link_relocate): Handle
11385*ed0d50c3Schristos	R_ARM_THM_PC11 reloc.
11386*ed0d50c3Schristos
11387*ed0d50c3Schristos2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
11388*ed0d50c3Schristos
11389*ed0d50c3Schristos	* configure.in (LINGUAS): Add ja.
11390*ed0d50c3Schristos	* configure: Regenerate.
11391*ed0d50c3Schristos	* po/ja.po: Import from translation project's web site.
11392*ed0d50c3Schristos
11393*ed0d50c3Schristos2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
11394*ed0d50c3Schristos
11395*ed0d50c3Schristos	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
11396*ed0d50c3Schristos	messages to ease translation into other languages.
11397*ed0d50c3Schristos
11398*ed0d50c3SchristosFor older changes see ChangeLog-0001
11399*ed0d50c3Schristos
11400*ed0d50c3SchristosCopyright (C) 2002-2003 Free Software Foundation, Inc.
11401*ed0d50c3Schristos
11402*ed0d50c3SchristosCopying and distribution of this file, with or without modification,
11403*ed0d50c3Schristosare permitted in any medium without royalty provided the copyright
11404*ed0d50c3Schristosnotice and this notice are preserved.
11405*ed0d50c3Schristos
11406*ed0d50c3SchristosLocal Variables:
11407*ed0d50c3Schristosmode: change-log
11408*ed0d50c3Schristosleft-margin: 8
11409*ed0d50c3Schristosfill-column: 74
11410*ed0d50c3Schristosversion-control: never
11411*ed0d50c3SchristosEnd:
11412