xref: /netbsd-src/external/gpl3/binutils.old/dist/bfd/ChangeLog-2004 (revision 75fd0b742a7e4a64301bc6c44e9bc5240c58bb92)
1*75fd0b74Schristos2004-12-31  Paul Brook  <paul@copdesourcery.com>
2*75fd0b74Schristos
3*75fd0b74Schristos	* elf32-arm.c (elf32_arm_symbian_plt_entry): Fix comment typo.
4*75fd0b74Schristos
5*75fd0b74Schristos2004-12-31  Alan Modra  <amodra@bigpond.net.au>
6*75fd0b74Schristos
7*75fd0b74Schristos	* reloc.c (BFD_RELOC_AVR_LDI, BFD_RELOC_AVR_6, BFD_RELOC_AVR_6_ADIW):
8*75fd0b74Schristos	Commit missing changes from 2004-12-22.
9*75fd0b74Schristos	* bfd-in2.h: Regenerate.
10*75fd0b74Schristos
11*75fd0b74Schristos2004-12-23  Tomer Levi  <Tomer.Levi@nsc.com>
12*75fd0b74Schristos
13*75fd0b74Schristos	* elf32-crx.c (elf32_crx_relax_section): Support 'bcop' relaxation.
14*75fd0b74Schristos
15*75fd0b74Schristos2004-12-21  Kris Warkentin  <kewarken@qnx.com>
16*75fd0b74Schristos
17*75fd0b74Schristos	* elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs.
18*75fd0b74Schristos	Add 'base' argument for constructing register sections.  Reformat.
19*75fd0b74Schristos	(elfcore_grok_nto_note): Call elfcore_grok_nto_regs for both
20*75fd0b74Schristos	gp and fp regs.  Reformat.
21*75fd0b74Schristos
22*75fd0b74Schristos2004-12-22  Klaus Rudolph  <lts-rudolph@gmx.de>
23*75fd0b74Schristos
24*75fd0b74Schristos	* reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW.
25*75fd0b74Schristos	* bfd-in2.h: Regenerate.
26*75fd0b74Schristos	* elf32-avr.c (elf_avr_nowto_table): Add the new relocs.
27*75fd0b74Schristos	(avr_reloc_map): Likewise.
28*75fd0b74Schristos	(avr_final_link_relocate): Likewise.
29*75fd0b74Schristos
30*75fd0b74Schristos2004-12-22  Alan Modra  <amodra@bigpond.net.au>
31*75fd0b74Schristos
32*75fd0b74Schristos	* elflink.c (_bfd_elf_merge_symbol): Treat old definitions from
33*75fd0b74Schristos	as-needed dynamic libs as undefined.
34*75fd0b74Schristos	(elf_link_add_object_symbols): Remove DYN_AS_NEEDED from as-needed
35*75fd0b74Schristos	libs when finding they are needed.
36*75fd0b74Schristos
37*75fd0b74Schristos2004-12-20  Alan Modra  <amodra@bigpond.net.au>
38*75fd0b74Schristos
39*75fd0b74Schristos	* elf64-ppc.c (struct ppc64_elf_obj_tdata): Add opd_relocs.
40*75fd0b74Schristos	(opd_entry_value): Use opd_relocs if available.
41*75fd0b74Schristos	(ppc64_elf_relocate_section): Don't set reloc_done.  Instead
42*75fd0b74Schristos	copy .opd relocations to opd_relocs.
43*75fd0b74Schristos	(ppc64_elf_edit_toc): Set rel_hdr.sh_size after editing relocs.
44*75fd0b74Schristos
45*75fd0b74Schristos2004-12-16  Richard Sandiford  <rsandifo@redhat.com>
46*75fd0b74Schristos
47*75fd0b74Schristos	* reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
48*75fd0b74Schristos	* elf32-v850.c (v850_elf_howto_table): Add entry for
49*75fd0b74Schristos	R_V850_LO16_SPLIT_OFFSET.
50*75fd0b74Schristos	(v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
51*75fd0b74Schristos	(v850_elf_perform_lo16_relocation): New function, extracted from...
52*75fd0b74Schristos	(v850_elf_perform_relocation): ...here.  Use it to handle
53*75fd0b74Schristos	R_V850_LO16_SPLIT_OFFSET.
54*75fd0b74Schristos	(v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
55*75fd0b74Schristos	R_V850_LO16_SPLIT_OFFSET.
56*75fd0b74Schristos	* libbfd.h, bfd-in2.h: Regenerate.
57*75fd0b74Schristos
58*75fd0b74Schristos2004-12-14  P.J. Darcy  <darcypj@us.ibm.com>
59*75fd0b74Schristos
60*75fd0b74Schristos	* config.bfd: Add s390x-ibm-tpf support.
61*75fd0b74Schristos
62*75fd0b74Schristos2004-12-14  Tomer Levi  <Tomer.Levi@nsc.com>
63*75fd0b74Schristos
64*75fd0b74Schristos	* elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *'
65*75fd0b74Schristos	to prototype, to make hash info available.
66*75fd0b74Schristos	Prevent wrapped symbols from being adjusted twice.
67*75fd0b74Schristos
68*75fd0b74Schristos2004-12-14  Richard Sandiford  <rsandifo@redhat.com>
69*75fd0b74Schristos
70*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Don't report an
71*75fd0b74Schristos	overflow for calls to undefined weak symbols.
72*75fd0b74Schristos
73*75fd0b74Schristos2004-12-11  Alan Modra  <amodra@bigpond.net.au>
74*75fd0b74Schristos
75*75fd0b74Schristos	* elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
76*75fd0b74Schristos	canonical sections syms have a name.
77*75fd0b74Schristos
78*75fd0b74Schristos2004-12-11  Alan Modra  <amodra@bigpond.net.au>
79*75fd0b74Schristos
80*75fd0b74Schristos	* elf64-ppc.c (opd_entry_value): Don't use cached relocs if they
81*75fd0b74Schristos	have been adjusted for output.
82*75fd0b74Schristos	(ppc64_elf_relocate_section): Mark sections with reloc_done.
83*75fd0b74Schristos
84*75fd0b74Schristos2004-12-10  Alan Modra  <amodra@bigpond.net.au>
85*75fd0b74Schristos
86*75fd0b74Schristos	* elf.c (bfd_elf_sym_name): Rename from bfd_elf_local_sym_name and
87*75fd0b74Schristos	add symtab_hdr param.
88*75fd0b74Schristos	(group_signature): Update calls.
89*75fd0b74Schristos	* elf-bfd.h (bfd_elf_sym_name): Update.
90*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Update.
91*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Update.
92*75fd0b74Schristos	(ppc64_elf_relocate_section): Update.
93*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Update.
94*75fd0b74Schristos
95*75fd0b74Schristos2004-12-10  Jakub Jelinek  <jakub@redhat.com>
96*75fd0b74Schristos
97*75fd0b74Schristos	* elf.c (bfd_elf_local_sym_name): Avoid crashes with invalid
98*75fd0b74Schristos	st_shndx on STT_SECTION sections.
99*75fd0b74Schristos
100*75fd0b74Schristos2004-12-09  Daniel Jacobowitz  <dan@codesourcery.com>
101*75fd0b74Schristos
102*75fd0b74Schristos	* elfcode.h (elf_slurp_reloc_table_from_section): Don't canonicalize
103*75fd0b74Schristos	ELF section symbols.
104*75fd0b74Schristos
105*75fd0b74Schristos2004-12-09  Ian Lance Taylor  <ian@wasabisystems.com>
106*75fd0b74Schristos
107*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): For R_MIPS_JALR,
108*75fd0b74Schristos	return a real value, unless it is a PLT symbol.
109*75fd0b74Schristos	(mips_elf_perform_relocation): On the RM9000, turn a jal into a
110*75fd0b74Schristos	bal if possible.
111*75fd0b74Schristos
112*75fd0b74Schristos	* elfn32-mips.c (elf_mips_howto_table_rela): Change dst_mask of
113*75fd0b74Schristos	R_MIPS_JALR entry to 0.
114*75fd0b74Schristos
115*75fd0b74Schristos	* archures.c: Define bfd_mach_mips9000.
116*75fd0b74Schristos	* elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_9000.
117*75fd0b74Schristos	(mips_set_isa_flags): Handle bfd_mach_mips9000.
118*75fd0b74Schristos	* cpu-mips.c (I_mips9000): Define.
119*75fd0b74Schristos	(arch_info_struct): Add case for bfd_mach_mips9000.
120*75fd0b74Schristos	* aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mips9000.
121*75fd0b74Schristos	* bfd-in2.h: Regenerate.
122*75fd0b74Schristos
123*75fd0b74Schristos2004-12-08  Ian Lance Taylor  <ian@wasabisystems.com>
124*75fd0b74Schristos
125*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26
126*75fd0b74Schristos	overflow.
127*75fd0b74Schristos
128*75fd0b74Schristos2004-12-07  Ben Elliston  <bje@gnu.org>
129*75fd0b74Schristos
130*75fd0b74Schristos	* netbsd-core.c (netbsd_core_file_p): Make `i' unsigned.
131*75fd0b74Schristos
132*75fd0b74Schristos2004-12-06  Daniel Jacobowitz  <dan@debian.org>
133*75fd0b74Schristos
134*75fd0b74Schristos	Suggested by Fergal Daly <fergal@esatclear.ie>:
135*75fd0b74Schristos	* simple.c (simple_dummy_multiple_definition): New function.
136*75fd0b74Schristos	(bfd_simple_get_relocated_section_contents): Use it.
137*75fd0b74Schristos
138*75fd0b74Schristos2004-12-03  Jan Beulich  <jbeulich@novell.com>
139*75fd0b74Schristos
140*75fd0b74Schristos	* elf.c (elf_find_function): Don't use the last file symbol ever,
141*75fd0b74Schristos	seen, but the last one seen prior to the symbol being reported.
142*75fd0b74Schristos	Don't report a filename at all for global symbols when that might
143*75fd0b74Schristos	be ambiguous/wrong.
144*75fd0b74Schristos
145*75fd0b74Schristos2004-12-01  Paul Brook  <paul@codesourcery.com>
146*75fd0b74Schristos
147*75fd0b74Schristos	* elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI.
148*75fd0b74Schristos	(elf32_arm_post_process_headers): Set EI_OSABI depending on ABI
149*75fd0b74Schristos	version.
150*75fd0b74Schristos
151*75fd0b74Schristos2004-12-01  Paul Brook  <paul@codesourcery.com>
152*75fd0b74Schristos
153*75fd0b74Schristos	* elflink.c (elf_link_add_object_symbols): Make symbols from discarded
154*75fd0b74Schristos	sections undefined.
155*75fd0b74Schristos
156*75fd0b74Schristos2004-11-30  Paul Brook  <paul@codesourcery.com>
157*75fd0b74Schristos
158*75fd0b74Schristos	* elf32-arm.c (struct elf32_arm_link_hash_table): Remove
159*75fd0b74Schristos	no_pipeline_knowledge
160*75fd0b74Schristos	(elf32_arm_link_hash_table_create): Ditto.
161*75fd0b74Schristos	(bfd_elf32_arm_process_before_allocation): Ditto.
162*75fd0b74Schristos	(elf32_arm_final_link_relocate): Ditto.  Remove oabi relocation
163*75fd0b74Schristos	handling.
164*75fd0b74Schristos	* bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
165*75fd0b74Schristos	prototype.
166*75fd0b74Schristos	* bfd-in2.h: Regenerate.
167*75fd0b74Schristos
168*75fd0b74Schristos2004-11-30  Randolph Chung  <tausq@debian.org>
169*75fd0b74Schristos
170*75fd0b74Schristos	* elf32-hppa.c (elf32_hppa_grok_prstatus): New function.
171*75fd0b74Schristos	(elf32_hppa_grok_psinfo): New function.
172*75fd0b74Schristos	(elf_backend_grok_prstatus): Define.
173*75fd0b74Schristos	(elf_backend_grok_psinfo): Define.
174*75fd0b74Schristos
175*75fd0b74Schristos2004-11-24  H.J. Lu  <hongjiu.lu@intel.com>
176*75fd0b74Schristos
177*75fd0b74Schristos	PR 574:
178*75fd0b74Schristos	* elfcode.h (elf_slurp_symbol_table): Handle STT_TLS.
179*75fd0b74Schristos
180*75fd0b74Schristos2004-11-24  Paul Brook  <paul@codesourcery.com>
181*75fd0b74Schristos
182*75fd0b74Schristos	* elf.c (assign_section_numbers): Number SHT_GROUP sections first.
183*75fd0b74Schristos
184*75fd0b74Schristos2004-11-24  Paul Brook  <paul@codesourcery.com>
185*75fd0b74Schristos
186*75fd0b74Schristos	* elf32-arm.c (elf32_arm_swap_symbol_in): New function.
187*75fd0b74Schristos	(elf32_arm_swap_symbol_out): New function.
188*75fd0b74Schristos	(elf32_arm_size_info): Add.
189*75fd0b74Schristos	(elf_backend_size_info): Define.
190*75fd0b74Schristos
191*75fd0b74Schristos2004-11-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
192*75fd0b74Schristos
193*75fd0b74Schristos	* hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to
194*75fd0b74Schristos	make_bfd_asection.
195*75fd0b74Schristos
196*75fd0b74Schristos2004-11-19  Alan Modra  <amodra@bigpond.net.au>
197*75fd0b74Schristos
198*75fd0b74Schristos	* elf32-arm.c (elf32_arm_finish_dynamic_sections): Warning fix.
199*75fd0b74Schristos	* elf32-iq2000.c (iq2000_reloc_type_lookup): C90 function decl.
200*75fd0b74Schristos	* nlmcode.h (nlm_write_object_contents): Warning fix.
201*75fd0b74Schristos
202*75fd0b74Schristos2004-11-18  Bob Wilson  <bob.wilson@acm.org>
203*75fd0b74Schristos
204*75fd0b74Schristos	* elf32-xtensa.c (ebb_propose_action): Fix argument order.
205*75fd0b74Schristos
206*75fd0b74Schristos2004-11-17  Daniel Jacobowitz  <dan@codesourcery.com>
207*75fd0b74Schristos
208*75fd0b74Schristos	* elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
209*75fd0b74Schristos	(elf32_arm_plt_thumb_stub): New.
210*75fd0b74Schristos	(struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
211*75fd0b74Schristos	and plt_got_offset.
212*75fd0b74Schristos	(elf32_arm_link_hash_traverse): Fix typo.
213*75fd0b74Schristos	(elf32_arm_link_hash_table): Add obfd.
214*75fd0b74Schristos	(elf32_arm_link_hash_newfunc): Initialize new fields.
215*75fd0b74Schristos	(elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
216*75fd0b74Schristos	(elf32_arm_link_hash_table_create): Initialize obfd.
217*75fd0b74Schristos	(record_arm_to_thumb_glue): Mark the glue as a local ARM function.
218*75fd0b74Schristos	(record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
219*75fd0b74Schristos	(bfd_elf32_arm_get_bfd_for_interworking): Verify that the
220*75fd0b74Schristos	interworking BFD is not dynamic.
221*75fd0b74Schristos	(bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32.  Do
222*75fd0b74Schristos	not emit glue for PLT references.
223*75fd0b74Schristos	(elf32_arm_final_link_relocate): Handle Thumb functions.  Do not
224*75fd0b74Schristos	emit glue for PLT references.  Support the Thumb PLT prefix.
225*75fd0b74Schristos	(elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
226*75fd0b74Schristos	plt_thumb_refcount.
227*75fd0b74Schristos	(elf32_arm_check_relocs): Likewise.
228*75fd0b74Schristos	(elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
229*75fd0b74Schristos	plt_thumb_refcount.
230*75fd0b74Schristos	(allocate_dynrelocs): Handle Thumb PLT references.
231*75fd0b74Schristos	(elf32_arm_finish_dynamic_symbol): Likewise.
232*75fd0b74Schristos	(elf32_arm_symbol_processing): New function.
233*75fd0b74Schristos	(elf_backend_symbol_processing): Define.
234*75fd0b74Schristos
235*75fd0b74Schristos2004-11-16  Richard Sandiford  <rsandifo@redhat.com>
236*75fd0b74Schristos
237*75fd0b74Schristos	* elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
238*75fd0b74Schristos	add_fde_encoding.  Remove need_relative.
239*75fd0b74Schristos	* elf-eh-frame.c (extra_augmentation_string_bytes)
240*75fd0b74Schristos	(extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
241*75fd0b74Schristos	(_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
242*75fd0b74Schristos	in cases where the CIE has no existing 'R' augmentation.  Use
243*75fd0b74Schristos	size_of_output_cie_fde when assigning offsets.  Use the final offset
244*75fd0b74Schristos	as the new section size.
245*75fd0b74Schristos	(_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
246*75fd0b74Schristos	Account for any extra augmentation bytes in the returned offset.
247*75fd0b74Schristos	(_bfd_elf_write_section_eh_frame): Rework so that the entries are
248*75fd0b74Schristos	moved before being modified.  Pad growing entries with DW_CFA_nops.
249*75fd0b74Schristos	Add 'z' and 'R' augmentations as directed by add_augmentation_size
250*75fd0b74Schristos	and add_fde_encoding.
251*75fd0b74Schristos
252*75fd0b74Schristos2004-11-15  Mark Mitchell  <mark@codesourcery.com>
253*75fd0b74Schristos
254*75fd0b74Schristos	* elf32-arm.c (elf32_arm_relocate_section): Use
255*75fd0b74Schristos	arm_real_reloc_type.
256*75fd0b74Schristos
257*75fd0b74Schristos2004-11-16  Richard Sandiford  <rsandifo@redhat.com>
258*75fd0b74Schristos
259*75fd0b74Schristos	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early
260*75fd0b74Schristos	for discard relocations; don't add an R_MIPS_NONE to the main body
261*75fd0b74Schristos	of .rel.dyn.
262*75fd0b74Schristos
263*75fd0b74Schristos2004-11-04  Paul Brook  <paul@codesourcery.com>
264*75fd0b74Schristos
265*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype.
266*75fd0b74Schristos	* elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument.
267*75fd0b74Schristos	(_bfd_elf_slurp_version_tables): Add extra argument.  Create extra
268*75fd0b74Schristos	default version definition for unversioned symbols.
269*75fd0b74Schristos	* elfcode.h (elf_slurp_symbol_table): Pass extra argument.
270*75fd0b74Schristos	* elflink.c (elf_link_add_object_symbols): Pass extra argument to
271*75fd0b74Schristos	_bfd_elf_slurp_version_tables.  Set default version for unversioned
272*75fd0b74Schristos	imported symbols.
273*75fd0b74Schristos
274*75fd0b74Schristos2004-11-15  Paul Brook  <paul@codesourcery.com>
275*75fd0b74Schristos
276*75fd0b74Schristos	* elflink.c (elf_link_add_object_symbols): Don't assume version
277*75fd0b74Schristos	indices are consecutive.
278*75fd0b74Schristos
279*75fd0b74Schristos2004-11-14  Richard Sandiford  <rsandifo@redhat.com>
280*75fd0b74Schristos
281*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Deal with
282*75fd0b74Schristos	composite relocations against the personality data.
283*75fd0b74Schristos
284*75fd0b74Schristos2004-11-13  Paul Brook  <paul@codesourcery.com>
285*75fd0b74Schristos
286*75fd0b74Schristos	* elf32-arm.c (elf32_arm_final_link_relocate): Resolve
287*75fd0b74Schristos	R_ARM_PREL31 relocations to PLT entries.
288*75fd0b74Schristos	(elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto.
289*75fd0b74Schristos	(elf32_arm_check_relocs): Ditto.
290*75fd0b74Schristos
291*75fd0b74Schristos2004-11-12  Bob Wilson  <bob.wilson@acm.org>
292*75fd0b74Schristos
293*75fd0b74Schristos	* xtensa-isa.c (xtensa_interface_class_id): New.
294*75fd0b74Schristos
295*75fd0b74Schristos2004-11-11  Bob Wilson  <bob.wilson@acm.org>
296*75fd0b74Schristos
297*75fd0b74Schristos	* elf32-xtensa.c (property_table_compare): Remove assertion about
298*75fd0b74Schristos	entries with the same address and non-zero size.
299*75fd0b74Schristos	(xtensa_read_table_entries): Report such entries as errors.
300*75fd0b74Schristos
301*75fd0b74Schristos2004-11-11  Mark Mitchell  <mark@codesourcery.com>
302*75fd0b74Schristos
303*75fd0b74Schristos	* elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for
304*75fd0b74Schristos	R_ARM_RELATIVE on Symbian OS.
305*75fd0b74Schristos
306*75fd0b74Schristos2004-11-09  Mark Mitchell  <mark@codesourcery.com>
307*75fd0b74Schristos
308*75fd0b74Schristos	* som.c (som_bfd_print_private_bfd_data): New function.
309*75fd0b74Schristos	(som_object_setup): Save the auxiliary header.  Don't assume that
310*75fd0b74Schristos	zero is an invalid entry point for a shared library.
311*75fd0b74Schristos	(som_object_p): Allocate the auxiliary header on the heap.
312*75fd0b74Schristos
313*75fd0b74Schristos	* elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R
314*75fd0b74Schristos	declaration.
315*75fd0b74Schristos	(elf32_arm_symbian_modify_segment_map): Likewise.
316*75fd0b74Schristos
317*75fd0b74Schristos2004-11-09  Daniel Jacobowitz  <dan@debian.org>
318*75fd0b74Schristos
319*75fd0b74Schristos	From David Poole <daveml@mbuf.com>:
320*75fd0b74Schristos	* elf32-arm.c (elf32_arm_readonly_dynrelocs): New function.
321*75fd0b74Schristos	(elf32_arm_size_dynamic_sections): Call it.
322*75fd0b74Schristos
323*75fd0b74Schristos2004-11-09  Alan Modra  <amodra@bigpond.net.au>
324*75fd0b74Schristos
325*75fd0b74Schristos	* Makefile.am (SOURCE_HFILES): Remove elf32-arm.h.
326*75fd0b74Schristos	(ALL_MACHINES_CFILES): Fix typo.
327*75fd0b74Schristos	* Makefile.in: Regenerate.
328*75fd0b74Schristos	* po/SRC-POTFILES.in: Regenerate.
329*75fd0b74Schristos
330*75fd0b74Schristos2004-11-08  Mark Mitchell  <mark@codesourcery.com>
331*75fd0b74Schristos
332*75fd0b74Schristos	* elf32-arm.c (elf32_arm_final_link_relocate): When generating an
333*75fd0b74Schristos	R_ARM_RELATIVE relocation for Symbian OS, mention the section
334*75fd0b74Schristos	symbol in the relocation.
335*75fd0b74Schristos
336*75fd0b74Schristos2004-11-08  Inderpreet Singh  <inderpreetb@nioda.hcltech.com>
337*75fd0b74Schristos	    Vineet Sharma  <vineets@noida.hcltech.com>
338*75fd0b74Schristos
339*75fd0b74Schristos	* coff-maxq.c: New File.
340*75fd0b74Schristos	* cpu-maxq.c: New File.
341*75fd0b74Schristos	* coffcode.h: Likewise.
342*75fd0b74Schristos	* config.bfd: Likewise.
343*75fd0b74Schristos	* configure.in (maxqcoff_vec): New target vector.
344*75fd0b74Schristos	* Makefile.am: Add support for maxq target.
345*75fd0b74Schristos	* configure.in: Likewise.
346*75fd0b74Schristos	* archures.c:. Likewise.
347*75fd0b74Schristos	* targets.c: Likewise.
348*75fd0b74Schristos	* bfd_in2.h : Regenerated.
349*75fd0b74Schristos	* Makefile.in: Regenerated.
350*75fd0b74Schristos	* configure: Regenerated.
351*75fd0b74Schristos	* doc/Makefile.in: Regenerated.
352*75fd0b74Schristos
353*75fd0b74Schristos2004-11-08  Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
354*75fd0b74Schristos
355*75fd0b74Schristos	* coff-i386.c (coff_i386_reloc): Fix weak symbols.
356*75fd0b74Schristos	* cofflink.c (_bfd_coff_link_input_bfd): Don't process
357*75fd0b74Schristos	C_NT_WEAK aux entries.
358*75fd0b74Schristos	(_bfd_coff_generic_relocate_section): Handle undefined
359*75fd0b74Schristos	aliases.
360*75fd0b74Schristos
361*75fd0b74Schristos2004-11-07  Andreas Schwab  <schwab@suse.de>
362*75fd0b74Schristos
363*75fd0b74Schristos	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
364*75fd0b74Schristos	SYMBOL_CALLS_LOCAL and check for undefweak symbols with
365*75fd0b74Schristos	non-default visibility.
366*75fd0b74Schristos
367*75fd0b74Schristos2004-11-01  Mark Mitchell  <mark@codesourcery.com>
368*75fd0b74Schristos
369*75fd0b74Schristos	* elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
370*75fd0b74Schristos	D_PAGED.
371*75fd0b74Schristos	(elf32_arm_symbian_modify_segment_map): Don't
372*75fd0b74Schristos	reset includes_filehdr and includes_phdrs here.
373*75fd0b74Schristos
374*75fd0b74Schristos2004-11-04  Daniel Jacobowitz  <dan@debian.org>
375*75fd0b74Schristos
376*75fd0b74Schristos	* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace
377*75fd0b74Schristos	elfarm-nabi with elf32-arm.  Remove elfarm-oabi.
378*75fd0b74Schristos	(elf32-arm.lo): Replace elfarm-nabi.lo rule.  Remove elf32-arm.h
379*75fd0b74Schristos	dependency.
380*75fd0b74Schristos	* config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list
381*75fd0b74Schristos	to a new removed list.  Remove normal configuration stanzas.
382*75fd0b74Schristos	* configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec)
383*75fd0b74Schristos	(bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace
384*75fd0b74Schristos	elfarm-nabi.lo with elf32-arm.lo.
385*75fd0b74Schristos	(bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove.
386*75fd0b74Schristos	* elf32-arm.c: Renamed from elfarm-nabi.c.  Inline elf32-arm.h.
387*75fd0b74Schristos	* elf32-arm.h: Remove.
388*75fd0b74Schristos	* elfarm-oabi.c: Remove.
389*75fd0b74Schristos	* targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec
390*75fd0b74Schristos	and bfd_elf32_littlearm_oabi_vec.
391*75fd0b74Schristos	* aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated.
392*75fd0b74Schristos
393*75fd0b74Schristos2004-11-04  Hans-Peter Nilsson  <hp@axis.com>
394*75fd0b74Schristos
395*75fd0b74Schristos	* config.bfd: Support crisv32-*-* like cris-*-*.
396*75fd0b74Schristos	* archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
397*75fd0b74Schristos	(bfd_mach_cris_v10_v32): New macros.
398*75fd0b74Schristos	* cpu-cris.c: Tweak formatting.
399*75fd0b74Schristos	(get_compatible): New function.
400*75fd0b74Schristos	(N): New macro.
401*75fd0b74Schristos	(bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
402*75fd0b74Schristos	bfd_arch_info_type:s.
403*75fd0b74Schristos	(bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
404*75fd0b74Schristos	get_compatible for member compatible and link bfd_cris_arch_v32 as
405*75fd0b74Schristos	next.
406*75fd0b74Schristos	* elf32-cris.c (cris_elf_pcrel_reloc)
407*75fd0b74Schristos	(cris_elf_set_mach_from_flags): New functions.
408*75fd0b74Schristos	(cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
409*75fd0b74Schristos	<R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc.
410*75fd0b74Schristos	(cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
411*75fd0b74Schristos	numbers for bfd_mach_cris_v32.
412*75fd0b74Schristos	(PLT_ENTRY_SIZE_V32): New macro.
413*75fd0b74Schristos	(elf_cris_plt0_entry): Drop last comma in initializer.
414*75fd0b74Schristos	(elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
415*75fd0b74Schristos	(elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
416*75fd0b74Schristos	PLT initializers.
417*75fd0b74Schristos	(cris_elf_relocate_section): Change all "%B(%A)" messages to
418*75fd0b74Schristos	"%B, section %A".
419*75fd0b74Schristos	(elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
420*75fd0b74Schristos	(elf_cris_finish_dynamic_sections): Similar.
421*75fd0b74Schristos	(elf_cris_adjust_dynamic_symbol): Similar.
422*75fd0b74Schristos	(cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
423*75fd0b74Schristos	section %A".
424*75fd0b74Schristos	<switch with PIC relocs>: Emit error and return FALSE for
425*75fd0b74Schristos	bfd_mach_cris_v10_v32.
426*75fd0b74Schristos	<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
427*75fd0b74Schristos	Emit warning when generating textrel reloc.
428*75fd0b74Schristos	(cris_elf_object_p): Call cris_elf_set_mach_from_flags.
429*75fd0b74Schristos	(cris_elf_final_write_processing): Set flags according to mach.
430*75fd0b74Schristos	(cris_elf_print_private_bfd_data): Display
431*75fd0b74Schristos	EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
432*75fd0b74Schristos	(cris_elf_merge_private_bfd_data): Drop variables old_flags,
433*75fd0b74Schristos	new_flags.  Don't call cris_elf_final_write_processing.  Don't
434*75fd0b74Schristos	look at the actual elf header flags at all; use
435*75fd0b74Schristos	bfd_get_symbol_leading_char to check ibfd, obfd.  Trap difference
436*75fd0b74Schristos	in bfd_get_mach for ibfd and obfd and handle merging of compatible
437*75fd0b74Schristos	objects.
438*75fd0b74Schristos	(bfd_elf32_bfd_copy_private_bfd_data): Define.
439*75fd0b74Schristos	* reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
440*75fd0b74Schristos	(BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
441*75fd0b74Schristos	(BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
442*75fd0b74Schristos	* bfd-in2.h, libbfd.h: Regenerate.
443*75fd0b74Schristos
444*75fd0b74Schristos2004-11-04  Alan Modra  <amodra@bigpond.net.au>
445*75fd0b74Schristos
446*75fd0b74Schristos	* elf64-ppc.h (ppc64_elf_edit_toc): Declare.
447*75fd0b74Schristos	* elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update
448*75fd0b74Schristos	comment.
449*75fd0b74Schristos	(struct adjust_toc_info): New.
450*75fd0b74Schristos	(adjust_toc_syms, ppc64_elf_edit_toc): New functions.
451*75fd0b74Schristos
452*75fd0b74Schristos2004-11-03  Bob Wilson  <bob.wilson@acm.org>
453*75fd0b74Schristos
454*75fd0b74Schristos	* elf.c (assign_file_positions_for_segments): Set next_file_pos even
455*75fd0b74Schristos	if there are no segments.
456*75fd0b74Schristos
457*75fd0b74Schristos2004-11-02  Daniel Jacobowitz  <dan@debian.org>
458*75fd0b74Schristos
459*75fd0b74Schristos	* config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
460*75fd0b74Schristos
461*75fd0b74Schristos2004-11-02  Nick Clifton  <nickc@redhat.com>
462*75fd0b74Schristos
463*75fd0b74Schristos	* elf32-iq2000.c: Convert to ISO C90 formatting.
464*75fd0b74Schristos
465*75fd0b74Schristos2004-11-02  Hans-Peter Nilsson  <hp@axis.com>
466*75fd0b74Schristos
467*75fd0b74Schristos	* elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_.
468*75fd0b74Schristos
469*75fd0b74Schristos2004-10-28  H.J. Lu  <hongjiu.lu@intel.com>
470*75fd0b74Schristos
471*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
472*75fd0b74Schristos	undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
473*75fd0b74Schristos	R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
474*75fd0b74Schristos
475*75fd0b74Schristos2004-10-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
476*75fd0b74Schristos
477*75fd0b74Schristos	* elf32-sh.c (tpoff): Take alignment into account.
478*75fd0b74Schristos
479*75fd0b74Schristos2004-10-28  Nick Clifton  <nickc@redhat.com>
480*75fd0b74Schristos
481*75fd0b74Schristos	* elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when
482*75fd0b74Schristos	performing a relocatable link.
483*75fd0b74Schristos	(iq2000_elf_object_p): Do not set elf_bad_symtab.  This is only
484*75fd0b74Schristos	for MIPS ports under Irix.
485*75fd0b74Schristos
486*75fd0b74Schristos2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
487*75fd0b74Schristos
488*75fd0b74Schristos	* elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle
489*75fd0b74Schristos	R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24.
490*75fd0b74Schristos	(elf32_arm_final_link_relocate): Ditto.
491*75fd0b74Schristos	(arm_add_to_rel, elf32_arm_relocate_section): Ditto.
492*75fd0b74Schristos	(elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto
493*75fd0b74Schristos	(elf32_arm_adjust_dynamic_symbol): Ditto.
494*75fd0b74Schristos	* elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and
495*75fd0b74Schristos	R_ARM_JUMP32.  Move R_ARM_R{REL32,ABS32,PC24,BASE}...
496*75fd0b74Schristos	(elf32_arm_r_howto): ... To here.
497*75fd0b74Schristos	(elf32_arm_howto_from_type): Use elf32_arm_r_howto.
498*75fd0b74Schristos
499*75fd0b74Schristos2004-10-26  H.J. Lu  <hongjiu.lu@intel.com>
500*75fd0b74Schristos
501*75fd0b74Schristos	PR 475
502*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
503*75fd0b74Schristos	R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
504*75fd0b74Schristos	and R_IA64_SECREL64LSB.
505*75fd0b74Schristos
506*75fd0b74Schristos2004-10-26  Paul Brook  <paul@codesourcery.com>
507*75fd0b74Schristos
508*75fd0b74Schristos	* elflink.c (elf_finalize_dynstr): Skip shared aux structure.
509*75fd0b74Schristos	(bfd_elf_size_dynamic_sections): Create default version definition.
510*75fd0b74Schristos	(elf_link_output_extsym): Adjust for default symbol version.
511*75fd0b74Schristos
512*75fd0b74Schristos2004-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
513*75fd0b74Schristos
514*75fd0b74Schristos	* mmo.c: Adjust to ISO C.
515*75fd0b74Schristos
516*75fd0b74Schristos	* mmo.c (mmo_write_section_description): New function broken out
517*75fd0b74Schristos	of mmo_internal_write_section.
518*75fd0b74Schristos	(mmo_internal_write_section): For each of .text and .data, call
519*75fd0b74Schristos	mmo_write_section_description before outputting contents if it has
520*75fd0b74Schristos	nontrivially deducible vma or contents.
521*75fd0b74Schristos	(mmo_has_leading_or_trailing_zero_tetra_p): New function.
522*75fd0b74Schristos	(mmo_canonicalize_symtab): Adjust absolute symbols to .data
523*75fd0b74Schristos	symbols if found within the .data address range.
524*75fd0b74Schristos
525*75fd0b74Schristos2004-10-24  Daniel Jacobowitz  <dan@debian.org>
526*75fd0b74Schristos
527*75fd0b74Schristos	* opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
528*75fd0b74Schristos
529*75fd0b74Schristos2004-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
530*75fd0b74Schristos
531*75fd0b74Schristos	* mmo.c (File Layout): Correct place of misplaced blurb about
532*75fd0b74Schristos	special data.
533*75fd0b74Schristos
534*75fd0b74Schristos2004-10-22  Mark Kettenis  <kettenis@gnu.org>
535*75fd0b74Schristos
536*75fd0b74Schristos	* config.bfd: Add mips64*-*-openbsd.
537*75fd0b74Schristos
538*75fd0b74Schristos2004-10-21  Bob Wilson  <bob.wilson@acm.org>
539*75fd0b74Schristos
540*75fd0b74Schristos	* elf32-xtensa.c (ebb_propose_action): Put declarations before
541*75fd0b74Schristos	statements.
542*75fd0b74Schristos
543*75fd0b74Schristos2004-10-21  H.J. Lu  <hongjiu.lu@intel.com>
544*75fd0b74Schristos
545*75fd0b74Schristos	* configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94.
546*75fd0b74Schristos	* configure: Regenerate.
547*75fd0b74Schristos
548*75fd0b74Schristos2004-10-21  H.J. Lu  <hongjiu.lu@intel.com>
549*75fd0b74Schristos
550*75fd0b74Schristos	PR 463
551*75fd0b74Schristos	* aoutx.h (aout_link_input_section_std): Pass proper hash entry
552*75fd0b74Schristos	to linker reloc_overflow callback.
553*75fd0b74Schristos	(aout_link_input_section_ext): Likewise.
554*75fd0b74Schristos	(aout_link_reloc_link_order): Likewise.
555*75fd0b74Schristos	* coff-a29k.c (coff_a29k_relocate_section): Likewise.
556*75fd0b74Schristos	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
557*75fd0b74Schristos	Likewise.
558*75fd0b74Schristos	(alpha_relocate_section): Likewise.
559*75fd0b74Schristos	* coff-arm.c (coff_arm_relocate_section): Likewise.
560*75fd0b74Schristos	* coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
561*75fd0b74Schristos	* coff-h8500.c (extra_case): Likewise.
562*75fd0b74Schristos	* coff-i960.c (coff_i960_relocate_section): Likewise.
563*75fd0b74Schristos	* coff-mcore.c (coff_mcore_relocate_section): Likewise.
564*75fd0b74Schristos	* coff-mips.c (mips_relocate_section): Likewise.
565*75fd0b74Schristos	* coff-or32.c (coff_or32_relocate_section): Likewise.
566*75fd0b74Schristos	* coff-ppc.c (coff_ppc_relocate_section): Likewise.
567*75fd0b74Schristos	* coff-rs6000.c (xcoff_ppc_relocate_section): Likewise.
568*75fd0b74Schristos	* coff-sh.c (sh_relocate_section): Likewise.
569*75fd0b74Schristos	* coff-tic80.c (coff_tic80_relocate_section): Likewise.
570*75fd0b74Schristos	* coff-w65.c (w65_reloc16_extra_cases): Likewise.
571*75fd0b74Schristos	* coff-z8k.c (extra_case): Likewise.
572*75fd0b74Schristos	* coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
573*75fd0b74Schristos	* cofflink.c (_bfd_coff_reloc_link_order): Likewise.
574*75fd0b74Schristos	(_bfd_coff_generic_relocate_section): Likewise.
575*75fd0b74Schristos	* ecoff.c (ecoff_reloc_link_order): Likewise.
576*75fd0b74Schristos	* elf-hppa.h (elf_hppa_relocate_section): Likewise.
577*75fd0b74Schristos	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
578*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
579*75fd0b74Schristos	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
580*75fd0b74Schristos	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
581*75fd0b74Schristos	* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
582*75fd0b74Schristos	* elf32-cris.c (cris_elf_relocate_section): Likewise.
583*75fd0b74Schristos	* elf32-crx.c (elf32_crx_relocate_section): Likewise.
584*75fd0b74Schristos	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
585*75fd0b74Schristos	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
586*75fd0b74Schristos	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
587*75fd0b74Schristos	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
588*75fd0b74Schristos	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
589*75fd0b74Schristos	* elf32-i370.c (i370_elf_relocate_section): Likewise.
590*75fd0b74Schristos	* elf32-i386.c (elf_i386_relocate_section): Likewise.
591*75fd0b74Schristos	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
592*75fd0b74Schristos	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
593*75fd0b74Schristos	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
594*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
595*75fd0b74Schristos	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
596*75fd0b74Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
597*75fd0b74Schristos	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
598*75fd0b74Schristos	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
599*75fd0b74Schristos	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
600*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
601*75fd0b74Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
602*75fd0b74Schristos	* elf32-sh.c (sh_elf_relocate_section): Likewise.
603*75fd0b74Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
604*75fd0b74Schristos	* elf32-v850.c (v850_elf_relocate_section): Likewise.
605*75fd0b74Schristos	* elf32-vax.c (elf_vax_relocate_section): Likewise.
606*75fd0b74Schristos	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
607*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
608*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
609*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
610*75fd0b74Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
611*75fd0b74Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
612*75fd0b74Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
613*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
614*75fd0b74Schristos	* elflink.c (elf_reloc_link_order): Likewise.
615*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
616*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
617*75fd0b74Schristos	(_bfd_elf_mips_get_relocated_section_contents): Likewise.
618*75fd0b74Schristos	* linker.c (_bfd_generic_reloc_link_order): Likewise.
619*75fd0b74Schristos	* pdp11.c (pdp11_aout_link_input_section): Likewise.
620*75fd0b74Schristos	(aout_link_reloc_link_order): Likewise.
621*75fd0b74Schristos	* reloc.c (bfd_generic_get_relocated_section_contents):
622*75fd0b74Schristos	Likewise.
623*75fd0b74Schristos	* xcofflink.c (xcoff_reloc_link_order): Likewise.
624*75fd0b74Schristos	* simple.c (simple_dummy_reloc_overflow): Updated.
625*75fd0b74Schristos
626*75fd0b74Schristos2004-10-20  Andreas Schwab  <schwab@suse.de>
627*75fd0b74Schristos
628*75fd0b74Schristos	* elf32-m68k.c (elf_m68k_plt_sym_val): New function.
629*75fd0b74Schristos	(elf_backend_plt_sym_val): Define.
630*75fd0b74Schristos
631*75fd0b74Schristos2004-10-19  Danny Smith  <dannysmith@users.sourceforege.net>
632*75fd0b74Schristos
633*75fd0b74Schristos	* config.bfd: Set targ_underscore=yes for PE COFF targets
634*75fd0b74Schristos
635*75fd0b74Schristos2004-10-19  Alan Modra  <amodra@bigpond.net.au>
636*75fd0b74Schristos
637*75fd0b74Schristos	* elf64-ppc.c (opd_entry_value): Handle --just-symbols objects.
638*75fd0b74Schristos	(ppc64_elf_edit_opd): Likewise.
639*75fd0b74Schristos
640*75fd0b74Schristos2004-10-18  Mark Mitchell  <mark@codesourcery.com>
641*75fd0b74Schristos
642*75fd0b74Schristos	* elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment.
643*75fd0b74Schristos	* elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT,
644*75fd0b74Schristos	set SEC_ALLOC and SEC_LOAD.
645*75fd0b74Schristos
646*75fd0b74Schristos2004-10-18  Nick Clifton  <nickc@redhat.com>
647*75fd0b74Schristos
648*75fd0b74Schristos	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Compute
649*75fd0b74Schristos	'name' for relocs against both local and global symbols.
650*75fd0b74Schristos
651*75fd0b74Schristos2004-10-16  Daniel Jacobowitz  <dan@debian.org>
652*75fd0b74Schristos
653*75fd0b74Schristos	* bfd-in2.h: Regenerate.
654*75fd0b74Schristos	* bfd.c (struct bfd): Add no_export.
655*75fd0b74Schristos	* elflink.c (elf_link_add_object_symbols): Handle no_export.
656*75fd0b74Schristos
657*75fd0b74Schristos2004-10-15  Alan Modra  <amodra@bigpond.net.au>
658*75fd0b74Schristos
659*75fd0b74Schristos	* config.bfd: Whitespace cleanup.
660*75fd0b74Schristos	* Makefile.am: Run "make dep-am"
661*75fd0b74Schristos	* Makefile.in: Regenerate.
662*75fd0b74Schristos
663*75fd0b74Schristos2004-10-15  Jakub Jelinek  <jakub@redhat.com>
664*75fd0b74Schristos
665*75fd0b74Schristos	* elflink.c (struct already_linked_section): Removed.
666*75fd0b74Schristos	(try_match_symbols_in_sections, already_linked): Removed.
667*75fd0b74Schristos	(_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
668*75fd0b74Schristos	prefix of section names when finding already_linked_table
669*75fd0b74Schristos	chain.  Compare section names.  Instead of calling already_linked,
670*75fd0b74Schristos	do it inline and only for sections in the same already_linked_list.
671*75fd0b74Schristos
672*75fd0b74Schristos2004-10-15  Alan Modra  <amodra@bigpond.net.au>
673*75fd0b74Schristos
674*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
675*75fd0b74Schristos	parameter.  If called after _bfd_elf_write_section_eh_frame,
676*75fd0b74Schristos	don't allow a -2 return unless need_* bit is already set, and
677*75fd0b74Schristos	handle offsets adjusted for output_offset.
678*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
679*75fd0b74Schristos	* elf.c (_bfd_elf_section_offset): Update call.
680*75fd0b74Schristos
681*75fd0b74Schristos2004-10-13  H.J. Lu  <hongjiu.lu@intel.com>
682*75fd0b74Schristos
683*75fd0b74Schristos	PR 440
684*75fd0b74Schristos	* coffcode.h (coff_compute_section_file_positions): Cast to
685*75fd0b74Schristos	bfd_vma when computing page alignment.
686*75fd0b74Schristos
687*75fd0b74Schristos2004-10-13  Mark Mitchell  <mark@codesourcery.com>
688*75fd0b74Schristos
689*75fd0b74Schristos	* elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
690*75fd0b74Schristos	offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.
691*75fd0b74Schristos
692*75fd0b74Schristos2004-10-12  Mark Mitchell  <mark@codesourcery.com>
693*75fd0b74Schristos
694*75fd0b74Schristos	* elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
695*75fd0b74Schristos	relocations use a virtual address, not a section offset.
696*75fd0b74Schristos
697*75fd0b74Schristos2004-10-12  Bob Wilson  <bob.wilson@acm.org>
698*75fd0b74Schristos
699*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
700*75fd0b74Schristos	(narrow_instruction, widen_instruction): Remove unnecessary calls to
701*75fd0b74Schristos	xtensa_format_encode.
702*75fd0b74Schristos	(ebb_propose_action): Inline call to ebb_add_proposed_action.
703*75fd0b74Schristos	(ebb_add_proposed_action): Delete.
704*75fd0b74Schristos
705*75fd0b74Schristos2004-10-12  Bob Wilson  <bob.wilson@acm.org>
706*75fd0b74Schristos
707*75fd0b74Schristos	* elf32-xtensa.c: Use ISO C90 formatting.
708*75fd0b74Schristos
709*75fd0b74Schristos2004-10-12  Paul Brook  <paul@codesourcery.com>
710*75fd0b74Schristos
711*75fd0b74Schristos	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
712*75fd0b74Schristos	message.
713*75fd0b74Schristos
714*75fd0b74Schristos2004-10-12  Paul Brook  <paul@codesourcery.com>
715*75fd0b74Schristos
716*75fd0b74Schristos	* elf32-arm.h: Support EABI version 4 objects.
717*75fd0b74Schristos
718*75fd0b74Schristos2004-10-12  Alan Modra  <amodra@bigpond.net.au>
719*75fd0b74Schristos
720*75fd0b74Schristos	PR 325
721*75fd0b74Schristos	* cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
722*75fd0b74Schristos	Don't mark as default.
723*75fd0b74Schristos	(bfd_x86_64_arch): Don't mark as default.
724*75fd0b74Schristos
725*75fd0b74Schristos2004-10-12  Alan Modra  <amodra@bigpond.net.au>
726*75fd0b74Schristos
727*75fd0b74Schristos	* elflink.c (enum action_discarded): New.
728*75fd0b74Schristos	(elf_section_complain_discarded): Delete.
729*75fd0b74Schristos	(elf_action_discarded): New function subsuming the above and also
730*75fd0b74Schristos	controlling reloc behaviour.
731*75fd0b74Schristos	(elf_link_input_bfd): Use it.
732*75fd0b74Schristos
733*75fd0b74Schristos2004-10-11  Jakub Jelinek  <jakub@redhat.com>
734*75fd0b74Schristos
735*75fd0b74Schristos	* elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
736*75fd0b74Schristos	(special_sections): Add .gnu.liblist and .gnu.conflict.
737*75fd0b74Schristos	(assign_section_numbers): Handle SHT_GNU_LIBLIST.
738*75fd0b74Schristos
739*75fd0b74Schristos2004-10-11  Alan Modra  <amodra@bigpond.net.au>
740*75fd0b74Schristos
741*75fd0b74Schristos	PR 233
742*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Try harder to support
743*75fd0b74Schristos	relocations against symbols in removed linkonce sections.
744*75fd0b74Schristos
745*75fd0b74Schristos2004-10-11  Alan Modra  <amodra@bigpond.net.au>
746*75fd0b74Schristos
747*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Revert PR 354 change.
748*75fd0b74Schristos
749*75fd0b74Schristos	PR 354
750*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
751*75fd0b74Schristos	sections do not reference symbols in non-SEC_ALLOC sections.
752*75fd0b74Schristos
753*75fd0b74Schristos2004-10-11  Alan Modra  <amodra@bigpond.net.au>
754*75fd0b74Schristos
755*75fd0b74Schristos	PR 437
756*75fd0b74Schristos	* elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
757*75fd0b74Schristos	(_bfd_elf_link_omit_section_dynsym): Formatting.
758*75fd0b74Schristos
759*75fd0b74Schristos2004-10-10  Alan Modra  <amodra@bigpond.net.au>
760*75fd0b74Schristos
761*75fd0b74Schristos	* libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
762*75fd0b74Schristos	* libbfd.h: Regnerate.
763*75fd0b74Schristos	* elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
764*75fd0b74Schristos	* elf32-frv.c: Likewise.
765*75fd0b74Schristos	* elf32-m32r.c: Likewise.
766*75fd0b74Schristos	* elf32-ppc.c: Likewise.
767*75fd0b74Schristos	* elf64-hppa.c: Likewise.
768*75fd0b74Schristos	* elfxx-ia64.c: Likewise.
769*75fd0b74Schristos	* opncls.c: Likewise.
770*75fd0b74Schristos
771*75fd0b74Schristos2004-10-10  Alan Modra  <amodra@bigpond.net.au>
772*75fd0b74Schristos
773*75fd0b74Schristos	* elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
774*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
775*75fd0b74Schristos	offsets stored in struct eh_cie_fde entries before doing other
776*75fd0b74Schristos	work.
777*75fd0b74Schristos
778*75fd0b74Schristos	* elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
779*75fd0b74Schristos	(struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
780*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
781*75fd0b74Schristos	setting offsets for removed CIEs.  Don't set "sec", instead set
782*75fd0b74Schristos	cie_inf for FDEs.  Keep a pointer to last struct eh_cie_fde for a
783*75fd0b74Schristos	CIE in hdr_info.  Only set make_relative and make_lsda_relative
784*75fd0b74Schristos	for CIEs.  Use pointers rather than array indices.
785*75fd0b74Schristos	(_bfd_elf_eh_frame_section_offset): Test/set make_relative,
786*75fd0b74Schristos	make_lsda_relative, need_* on cie_inf for FDEs.
787*75fd0b74Schristos	(_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
788*75fd0b74Schristos	section output_offset.  Delete cie_offset, instead use cie_inf
789*75fd0b74Schristos	pointer to CIE entry.  Use need_relative and need_lsda_relative on
790*75fd0b74Schristos	CIE entry for FDEs.  Use pointers rather than array indices.
791*75fd0b74Schristos
792*75fd0b74Schristos2004-10-09  Alan Modra  <amodra@bigpond.net.au>
793*75fd0b74Schristos
794*75fd0b74Schristos	* coff-rs6000.c (rs6000coff_vec): Add initializer for
795*75fd0b74Schristos	bfd_is_target_special_symbol.
796*75fd0b74Schristos	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
797*75fd0b74Schristos	* som.c (som_bfd_is_target_special_symbol): Define.
798*75fd0b74Schristos
799*75fd0b74Schristos2004-10-08  Nick Clifton  <nickc@redhat.com>
800*75fd0b74Schristos
801*75fd0b74Schristos	* configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93.
802*75fd0b74Schristos	* configure: Regenerate.
803*75fd0b74Schristos	* bfd-in2.h: Regenerate.
804*75fd0b74Schristos	* syms.c (bfd_is_target_special_symbol): New interface function.
805*75fd0b74Schristos	Returns true when a symbol should be considered to be special.
806*75fd0b74Schristos	* targets.c (bfd_target): Include bfd_is_target_special_symbol in
807*75fd0b74Schristos	the symbol jump table.
808*75fd0b74Schristos	* elf32-arm.h (elf32_arm_is_target_special_symbol): New function.
809*75fd0b74Schristos	Return true iff the symbol is a mapping symbol.
810*75fd0b74Schristos	(bfd_elf32_bfd_is_target_special_symbol): Define.
811*75fd0b74Schristos	* elfxx-target.h: Provide a default definition for
812*75fd0b74Schristos	bfd_is_target_special_symbol.
813*75fd0b74Schristos	* aout-target.h: Likewise.
814*75fd0b74Schristos	* aout-tic30.c: Likewise.
815*75fd0b74Schristos	* binary.c: Likewise.
816*75fd0b74Schristos	* coffcode.h: Likewise.
817*75fd0b74Schristos	* i386msdos.c: Likewise.
818*75fd0b74Schristos	* ieee.c: Likewise.
819*75fd0b74Schristos	* ihex.c: Likewise.
820*75fd0b74Schristos	* libaout.h: Likewise.
821*75fd0b74Schristos	* libbfd-in.h: Likewise
822*75fd0b74Schristos	* libecoff.h: Likewise.
823*75fd0b74Schristos	* mach-o.c: Likewise.
824*75fd0b74Schristos	* mmo.c: Likewise.
825*75fd0b74Schristos	* nlm-target.h: Likewise.
826*75fd0b74Schristos	* oasys.c: Likewise.
827*75fd0b74Schristos	* pef.c: Likewise.
828*75fd0b74Schristos	* ppcboot.c: Likewise.
829*75fd0b74Schristos	* srec.c: Likewise.
830*75fd0b74Schristos	* tekhex.c: Likewise.
831*75fd0b74Schristos	* versados.c: Likewise.
832*75fd0b74Schristos	* vms.c: Likewise.
833*75fd0b74Schristos	* xcoff-target.h: Likewise.
834*75fd0b74Schristos	* xsym.c: Likewise.
835*75fd0b74Schristos	* libbfd.h: Regenerate.
836*75fd0b74Schristos
837*75fd0b74Schristos2004-10-08  Daniel Jacobowitz  <dan@debian.org>
838*75fd0b74Schristos
839*75fd0b74Schristos	* config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
840*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
841*75fd0b74Schristos	(elf_backend_section_from_shdr): Define.
842*75fd0b74Schristos
843*75fd0b74Schristos2004-10-08  Alan Modra  <amodra@bigpond.net.au>
844*75fd0b74Schristos
845*75fd0b74Schristos	* syms.c (bfd_is_local_label): Return false for file symbols.
846*75fd0b74Schristos
847*75fd0b74Schristos2004-10-07  Bob Wilson  <bob.wilson@acm.org>
848*75fd0b74Schristos	    David Heine  <dlheine@tensilica.com>
849*75fd0b74Schristos
850*75fd0b74Schristos	* elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
851*75fd0b74Schristos	(xtensa_default_isa): Global variable moved here from xtensa-isa.c.
852*75fd0b74Schristos	(elf32xtensa_no_literal_movement): New global variable.
853*75fd0b74Schristos	(elf_howto_table): Add entries for new relocations.
854*75fd0b74Schristos	(elf_xtensa_reloc_type_lookup): Handle new relocations.
855*75fd0b74Schristos	(property_table_compare): When addresses are equal, compare sizes and
856*75fd0b74Schristos	various property flags.
857*75fd0b74Schristos	(property_table_matches): New.
858*75fd0b74Schristos	(xtensa_read_table_entries): Extend to read new property tables.  Add
859*75fd0b74Schristos	output_addr parameter to indicate that output addresses should be used.
860*75fd0b74Schristos	Use bfd_get_section_limit.
861*75fd0b74Schristos	(elf_xtensa_find_property_entry): New.
862*75fd0b74Schristos	(elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
863*75fd0b74Schristos	(elf_xtensa_check_relocs): Handle new relocations.
864*75fd0b74Schristos	(elf_xtensa_do_reloc): Use bfd_get_section_limit.  Handle new
865*75fd0b74Schristos	relocations.  Use new xtensa-isa.h functions.
866*75fd0b74Schristos	(build_encoding_error_message): Remove encode_result parameter.  Add
867*75fd0b74Schristos	new target_address parameter used to detect alignment errors.
868*75fd0b74Schristos	(elf_xtensa_relocate_section): Use bfd_get_section_limit.  Clean up
869*75fd0b74Schristos	error handling.  Use new is_operand_relocation function.
870*75fd0b74Schristos	(elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
871*75fd0b74Schristos	Use underbar macro for error messages.  Formatting.
872*75fd0b74Schristos	(get_const16_opcode): New.
873*75fd0b74Schristos	(get_l32r_opcode): Add a separate flag for initialization.
874*75fd0b74Schristos	(get_relocation_opnd): Operand number is no longer explicit in the
875*75fd0b74Schristos	relocation.  Change to decode the opcode and analyze its operands.
876*75fd0b74Schristos	(get_relocation_slot): New.
877*75fd0b74Schristos	(get_relocation_opcode): Add bfd parameter.  Use bfd_get_section_limit.
878*75fd0b74Schristos	Use new xtensa-isa.h functions to handle multislot instructions.
879*75fd0b74Schristos	(is_l32r_relocation): Add bfd parameter.  Use is_operand_relocation.
880*75fd0b74Schristos	(get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
881*75fd0b74Schristos	insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
882*75fd0b74Schristos	check_loop_aligned, check_branch_target_aligned_address, narrowable,
883*75fd0b74Schristos	widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
884*75fd0b74Schristos	get_single_format, init_op_single_format_table): New.
885*75fd0b74Schristos	(elf_xtensa_do_asm_simplify): Add error_message parameter and use it
886*75fd0b74Schristos	instead of calling _bfd_error_handler.  Use new xtensa-isa.h functions.
887*75fd0b74Schristos	(contract_asm_expansion): Add error_message parameter and pass it to
888*75fd0b74Schristos	elf_xtensa_do_asm_simplify.  Replace use of R_XTENSA_OP0 relocation
889*75fd0b74Schristos	with R_XTENSA_SLOT0_OP.
890*75fd0b74Schristos	(get_expanded_call_opcode): Extend to handle either L32R or CONST16
891*75fd0b74Schristos	instructions.  Use new xtensa-isa.h functions.
892*75fd0b74Schristos	(r_reloc struct): Add new virtual_offset field.
893*75fd0b74Schristos	(r_reloc_init): Add contents and content_length parameters.  Set
894*75fd0b74Schristos	virtual_offset field to zero.  Add contents to target_offset field for
895*75fd0b74Schristos	partial_inplace relocations.
896*75fd0b74Schristos	(r_reloc_is_defined): Check for null.
897*75fd0b74Schristos	(print_r_reloc): New debug function.
898*75fd0b74Schristos	(source_reloc struct): Replace xtensa_operand field with pair of the
899*75fd0b74Schristos	opcode and the operand position.  Add is_abs_literal field.
900*75fd0b74Schristos	(init_source_reloc): Specify operand by opcode/position pair.  Set
901*75fd0b74Schristos	is_abs_literal field.
902*75fd0b74Schristos	(source_reloc_compare): When target_offsets are equal, compare other
903*75fd0b74Schristos	fields to make sorting predictable.
904*75fd0b74Schristos	(literal_value struct): Add is_abs_literal field.
905*75fd0b74Schristos	(value_map_hash_table struct): Add has_last_loc and last_loc fields.
906*75fd0b74Schristos	(init_literal_value): New.
907*75fd0b74Schristos	(is_same_value): Replace with ...
908*75fd0b74Schristos	(literal_value_equal): ... this function.  Add comparisons of
909*75fd0b74Schristos	virtual_offset and is_abs_literal fields.
910*75fd0b74Schristos	(value_map_hash_table_init): Use bfd_zmalloc.  Check for allocation
911*75fd0b74Schristos	failure.  Initialize has_last_loc field.
912*75fd0b74Schristos	(value_map_hash_table_delete): New.
913*75fd0b74Schristos	(hash_literal_value): Rename to ...
914*75fd0b74Schristos	(literal_value_hash): ... this.  Include is_abs_literal flag and
915*75fd0b74Schristos	virtual_offset field in the hash value.
916*75fd0b74Schristos	(get_cached_value): Rename to ...
917*75fd0b74Schristos	(value_map_get_cached_value): ... this.  Update calls to
918*75fd0b74Schristos	literal_value_hash and literal_value_equal.
919*75fd0b74Schristos	(add_value_map): Check for allocation failure.  Update calls to
920*75fd0b74Schristos	value_map_get_cached_value and literal_value_hash.
921*75fd0b74Schristos	(text_action, text_action_list, text_action_t): New types.
922*75fd0b74Schristos	(find_fill_action, compute_removed_action_diff, adjust_fill_action,
923*75fd0b74Schristos	text_action_add, text_action_add_literal, offset_with_removed_text,
924*75fd0b74Schristos	offset_with_removed_text_before_fill, find_insn_action,
925*75fd0b74Schristos	print_action_list, print_removed_literals): New.
926*75fd0b74Schristos	(offset_with_removed_literals): Delete.
927*75fd0b74Schristos	(xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
928*75fd0b74Schristos	fix_array, fix_array_count, allocated_relocs, relocs_count, and
929*75fd0b74Schristos	allocated_relocs_count fields.
930*75fd0b74Schristos	(init_xtensa_relax_info): Initialize new fields.
931*75fd0b74Schristos	(reloc_bfd_fix struct): Add new translated field.
932*75fd0b74Schristos	(reloc_bfd_fix_init): Add translated parameter and use it to set the
933*75fd0b74Schristos	translated field.
934*75fd0b74Schristos	(fix_compare, cache_fix_array): New.
935*75fd0b74Schristos	(get_bfd_fix): Remove fix_list parameter and get all relax_info for the
936*75fd0b74Schristos	section via get_xtensa_relax_info.  Use cache_fix_array to set up
937*75fd0b74Schristos	sorted fix_array and use bsearch instead of linear search.
938*75fd0b74Schristos	(section_cache_t): New struct.
939*75fd0b74Schristos	(init_section_cache, section_cache_section, clear_section_cache): New.
940*75fd0b74Schristos	(ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
941*75fd0b74Schristos	(init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
942*75fd0b74Schristos	extend_ebb_bounds_forward, extend_ebb_bounds_backward,
943*75fd0b74Schristos	insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
944*75fd0b74Schristos	New.
945*75fd0b74Schristos	(retrieve_contents): Use bfd_get_section_limit.
946*75fd0b74Schristos	(elf_xtensa_relax_section): Add relocations_analyzed flag.  Update call
947*75fd0b74Schristos	to compute_removed_literals.  Free value_map_hash_table when no longer
948*75fd0b74Schristos	needed.
949*75fd0b74Schristos	(analyze_relocations): Check is_relaxable_asm_section flag.  Call
950*75fd0b74Schristos	compute_text_actions for all sections.
951*75fd0b74Schristos	(find_relaxable_sections): Mark sections as relaxable if they contain
952*75fd0b74Schristos	ASM_EXPAND relocations that can be optimized.  Adjust r_reloc_init
953*75fd0b74Schristos	call.  Increment relax_info src_count field only for appropriate
954*75fd0b74Schristos	relocation types.  Remove is_literal_section check.
955*75fd0b74Schristos	(collect_source_relocs): Use bfd_get_section_limit.  Adjust calls to
956*75fd0b74Schristos	r_reloc_init and find_associated_l32r_irel.  Check
957*75fd0b74Schristos	is_relaxable_asm_section flag.  Handle L32R instructions with absolute
958*75fd0b74Schristos	literals.  Pass is_abs_literal flag to init_source_reloc.
959*75fd0b74Schristos	(is_resolvable_asm_expansion): Use bfd_get_section_limit.  Check for
960*75fd0b74Schristos	CONST16 instructions.  Adjust calls to r_reloc_init and
961*75fd0b74Schristos	pcrel_reloc_fits.  Handle weak symbols conservatively.
962*75fd0b74Schristos	(find_associated_l32r_irel): Add bfd parameter and pass it to
963*75fd0b74Schristos	is_l32r_relocation.
964*75fd0b74Schristos	(compute_text_actions, compute_ebb_proposed_actions,
965*75fd0b74Schristos	compute_ebb_actions, check_section_ebb_pcrels_fit,
966*75fd0b74Schristos	check_section_ebb_reduces, text_action_add_proposed,
967*75fd0b74Schristos	compute_fill_extra_space): New.
968*75fd0b74Schristos	(remove_literals): Replace with ...
969*75fd0b74Schristos	(compute_removed_literals): ... this function.  Call
970*75fd0b74Schristos	init_section_cache.  Use bfd_get_section_limit.  Sort internal_relocs.
971*75fd0b74Schristos	Call xtensa_read_table_entries to get the property table.  Skip
972*75fd0b74Schristos	relocations other than R_XTENSA_32 and R_XTENSA_PLT.  Use new
973*75fd0b74Schristos	is_removable_literal, remove_dead_literal, and
974*75fd0b74Schristos	identify_literal_placement functions.
975*75fd0b74Schristos	(get_irel_at_offset): Rewrite to use bsearch on sorted relocations
976*75fd0b74Schristos	instead of linear search.
977*75fd0b74Schristos	(is_removable_literal, remove_dead_literal,
978*75fd0b74Schristos	identify_literal_placement): New.
979*75fd0b74Schristos	(relocations_reach): Update check for literal not referenced by any
980*75fd0b74Schristos	PC-relative relocations.  Adjust call to pcrel_reloc_fits.
981*75fd0b74Schristos	(coalesce_shared_literal, move_shared_literal): New.
982*75fd0b74Schristos	(relax_section): Use bfd_get_section_limit.  Call
983*75fd0b74Schristos	translate_section_fixes.  Update calls to r_reloc_init and
984*75fd0b74Schristos	offset_with_removed_text.  Check new is_relaxable_asm_section flag.
985*75fd0b74Schristos	Add call to pin_internal_relocs.  Add special handling for
986*75fd0b74Schristos	R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs.  Use virtual_offset
987*75fd0b74Schristos	info to calculate new addend_displacement variable.  Replace code for
988*75fd0b74Schristos	deleting literals with more general code to perform the actions
989*75fd0b74Schristos	determined by the action_list for the section.
990*75fd0b74Schristos	(translate_section_fixes, translate_reloc_bfd_fix): New.
991*75fd0b74Schristos	(translate_reloc): Check new is_relaxable_asm_section flag.  Call
992*75fd0b74Schristos	find_removed_literal only if is_operand_relocation.  Update call to
993*75fd0b74Schristos	offset_with_removed_text.  Use new target_offset and removed_bytes
994*75fd0b74Schristos	variables.
995*75fd0b74Schristos	(move_literal): New.
996*75fd0b74Schristos	(relax_property_section):  Use bfd_get_section_limit.  Set new
997*75fd0b74Schristos	is_full_prop_section flag and handle new property tables.  Update calls
998*75fd0b74Schristos	to r_reloc_init and offset_with_removed_text.  Check
999*75fd0b74Schristos	is_relaxable_asm_section flag.  Handle expansion of zero-sized
1000*75fd0b74Schristos	unreachable entries, with use of offset_with_removed_text_before_fill.
1001*75fd0b74Schristos	For relocatable links, combine entries only for literal tables.
1002*75fd0b74Schristos	(relax_section_symbols): Check is_relaxable_asm_section flag.  Update
1003*75fd0b74Schristos	calls to offset_with_removed_text.  Translate st_size field for
1004*75fd0b74Schristos	function symbols.
1005*75fd0b74Schristos	(do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
1006*75fd0b74Schristos	failure.  Add contents parameter.  Update call to get_bfd_fix.  Update
1007*75fd0b74Schristos	call to r_reloc_init.  Call _bfd_error_handler and return FALSE for
1008*75fd0b74Schristos	R_XTENSA_ASM_EXPAND relocs.
1009*75fd0b74Schristos	(do_fix_for_final_link): Add input_bfd and contents parameters.  Update
1010*75fd0b74Schristos	call to get_bfd_fix.  Include offset from contents for partial_inplace
1011*75fd0b74Schristos	relocations.
1012*75fd0b74Schristos	(is_reloc_sym_weak): New.
1013*75fd0b74Schristos	(pcrel_reloc_fits): Use new xtensa-isa.h functions.
1014*75fd0b74Schristos	(prop_sec_len): New.
1015*75fd0b74Schristos	(xtensa_is_property_section): Handle new property sections.
1016*75fd0b74Schristos	(is_literal_section): Delete.
1017*75fd0b74Schristos	(internal_reloc_compare): When r_offset matches, compare r_info and
1018*75fd0b74Schristos	r_addend to make sorting predictable.
1019*75fd0b74Schristos	(internal_reloc_matches): New.
1020*75fd0b74Schristos	(xtensa_get_property_section_name): Handle new property sections.
1021*75fd0b74Schristos	(xtensa_get_property_predef_flags): New.
1022*75fd0b74Schristos	(xtensa_callback_required_dependence): Use bfd_get_section_limit.
1023*75fd0b74Schristos	Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
1024*75fd0b74Schristos	* xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
1025*75fd0b74Schristos	(xtisa_errno, xtisa_error_msg): New variables.
1026*75fd0b74Schristos	(xtensa_isa_errno, xtensa_isa_error_msg): New.
1027*75fd0b74Schristos	(xtensa_insnbuf_alloc): Add error handling.
1028*75fd0b74Schristos	(xtensa_insnbuf_to_chars): Add num_chars parameter.  Update to
1029*75fd0b74Schristos	use xtensa_format_decode.  Add error handling.
1030*75fd0b74Schristos	(xtensa_insnbuf_from_chars): Add num_chars parameter.  Decode the
1031*75fd0b74Schristos	instruction length to find the number of bytes to copy.
1032*75fd0b74Schristos	(xtensa_isa_init): Add error handling.  Replace calls to
1033*75fd0b74Schristos	xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
1034*75fd0b74Schristos	tables in the xtensa_modules structure.
1035*75fd0b74Schristos	(xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
1036*75fd0b74Schristos	xtensa_extend_isa): Delete.
1037*75fd0b74Schristos	(xtensa_isa_free): Change to only free lookup tables.
1038*75fd0b74Schristos	(opname_lookup_compare): Replace with ...
1039*75fd0b74Schristos	(xtensa_isa_name_compare): ... this function.  Use strcasecmp.
1040*75fd0b74Schristos	(xtensa_insn_maxlength): Rename to ...
1041*75fd0b74Schristos	(xtensa_isa_maxlength): ... this.
1042*75fd0b74Schristos	(xtensa_insn_length): Delete.
1043*75fd0b74Schristos	(xtensa_insn_length_from_first_byte): Replace with ...
1044*75fd0b74Schristos	(xtensa_isa_length_from_chars): ... this function.
1045*75fd0b74Schristos	(xtensa_num_opcodes): Rename to ...
1046*75fd0b74Schristos	(xtensa_isa_num_opcodes): ... this.
1047*75fd0b74Schristos	(xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
1048*75fd0b74Schristos	xtensa_isa_num_regfiles, xtensa_isa_num_stages,
1049*75fd0b74Schristos	xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
1050*75fd0b74Schristos	xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
1051*75fd0b74Schristos	xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
1052*75fd0b74Schristos	xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
1053*75fd0b74Schristos	xtensa_format_get_slot, xtensa_format_set_slot): New functions.
1054*75fd0b74Schristos	(xtensa_opcode_lookup): Add error handling.
1055*75fd0b74Schristos	(xtensa_decode_insn): Replace with ...
1056*75fd0b74Schristos	(xtensa_opcode_decode): ... this function, with new format and
1057*75fd0b74Schristos	slot parameters.  Add error handling.
1058*75fd0b74Schristos	(xtensa_encode_insn): Replace with ...
1059*75fd0b74Schristos	(xtensa_opcode_encode): ... this function, which does the encoding via
1060*75fd0b74Schristos	one of the entries in the "encode_fns" array.  Add error handling.
1061*75fd0b74Schristos	(xtensa_opcode_name): Add error handling.
1062*75fd0b74Schristos	(xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
1063*75fd0b74Schristos	xtensa_opcode_is_call): New.
1064*75fd0b74Schristos	(xtensa_num_operands): Replace with ...
1065*75fd0b74Schristos	(xtensa_opcode_num_operands): ... this function.  Add error handling.
1066*75fd0b74Schristos	(xtensa_opcode_num_stateOperands,
1067*75fd0b74Schristos	xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
1068*75fd0b74Schristos	xtensa_opcode_funcUnit_use, xtensa_operand_name,
1069*75fd0b74Schristos	xtensa_operand_is_visible): New.
1070*75fd0b74Schristos	(xtensa_get_operand, xtensa_operand_kind): Delete.
1071*75fd0b74Schristos	(xtensa_operand_inout): Add error handling and special-case for
1072*75fd0b74Schristos	"sout" operands.
1073*75fd0b74Schristos	(xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
1074*75fd0b74Schristos	operate on one slot of an instruction.  Added error handling.
1075*75fd0b74Schristos	(xtensa_operand_encode): Handle default operands with no encoding
1076*75fd0b74Schristos	functions.  Check for success by comparing against decoded value.
1077*75fd0b74Schristos	Add error handling.
1078*75fd0b74Schristos	(xtensa_operand_decode): Handle default operands.  Return decoded value
1079*75fd0b74Schristos	through argument pointer.  Add error handling.
1080*75fd0b74Schristos	(xtensa_operand_is_register, xtensa_operand_regfile,
1081*75fd0b74Schristos	xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
1082*75fd0b74Schristos	(xtensa_operand_isPCRelative): Rename to ...
1083*75fd0b74Schristos	(xtensa_operand_is_PCrelative): ... this.  Add error handling.
1084*75fd0b74Schristos	(xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
1085*75fd0b74Schristos	through argument pointer.  Add error handling.
1086*75fd0b74Schristos	(xtensa_stateOperand_state, xtensa_stateOperand_inout,
1087*75fd0b74Schristos	xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
1088*75fd0b74Schristos	xtensa_regfile_lookup_shortname, xtensa_regfile_name,
1089*75fd0b74Schristos	xtensa_regfile_shortname, xtensa_regfile_view_parent,
1090*75fd0b74Schristos	xtensa_regfile_num_bits, xtensa_regfile_num_entries,
1091*75fd0b74Schristos	xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
1092*75fd0b74Schristos	xtensa_state_is_exported, xtensa_sysreg_lookup,
1093*75fd0b74Schristos	xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
1094*75fd0b74Schristos	xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
1095*75fd0b74Schristos	xtensa_interface_num_bits, xtensa_interface_inout,
1096*75fd0b74Schristos	xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
1097*75fd0b74Schristos	xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
1098*75fd0b74Schristos	* xtensa-modules.c: Rewrite to use new data structures.
1099*75fd0b74Schristos	* reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
1100*75fd0b74Schristos	BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
1101*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
1102*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
1103*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
1104*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
1105*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
1106*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
1107*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
1108*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
1109*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
1110*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
1111*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
1112*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
1113*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
1114*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
1115*75fd0b74Schristos	BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
1116*75fd0b74Schristos	* Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
1117*75fd0b74Schristos	* Makefile.in: Regenerate.
1118*75fd0b74Schristos	* bfd-in2.h: Likewise.
1119*75fd0b74Schristos	* libbfd.h: Likewise.
1120*75fd0b74Schristos
1121*75fd0b74Schristos2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
1122*75fd0b74Schristos
1123*75fd0b74Schristos	* elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
1124*75fd0b74Schristos	against the absolute section.
1125*75fd0b74Schristos	(mips_elf64_write_rela): Likewise.
1126*75fd0b74Schristos
1127*75fd0b74Schristos2004-10-07  Jan Beulich <jbeulich@novell.com>
1128*75fd0b74Schristos
1129*75fd0b74Schristos	* elf.c (elf_find_function): Don't generally check for matching
1130*75fd0b74Schristos	section, just for non-file symbols.  Remove redunant comparison
1131*75fd0b74Schristos	for the latter.
1132*75fd0b74Schristos	* elf32-arm.h (arm_elf_find_function): Likewise.
1133*75fd0b74Schristos
1134*75fd0b74Schristos2004-10-07  Jeff Baker  <jbaker@qnx.com>
1135*75fd0b74Schristos
1136*75fd0b74Schristos	* elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if
1137*75fd0b74Schristos	adding a DT_TEXTREL to a shared object and --warn-shared-textrel
1138*75fd0b74Schristos	was specified.
1139*75fd0b74Schristos
1140*75fd0b74Schristos2004-10-04  Roland McGrath  <roland@redhat.com>
1141*75fd0b74Schristos
1142*75fd0b74Schristos	* hash.c (bfd_hash_set_default_size): Use const for table.
1143*75fd0b74Schristos	Use size_t instead of int for variable compared to sizeof results.
1144*75fd0b74Schristos
1145*75fd0b74Schristos2004-10-05  Alan Modra  <amodra@bigpond.net.au>
1146*75fd0b74Schristos
1147*75fd0b74Schristos	PR 425
1148*75fd0b74Schristos	* syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
1149*75fd0b74Schristos
1150*75fd0b74Schristos2004-10-01  Paul Brook  <paul@codesourcery.com>
1151*75fd0b74Schristos
1152*75fd0b74Schristos	* elf32-arm.h (elf32_arm_fake_sections,
1153*75fd0b74Schristos	is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New
1154*75fd0b74Schristos	functions.
1155*75fd0b74Schristos	(elf_backend_fake_sections, elf_backend_section_from_shdr): Define.
1156*75fd0b74Schristos
1157*75fd0b74Schristos2004-10-01  Alan Modra  <amodra@bigpond.net.au>
1158*75fd0b74Schristos
1159*75fd0b74Schristos	* elf-bfd.h (struct eh_cie_fde): Add need_relative and
1160*75fd0b74Schristos	need_lsda_relative.
1161*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
1162*75fd0b74Schristos	need_relative or need_lsda_relative if we are processing an
1163*75fd0b74Schristos	offset for a reloc on a FDE initial loc or LSDA field
1164*75fd0b74Schristos	respectively.
1165*75fd0b74Schristos	(_bfd_elf_write_section_eh_frame): Test need_relative and
1166*75fd0b74Schristos	need_lsda_relative in place of corresponding make_* field
1167*75fd0b74Schristos	when deciding to use pc-relative encodings.
1168*75fd0b74Schristos
1169*75fd0b74Schristos2004-09-30  Paul Brook  <paul@codesourcery.com>
1170*75fd0b74Schristos
1171*75fd0b74Schristos	* elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
1172*75fd0b74Schristos	target2 relocation type.
1173*75fd0b74Schristos
1174*75fd0b74Schristos2004-09-30  H.J. Lu  <hongjiu.lu@intel.com>
1175*75fd0b74Schristos
1176*75fd0b74Schristos	PR 414
1177*75fd0b74Schristos	* elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
1178*75fd0b74Schristos
1179*75fd0b74Schristos2004-09-30  Paul Brook  <paul@codesourcery.com>
1180*75fd0b74Schristos
1181*75fd0b74Schristos	* reloc.c: Add BFD_RELOC_ARM_SMI.
1182*75fd0b74Schristos	* bfd-in2.h: Regenerate.
1183*75fd0b74Schristos	* libbfd.h: Ditto.
1184*75fd0b74Schristos
1185*75fd0b74Schristos2004-09-24  Alan Modra  <amodra@bigpond.net.au>
1186*75fd0b74Schristos
1187*75fd0b74Schristos	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
1188*75fd0b74Schristos	vma and output offset to address.
1189*75fd0b74Schristos	* simple.c (simple_save_output_info): Only set output section
1190*75fd0b74Schristos	and offset for debug sections, or those not already set up by
1191*75fd0b74Schristos	the linker.
1192*75fd0b74Schristos	(bfd_simple_get_relocated_section_contents): Update comment.
1193*75fd0b74Schristos
1194*75fd0b74Schristos2004-09-24  Alan Modra  <amodra@bigpond.net.au>
1195*75fd0b74Schristos
1196*75fd0b74Schristos	* elf.c (IS_LOADED): Delete.
1197*75fd0b74Schristos	(assign_file_positions_for_segments): Just test SEC_LOAD instead.
1198*75fd0b74Schristos	Restore SEC_HAS_CONTENTS test to the one place it was used prior
1199*75fd0b74Schristos	to 2004-09-22.
1200*75fd0b74Schristos
1201*75fd0b74Schristos2004-09-23  Alan Modra  <amodra@bigpond.net.au>
1202*75fd0b74Schristos
1203*75fd0b74Schristos	PR gas/396
1204*75fd0b74Schristos	* elf32-sparc.c (elf32_sparc_final_write_processing): Handle
1205*75fd0b74Schristos	bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite.  Remove
1206*75fd0b74Schristos	redundant assignment of EM_SPARC.
1207*75fd0b74Schristos
1208*75fd0b74Schristos2004-09-22  Brian Ford  <ford@vss.fsi.com>
1209*75fd0b74Schristos
1210*75fd0b74Schristos	* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
1211*75fd0b74Schristos	alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
1212*75fd0b74Schristos	constants.
1213*75fd0b74Schristos	* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
1214*75fd0b74Schristos
1215*75fd0b74Schristos2004-09-22  Alan Modra  <amodra@bigpond.net.au>
1216*75fd0b74Schristos
1217*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
1218*75fd0b74Schristos	(elf_backend_modify_segment_map): Don't define.
1219*75fd0b74Schristos
1220*75fd0b74Schristos2004-09-22  Alan Modra  <amodra@bigpond.net.au>
1221*75fd0b74Schristos
1222*75fd0b74Schristos	* elf.c (IS_LOADED): Define.
1223*75fd0b74Schristos	(assign_file_positions_for_segments): Don't round up file offset of
1224*75fd0b74Schristos	PT_LOAD segments containing no SEC_LOAD sections, instead round down.
1225*75fd0b74Schristos	Delete code handling link script adjustment of lma.  Do the adjust
1226*75fd0b74Schristos	in later code handling similar ajustments.  Remove dead code error
1227*75fd0b74Schristos	check.  Warn if section lma would require a negative offset
1228*75fd0b74Schristos	adjustment.  Tweak lma adjustment to use p_filesz rather than p_memsz.
1229*75fd0b74Schristos	Use p_vaddr + p_memsz inside section loop in place of voff.  Don't
1230*75fd0b74Schristos	update voff in section loop.  Change voff in segment loop to be an
1231*75fd0b74Schristos	adjustment on top of "off".  Set sec->filepos and update "off" later.
1232*75fd0b74Schristos	Test for loadable sections consistently using IS_LOADED.  Similarly,
1233*75fd0b74Schristos	test for alloc-only sections other than .tbss consistently.
1234*75fd0b74Schristos	Don't bother checking SEC_ALLOC in PT_LOAD segments.  Remove FIXME.
1235*75fd0b74Schristos	Tidy PT_NOTE handling.  Use %B and %A in error messages.
1236*75fd0b74Schristos	(assign_file_positions_except_relocs): Use %B in error message.
1237*75fd0b74Schristos
1238*75fd0b74Schristos2004-09-17  H.J. Lu  <hongjiu.lu@intel.com>
1239*75fd0b74Schristos
1240*75fd0b74Schristos	* Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
1241*75fd0b74Schristos	(CONFIG_STATUS_DEPENDENCIES): New.
1242*75fd0b74Schristos	(Makefile): Removed.
1243*75fd0b74Schristos	(config.status): Likewise.
1244*75fd0b74Schristos	* Makefile.in: Regenerated.
1245*75fd0b74Schristos
1246*75fd0b74Schristos2004-09-17  Paul Brook  <paul@codesourcery.com>
1247*75fd0b74Schristos
1248*75fd0b74Schristos	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
1249*75fd0b74Schristos	(bfd_elf32_arm_process_before_allocation): Update prototype.
1250*75fd0b74Schristos	* bfd-in2.h: Regenerate.
1251*75fd0b74Schristos	* elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
1252*75fd0b74Schristos	(elf32_arm_link_hash_table_create): Set it.
1253*75fd0b74Schristos	(bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
1254*75fd0b74Schristos	(bfd_elf32_arm_set_target_relocs): New function.
1255*75fd0b74Schristos	(arm_real_reloc_type): New function.
1256*75fd0b74Schristos	(elf32_arm_final_link_relocate): Use it.  Handle R_ARM_PREL31 and
1257*75fd0b74Schristos	R_ARM_GOT_PREL.  Remove R_ARM_TARGET1.
1258*75fd0b74Schristos	(elf32_arm_gc_sweep_hook): Ditto.
1259*75fd0b74Schristos	(elf32_arm_check_relocs): Ditto.
1260*75fd0b74Schristos	(elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
1261*75fd0b74Schristos	* elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
1262*75fd0b74Schristos	R_ARM_GOT_TARGET2.
1263*75fd0b74Schristos	(elf32_arm_got_prel): New variable.
1264*75fd0b74Schristos	(elf32_arm_howto_from_type): New function.
1265*75fd0b74Schristos	(elf32_arm_info_to_howto): Use it.
1266*75fd0b74Schristos	(elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
1267*75fd0b74Schristos	BFD_RELOC_ARM_TARGET2.
1268*75fd0b74Schristos	* libbfd.h: Regenerate.
1269*75fd0b74Schristos	* reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
1270*75fd0b74Schristos
1271*75fd0b74Schristos2004-09-17  Alan Modra  <amodra@bigpond.net.au>
1272*75fd0b74Schristos
1273*75fd0b74Schristos	* ecoff.c: Update u.undef.next refs.
1274*75fd0b74Schristos	* elf64-ppc.c: Likewise.
1275*75fd0b74Schristos	* elflink.c: Likewise.
1276*75fd0b74Schristos	* linker.c: Likewise.
1277*75fd0b74Schristos	* xcofflink.c: Likewise.
1278*75fd0b74Schristos
1279*75fd0b74Schristos	* elf-bfd.h (struct elf_link_hash_entry): Rearrange.  Add FIXME to
1280*75fd0b74Schristos	dynamic_def.  Combine weakdef and elf_hash_value.  Move vtable
1281*75fd0b74Schristos	fields to indirect struct.
1282*75fd0b74Schristos	* elf-m10300.c: Update u.weakdef refs.
1283*75fd0b74Schristos	* elf32-arm.h: Likewise.
1284*75fd0b74Schristos	* elf32-cris.c: Likewise.
1285*75fd0b74Schristos	* elf32-frv.c: Likewise.
1286*75fd0b74Schristos	* elf32-hppa.c: Likewise.
1287*75fd0b74Schristos	* elf32-i370.c: Likewise.
1288*75fd0b74Schristos	* elf32-i386.c: Likewise.
1289*75fd0b74Schristos	* elf32-m32r.c: Likewise.
1290*75fd0b74Schristos	* elf32-m68k.c: Likewise.
1291*75fd0b74Schristos	* elf32-ppc.c: Likewise.
1292*75fd0b74Schristos	* elf32-s390.c: Likewise.
1293*75fd0b74Schristos	* elf32-sh.c: Likewise.
1294*75fd0b74Schristos	* elf32-sparc.c: Likewise.
1295*75fd0b74Schristos	* elf32-vax.c: Likewise.
1296*75fd0b74Schristos	* elf32-xtensa.c: Likewise.
1297*75fd0b74Schristos	* elf64-alpha.c: Likewise.
1298*75fd0b74Schristos	* elf64-hppa.c: Likewise.
1299*75fd0b74Schristos	* elf64-ppc.c: Likewise.
1300*75fd0b74Schristos	* elf64-s390.c: Likewise.
1301*75fd0b74Schristos	* elf64-sh64.c: Likewise.
1302*75fd0b74Schristos	* elf64-sparc.c: Likewise.
1303*75fd0b74Schristos	* elf64-x86-64.c: Likewise.
1304*75fd0b74Schristos	* elfxx-ia64.c: Likewise.
1305*75fd0b74Schristos	* elfxx-mips.c: Likewise.
1306*75fd0b74Schristos	* elflink.c: Likewise.  Also u.elf_hash_value.
1307*75fd0b74Schristos	(elf_gc_propagate_vtable_entries_used): Update for h->vtable
1308*75fd0b74Schristos	indirection.
1309*75fd0b74Schristos	(elf_gc_smash_unused_vtentry_relocs): Likewise.
1310*75fd0b74Schristos	(bfd_elf_gc_record_vtinherit): Alloc vtable.
1311*75fd0b74Schristos	(bfd_elf_gc_record_vtentry): Likewise.
1312*75fd0b74Schristos	* elf.c (_bfd_elf_link_hash_newfunc): Use memset.
1313*75fd0b74Schristos
1314*75fd0b74Schristos2004-09-17  Alan Modra  <amodra@bigpond.net.au>
1315*75fd0b74Schristos
1316*75fd0b74Schristos	* Makefile.am: Run "make dep-am".
1317*75fd0b74Schristos	* Makefile.in: Regenerate.
1318*75fd0b74Schristos	* bfd-in2.h: Regenerate.
1319*75fd0b74Schristos	* po/SRC-POTFILES.in: Regenerate.
1320*75fd0b74Schristos	* po/bfd.pot: Regenerate.
1321*75fd0b74Schristos
1322*75fd0b74Schristos2004-09-16  Alan Modra  <amodra@bigpond.net.au>
1323*75fd0b74Schristos
1324*75fd0b74Schristos	* elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
1325*75fd0b74Schristos	with bitfields.  Make "type" and "other" bitfields too.
1326*75fd0b74Schristos	(ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
1327*75fd0b74Schristos	ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
1328*75fd0b74Schristos	ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
1329*75fd0b74Schristos	ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
1330*75fd0b74Schristos	ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
1331*75fd0b74Schristos	ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
1332*75fd0b74Schristos	ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
1333*75fd0b74Schristos	(ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
1334*75fd0b74Schristos	* elf-hppa.h: Update all uses of elf_link_hash_flags.
1335*75fd0b74Schristos	* elf-m10300.c: Likewise.
1336*75fd0b74Schristos	* elf.c: Likewise.
1337*75fd0b74Schristos	* elf32-arm.h: Likewise.
1338*75fd0b74Schristos	* elf32-cris.c: Likewise.
1339*75fd0b74Schristos	* elf32-frv.c: Likewise.
1340*75fd0b74Schristos	* elf32-hppa.c: Likewise.
1341*75fd0b74Schristos	* elf32-i370.c: Likewise.
1342*75fd0b74Schristos	* elf32-i386.c: Likewise.
1343*75fd0b74Schristos	* elf32-m32r.c: Likewise.
1344*75fd0b74Schristos	* elf32-m68k.c: Likewise.
1345*75fd0b74Schristos	* elf32-ppc.c: Likewise.
1346*75fd0b74Schristos	* elf32-s390.c: Likewise.
1347*75fd0b74Schristos	* elf32-sh-symbian.c: Likewise.
1348*75fd0b74Schristos	* elf32-sh.c: Likewise.
1349*75fd0b74Schristos	* elf32-sh64.c: Likewise.
1350*75fd0b74Schristos	* elf32-sparc.c: Likewise.
1351*75fd0b74Schristos	* elf32-vax.c: Likewise.
1352*75fd0b74Schristos	* elf32-xtensa.c: Likewise.
1353*75fd0b74Schristos	* elf64-alpha.c: Likewise.
1354*75fd0b74Schristos	* elf64-hppa.c: Likewise.
1355*75fd0b74Schristos	* elf64-ppc.c: Likewise.
1356*75fd0b74Schristos	* elf64-s390.c: Likewise.
1357*75fd0b74Schristos	* elf64-sh64.c: Likewise.
1358*75fd0b74Schristos	* elf64-sparc.c: Likewise.
1359*75fd0b74Schristos	* elf64-x86-64.c: Likewise.
1360*75fd0b74Schristos	* elflink.c: Likewise.
1361*75fd0b74Schristos	* elfxx-ia64.c: Likewise.
1362*75fd0b74Schristos	* elfxx-mips.c: Likewise.
1363*75fd0b74Schristos	* configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
1364*75fd0b74Schristos	* configure: Regenerate.
1365*75fd0b74Schristos	* aclocal.m4: Regenerate.
1366*75fd0b74Schristos
1367*75fd0b74Schristos2004-09-16  Alan Modra  <amodra@bigpond.net.au>
1368*75fd0b74Schristos
1369*75fd0b74Schristos	* elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
1370*75fd0b74Schristos	around uses of R_ARM_TARGET1.
1371*75fd0b74Schristos	(elf32_arm_check_relocs): Likewise.
1372*75fd0b74Schristos
1373*75fd0b74Schristos2004-09-13  Paul Brook  <paul@codesourcery.com>
1374*75fd0b74Schristos
1375*75fd0b74Schristos	* bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
1376*75fd0b74Schristos	prototype.
1377*75fd0b74Schristos	* bfd-in2.h: Regenerate.
1378*75fd0b74Schristos	* libbfd.h: Regenerate.
1379*75fd0b74Schristos	* elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
1380*75fd0b74Schristos	(elf32_arm_link_hash_table_create): Set target1_is_rel.
1381*75fd0b74Schristos	(bfd_elf32_arm_process_before_allocation): Ditto.
1382*75fd0b74Schristos	(elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
1383*75fd0b74Schristos	(elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
1384*75fd0b74Schristos	* elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
1385*75fd0b74Schristos	* reloc.c: Ditto.
1386*75fd0b74Schristos
1387*75fd0b74Schristos2004-09-10  Joel Brobecker  <brobecker@gnat.com>
1388*75fd0b74Schristos
1389*75fd0b74Schristos	* hpux-core.c (thread_section_p): New function.
1390*75fd0b74Schristos	(hpux_core_core_file_p): Fix computation of offset in call
1391*75fd0b74Schristos	to bfd_seek. Create a ".reg" section from an arbitrary
1392*75fd0b74Schristos	".reg/<id>" section if none was created after having read
1393*75fd0b74Schristos	all sections.
1394*75fd0b74Schristos
1395*75fd0b74Schristos2004-09-11  Andreas Schwab  <schwab@suse.de>
1396*75fd0b74Schristos
1397*75fd0b74Schristos	* acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
1398*75fd0b74Schristos	* aclocal.m4: Rebuild.
1399*75fd0b74Schristos	* configure: Rebuild.
1400*75fd0b74Schristos
1401*75fd0b74Schristos2004-09-10  Joel Brobecker  <brobecker@gnat.com>
1402*75fd0b74Schristos
1403*75fd0b74Schristos	* section.c (bfd_sections_find_if): Fix parameter name in
1404*75fd0b74Schristos	comment to match code.
1405*75fd0b74Schristos
1406*75fd0b74Schristos2004-09-10  Alan Modra  <amodra@bigpond.net.au>
1407*75fd0b74Schristos
1408*75fd0b74Schristos	* elf.c  (assign_file_positions_except_relocs): Assign relocs
1409*75fd0b74Schristos	stored in a bfd section.
1410*75fd0b74Schristos
1411*75fd0b74Schristos2004-09-08  Hans-Peter Nilsson  <hp@axis.com>
1412*75fd0b74Schristos
1413*75fd0b74Schristos	* elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
1414*75fd0b74Schristos	h->gotplt_refcount to 0, not -1.
1415*75fd0b74Schristos
1416*75fd0b74Schristos2004-09-07  Hans-Peter Nilsson  <hp@axis.com>
1417*75fd0b74Schristos
1418*75fd0b74Schristos	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
1419*75fd0b74Schristos	case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
1420*75fd0b74Schristos	symname.
1421*75fd0b74Schristos	(cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to
1422*75fd0b74Schristos	handle symbol visibility here.
1423*75fd0b74Schristos
1424*75fd0b74Schristos2004-09-07  Alan Modra  <amodra@bigpond.net.au>
1425*75fd0b74Schristos
1426*75fd0b74Schristos	* elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
1427*75fd0b74Schristos	(is_ppc64_elf_target): Rename from is_ppc64_target.  Update all
1428*75fd0b74Schristos	callers.
1429*75fd0b74Schristos	(ppc_stub_name): Remove trailing "+0" on stub name.
1430*75fd0b74Schristos	(create_linkage_sections): Create relocations for
1431*75fd0b74Schristos	branch lookup table when --emit-relocs as well as when --shared.
1432*75fd0b74Schristos	(ppc_build_one_stub): Emit relocs for long branch stubs.  Adjust
1433*75fd0b74Schristos	relbrlt test.  For --emit-stub-syms, always output a sym even when
1434*75fd0b74Schristos	one already exists on a plt call stub.  Put stub type in the stub
1435*75fd0b74Schristos	symbol name.
1436*75fd0b74Schristos	(ppc_size_one_stub): Size long branch stub relocs.  Adjust relbrlt
1437*75fd0b74Schristos	test.
1438*75fd0b74Schristos	(ppc64_elf_size_stubs): Count global sym stubs added.  Zero
1439*75fd0b74Schristos	reloc_count in stub sections.  Adjust relbrlt test.
1440*75fd0b74Schristos	(ppc64_elf_build_stubs): Adjust relbrlt test.  Tweak stats output.
1441*75fd0b74Schristos	* elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
1442*75fd0b74Schristos	(elf_link_input_bfd): Ignore symbol index zero relocs when checking
1443*75fd0b74Schristos	for relocs against discarded symbols.  Fix comments.
1444*75fd0b74Schristos
1445*75fd0b74Schristos2004-09-06  Mark Mitchell  <mark@codesourcery.com>
1446*75fd0b74Schristos
1447*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
1448*75fd0b74Schristos	* elf.c (_bfd_elf_make_dynamic_segment): New function, split out
1449*75fd0b74Schristos	from ...
1450*75fd0b74Schristos	(map_sections_to_segments): ... here.  Use it.  Assign a file
1451*75fd0b74Schristos	position to the .dynamic section if it is not loadable, but part
1452*75fd0b74Schristos	of the PT_DYNAMIC segment.
1453*75fd0b74Schristos	* elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
1454*75fd0b74Schristos	offsets, not VMAs, for the BPABI.  Do not fill in the header in
1455*75fd0b74Schristos	the .got.plt section for the BPABI.
1456*75fd0b74Schristos	* elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
1457*75fd0b74Schristos	PT_DYNAMIC segment.
1458*75fd0b74Schristos	(elf_backend_want_got_plt): Define to zero for Symbian OS.
1459*75fd0b74Schristos
1460*75fd0b74Schristos2004-09-06  Nick Clifton  <nickc@redhat.com>
1461*75fd0b74Schristos
1462*75fd0b74Schristos	* elflink.c (elf_link_add_object_symbols): Set the error code to
1463*75fd0b74Schristos	bfd_error_wrong_format when the input format does not match the
1464*75fd0b74Schristos	output format.
1465*75fd0b74Schristos
1466*75fd0b74Schristos2004-09-06  Alan Modra  <amodra@bigpond.net.au>
1467*75fd0b74Schristos
1468*75fd0b74Schristos	* elf64-ppc.c (is_ppc64_target): New function, extracted from..
1469*75fd0b74Schristos	(ppc64_elf_check_directives): ..here.
1470*75fd0b74Schristos	(ppc64_elf_size_dynamic_sections): Use it here to check bfd type
1471*75fd0b74Schristos	before accessing ppc64_elf_tdata.
1472*75fd0b74Schristos	(ppc64_elf_finish_dynamic_sections): And here too.
1473*75fd0b74Schristos
1474*75fd0b74Schristos2004-09-04  Alan Modra  <amodra@bigpond.net.au>
1475*75fd0b74Schristos
1476*75fd0b74Schristos	* bfd.c (_bfd_default_error_handler): Correct loop exit.
1477*75fd0b74Schristos
1478*75fd0b74Schristos2004-09-03  Mark Mitchell  <mark@codesourcery.com>
1479*75fd0b74Schristos
1480*75fd0b74Schristos	* config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
1481*75fd0b74Schristos	* configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
1482*75fd0b74Schristos	(bfd_elf32_littlearm_symbian_vec): Likewise.
1483*75fd0b74Schristos	* configure: Regenerated.
1484*75fd0b74Schristos	* elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
1485*75fd0b74Schristos	* elf32-arm.h (PLT_HEADER_SIZE): Do not define.
1486*75fd0b74Schristos	(PLT_ENTRY_SIZE): Likewise.
1487*75fd0b74Schristos	(bfd_vma_elf32_arm_symbian_plt_entry): New
1488*75fd0b74Schristos	variable.
1489*75fd0b74Schristos	(elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
1490*75fd0b74Schristos	and symbian_p.
1491*75fd0b74Schristos	(create_got_section): Don't create sections when generating BPABI
1492*75fd0b74Schristos	objects.
1493*75fd0b74Schristos	(elf32_arm_create_dynamic_sections): Tidy.
1494*75fd0b74Schristos	(elf32_arm_link_hash_table_create): Set plt_header_size,
1495*75fd0b74Schristos	plt_entry_size, and symbian_p.
1496*75fd0b74Schristos	(elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
1497*75fd0b74Schristos	generating BPABI objects.
1498*75fd0b74Schristos	(allocate_dynrelocs): Use htab->plt_header_size, not
1499*75fd0b74Schristos	PLT_HEADER_SIZE.  Do not add to .got.plt when
1500*75fd0b74Schristos	generating BPABI objects.
1501*75fd0b74Schristos	(elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
1502*75fd0b74Schristos	* elfarm-nabi.c: Add SymbianOS target vectors.
1503*75fd0b74Schristos	* elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
1504*75fd0b74Schristos	(_bfd_elf_link_create_dynamic_sections): Likewise.
1505*75fd0b74Schristos	* elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
1506*75fd0b74Schristos	(elfNN_bed): Use it.
1507*75fd0b74Schristos	* targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
1508*75fd0b74Schristos	(bfd_elf32_littlearm_symbian_vec): Likewise.
1509*75fd0b74Schristos	(_bfd_target_vector): Add them.
1510*75fd0b74Schristos
1511*75fd0b74Schristos2004-09-03  Nick Clifton  <nickc@redhat.com>
1512*75fd0b74Schristos
1513*75fd0b74Schristos	PR 360
1514*75fd0b74Schristos	* coffcode.h (handle_COMDAT): Replace abort with an warning
1515*75fd0b74Schristos	message and allow the scan to continue.
1516*75fd0b74Schristos
1517*75fd0b74Schristos2004-09-02  Alan Modra  <amodra@bigpond.net.au>
1518*75fd0b74Schristos
1519*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
1520*75fd0b74Schristos	in when reading relocs, not our sorted syms.  Remove unnecessary
1521*75fd0b74Schristos	var.
1522*75fd0b74Schristos
1523*75fd0b74Schristos2004-08-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
1524*75fd0b74Schristos
1525*75fd0b74Schristos	* elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
1526*75fd0b74Schristos
1527*75fd0b74Schristos2004-08-30  Nathanael Nerode  <neroden@gcc.gnu.org>
1528*75fd0b74Schristos
1529*75fd0b74Schristos	* acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
1530*75fd0b74Schristos	Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
1531*75fd0b74Schristos	replace uses of *_alias with *_noncanonical.
1532*75fd0b74Schristos	* aclocal.m4: Rebuild with aclocal 1.4p6.
1533*75fd0b74Schristos	* Makefile.in: Rebuild with automake 1.4p6.
1534*75fd0b74Schristos	* doc/Makefile.in: Rebuild with automake 1.4p6.
1535*75fd0b74Schristos	* configure.in: Autoupdate with autoupdate 2.59.
1536*75fd0b74Schristos	* config.in: Regenerate with autoheader 2.59.
1537*75fd0b74Schristos	* configure: Regnerate with autoconf 2.59.
1538*75fd0b74Schristos
1539*75fd0b74Schristos2004-08-28  Alan Modra  <amodra@bigpond.net.au>
1540*75fd0b74Schristos
1541*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
1542*75fd0b74Schristos	symbol pointer arrays before modifying.
1543*75fd0b74Schristos
1544*75fd0b74Schristos2004-08-28  Alan Modra  <amodra@bigpond.net.au>
1545*75fd0b74Schristos
1546*75fd0b74Schristos	* bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
1547*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
1548*75fd0b74Schristos	* elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
1549*75fd0b74Schristos	* libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
1550*75fd0b74Schristos	* targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
1551*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
1552*75fd0b74Schristos	Use both symbol tables on non-relocatable objects.  Use a common
1553*75fd0b74Schristos	error exit.  Fix "mid" warning.
1554*75fd0b74Schristos	* libbfd.h: Regenerate.
1555*75fd0b74Schristos	* bfd-in2.h: Regenerate.
1556*75fd0b74Schristos
1557*75fd0b74Schristos2004-08-28  Alan Modra  <amodra@bigpond.net.au>
1558*75fd0b74Schristos
1559*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
1560*75fd0b74Schristos	object file.
1561*75fd0b74Schristos	(struct sfpr_def_parms): Save some space.
1562*75fd0b74Schristos	(sfpr_define): Here too.
1563*75fd0b74Schristos
1564*75fd0b74Schristos	* elf64-ppc.c (compare_symbols): Put section syms first.
1565*75fd0b74Schristos	(sym_exists_at): New function.
1566*75fd0b74Schristos	(ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
1567*75fd0b74Schristos	points only for relocatable files.  Use .opd section contents
1568*75fd0b74Schristos	otherwise.  Generally clean up the code.
1569*75fd0b74Schristos
1570*75fd0b74Schristos2004-08-27  Alan Modra  <amodra@bigpond.net.au>
1571*75fd0b74Schristos
1572*75fd0b74Schristos	* elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
1573*75fd0b74Schristos	LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
1574*75fd0b74Schristos	(struct sfpr_def_parms): New.
1575*75fd0b74Schristos	(sfpr_define): New function.
1576*75fd0b74Schristos	(savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
1577*75fd0b74Schristos	(savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
1578*75fd0b74Schristos	(savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
1579*75fd0b74Schristos	(savefpr1_tail, restfpr1_tail): New functions.
1580*75fd0b74Schristos	(savevr, savevr_tail, restvr, restvr_tail): New functions.
1581*75fd0b74Schristos	(MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
1582*75fd0b74Schristos	(ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
1583*75fd0b74Schristos	code.  Define all ABI mandated _save and _rest functions.
1584*75fd0b74Schristos
1585*75fd0b74Schristos2004-08-26  Paul Brook  <paul@codesourcery.com>
1586*75fd0b74Schristos
1587*75fd0b74Schristos	* elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
1588*75fd0b74Schristos
1589*75fd0b74Schristos2004-08-26  Alan Modra  <amodra@bigpond.net.au>
1590*75fd0b74Schristos
1591*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
1592*75fd0b74Schristos	TRUE or FALSE.
1593*75fd0b74Schristos
1594*75fd0b74Schristos2004-08-26  Alan Modra  <amodra@bigpond.net.au>
1595*75fd0b74Schristos
1596*75fd0b74Schristos	* elf32-i386.c (elf_i386_relocate_section): Tweak last change so
1597*75fd0b74Schristos	that pcrel correction is applied for R_386_PC32.
1598*75fd0b74Schristos
1599*75fd0b74Schristos2004-08-25  Alan Modra  <amodra@bigpond.net.au>
1600*75fd0b74Schristos
1601*75fd0b74Schristos	* elf32-i386.c (elf_i386_relocate_section): Zero section contents
1602*75fd0b74Schristos	for R_386_32 and R_386_PC32 relocs against symbols defined in
1603*75fd0b74Schristos	discarded sections.
1604*75fd0b74Schristos
1605*75fd0b74Schristos2004-08-25  Dmitry Diky  <diwil@spec.ru>
1606*75fd0b74Schristos
1607*75fd0b74Schristos	* reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL):
1608*75fd0b74Schristos	Add new relocations.
1609*75fd0b74Schristos	* bfd-in2.h: Regenerate.
1610*75fd0b74Schristos	* libbfd.h: Regenerate.
1611*75fd0b74Schristos	* elf32-msp430.c: Clean-up code.
1612*75fd0b74Schristos	(elf_msp430_howto_table): Add new relocation entries.
1613*75fd0b74Schristos	(bfd_elf32_bfd_reloc_type_lookup): New relocation handlers.
1614*75fd0b74Schristos	(msp430_elf_relax_section): New function.
1615*75fd0b74Schristos	(msp430_elf_relax_delete_bytes): New function.
1616*75fd0b74Schristos	(msp430_elf_symbol_address_p): New function.
1617*75fd0b74Schristos
1618*75fd0b74Schristos2004-08-24  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
1619*75fd0b74Schristos
1620*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_relocate_section): Handle
1621*75fd0b74Schristos	R_M32R_SDA16_RELA in the same way as R_M32R_SDA16.
1622*75fd0b74Schristos
1623*75fd0b74Schristos2004-08-20  Daniel Jacobowitz  <dan@debian.org>
1624*75fd0b74Schristos
1625*75fd0b74Schristos	* elflink.c (_bfd_elf_section_already_linked): Handle
1626*75fd0b74Schristos	SEC_LINK_DUPLICATES_SAME_CONTENTS.
1627*75fd0b74Schristos
1628*75fd0b74Schristos2004-08-19  Mark Mitchell  <mark@codesourcery.com>
1629*75fd0b74Schristos
1630*75fd0b74Schristos	* config.bfd (arm*-*-symbianelf*): New target.
1631*75fd0b74Schristos	(arm*-*-eabi*): Likewise.
1632*75fd0b74Schristos
1633*75fd0b74Schristos2004-08-19  Alan Modra  <amodra@bigpond.net.au>
1634*75fd0b74Schristos
1635*75fd0b74Schristos	* elf64-ppc.c (ppc_get_stub_entry): Change third param to a
1636*75fd0b74Schristos	"struct ppc_link_hash_entry *".
1637*75fd0b74Schristos	(ppc64_elf_relocate_section): Ditto for type of h.  Introduce h_elf
1638*75fd0b74Schristos	to satisfy RELOC_FOR_GLOBAL_SYMBOL.
1639*75fd0b74Schristos
1640*75fd0b74Schristos2004-08-19  Jakub Jelinek  <jakub@redhat.com>
1641*75fd0b74Schristos
1642*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
1643*75fd0b74Schristos	entries (where fd_aux overlaps next entry's fd_func).
1644*75fd0b74Schristos	Add non_overlapping argument, use it.
1645*75fd0b74Schristos	(ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
1646*75fd0b74Schristos	ppc64_elf_size_stubs, ppc64_elf_relocate_section,
1647*75fd0b74Schristos	ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
1648*75fd0b74Schristos	as indexes into opd_sym_map/opd_adjust array.
1649*75fd0b74Schristos	* elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
1650*75fd0b74Schristos
1651*75fd0b74Schristos2004-08-18  Alan Modra  <amodra@bigpond.net.au>
1652*75fd0b74Schristos
1653*75fd0b74Schristos	* elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
1654*75fd0b74Schristos	if we can look up their function descriptor in a regular file.
1655*75fd0b74Schristos
1656*75fd0b74Schristos2004-08-18  Nick Clifton  <nickc@redhat.com>
1657*75fd0b74Schristos
1658*75fd0b74Schristos	PR 324
1659*75fd0b74Schristos	* cofflink.c (coff_link_add_symbols): Check that the comdat
1660*75fd0b74Schristos	pointer in the coff_section_data structure has been initialised
1661*75fd0b74Schristos	before using it.
1662*75fd0b74Schristos
1663*75fd0b74Schristos2004-08-18  Alan Modra  <amodra@bigpond.net.au>
1664*75fd0b74Schristos
1665*75fd0b74Schristos	PR 338
1666*75fd0b74Schristos	* elflink.c (bfd_elf_record_link_assignment): Add comment about
1667*75fd0b74Schristos	changing bfd_link_hash_undefined to bfd_link_hash_new.
1668*75fd0b74Schristos
1669*75fd0b74Schristos2004-08-17  Jakub Jelinek  <jakub@redhat.com>
1670*75fd0b74Schristos
1671*75fd0b74Schristos	* elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
1672*75fd0b74Schristos	if not yet defined.
1673*75fd0b74Schristos	* elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
1674*75fd0b74Schristos	(synthetic_opd, synthetic_relocatable): New variables.
1675*75fd0b74Schristos	(compare_symbols, compare_relocs): New helper routines.
1676*75fd0b74Schristos	(ppc64_elf_get_synthetic_symtab): New function.
1677*75fd0b74Schristos	* bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
1678*75fd0b74Schristos	to relsyms.
1679*75fd0b74Schristos	* bfd-in2.h: Regenerated.
1680*75fd0b74Schristos	* elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
1681*75fd0b74Schristos	to relsyms.  Return 0 if abfd is relocatable.
1682*75fd0b74Schristos
1683*75fd0b74Schristos2004-08-17  Alan Modra  <amodra@bigpond.net.au>
1684*75fd0b74Schristos
1685*75fd0b74Schristos	* elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
1686*75fd0b74Schristos
1687*75fd0b74Schristos2004-08-17  Nick Clifton  <nickc@redhat.com>
1688*75fd0b74Schristos
1689*75fd0b74Schristos	* (is_arm_mapping_symbol_name): New function - return true
1690*75fd0b74Schristos	when a symbol name matches the requirements for an ARM mapping
1691*75fd0b74Schristos	symbol name.
1692*75fd0b74Schristos	(arm_elf_find_function): New function based on
1693*75fd0b74Schristos	elf_find_function in elf.c but skipping ARM mapping symbols
1694*75fd0b74Schristos	and including thumb function symbols.
1695*75fd0b74Schristos	(elf32_arm_find_nearest_line): Use arm_elf_find_function.
1696*75fd0b74Schristos	(elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
1697*75fd0b74Schristos
1698*75fd0b74Schristos2004-08-17  Alan Modra  <amodra@bigpond.net.au>
1699*75fd0b74Schristos
1700*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_branch_reloc): New function.
1701*75fd0b74Schristos	(ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
1702*75fd0b74Schristos	(ppc64_elf_brtaken_reloc): Here too.
1703*75fd0b74Schristos
1704*75fd0b74Schristos2004-08-17  Alan Modra  <amodra@bigpond.net.au>
1705*75fd0b74Schristos
1706*75fd0b74Schristos	* elf64-ppc.c (add_symbol_adjust): Correct mismatched function
1707*75fd0b74Schristos	symbol visibility.
1708*75fd0b74Schristos	(ppc64_elf_check_directives): Check that we have the right hash
1709*75fd0b74Schristos	table before proceeding.
1710*75fd0b74Schristos
1711*75fd0b74Schristos2004-08-17  Alan Modra  <amodra@bigpond.net.au>
1712*75fd0b74Schristos
1713*75fd0b74Schristos	* elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
1714*75fd0b74Schristos	(adjust_opd_syms): Attach opd syms for deleted entries to one of
1715*75fd0b74Schristos	the sections that will be discarded.
1716*75fd0b74Schristos
1717*75fd0b74Schristos2004-08-16  Alan Modra  <amodra@bigpond.net.au>
1718*75fd0b74Schristos
1719*75fd0b74Schristos	* elflink.c (elf_section_complain_discarded): Ignore .fixup.
1720*75fd0b74Schristos
1721*75fd0b74Schristos2004-08-16  Alan Modra  <amodra@bigpond.net.au>
1722*75fd0b74Schristos
1723*75fd0b74Schristos	* bfd.c (_bfd_default_error_handler): Account for doubled '%' in
1724*75fd0b74Schristos	free space available.
1725*75fd0b74Schristos
1726*75fd0b74Schristos2004-08-16  Alan Modra  <amodra@bigpond.net.au>
1727*75fd0b74Schristos
1728*75fd0b74Schristos	* pdp11.c (struct pdp11_aout_reloc_external): Delete.  Replace
1729*75fd0b74Schristos	occurrences with bfd_byte * thoughout file.
1730*75fd0b74Schristos
1731*75fd0b74Schristos	* coff-rs6000.c (do_shared_object_padding): Warning fix.
1732*75fd0b74Schristos	(xcoff_write_armap_big): Likewise.
1733*75fd0b74Schristos	(xcoff_write_archive_contents_old): Likewise.
1734*75fd0b74Schristos	(xcoff_write_archive_contents_big): Likewise.
1735*75fd0b74Schristos
1736*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
1737*75fd0b74Schristos
1738*75fd0b74Schristos2004-08-13  Nick Clifton  <nickc@redhat.com>
1739*75fd0b74Schristos
1740*75fd0b74Schristos	* elf32-arm.h: Convert to ISO C90.
1741*75fd0b74Schristos
1742*75fd0b74Schristos2004-08-13  Alan Modra  <amodra@bigpond.net.au>
1743*75fd0b74Schristos
1744*75fd0b74Schristos	PR 293
1745*75fd0b74Schristos	* elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
1746*75fd0b74Schristos	zero the plt field.
1747*75fd0b74Schristos
1748*75fd0b74Schristos2004-08-13  Alan Modra  <amodra@bigpond.net.au>
1749*75fd0b74Schristos
1750*75fd0b74Schristos	* bfd.c (_bfd_default_error_handler): Handle %A and %B.
1751*75fd0b74Schristos	(bfd_archive_filename, bfd_get_section_ident): Delete.
1752*75fd0b74Schristos	* ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
1753*75fd0b74Schristos	bfd_archive_filename.
1754*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
1755*75fd0b74Schristos	to warn about symbols in discarded sections.  Use _bfd_error_handler.
1756*75fd0b74Schristos	* aout-adobe.c (aout_adobe_callback): See below.
1757*75fd0b74Schristos	* aout-cris.c (swap_ext_reloc_in): ..
1758*75fd0b74Schristos	* coff-arm.c (find_thumb_glue, find_arm_glue,
1759*75fd0b74Schristos	coff_arm_relocate_section, bfd_arm_process_before_allocation,
1760*75fd0b74Schristos	coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
1761*75fd0b74Schristos	coff_arm_copy_private_bfd_data): ..
1762*75fd0b74Schristos	* coff-i860.c (i860_reloc_processing): ..
1763*75fd0b74Schristos	* coff-mcore.c (mcore_coff_unsupported_reloc,
1764*75fd0b74Schristos	coff_mcore_relocate_section): ..
1765*75fd0b74Schristos	* coff-ppc.c (coff_ppc_relocate_section): ..
1766*75fd0b74Schristos	* coff-rs6000.c (xcoff_create_csect_from_smclas
1767*75fd0b74Schristos	* coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
1768*75fd0b74Schristos	sh_swap_insns, sh_relocate_section): ..
1769*75fd0b74Schristos	* coff-tic54x.c (tic54x_reloc_processing): ..
1770*75fd0b74Schristos	* coff-tic80.c (coff_tic80_relocate_section): ..
1771*75fd0b74Schristos	* coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
1772*75fd0b74Schristos	* coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
1773*75fd0b74Schristos	coff_slurp_symbol_table, coff_classify_symbol,
1774*75fd0b74Schristos	coff_slurp_reloc_table): ..
1775*75fd0b74Schristos	* coffgen.c (_bfd_coff_read_string_table): ..
1776*75fd0b74Schristos	* cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
1777*75fd0b74Schristos	_bfd_coff_generic_relocate_section): ..
1778*75fd0b74Schristos	* cpu-arm.c (bfd_arm_merge_machines): ..
1779*75fd0b74Schristos	* cpu-sh.c (sh_merge_bfd_arch): ..
1780*75fd0b74Schristos	* elf-hppa.h (elf_hppa_relocate_section): ..
1781*75fd0b74Schristos	* elf.c (bfd_elf_string_from_elf_section, setup_group,
1782*75fd0b74Schristos	_bfd_elf_setup_group_pointers, bfd_section_from_shdr,
1783*75fd0b74Schristos	assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
1784*75fd0b74Schristos	copy_private_bfd_data, _bfd_elf_validate_reloc): ..
1785*75fd0b74Schristos	* elf32-arm.h (find_thumb_glue, find_arm_glue,
1786*75fd0b74Schristos	bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
1787*75fd0b74Schristos	elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
1788*75fd0b74Schristos	elf32_arm_relocate_section, elf32_arm_set_private_flags,
1789*75fd0b74Schristos	elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
1790*75fd0b74Schristos	* elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
1791*75fd0b74Schristos	cris_elf_merge_private_bfd_data
1792*75fd0b74Schristos	* elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
1793*75fd0b74Schristos	* elf32-gen.c (elf32_generic_link_add_symbols): ..
1794*75fd0b74Schristos	* elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
1795*75fd0b74Schristos	elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
1796*75fd0b74Schristos	elf32_hppa_relocate_section): ..
1797*75fd0b74Schristos	* elf32-i370.c (i370_elf_merge_private_bfd_data,
1798*75fd0b74Schristos	i370_elf_check_relocs, i370_elf_relocate_section): ..
1799*75fd0b74Schristos	* elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
1800*75fd0b74Schristos	elf_i386_relocate_section): ..
1801*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_relocate_section,
1802*75fd0b74Schristos	m32r_elf_merge_private_bfd_data): ..
1803*75fd0b74Schristos	* elf32-m68hc1x.c (m68hc12_add_stub,
1804*75fd0b74Schristos	_bfd_m68hc11_elf_merge_private_bfd_data): ..
1805*75fd0b74Schristos	* elf32-m68k.c (elf_m68k_relocate_section): ..
1806*75fd0b74Schristos	* elf32-mcore.c (mcore_elf_unsupported_reloc,
1807*75fd0b74Schristos	mcore_elf_relocate_section): ..
1808*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
1809*75fd0b74Schristos	ppc_elf_check_relocs, ppc_elf_relocate_section,
1810*75fd0b74Schristos	ppc_elf_begin_write_processing): ..
1811*75fd0b74Schristos	* elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
1812*75fd0b74Schristos	elf_s390_relocate_section): ..
1813*75fd0b74Schristos	* elf32-sh-symbian.c (sh_symbian_import_as,
1814*75fd0b74Schristos	sh_symbian_process_embedded_commands,
1815*75fd0b74Schristos	sh_symbian_relocate_section): ..
1816*75fd0b74Schristos	* elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
1817*75fd0b74Schristos	sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
1818*75fd0b74Schristos	sh_elf_merge_private_data): ..
1819*75fd0b74Schristos	* elf32-sparc.c (elf32_sparc_check_relocs,
1820*75fd0b74Schristos	elf32_sparc_relocate_section,
1821*75fd0b74Schristos	elf32_sparc_merge_private_bfd_data): ..
1822*75fd0b74Schristos	* elf32-v850.c (v850_elf_check_relocs,
1823*75fd0b74Schristos	v850_elf_merge_private_bfd_data): ..
1824*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_check_relocs,
1825*75fd0b74Schristos	elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
1826*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_relax_with_lituse,
1827*75fd0b74Schristos	elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
1828*75fd0b74Schristos	elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
1829*75fd0b74Schristos	* elf64-gen.c (elf64_generic_link_add_symbols): ..
1830*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
1831*75fd0b74Schristos	ppc64_elf_check_relocs, ppc64_elf_edit_opd,
1832*75fd0b74Schristos	ppc64_elf_relocate_section): ..
1833*75fd0b74Schristos	* elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
1834*75fd0b74Schristos	elf_s390_relocate_section): ..
1835*75fd0b74Schristos	* elf64-sh64.c (sh_elf64_relocate_section): ..
1836*75fd0b74Schristos	* elf64-sparc.c (sparc64_elf_check_relocs,
1837*75fd0b74Schristos	sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
1838*75fd0b74Schristos	sparc64_elf_merge_private_bfd_data): ..
1839*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_check_relocs,
1840*75fd0b74Schristos	elf64_x86_64_relocate_section): ..
1841*75fd0b74Schristos	* elflink.c (_bfd_elf_add_default_symbol,
1842*75fd0b74Schristos	_bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
1843*75fd0b74Schristos	_bfd_elf_link_output_relocs, elf_link_add_object_symbols,
1844*75fd0b74Schristos	bfd_elf_size_dynamic_sections, elf_link_output_extsym,
1845*75fd0b74Schristos	elf_get_linked_section_vma, elf_fixup_link_order,
1846*75fd0b74Schristos	bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
1847*75fd0b74Schristos	bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
1848*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section,
1849*75fd0b74Schristos	elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
1850*75fd0b74Schristos	* elfxx-mips.c (mips_elf_perform_relocation,
1851*75fd0b74Schristos	_bfd_mips_elf_check_relocs,
1852*75fd0b74Schristos	_bfd_mips_elf_merge_private_bfd_data): ..
1853*75fd0b74Schristos	* ieee.c (ieee_slurp_external_symbols): ..
1854*75fd0b74Schristos	* ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
1855*75fd0b74Schristos	* libbfd.c (_bfd_generic_verify_endian_match): ..
1856*75fd0b74Schristos	* linker.c (_bfd_generic_link_add_one_symbol,
1857*75fd0b74Schristos	_bfd_generic_section_already_linked): ..
1858*75fd0b74Schristos	* pdp11.c (translate_to_native_sym_flags): ..
1859*75fd0b74Schristos	* pe-mips.c (coff_pe_mips_relocate_section): ..
1860*75fd0b74Schristos	* peicode.h (pe_ILF_build_a_bfd): ..
1861*75fd0b74Schristos	* srec.c (srec_bad_byte): ..
1862*75fd0b74Schristos	* stabs.c (_bfd_link_section_stabs): ..
1863*75fd0b74Schristos	* xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
1864*75fd0b74Schristos	Replace all uses of bfd_archive_filename and bfd_get_section_ident
1865*75fd0b74Schristos	with corresponding %B and %A in _bfd_error_handler format string.
1866*75fd0b74Schristos	Replace occurrences of "fprintf (stderr," with _bfd_error_handler
1867*75fd0b74Schristos	calls to use %A and %B.  Fix "against symbol .. from section" and
1868*75fd0b74Schristos	similar error messages.  Combine multiple _bfd_error_handler calls
1869*75fd0b74Schristos	where they were separated due to bfd_archive_filename deficiencies.
1870*75fd0b74Schristos	* bfd-in2.h: Regenerate.
1871*75fd0b74Schristos
1872*75fd0b74Schristos2004-08-12  H.J. Lu  <hongjiu.lu@intel.com>
1873*75fd0b74Schristos
1874*75fd0b74Schristos	* elf32-i386.c (elf_i386_relocate_section): Report unrecognized
1875*75fd0b74Schristos	relocation.
1876*75fd0b74Schristos
1877*75fd0b74Schristos2004-08-10  Alan Modra  <amodra@bigpond.net.au>
1878*75fd0b74Schristos
1879*75fd0b74Schristos	* elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
1880*75fd0b74Schristos	(struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
1881*75fd0b74Schristos	Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
1882*75fd0b74Schristos	Add twiddled_syms.
1883*75fd0b74Schristos	(link_hash_newfunc): Init was_undefined.
1884*75fd0b74Schristos	(add_symbol_adjust): Don't set undefined dot symbols to defweak;
1885*75fd0b74Schristos	Use undefweak instead.
1886*75fd0b74Schristos	(ppc64_elf_check_directives): Fix undefs chain.
1887*75fd0b74Schristos	(ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
1888*75fd0b74Schristos	references.
1889*75fd0b74Schristos	(ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
1890*75fd0b74Schristos	(undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
1891*75fd0b74Schristos	* elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
1892*75fd0b74Schristos
1893*75fd0b74Schristos2004-08-09  Jakub Jelinek  <jakub@redhat.com>
1894*75fd0b74Schristos
1895*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
1896*75fd0b74Schristos	error, test input_section flags rather than sec.
1897*75fd0b74Schristos
1898*75fd0b74Schristos2004-08-09  Alan Modra  <amodra@bigpond.net.au>
1899*75fd0b74Schristos
1900*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data): Add
1901*75fd0b74Schristos	elf_backend_archive_symbol_lookup.
1902*75fd0b74Schristos	(_bfd_elf_archive_symbol_lookup): Declare.
1903*75fd0b74Schristos	* elflink.c (_bfd_elf_archive_symbol_lookup): New function..
1904*75fd0b74Schristos	(elf_link_add_archive_symbols): ..extracted from here.  Call the
1905*75fd0b74Schristos	backend version.
1906*75fd0b74Schristos	* elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
1907*75fd0b74Schristos	(elfNN_bed): Init new field.
1908*75fd0b74Schristos	* elf64-ppc.c (elf_backend_check_directives): Define.
1909*75fd0b74Schristos	(elf_backend_archive_symbol_lookup): Define.
1910*75fd0b74Schristos	(struct ppc_link_hash_table): Add tls_get_add_fd.  Make tls_get_add
1911*75fd0b74Schristos	a ppc_link_hash_entry pointer.
1912*75fd0b74Schristos	(get_fdh): Move.
1913*75fd0b74Schristos	(ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
1914*75fd0b74Schristos	(add_symbol_adjust, ppc64_elf_check_directives): New functions.
1915*75fd0b74Schristos	(ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
1916*75fd0b74Schristos	ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
1917*75fd0b74Schristos	ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
1918*75fd0b74Schristos	ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
1919*75fd0b74Schristos	ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
1920*75fd0b74Schristos	descriptor symbols.
1921*75fd0b74Schristos
1922*75fd0b74Schristos2004-08-09  Alan Modra  <amodra@bigpond.net.au>
1923*75fd0b74Schristos
1924*75fd0b74Schristos	* elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
1925*75fd0b74Schristos	(ppc64_elf_add_symbol_hook): Test for NULL section.
1926*75fd0b74Schristos	(get_sym_h): Formatting.
1927*75fd0b74Schristos	(ppc64_elf_size_stubs): Include reloc addend in value stored as
1928*75fd0b74Schristos	stub target_value.
1929*75fd0b74Schristos
1930*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
1931*75fd0b74Schristos	long branch stubs with code handling plt and r2off branch stubs.
1932*75fd0b74Schristos
1933*75fd0b74Schristos2004-08-09  Alan Modra  <amodra@bigpond.net.au>
1934*75fd0b74Schristos
1935*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_gc_mark): Declare.
1936*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Formatting.
1937*75fd0b74Schristos	(_bfd_elf_gc_mark): Rename from elf_gc_mark and make global.  Adjust
1938*75fd0b74Schristos	all callers.
1939*75fd0b74Schristos	* elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
1940*75fd0b74Schristos	(link_hash_newfunc): Don't set it.
1941*75fd0b74Schristos	(ppc64_elf_copy_indirect_symbol): Nor copy it.
1942*75fd0b74Schristos	(ppc64_elf_mark_entry_syms): Delete.
1943*75fd0b74Schristos	(ppc64_elf_gc_mark_hook): Mark entry syms here.  Also mark opd
1944*75fd0b74Schristos	sections.  Use get_opd_info.
1945*75fd0b74Schristos	* elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
1946*75fd0b74Schristos
1947*75fd0b74Schristos2004-08-09  Alan Modra  <amodra@bigpond.net.au>
1948*75fd0b74Schristos
1949*75fd0b74Schristos	* elf64-ppc.c (adjust_opd_syms): Fix merge error.
1950*75fd0b74Schristos
1951*75fd0b74Schristos	* elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
1952*75fd0b74Schristos	(func_desc_adjust): Don't set have_undefweak.
1953*75fd0b74Schristos	(ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
1954*75fd0b74Schristos	(ppc64_elf_relocate_section): NOP out calls to undefweak functions.
1955*75fd0b74Schristos
1956*75fd0b74Schristos	* elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
1957*75fd0b74Schristos	"struct ppc_link_hash_entry *".  Adjust all references.
1958*75fd0b74Schristos	(ppc64_elf_hide_symbol): Correct a comment.
1959*75fd0b74Schristos
1960*75fd0b74Schristos	* elf64-ppc.c (get_opd_info): New function.
1961*75fd0b74Schristos	(adjust_opd_syms): Use get_opd_info.  Define removed symbols as zero.
1962*75fd0b74Schristos	(ppc64_elf_edit_opd): Use get_opd_info.  Check that sym has a dot
1963*75fd0b74Schristos	before calling get_fdh.  Test fdh rather than h before dereferencing
1964*75fd0b74Schristos	fdh.  Mark removed symbols in opd_adjust.
1965*75fd0b74Schristos	(ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
1966*75fd0b74Schristos	(ppc64_elf_relocate_section): Use get_opd_info, and handle removed
1967*75fd0b74Schristos	opd symbols.
1968*75fd0b74Schristos	(ppc64_elf_output_symbol_hook): Likewise.
1969*75fd0b74Schristos
1970*75fd0b74Schristos2004-08-06  Paul Brook  <paul@codesourcery.com>
1971*75fd0b74Schristos
1972*75fd0b74Schristos	* elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
1973*75fd0b74Schristos	(elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
1974*75fd0b74Schristos	BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
1975*75fd0b74Schristos	* reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
1976*75fd0b74Schristos	and BFD_RELOC_ARM_SBREL32.
1977*75fd0b74Schristos	* bfd-in2.h, bbfd.h: Regenerate.
1978*75fd0b74Schristos
1979*75fd0b74Schristos2004-08-01  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
1980*75fd0b74Schristos
1981*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Test only for
1982*75fd0b74Schristos	the dynamic link symbol actually in use.
1983*75fd0b74Schristos
1984*75fd0b74Schristos2004-08-01  Stephane Carrez  <stcarrez@nerim.fr>
1985*75fd0b74Schristos
1986*75fd0b74Schristos	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
1987*75fd0b74Schristos
1988*75fd0b74Schristos2004-07-31  Joel Brobecker  <brobecker@gnat.com>
1989*75fd0b74Schristos	    Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
1990*75fd0b74Schristos
1991*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
1992*75fd0b74Schristos	SHN_MIPS_TEXT and SHN_MIPS_DATA.
1993*75fd0b74Schristos
1994*75fd0b74Schristos2004-07-30  H.J. Lu  <hongjiu.lu@intel.com>
1995*75fd0b74Schristos	    Nick Clifton  <nickc@redhat.com>
1996*75fd0b74Schristos
1997*75fd0b74Schristos	PR 290
1998*75fd0b74Schristos	* bfd.c (_bfd_default_error_handler): Make it global.
1999*75fd0b74Schristos
2000*75fd0b74Schristos	* elf-bfd.h (elf_backend_data): Add link_order_error_handler.
2001*75fd0b74Schristos
2002*75fd0b74Schristos	* elf.c (assign_section_numbers): Cope gracefully with sections
2003*75fd0b74Schristos	which have SHF_LINK_ORDER set but no sh_link set up.
2004*75fd0b74Schristos	* elflink.c (elf_get_linked_section_vma): Likewise.
2005*75fd0b74Schristos
2006*75fd0b74Schristos	* elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
2007*75fd0b74Schristos	it to NULL.
2008*75fd0b74Schristos
2009*75fd0b74Schristos	* elfxx-target.h (elf_backend_link_order_error_handler): New.
2010*75fd0b74Schristos	Set it to _bfd_default_error_handler.
2011*75fd0b74Schristos	(elfNN_bed): Add elf_backend_link_order_error_handler.
2012*75fd0b74Schristos
2013*75fd0b74Schristos	* libbfd-in.h (_bfd_default_error_handler): New.
2014*75fd0b74Schristos
2015*75fd0b74Schristos	* libbfd.h: Regenerated.
2016*75fd0b74Schristos
2017*75fd0b74Schristos2004-07-30  Jakub Jelinek  <jakub@redhat.com>
2018*75fd0b74Schristos
2019*75fd0b74Schristos	* archures.c (bfd_mach_sparc_64bit_p): Define.
2020*75fd0b74Schristos	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
2021*75fd0b74Schristos	* bfd-in2.h: Rebuilt.
2022*75fd0b74Schristos
2023*75fd0b74Schristos2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
2024*75fd0b74Schristos
2025*75fd0b74Schristos	Introduce SH2a support.
2026*75fd0b74Schristos	2004-02-18  Corinna Vinschen  <vinschen@redhat.com>
2027*75fd0b74Schristos	* archures.c (bfd_mach_sh2a_nofpu): New.
2028*75fd0b74Schristos	* bfd-in2.h: Rebuilt.
2029*75fd0b74Schristos	* cpu-sh.c (SH2A_NOFPU_NEXT): New.
2030*75fd0b74Schristos	(arch_info_struct): Add sh2a_nofpu.
2031*75fd0b74Schristos	* elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
2032*75fd0b74Schristos	2003-12-29  DJ Delorie  <dj@redhat.com>
2033*75fd0b74Schristos	* reloc.c: Add relocs for sh2a.
2034*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2035*75fd0b74Schristos	* libbfd.hh: Regenerate.
2036*75fd0b74Schristos	2003-12-01  Michael Snyder  <msnyder@redhat.com>
2037*75fd0b74Schristos	* archures.c (bfd_mach_sh2a): New.
2038*75fd0b74Schristos	* bfd-in2.h: Rebuilt.
2039*75fd0b74Schristos	* cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
2040*75fd0b74Schristos	(SH2A_NEXT): New.
2041*75fd0b74Schristos	(arch_info_struct): Add sh2a.
2042*75fd0b74Schristos	* elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
2043*75fd0b74Schristos
2044*75fd0b74Schristos2004-07-28  Nick Clifton  <nickc@redhat.com>
2045*75fd0b74Schristos	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2046*75fd0b74Schristos
2047*75fd0b74Schristos	PR 273
2048*75fd0b74Schristos	* som.c (setup_sections): Improve estimation of space sizes in
2049*75fd0b74Schristos	relocatable objects.
2050*75fd0b74Schristos
2051*75fd0b74Schristos2004-07-27  Jason Thorpe  <thorpej@wasabisystems.com>
2052*75fd0b74Schristos	* config.bfd (hppa*-*-netbsd*): Set targ_defvec to
2053*75fd0b74Schristos	bfd_elf32_hppa_nbsd_vec.  Add bfd_elf32_hppa_linux_vec
2054*75fd0b74Schristos	to targ_selvecs.
2055*75fd0b74Schristos	* configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
2056*75fd0b74Schristos	* configure: Regenerate.
2057*75fd0b74Schristos	* elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
2058*75fd0b74Schristos	case that accepts OSABI=NetBSD and OSABI=SysV.
2059*75fd0b74Schristos	(elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
2060*75fd0b74Schristos	the base of .got or .data (if .got does not exist).
2061*75fd0b74Schristos	(elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
2062*75fd0b74Schristos	set OSABI=NetBSD.
2063*75fd0b74Schristos	(TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
2064*75fd0b74Schristos	(TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
2065*75fd0b74Schristos	* targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
2066*75fd0b74Schristos	(_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
2067*75fd0b74Schristos
2068*75fd0b74Schristos2004-07-27  H.J. Lu  <hongjiu.lu@intel.com>
2069*75fd0b74Schristos
2070*75fd0b74Schristos	PR 161/251
2071*75fd0b74Schristos	* elf-bfd.h (bfd_elf_section_data): Add sec_group.
2072*75fd0b74Schristos	(elf_sec_group): Defined.
2073*75fd0b74Schristos	(bfd_elf_match_symbols_in_sections): New prototype.
2074*75fd0b74Schristos	(_bfd_elf_setup_group_pointers): Likewise.
2075*75fd0b74Schristos
2076*75fd0b74Schristos	* elf.c (bfd_elf_discard_group): Abort.
2077*75fd0b74Schristos	(bfd_elf_set_group_contents): Also include relocation sections.
2078*75fd0b74Schristos	Remove zero-fill for ld -r.
2079*75fd0b74Schristos	(_bfd_elf_setup_group_pointers): New function.
2080*75fd0b74Schristos	(elf_sort_elf_symbol): Likewise.
2081*75fd0b74Schristos	(elf_sym_name_compare): Likewise.
2082*75fd0b74Schristos	(bfd_elf_match_symbols_in_sections): Likewise.
2083*75fd0b74Schristos
2084*75fd0b74Schristos	* elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
2085*75fd0b74Schristos
2086*75fd0b74Schristos	* elflink.c (match_group_member): New.
2087*75fd0b74Schristos	(elf_link_input_bfd): Check group member for discarded section.
2088*75fd0b74Schristos	(try_match_symbols_in_sections): New function.
2089*75fd0b74Schristos	(already_linked): Likewise.
2090*75fd0b74Schristos	(_bfd_elf_section_already_linked): Support mixing comdat group
2091*75fd0b74Schristos	and linkonce section.
2092*75fd0b74Schristos
2093*75fd0b74Schristos	* libbfd-in.h (bfd_section_already_linked_table_traverse): New.
2094*75fd0b74Schristos	* linker.c (bfd_section_already_linked_table_traverse): New.
2095*75fd0b74Schristos
2096*75fd0b74Schristos	* libbfd.h: Regenerated.
2097*75fd0b74Schristos
2098*75fd0b74Schristos2004-07-27  Tomer Levi  <Tomer.Levi@nsc.com>
2099*75fd0b74Schristos
2100*75fd0b74Schristos	* reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
2101*75fd0b74Schristos	BFD_RELOC_CRX_SWITCH32.
2102*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2103*75fd0b74Schristos	* libbfd.h: Regenerate.
2104*75fd0b74Schristos	* elf32-crx.c: Support relocation/relaxation of
2105*75fd0b74Schristos	BFD_RELOC_CRX_SWITCH* types.
2106*75fd0b74Schristos
2107*75fd0b74Schristos2004-07-27  Alan Modra  <amodra@bigpond.net.au>
2108*75fd0b74Schristos
2109*75fd0b74Schristos	* elf64-ppc.c: Correct "Linker stubs" comment.
2110*75fd0b74Schristos
2111*75fd0b74Schristos2004-07-26  H.J. Lu  <hongjiu.lu@intel.com>
2112*75fd0b74Schristos
2113*75fd0b74Schristos	* elf-bfd.h (bfd_elf_section_data): Add a pointer for the
2114*75fd0b74Schristos	linked-to section.
2115*75fd0b74Schristos	(elf_linked_to_section): New.
2116*75fd0b74Schristos
2117*75fd0b74Schristos	* elf.c (assign_section_numbers): Set up sh_link for
2118*75fd0b74Schristos	SHF_LINK_ORDER.
2119*75fd0b74Schristos
2120*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
2121*75fd0b74Schristos	to sh_link for SHT_IA_64_UNWIND sections.
2122*75fd0b74Schristos
2123*75fd0b74Schristos2004-07-22  H.J. Lu  <hongjiu.lu@intel.com>
2124*75fd0b74Schristos
2125*75fd0b74Schristos	* elflink.c (elf_fixup_link_order): Add _() to error message.
2126*75fd0b74Schristos
2127*75fd0b74Schristos2004-07-22  H.J. Lu  <hongjiu.lu@intel.com>
2128*75fd0b74Schristos
2129*75fd0b74Schristos	* elflink.c (elf_fixup_link_order): Issue a warning and flag
2130*75fd0b74Schristos	an error if failed.
2131*75fd0b74Schristos
2132*75fd0b74Schristos2004-07-21  H.J. Lu  <hongjiu.lu@intel.com>
2133*75fd0b74Schristos
2134*75fd0b74Schristos	* aout-adobe.c (aout_32_section_already_linked): Defined.
2135*75fd0b74Schristos	* aout-target.h (MY_section_already_linked): Likewise.
2136*75fd0b74Schristos	* aout-tic30.c (MY_section_already_linked): Likewise.
2137*75fd0b74Schristos	* binary.c (binary_section_already_linked): Likewise.
2138*75fd0b74Schristos	* bout.c (b_out_section_already_linked): Likewise.
2139*75fd0b74Schristos	* coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
2140*75fd0b74Schristos	* coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
2141*75fd0b74Schristos	* coffcode.h (coff_section_already_linked): Likewise.
2142*75fd0b74Schristos	* i386msdos.c (msdos_section_already_linked): Likewise.
2143*75fd0b74Schristos	* i386os9k.c (os9k_section_already_linked): Likewise.
2144*75fd0b74Schristos	* ieee.c (ieee_section_already_linked): Likewise.
2145*75fd0b74Schristos	* ihex.c (ihex_section_already_linked): Likewise.
2146*75fd0b74Schristos	* mach-o.c (bfd_mach_o_section_already_linked): Likewise.
2147*75fd0b74Schristos	* mmo.c (mmo_section_already_linked): Likewise.
2148*75fd0b74Schristos	* nlm-target.h (nlm_section_already_linked): Likewise.
2149*75fd0b74Schristos	* oasys.c (oasys_section_already_linked): Likewise.
2150*75fd0b74Schristos	* pef.c (bfd_pef_section_already_linked): Likewise.
2151*75fd0b74Schristos	* ppcboot.c (ppcboot_section_already_linked): Likewise.
2152*75fd0b74Schristos	* som.c (som_bfd_discard_group): Likewise.
2153*75fd0b74Schristos	* srec.c (srec_section_already_linked): Likewise.
2154*75fd0b74Schristos	* tekhex.c (tekhex_section_already_linked): Likewise.
2155*75fd0b74Schristos	* versados.c (versados_section_already_linked): Likewise.
2156*75fd0b74Schristos	* vms.c (vms_section_already_linked): Likewise.
2157*75fd0b74Schristos	* coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
2158*75fd0b74Schristos	* xsym.c (bfd_sym_section_already_linked): Likewise.
2159*75fd0b74Schristos
2160*75fd0b74Schristos	* bfd-in.h (bfd_section_already_linked_table_init): New.
2161*75fd0b74Schristos	(bfd_section_already_linked_table_free): Likewise.
2162*75fd0b74Schristos
2163*75fd0b74Schristos	* coff-rs6000.c (rs6000coff_vec): Add
2164*75fd0b74Schristos	_bfd_generic_section_already_linked.
2165*75fd0b74Schristos	(pmac_xcoff_vec): Likewise.
2166*75fd0b74Schristos	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
2167*75fd0b74Schristos	(aix5coff64_vec): Likewise.
2168*75fd0b74Schristos
2169*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
2170*75fd0b74Schristos	* elflink.c (_bfd_elf_section_already_linked): New function.
2171*75fd0b74Schristos
2172*75fd0b74Schristos	* elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
2173*75fd0b74Schristos
2174*75fd0b74Schristos	* libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
2175*75fd0b74Schristos	(_bfd_generic_section_already_linked): New.
2176*75fd0b74Schristos	(bfd_section_already_linked_hash_entry): Likewise.
2177*75fd0b74Schristos	(bfd_section_already_linked): Likewise.
2178*75fd0b74Schristos	(bfd_section_already_linked_table_lookup): Likewise.
2179*75fd0b74Schristos	(bfd_section_already_linked_table_insert): Likewise.
2180*75fd0b74Schristos
2181*75fd0b74Schristos	* linker.c (bfd_section_already_linked): New.
2182*75fd0b74Schristos	(_bfd_section_already_linked_table): Likewise.
2183*75fd0b74Schristos	(bfd_section_already_linked_table_lookup): Likewise.
2184*75fd0b74Schristos	(bfd_section_already_linked_table_insert): Likewise.
2185*75fd0b74Schristos	(already_linked_newfunc): Likewise.
2186*75fd0b74Schristos	(bfd_section_already_linked_table_init): Likewise.
2187*75fd0b74Schristos	(bfd_section_already_linked_table_free): Likewise.
2188*75fd0b74Schristos	(_bfd_generic_section_already_linked): Likewise.
2189*75fd0b74Schristos
2190*75fd0b74Schristos	* section.c (bfd_section): Remove comdat.
2191*75fd0b74Schristos	(bfd_comdat_info): Moved to ...
2192*75fd0b74Schristos	* bfd-in.h (coff_comdat_info): Here.
2193*75fd0b74Schristos	(bfd_coff_get_comdat_section): New.
2194*75fd0b74Schristos	* coffgen.c (bfd_coff_get_comdat_section): Likewise.
2195*75fd0b74Schristos	* libcoff-in.h (coff_section_tdata): Add comdat.
2196*75fd0b74Schristos	* coffcode.h (handle_COMDAT): Updated.
2197*75fd0b74Schristos	* cofflink.c (coff_link_add_symbols): Likewise.
2198*75fd0b74Schristos	* ecoff.c (bfd_debug_section): Likewise.
2199*75fd0b74Schristos
2200*75fd0b74Schristos	* targets.c (bfd_target): Add _section_already_linked.
2201*75fd0b74Schristos	(BFD_JUMP_TABLE_LINK): Updated.
2202*75fd0b74Schristos
2203*75fd0b74Schristos	* bfd-in2.h: Regenerated.
2204*75fd0b74Schristos	* libbfd.h: Likewise.
2205*75fd0b74Schristos	* libcoff.h: Likewise.
2206*75fd0b74Schristos
2207*75fd0b74Schristos2003-07-21  Paul Brook  <paul@codesourcery.com>
2208*75fd0b74Schristos
2209*75fd0b74Schristos	* elflink.c (elf_get_linked_section_vma, compare_link_order,
2210*75fd0b74Schristos	elf_fixup_link_order): New functions.
2211*75fd0b74Schristos	(bfd_elf_final_link): Call elf_fixup_link_order.
2212*75fd0b74Schristos
2213*75fd0b74Schristos2004-07-21  Alexandre Oliva  <aoliva@redhat.com>
2214*75fd0b74Schristos
2215*75fd0b74Schristos	* elf-bfd.h (ELF_COMMON_DEF_P): New.
2216*75fd0b74Schristos	* elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
2217*75fd0b74Schristos	common definitions.
2218*75fd0b74Schristos	* elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
2219*75fd0b74Schristos	_bfd_elf_symbol_refs_local_p.
2220*75fd0b74Schristos	* elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
2221*75fd0b74Schristos	symbols.
2222*75fd0b74Schristos
2223*75fd0b74Schristos2004-07-19  H.J. Lu  <hongjiu.lu@intel.com>
2224*75fd0b74Schristos
2225*75fd0b74Schristos	* bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
2226*75fd0b74Schristos	DYN_NO_NEEDED.
2227*75fd0b74Schristos	(bfd_elf_get_dyn_lib_class): New prototype.
2228*75fd0b74Schristos	* elf.c (bfd_elf_get_dyn_lib_class): New function.
2229*75fd0b74Schristos
2230*75fd0b74Schristos	* elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
2231*75fd0b74Schristos	DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
2232*75fd0b74Schristos	entry is needed. Issue an error if a DT_NEEDED entry is needed
2233*75fd0b74Schristos	for a file marked DYN_NO_NEEDED.
2234*75fd0b74Schristos	(elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
2235*75fd0b74Schristos	for DT_NEEDED tags.
2236*75fd0b74Schristos
2237*75fd0b74Schristos	* bfd-in2.h: Regenerated.
2238*75fd0b74Schristos
2239*75fd0b74Schristos2004-07-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2240*75fd0b74Schristos
2241*75fd0b74Schristos	* elflink.c (elf_section_complain_discarded): Don't complain in
2242*75fd0b74Schristos	.PARISC.unwind.
2243*75fd0b74Schristos
2244*75fd0b74Schristos2004-07-10  James E Wilson  <wilson@specifixinc.com>
2245*75fd0b74Schristos
2246*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
2247*75fd0b74Schristos	(elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
2248*75fd0b74Schristos	(elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
2249*75fd0b74Schristos	elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
2250*75fd0b74Schristos	Fix callers.
2251*75fd0b74Schristos	(elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64.  Change
2252*75fd0b74Schristos	bfd_put_64 to bfd_putl64.
2253*75fd0b74Schristos	(elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
2254*75fd0b74Schristos
2255*75fd0b74Schristos2004-07-09  H.J. Lu  <hongjiu.lu@intel.com>
2256*75fd0b74Schristos
2257*75fd0b74Schristos	PR 240
2258*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
2259*75fd0b74Schristos	.init/.fini sections when trying to relax it.
2260*75fd0b74Schristos
2261*75fd0b74Schristos2004-07-09  Jie Zhang  <zhangjie@magima.com.cn>
2262*75fd0b74Schristos
2263*75fd0b74Schristos	* elf.c (assign_file_positions_for_segments): Make sure the
2264*75fd0b74Schristos	.dynamic section is the first section in the PT_DYNAMIC segment.
2265*75fd0b74Schristos
2266*75fd0b74Schristos2004-07-09  Nick Clifton  <nickc@redhat.com>
2267*75fd0b74Schristos
2268*75fd0b74Schristos	* config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
2269*75fd0b74Schristos	* elf32-sh-symbian.c: Rename the sh_find_elf_flags and
2270*75fd0b74Schristos	sh_elf_get_flags_from_mach functions so that they do not conflict
2271*75fd0b74Schristos	when this target is built with other sh-elf targets.
2272*75fd0b74Schristos	* elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
2273*75fd0b74Schristos	suppression of this function.
2274*75fd0b74Schristos	(sh_elf_find_flags): Likewise.
2275*75fd0b74Schristos
2276*75fd0b74Schristos2004-07-07  Tomer Levi  <Tomer.Levi@nsc.com>
2277*75fd0b74Schristos
2278*75fd0b74Schristos	* Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
2279*75fd0b74Schristos	(ALL_MACHINES_CFILES): Add cpu-crx.c.
2280*75fd0b74Schristos	(BFD32_BACKENDS): Add elf32-crx.lo.
2281*75fd0b74Schristos	(BFD32_BACKENDS_CFILES): Add elf32-crx.c.
2282*75fd0b74Schristos	(cpu-crx.lo): New target.
2283*75fd0b74Schristos	(elf32-crx.lo): New target.
2284*75fd0b74Schristos	* Makefile.in: Regenerate.
2285*75fd0b74Schristos	* archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
2286*75fd0b74Schristos	(bfd_archures_list): Add bfd_crx_arch.
2287*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2288*75fd0b74Schristos	* config.bfd: Handle crx-*-elf*, crx*.
2289*75fd0b74Schristos	* configure.in: Handle bfd_elf32_crx_vec.
2290*75fd0b74Schristos	* configure: Regenerate.
2291*75fd0b74Schristos	* cpu-crx.c: New file.
2292*75fd0b74Schristos	* elf32-crx.c: Likewise.
2293*75fd0b74Schristos	* libbfd.h: Regenerate.
2294*75fd0b74Schristos	* reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
2295*75fd0b74Schristos	BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
2296*75fd0b74Schristos	BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
2297*75fd0b74Schristos	BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
2298*75fd0b74Schristos	BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
2299*75fd0b74Schristos	BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
2300*75fd0b74Schristos	* targets.c (bfd_elf32_crx_vec): Declare.
2301*75fd0b74Schristos	(bfd_target_vector): Add bfd_elf32_crx_vec.
2302*75fd0b74Schristos
2303*75fd0b74Schristos2004-07-06  Nick Clifton  <nickc@redhat.com>
2304*75fd0b74Schristos
2305*75fd0b74Schristos	* config.bfd: Add sh-symbian-elf target.
2306*75fd0b74Schristos	* configure.in: Add bfd_elf32_shl_symbian_vec.
2307*75fd0b74Schristos	* configure: Regenerate.
2308*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data): Add new field
2309*75fd0b74Schristos	'check_directives'.
2310*75fd0b74Schristos	* elflink.c (elf_link_add_object_symbols): Invoke the
2311*75fd0b74Schristos	check_directives function, if defined.
2312*75fd0b74Schristos	* elfxx-target.h: Provide a default, NULL definition for
2313*75fd0b74Schristos	check_directives.
2314*75fd0b74Schristos	* targets.c: Add bfd_elf32_shl_symbian_vec.
2315*75fd0b74Schristos	* elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
2316*75fd0b74Schristos	definition.
2317*75fd0b74Schristos	(elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
2318*75fd0b74Schristos	* sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
2319*75fd0b74Schristos	(TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
2320*75fd0b74Schristos	not already been defined.
2321*75fd0b74Schristos	* elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
2322*75fd0b74Schristos	* sh-symbian.c: New file.  Provide functions to support the
2323*75fd0b74Schristos	* sh-symbian-elf target.
2324*75fd0b74Schristos	* Makefile.am: Add elf32-sh-symbian.c
2325*75fd0b74Schristos	* Makefile.in: Regenerate.
2326*75fd0b74Schristos
2327*75fd0b74Schristos2004-07-05  Andrew Stubbs <andrew.stubbs@superh.com>
2328*75fd0b74Schristos
2329*75fd0b74Schristos	* elf32-sh.c: Include ../opcodes/sh-opc.h.
2330*75fd0b74Schristos	* Makefile.am: Ran make dep-am.
2331*75fd0b74Schristos	* Makefile.in: Ran make dep-in.
2332*75fd0b74Schristos
2333*75fd0b74Schristos2004-07-03  Aaron W. LaFramboise  <aaron98wiridge9@aaronwl.com>
2334*75fd0b74Schristos
2335*75fd0b74Schristos	* cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
2336*75fd0b74Schristos	externals properly.
2337*75fd0b74Schristos
2338*75fd0b74Schristos2004-07-02  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2339*75fd0b74Schristos
2340*75fd0b74Schristos	* config.bfd: Add want64 to configuration target s390-*-linux*.
2341*75fd0b74Schristos
2342*75fd0b74Schristos2004-07-01  H.J. Lu  <hongjiu.lu@intel.com>
2343*75fd0b74Schristos
2344*75fd0b74Schristos	* bfd.c (bfd_get_section_ident): New.
2345*75fd0b74Schristos
2346*75fd0b74Schristos	* elflink.c (elf_link_read_relocs_from_section): Call
2347*75fd0b74Schristos	bfd_get_section_ident to identify the section when reporting
2348*75fd0b74Schristos	error.
2349*75fd0b74Schristos	(_bfd_elf_link_output_relocs): Likewise.
2350*75fd0b74Schristos	(elf_link_output_extsym): Likewise.
2351*75fd0b74Schristos	(elf_link_input_bfd): Likewise.
2352*75fd0b74Schristos	(bfd_elf_gc_record_vtinherit): Likewise.
2353*75fd0b74Schristos
2354*75fd0b74Schristos	* bfd-in2.h: Regenerated.
2355*75fd0b74Schristos
2356*75fd0b74Schristos2004-07-01  Jie Zhang  <zhangjie@magima.com.cn>
2357*75fd0b74Schristos	    Nick Clifton  <nickc@redhat.com>
2358*75fd0b74Schristos
2359*75fd0b74Schristos	PR 204
2360*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
2361*75fd0b74Schristos	of section symbols to mips_elf_sort_hash_table ().
2362*75fd0b74Schristos
2363*75fd0b74Schristos2004-07-01  Alan Modra  <amodra@bigpond.net.au>
2364*75fd0b74Schristos
2365*75fd0b74Schristos	* elflink.c (elf_section_ignore_discarded_relocs): Revert last
2366*75fd0b74Schristos	change.  Comment.
2367*75fd0b74Schristos	(elf_section_complain_discarded): New function.  Handle
2368*75fd0b74Schristos	.gcc_except_table too.
2369*75fd0b74Schristos	(elf_link_input_bfd): Rewrite handling of relocs against symbols
2370*75fd0b74Schristos	in discarded sections.
2371*75fd0b74Schristos	* elf-bfd.h (elf_discarded_section): Protect macro arg.
2372*75fd0b74Schristos
2373*75fd0b74Schristos2004-06-30  James E Wilson  <wilson@specifixinc.com>
2374*75fd0b74Schristos
2375*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff.  Initialize
2376*75fd0b74Schristos	to NULL.  Call get_pltoff if NULL and NEED_PLTOFF is true.
2377*75fd0b74Schristos
2378*75fd0b74Schristos2004-06-30  H.J. Lu  <hongjiu.lu@intel.com>
2379*75fd0b74Schristos
2380*75fd0b74Schristos	PR 233
2381*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Issue an error for non-debug
2382*75fd0b74Schristos	local references to discarded sections and report their
2383*75fd0b74Schristos	locations.
2384*75fd0b74Schristos
2385*75fd0b74Schristos2004-06-30  Alan Modra  <amodra@bigpond.net.au>
2386*75fd0b74Schristos
2387*75fd0b74Schristos	* elflink.c (elf_section_ignore_discarded_relocs): Don't test
2388*75fd0b74Schristos	sec_info_type, test section name instead.
2389*75fd0b74Schristos
2390*75fd0b74Schristos2004-06-29  H.J. Lu  <hongjiu.lu@intel.com>
2391*75fd0b74Schristos
2392*75fd0b74Schristos	PR 240
2393*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
2394*75fd0b74Schristos	in .init/.fini sections.
2395*75fd0b74Schristos
2396*75fd0b74Schristos2004-06-29  Bob Wilson  <bob.wilson@acm.org>
2397*75fd0b74Schristos
2398*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_relocate_section): Use
2399*75fd0b74Schristos	bfd_get_section_limit.
2400*75fd0b74Schristos
2401*75fd0b74Schristos2004-06-29  Bob Wilson  <bob.wilson@acm.org>
2402*75fd0b74Schristos
2403*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
2404*75fd0b74Schristos	output section size.
2405*75fd0b74Schristos
2406*75fd0b74Schristos2004-06-29  Alan Modra  <amodra@bigpond.net.au>
2407*75fd0b74Schristos
2408*75fd0b74Schristos	* elf64-mmix.c (mmix_set_relaxable_size): Save original size in
2409*75fd0b74Schristos	rawsize.
2410*75fd0b74Schristos	(mmix_elf_perform_relocation): Adjust for above change.
2411*75fd0b74Schristos	(mmix_elf_relocate_section): Likewise.
2412*75fd0b74Schristos	(mmix_elf_relax_section): Likewise.  Use output_section->rawsize.
2413*75fd0b74Schristos	(mmix_elf_get_section_contents): Delete.
2414*75fd0b74Schristos	(bfd_elf64_get_section_contents): Delete.
2415*75fd0b74Schristos	(mmix_elf_relocate_section): Zero stub area.
2416*75fd0b74Schristos	* linker.c (default_indirect_link_order): Alloc max of section size
2417*75fd0b74Schristos	and rawsize.
2418*75fd0b74Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Likewise.
2419*75fd0b74Schristos	* section.c (bfd_malloc_and_get_section): Likewise.
2420*75fd0b74Schristos	(struct bfd_section): Update rawsize comment.
2421*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2422*75fd0b74Schristos
2423*75fd0b74Schristos	* reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
2424*75fd0b74Schristos
2425*75fd0b74Schristos2004-06-29  Alan Modra  <amodra@bigpond.net.au>
2426*75fd0b74Schristos
2427*75fd0b74Schristos	* bfd-in.h (bfd_get_section_limit): Define.
2428*75fd0b74Schristos	* reloc.c (bfd_perform_relocation, bfd_install_relocation)
2429*75fd0b74Schristos	(_bfd_final_link_relocate): Use bfd_get_section_limit.
2430*75fd0b74Schristos	* aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
2431*75fd0b74Schristos	* coff-arm.c (coff_arm_relocate_section): Likewise.
2432*75fd0b74Schristos	* coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
2433*75fd0b74Schristos	* cpu-ns32k.c (do_ns32k_reloc): Likewise.
2434*75fd0b74Schristos	(bfd_ns32k_final_link_relocate): Likewise.
2435*75fd0b74Schristos	* elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
2436*75fd0b74Schristos	* elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
2437*75fd0b74Schristos	* elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
2438*75fd0b74Schristos	(i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
2439*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
2440*75fd0b74Schristos	(m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
2441*75fd0b74Schristos	* elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
2442*75fd0b74Schristos	* elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
2443*75fd0b74Schristos	* elf32-or32.c (or32_elf_consth_reloc): Likewise.
2444*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
2445*75fd0b74Schristos	* elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
2446*75fd0b74Schristos	* elf32-sh.c (sh_elf_reloc_loop): Likewise.
2447*75fd0b74Schristos	* elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
2448*75fd0b74Schristos	(sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
2449*75fd0b74Schristos	* elf32-v850.c (v850_elf_reloc): Likewise.
2450*75fd0b74Schristos	* elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
2451*75fd0b74Schristos	* elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
2452*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
2453*75fd0b74Schristos	* elf64-mips.c (mips_elf64_gprel32_reloc)
2454*75fd0b74Schristos	(mips16_gprel_reloc): Likewise.
2455*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_reloc): Likewise.
2456*75fd0b74Schristos	* elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
2457*75fd0b74Schristos	* elf64-sparc.c (init_insn_reloc): Likewise.
2458*75fd0b74Schristos	* elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
2459*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
2460*75fd0b74Schristos	(_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
2461*75fd0b74Schristos	(_bfd_mips_elf_generic_reloc): Likewise.
2462*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2463*75fd0b74Schristos
2464*75fd0b74Schristos2004-06-28  Alan Modra  <amodra@bigpond.net.au>
2465*75fd0b74Schristos
2466*75fd0b74Schristos	* bfd-in.h (struct stab_info): Move from stabs.c.
2467*75fd0b74Schristos	* stabs.c (struct stab_link_includes_table): Delete.
2468*75fd0b74Schristos	(stab_link_includes_lookup): Delete.
2469*75fd0b74Schristos	(_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
2470*75fd0b74Schristos	level of indirection from sinfo parm.
2471*75fd0b74Schristos	(_bfd_link_section_stabs): Likewise.  Set SEC_LINKER_CREATED on
2472*75fd0b74Schristos	stabstr section.  Adjust hash table accesses.
2473*75fd0b74Schristos	* coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
2474*75fd0b74Schristos	alloc.  Adjust stab_info test.
2475*75fd0b74Schristos	* cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
2476*75fd0b74Schristos	(_bfd_coff_final_link): Adjust stab_info test.
2477*75fd0b74Schristos	(_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
2478*75fd0b74Schristos	* elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
2479*75fd0b74Schristos	in place.
2480*75fd0b74Schristos	* libcoff-in.h (struct coff_link_hash_table): Likewise.
2481*75fd0b74Schristos	* elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
2482*75fd0b74Schristos	* elflink.c (bfd_elf_final_link): Don't attempt to link linker created
2483*75fd0b74Schristos	stabstr section.  Adjust stab_info test.
2484*75fd0b74Schristos	* libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
2485*75fd0b74Schristos	(_bfd_write_stab_strings): Adjust prototypes.
2486*75fd0b74Schristos	* libbfd.h: Regenerate.
2487*75fd0b74Schristos	* libcoff.h: Regenerate.
2488*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2489*75fd0b74Schristos
2490*75fd0b74Schristos2004-06-27  Mark Kettenis  <kettenis@gnu.org>
2491*75fd0b74Schristos
2492*75fd0b74Schristos	From Miod Vallat <miod@online.fr>:
2493*75fd0b74Schristos	* aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
2494*75fd0b74Schristos
2495*75fd0b74Schristos2004-06-26  Alexandre Oliva  <aoliva@redhat.com>
2496*75fd0b74Schristos
2497*75fd0b74Schristos	* elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
2498*75fd0b74Schristos	(struct elf32_mn10300_link_hash_entry): Remove
2499*75fd0b74Schristos	pcrel_relocs_copied.
2500*75fd0b74Schristos	(mn10300_elf_check_relocs): Only reserve dynamic relocations for
2501*75fd0b74Schristos	R_MN10300_32.  Don't adjust pcrel_relocs_copied.
2502*75fd0b74Schristos	(mn10300_elf_final_link_relocate): Fail for direct, pc-relative
2503*75fd0b74Schristos	and gotoff relocations if the symbol doesn't bind locally.  Use
2504*75fd0b74Schristos	_bfd_elf_symbol_refs_local_p to test.  Don't create dynamic
2505*75fd0b74Schristos	relocation for PCREL32.
2506*75fd0b74Schristos	(mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
2507*75fd0b74Schristos	to test whether a symbol binds locally.
2508*75fd0b74Schristos	(elf32_mn10300_link_hash_newfunc): Don't initialize
2509*75fd0b74Schristos	pcrel_relocs_copied.
2510*75fd0b74Schristos	(_bfd_mn10300_elf_discard_copies): Delete.
2511*75fd0b74Schristos	(_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
2512*75fd0b74Schristos
2513*75fd0b74Schristos2004-06-26  Mark Kettenis  <kettenis@gnu.org>
2514*75fd0b74Schristos
2515*75fd0b74Schristos	* config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
2516*75fd0b74Schristos
2517*75fd0b74Schristos2004-06-25  Joel Brobecker  <brobecker@gnat.com>
2518*75fd0b74Schristos
2519*75fd0b74Schristos	* som.c (som_set_reloc_info): Correct small typo.
2520*75fd0b74Schristos
2521*75fd0b74Schristos2004-06-25  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2522*75fd0b74Schristos
2523*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
2524*75fd0b74Schristos	(m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
2525*75fd0b74Schristos	(m32r_elf_gcsweep_hook): Likewise.
2526*75fd0b74Schristos	(m32r_elf_check_relocs): Likewise.
2527*75fd0b74Schristos	(m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
2528*75fd0b74Schristos	R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
2529*75fd0b74Schristos	* reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
2530*75fd0b74Schristos	BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
2531*75fd0b74Schristos	* bfd-in2.h: Regenerated.
2532*75fd0b74Schristos	* libbfd.h: Regenerated.
2533*75fd0b74Schristos
2534*75fd0b74Schristos2004-06-24  H.J. Lu  <hongjiu.lu@intel.com>
2535*75fd0b74Schristos
2536*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
2537*75fd0b74Schristos	relocation symbol.
2538*75fd0b74Schristos	(elf64_x86_64_relocate_section): Issue an error for
2539*75fd0b74Schristos	R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
2540*75fd0b74Schristos	against global symbols when building shared library.
2541*75fd0b74Schristos
2542*75fd0b74Schristos2004-06-24  Alan Modra  <amodra@bigpond.net.au>
2543*75fd0b74Schristos
2544*75fd0b74Schristos	* section.c (struct sec): Rename "_cooked_size" to "size".
2545*75fd0b74Schristos	Rename "_raw_size" to "rawsize".
2546*75fd0b74Schristos	(STD_SECTION): Adjust comments.
2547*75fd0b74Schristos	(bfd_set_section_size, bfd_get_section_contents): Use size.
2548*75fd0b74Schristos	(bfd_malloc_and_get_section): New function.
2549*75fd0b74Schristos	* bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
2550*75fd0b74Schristos	* coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
2551*75fd0b74Schristos	Correctly free reloc and contents memory.
2552*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
2553*75fd0b74Schristos	and fake CIE now that we can shink section size to zero.
2554*75fd0b74Schristos	(_bfd_elf_write_section_eh_frame): Likewise..
2555*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
2556*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
2557*75fd0b74Schristos	_bfd_stab_section_offset.  Use _bfd_elf_section_offset.
2558*75fd0b74Schristos	* stabs.c (_bfd_stab_section_offset_): Remove unused args and
2559*75fd0b74Schristos	unneeded indirection.
2560*75fd0b74Schristos	* elf.c (_bfd_elf_section_offset): .. and update call.
2561*75fd0b74Schristos	* libbfd-in.h (_bfd_stab_section_offset): Update prototype.
2562*75fd0b74Schristos	* libbfd.h: Regenerate.
2563*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2564*75fd0b74Schristos
2565*75fd0b74Schristos	Replace occurrences of "_raw_size" and "_cooked_size" in most places
2566*75fd0b74Schristos	with "size".  Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
2567*75fd0b74Schristos	sections.  Use "rawsize", if non-zero, for bfd_get_section_contents
2568*75fd0b74Schristos	calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
2569*75fd0b74Schristos	Similarly use "rawsize", if non-zero, in reloc functions to validate
2570*75fd0b74Schristos	reloc addresses.  Use new bfd_malloc_and_get_section in most places
2571*75fd0b74Schristos	where bfd_get_section_contents was called.  Expand all occurrences of
2572*75fd0b74Schristos	bfd_section_size and bfd_get_section_size.  Rename "raw_size" var in
2573*75fd0b74Schristos	grok_prstatus and similar functions to "size".
2574*75fd0b74Schristos	* aix386-core.c (aix386_core_file_p): ..
2575*75fd0b74Schristos	* aix5ppc-core.c (xcoff64_core_p): ..
2576*75fd0b74Schristos	* aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
2577*75fd0b74Schristos	aout_adobe_set_section_contents): ..
2578*75fd0b74Schristos	* aout-target.h (callback): ..
2579*75fd0b74Schristos	* aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
2580*75fd0b74Schristos	MY_bfd_final_link): ..
2581*75fd0b74Schristos	* aoutf1.h (sunos4_core_file_p): ..
2582*75fd0b74Schristos	* aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
2583*75fd0b74Schristos	adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
2584*75fd0b74Schristos	final_link, aout_link_input_section): ..
2585*75fd0b74Schristos	* binary.c (binary_object_p, binary_canonicalize_symtab,
2586*75fd0b74Schristos	binary_set_section_contents): ..
2587*75fd0b74Schristos	* bout.c (b_out_callback, b_out_write_object_contents,
2588*75fd0b74Schristos	b_out_set_section_contents, b_out_bfd_relax_section,
2589*75fd0b74Schristos	b_out_bfd_get_relocated_section_contents): ..
2590*75fd0b74Schristos	* cisco-core.c (cisco_core_file_validate): ..
2591*75fd0b74Schristos	* coff-alpha.c (alpha_ecoff_object_p,
2592*75fd0b74Schristos	alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
2593*75fd0b74Schristos	* coff-arm.c (coff_arm_relocate_section,
2594*75fd0b74Schristos	bfd_arm_allocate_interworking_sections): ..
2595*75fd0b74Schristos	* coff-h8300.c (h8300_reloc16_extra_cases,
2596*75fd0b74Schristos	h8300_bfd_link_add_symbols): ..
2597*75fd0b74Schristos	* coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
2598*75fd0b74Schristos	* coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
2599*75fd0b74Schristos	ppc_bfd_coff_final_link): ..
2600*75fd0b74Schristos	* coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
2601*75fd0b74Schristos	* coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
2602*75fd0b74Schristos	sh_align_loads, sh_coff_get_relocated_section_contents): ..
2603*75fd0b74Schristos	* coff64-rs6000.c (xcoff64_write_object_contents,
2604*75fd0b74Schristos	xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
2605*75fd0b74Schristos	* coffcode.h (coff_compute_section_file_positions,
2606*75fd0b74Schristos	coff_write_object_contents): ..
2607*75fd0b74Schristos	* coffgen.c (make_a_section_from_file, coff_write_symbols,
2608*75fd0b74Schristos	coff_section_symbol, build_debug_section): ..
2609*75fd0b74Schristos	* cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
2610*75fd0b74Schristos	process_embedded_commands, _bfd_coff_link_input_bfd,
2611*75fd0b74Schristos	_bfd_coff_write_global_sym): ..
2612*75fd0b74Schristos	* cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
2613*75fd0b74Schristos	* cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
2614*75fd0b74Schristos	* dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
2615*75fd0b74Schristos	* dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
2616*75fd0b74Schristos	_bfd_dwarf2_find_nearest_line): ..
2617*75fd0b74Schristos	* ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
2618*75fd0b74Schristos	ecoff_compute_section_file_positions,
2619*75fd0b74Schristos	_bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
2620*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
2621*75fd0b74Schristos	_bfd_elf_discard_section_eh_frame_hdr,
2622*75fd0b74Schristos	_bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
2623*75fd0b74Schristos	_bfd_elf_write_section_eh_frame,
2624*75fd0b74Schristos	_bfd_elf_write_section_eh_frame_hdr): ..
2625*75fd0b74Schristos	* elf-hppa.h (elf_hppa_sort_unwind): ..
2626*75fd0b74Schristos	* elf-m10200.c (mn10200_elf_relax_section,
2627*75fd0b74Schristos	mn10200_elf_relax_delete_bytes,
2628*75fd0b74Schristos	mn10200_elf_get_relocated_section_contents): ..
2629*75fd0b74Schristos	* elf-m10300.c (_bfd_mn10300_elf_create_got_section,
2630*75fd0b74Schristos	mn10300_elf_check_relocs, mn10300_elf_relax_section,
2631*75fd0b74Schristos	mn10300_elf_relax_delete_bytes,
2632*75fd0b74Schristos	mn10300_elf_get_relocated_section_contents,
2633*75fd0b74Schristos	_bfd_mn10300_elf_adjust_dynamic_symbol,
2634*75fd0b74Schristos	_bfd_mn10300_elf_discard_copies,
2635*75fd0b74Schristos	_bfd_mn10300_elf_size_dynamic_sections,
2636*75fd0b74Schristos	_bfd_mn10300_elf_finish_dynamic_sections): ..
2637*75fd0b74Schristos	* elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
2638*75fd0b74Schristos	_bfd_elf_make_section_from_phdr, elf_fake_sections,
2639*75fd0b74Schristos	bfd_elf_set_group_contents, map_sections_to_segments,
2640*75fd0b74Schristos	elf_sort_sections, assign_file_positions_for_segments,
2641*75fd0b74Schristos	SECTION_SIZE, copy_private_bfd_data,
2642*75fd0b74Schristos	_bfd_elf_get_dynamic_reloc_upper_bound,
2643*75fd0b74Schristos	_bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
2644*75fd0b74Schristos	_bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
2645*75fd0b74Schristos	elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
2646*75fd0b74Schristos	elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
2647*75fd0b74Schristos	_bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
2648*75fd0b74Schristos	* elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
2649*75fd0b74Schristos	bfd_elf32_arm_process_before_allocation,
2650*75fd0b74Schristos	elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
2651*75fd0b74Schristos	elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
2652*75fd0b74Schristos	elf32_arm_write_section): ..
2653*75fd0b74Schristos	* elf32-cris.c (cris_elf_grok_prstatus,
2654*75fd0b74Schristos	elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
2655*75fd0b74Schristos	elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
2656*75fd0b74Schristos	cris_elf_check_relocs, elf_cris_size_dynamic_sections,
2657*75fd0b74Schristos	elf_cris_discard_excess_dso_dynamics,
2658*75fd0b74Schristos	elf_cris_discard_excess_program_dynamics): ..
2659*75fd0b74Schristos	* elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
2660*75fd0b74Schristos	* elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
2661*75fd0b74Schristos	* elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
2662*75fd0b74Schristos	_frv_create_got_section, _frvfdpic_assign_plt_entries,
2663*75fd0b74Schristos	elf32_frvfdpic_size_dynamic_sections,
2664*75fd0b74Schristos	elf32_frvfdpic_modify_segment_map,
2665*75fd0b74Schristos	elf32_frvfdpic_finish_dynamic_sections): ..
2666*75fd0b74Schristos	* elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
2667*75fd0b74Schristos	elf32_h8_get_relocated_section_contents): ..
2668*75fd0b74Schristos	* elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
2669*75fd0b74Schristos	elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
2670*75fd0b74Schristos	allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
2671*75fd0b74Schristos	elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
2672*75fd0b74Schristos	elf32_hppa_finish_dynamic_sections): ..
2673*75fd0b74Schristos	* elf32-i370.c (i370_elf_adjust_dynamic_symbol,
2674*75fd0b74Schristos	i370_elf_size_dynamic_sections, i370_elf_check_relocs,
2675*75fd0b74Schristos	i370_elf_finish_dynamic_sections): ..
2676*75fd0b74Schristos	* elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
2677*75fd0b74Schristos	allocate_dynrelocs, elf_i386_size_dynamic_sections,
2678*75fd0b74Schristos	elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
2679*75fd0b74Schristos	* elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
2680*75fd0b74Schristos	i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
2681*75fd0b74Schristos	* elf32-ip2k.c (ip2k_is_switch_table_128,
2682*75fd0b74Schristos	ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
2683*75fd0b74Schristos	ip2k_relax_switch_table_256, ip2k_elf_relax_section,
2684*75fd0b74Schristos	adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
2685*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
2686*75fd0b74Schristos	m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
2687*75fd0b74Schristos	allocate_dynrelocs, m32r_elf_size_dynamic_sections,
2688*75fd0b74Schristos	m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
2689*75fd0b74Schristos	m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
2690*75fd0b74Schristos	m32r_elf_get_relocated_section_contents): ..
2691*75fd0b74Schristos	* elf32-m68hc11.c (m68hc11_elf_build_one_stub,
2692*75fd0b74Schristos	m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
2693*75fd0b74Schristos	m68hc11_elf_relax_delete_bytes): ..
2694*75fd0b74Schristos	* elf32-m68hc12.c (m68hc12_elf_build_one_stub,
2695*75fd0b74Schristos	m68hc12_elf_size_one_stub): ..
2696*75fd0b74Schristos	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
2697*75fd0b74Schristos	elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
2698*75fd0b74Schristos	* elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
2699*75fd0b74Schristos	elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
2700*75fd0b74Schristos	elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
2701*75fd0b74Schristos	* elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
2702*75fd0b74Schristos	elf32_mips_grok_prstatus): ..
2703*75fd0b74Schristos	* elf32-or32.c (or32_elf_consth_reloc): ..
2704*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
2705*75fd0b74Schristos	elf_create_pointer_linker_section, ppc_elf_create_linker_section,
2706*75fd0b74Schristos	ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
2707*75fd0b74Schristos	allocate_dynrelocs, ppc_elf_size_dynamic_sections,
2708*75fd0b74Schristos	ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
2709*75fd0b74Schristos	ppc_elf_final_write_processing): ..
2710*75fd0b74Schristos	* elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
2711*75fd0b74Schristos	allocate_dynrelocs, elf_s390_size_dynamic_sections,
2712*75fd0b74Schristos	elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
2713*75fd0b74Schristos	* elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
2714*75fd0b74Schristos	sh_elf_relax_delete_bytes, sh_elf_align_loads,
2715*75fd0b74Schristos	sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
2716*75fd0b74Schristos	sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
2717*75fd0b74Schristos	sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
2718*75fd0b74Schristos	* elf32-sh64-com.c (sh64_address_in_cranges,
2719*75fd0b74Schristos	sh64_get_contents_type): ..
2720*75fd0b74Schristos	* elf32-sh64.c (sh64_find_section_for_address,
2721*75fd0b74Schristos	sh64_elf_final_write_processing): ..
2722*75fd0b74Schristos	* elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
2723*75fd0b74Schristos	sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
2724*75fd0b74Schristos	allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
2725*75fd0b74Schristos	elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
2726*75fd0b74Schristos	* elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
2727*75fd0b74Schristos	* elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
2728*75fd0b74Schristos	elf_vax_size_dynamic_sections, elf_vax_discard_copies,
2729*75fd0b74Schristos	elf_vax_instantiate_got_entries, elf_vax_relocate_section,
2730*75fd0b74Schristos	elf_vax_finish_dynamic_sections): ..
2731*75fd0b74Schristos	* elf32-xstormy16.c (xstormy16_elf_24_reloc,
2732*75fd0b74Schristos	xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
2733*75fd0b74Schristos	xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
2734*75fd0b74Schristos	xstormy16_elf_finish_dynamic_sections): ..
2735*75fd0b74Schristos	* elf32-xtensa.c (xtensa_read_table_entries,
2736*75fd0b74Schristos	elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
2737*75fd0b74Schristos	elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
2738*75fd0b74Schristos	bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
2739*75fd0b74Schristos	elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
2740*75fd0b74Schristos	elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
2741*75fd0b74Schristos	get_relocation_opcode, retrieve_contents, find_relaxable_sections,
2742*75fd0b74Schristos	collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
2743*75fd0b74Schristos	relax_section, shrink_dynamic_reloc_sections, relax_property_section,
2744*75fd0b74Schristos	xtensa_callback_required_dependence): ..
2745*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
2746*75fd0b74Schristos	elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
2747*75fd0b74Schristos	elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
2748*75fd0b74Schristos	elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
2749*75fd0b74Schristos	elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
2750*75fd0b74Schristos	elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
2751*75fd0b74Schristos	elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
2752*75fd0b74Schristos	elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
2753*75fd0b74Schristos	* elf64-hppa.c (allocate_dynrel_entries,
2754*75fd0b74Schristos	elf64_hppa_size_dynamic_sections,
2755*75fd0b74Schristos	elf64_hppa_finish_dynamic_sections): ..
2756*75fd0b74Schristos	* elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
2757*75fd0b74Schristos	mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
2758*75fd0b74Schristos	elf64_mips_grok_prstatus): ..
2759*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
2760*75fd0b74Schristos	mmix_elf_relocate_section, mmix_elf_final_link,
2761*75fd0b74Schristos	mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
2762*75fd0b74Schristos	mmix_elf_relax_section, mmix_elf_get_section_contents): ..
2763*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
2764*75fd0b74Schristos	ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
2765*75fd0b74Schristos	ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
2766*75fd0b74Schristos	allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
2767*75fd0b74Schristos	ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
2768*75fd0b74Schristos	toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
2769*75fd0b74Schristos	ppc64_elf_build_stubs, ppc64_elf_relocate_section,
2770*75fd0b74Schristos	ppc64_elf_finish_dynamic_sections): ..
2771*75fd0b74Schristos	* elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
2772*75fd0b74Schristos	allocate_dynrelocs, elf_s390_size_dynamic_sections,
2773*75fd0b74Schristos	elf_s390_finish_dynamic_sections): ..
2774*75fd0b74Schristos	* elf64-sh64.c (sh_elf64_get_relocated_section_contents,
2775*75fd0b74Schristos	sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
2776*75fd0b74Schristos	sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
2777*75fd0b74Schristos	sh64_elf64_finish_dynamic_sections): ..
2778*75fd0b74Schristos	* elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
2779*75fd0b74Schristos	sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
2780*75fd0b74Schristos	sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
2781*75fd0b74Schristos	sparc64_elf_finish_dynamic_symbol,
2782*75fd0b74Schristos	sparc64_elf_finish_dynamic_sections): ..
2783*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_grok_prstatus,
2784*75fd0b74Schristos	elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
2785*75fd0b74Schristos	elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
2786*75fd0b74Schristos	elf64_x86_64_finish_dynamic_sections): ..
2787*75fd0b74Schristos	* elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
2788*75fd0b74Schristos	* elfcode.h (elf_slurp_reloc_table): ..
2789*75fd0b74Schristos	* elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
2790*75fd0b74Schristos	elf_finalize_dynstr, elf_link_add_object_symbols,
2791*75fd0b74Schristos	bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
2792*75fd0b74Schristos	elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
2793*75fd0b74Schristos	* elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
2794*75fd0b74Schristos	elf32_mips_grok_prstatus): ..
2795*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
2796*75fd0b74Schristos	elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
2797*75fd0b74Schristos	elfNN_ia64_choose_gp, elfNN_ia64_final_link,
2798*75fd0b74Schristos	elfNN_ia64_finish_dynamic_sections): ..
2799*75fd0b74Schristos	* elfxx-mips.c (mips_elf_create_procedure_table,
2800*75fd0b74Schristos	mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
2801*75fd0b74Schristos	_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
2802*75fd0b74Schristos	mips_elf_global_got_index, mips_elf_multi_got,
2803*75fd0b74Schristos	mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
2804*75fd0b74Schristos	mips_elf_allocate_dynamic_relocations,
2805*75fd0b74Schristos	mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
2806*75fd0b74Schristos	_bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
2807*75fd0b74Schristos	_bfd_mips_elf_always_size_sections,
2808*75fd0b74Schristos	_bfd_mips_elf_size_dynamic_sections,
2809*75fd0b74Schristos	_bfd_mips_elf_finish_dynamic_symbol,
2810*75fd0b74Schristos	_bfd_mips_elf_finish_dynamic_sections,
2811*75fd0b74Schristos	_bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
2812*75fd0b74Schristos	_bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
2813*75fd0b74Schristos	_bfd_elf_mips_get_relocated_section_contents,
2814*75fd0b74Schristos	_bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
2815*75fd0b74Schristos	* hp300hpux.c (callback): ..
2816*75fd0b74Schristos	* hppabsd-core.c (make_bfd_asection): ..
2817*75fd0b74Schristos	* hpux-core.c (make_bfd_asection): ..
2818*75fd0b74Schristos	* i386linux.c (linux_link_create_dynamic_sections,
2819*75fd0b74Schristos	bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
2820*75fd0b74Schristos	* i386msdos.c (msdos_write_object_contents): ..
2821*75fd0b74Schristos	* i386os9k.c (os9k_callback, os9k_write_object_contents,
2822*75fd0b74Schristos	os9k_set_section_contents): ..
2823*75fd0b74Schristos	* ieee.c (parse_expression, ieee_slurp_external_symbols,
2824*75fd0b74Schristos	ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
2825*75fd0b74Schristos	ieee_write_section_part, do_with_relocs, do_as_repeat,
2826*75fd0b74Schristos	do_without_relocs, ieee_write_debug_part, init_for_output,
2827*75fd0b74Schristos	ieee_set_section_contents): ..
2828*75fd0b74Schristos	* ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
2829*75fd0b74Schristos	* irix-core.c (do_sections, make_bfd_asection): ..
2830*75fd0b74Schristos	* libaout.h (aout_section_merge_with_text_p): ..
2831*75fd0b74Schristos	* libbfd.c (_bfd_generic_get_section_contents,
2832*75fd0b74Schristos	_bfd_generic_get_section_contents_in_window): ..
2833*75fd0b74Schristos	* linker.c (default_indirect_link_order): ..
2834*75fd0b74Schristos	* lynx-core.c (make_bfd_asection): ..
2835*75fd0b74Schristos	* m68klinux.c (linux_link_create_dynamic_sections,
2836*75fd0b74Schristos	bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
2837*75fd0b74Schristos	* mach-o.c (bfd_mach_o_make_bfd_section,
2838*75fd0b74Schristos	bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
2839*75fd0b74Schristos	bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
2840*75fd0b74Schristos	bfd_mach_o_scan_read_segment): ..
2841*75fd0b74Schristos	* merge.c (_bfd_add_merge_section, record_section, merge_strings,
2842*75fd0b74Schristos	_bfd_merge_sections): ..
2843*75fd0b74Schristos	* mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
2844*75fd0b74Schristos	mmo_map_set_sizes, mmo_canonicalize_symtab,
2845*75fd0b74Schristos	mmo_internal_write_section, mmo_write_object_contents): ..
2846*75fd0b74Schristos	* netbsd-core.c (netbsd_core_file_p): ..
2847*75fd0b74Schristos	* nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
2848*75fd0b74Schristos	nlm_alpha_set_public_section): ..
2849*75fd0b74Schristos	* nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
2850*75fd0b74Schristos	* nlm32-sparc.c (nlm_sparc_write_import): ..
2851*75fd0b74Schristos	* nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
2852*75fd0b74Schristos	nlm_compute_section_file_positions): ..
2853*75fd0b74Schristos	* oasys.c (oasys_object_p, oasys_slurp_section_data,
2854*75fd0b74Schristos	oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
2855*75fd0b74Schristos	* opncls.c (get_debug_link_info): ..
2856*75fd0b74Schristos	* osf-core.c (make_bfd_asection): ..
2857*75fd0b74Schristos	* pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
2858*75fd0b74Schristos	adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
2859*75fd0b74Schristos	final_link, aout_link_input_section): ..
2860*75fd0b74Schristos	* peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
2861*75fd0b74Schristos	pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
2862*75fd0b74Schristos	* pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
2863*75fd0b74Schristos	bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
2864*75fd0b74Schristos	* ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
2865*75fd0b74Schristos	* ptrace-core.c (ptrace_unix_core_file_p): ..
2866*75fd0b74Schristos	* reloc.c (bfd_perform_relocation, bfd_install_relocation,
2867*75fd0b74Schristos	_bfd_final_link_relocate, bfd_generic_relax_section,
2868*75fd0b74Schristos	bfd_generic_get_relocated_section_contents): ..
2869*75fd0b74Schristos	* reloc16.c (bfd_coff_reloc16_relax_section,
2870*75fd0b74Schristos	bfd_coff_reloc16_get_relocated_section_c): ..
2871*75fd0b74Schristos	* riscix.c (riscix_some_aout_object_p): ..
2872*75fd0b74Schristos	* rs6000-core.c (read_hdr, make_bfd_asection): ..
2873*75fd0b74Schristos	* sco5-core.c (make_bfd_asection): ..
2874*75fd0b74Schristos	* simple.c (bfd_simple_get_relocated_section_contents): ..
2875*75fd0b74Schristos	* som.c (som_object_setup, setup_sections, som_prep_headers,
2876*75fd0b74Schristos	som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
2877*75fd0b74Schristos	som_set_reloc_info, som_get_section_contents,
2878*75fd0b74Schristos	som_bfd_link_split_section): ..
2879*75fd0b74Schristos	* sparclinux.c (linux_link_create_dynamic_sections,
2880*75fd0b74Schristos	bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
2881*75fd0b74Schristos	* srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
2882*75fd0b74Schristos	* stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
2883*75fd0b74Schristos	_bfd_write_stab_strings, _bfd_stab_section_offset): ..
2884*75fd0b74Schristos	* sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
2885*75fd0b74Schristos	bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
2886*75fd0b74Schristos	sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
2887*75fd0b74Schristos	sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
2888*75fd0b74Schristos	sunos_finish_dynamic_link): ..
2889*75fd0b74Schristos	* syms.c (_bfd_stab_section_find_nearest_line): ..
2890*75fd0b74Schristos	* tekhex.c (first_phase, tekhex_set_section_contents,
2891*75fd0b74Schristos	tekhex_write_object_contents): ..
2892*75fd0b74Schristos	* trad-core.c (trad_unix_core_file_p): ..
2893*75fd0b74Schristos	* versados.c (process_esd, process_otr, process_otr): ..
2894*75fd0b74Schristos	* vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
2895*75fd0b74Schristos	* vms-misc.c (add_new_contents): ..
2896*75fd0b74Schristos	* vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
2897*75fd0b74Schristos	* vms.c (vms_set_section_contents): ..
2898*75fd0b74Schristos	* xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
2899*75fd0b74Schristos	xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
2900*75fd0b74Schristos	_bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
2901*75fd0b74Schristos	* xsym.c (bfd_sym_scan): .. See above.
2902*75fd0b74Schristos
2903*75fd0b74Schristos2004-06-21  H.J. Lu  <hongjiu.lu@intel.com>
2904*75fd0b74Schristos
2905*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
2906*75fd0b74Schristos	calling _bfd_merged_section_offset only for section symbols.
2907*75fd0b74Schristos
2908*75fd0b74Schristos2004-06-22  Alan Modra  <amodra@bigpond.net.au>
2909*75fd0b74Schristos
2910*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_relax_section): Implement reference code
2911*75fd0b74Schristos	for handling SEC_MERGE symbols in relax_section.
2912*75fd0b74Schristos
2913*75fd0b74Schristos2004-06-21  Alexandre Oliva  <aoliva@redhat.com>
2914*75fd0b74Schristos
2915*75fd0b74Schristos	2003-05-15  Richard Sandiford  <rsandifo@redhat.com>
2916*75fd0b74Schristos	* cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
2917*75fd0b74Schristos	linked together. Mark the result as h8300sx code.
2918*75fd0b74Schristos
2919*75fd0b74Schristos2004-06-21  Alexandre Oliva  <aoliva@redhat.com>
2920*75fd0b74Schristos
2921*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data): Added
2922*75fd0b74Schristos	elf_backend_omit_section_dynsym.
2923*75fd0b74Schristos	(_bfd_elf_link_omit_section_dynsym): Declare.
2924*75fd0b74Schristos	* elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
2925*75fd0b74Schristos	(elf_backend_omit_section_dynsym): Use it for frvfdpic.
2926*75fd0b74Schristos	* elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
2927*75fd0b74Schristos	(_bfd_elf_link_renumber_dynsyms): ... this function.
2928*75fd0b74Schristos	* elfxx-target.h (elf_backend_omit_section_dynsym): Default to
2929*75fd0b74Schristos	_bfd_elf_link_omit_section_dynsym).
2930*75fd0b74Schristos	(elfNN_bed): Added elf_backend_omit_section_dynsym.
2931*75fd0b74Schristos
2932*75fd0b74Schristos2004-06-21  Nick Clifton  <nickc@redhat.com>
2933*75fd0b74Schristos
2934*75fd0b74Schristos	* coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
2935*75fd0b74Schristos	flags.
2936*75fd0b74Schristos
2937*75fd0b74Schristos2004-06-17  Jerome Guitton  <guitton@gnat.com>
2938*75fd0b74Schristos
2939*75fd0b74Schristos	* bfd-in.h (bfd_cache_close_all): New function declaration.
2940*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2941*75fd0b74Schristos	* cache.c (bfd_cache_close_all): New function definition.
2942*75fd0b74Schristos
2943*75fd0b74Schristos2004-06-16  Mark Kettenis  <kettenis@gnu.org>
2944*75fd0b74Schristos
2945*75fd0b74Schristos	* configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
2946*75fd0b74Schristos	4.10 and beyond.
2947*75fd0b74Schristos	* configure: Regenerate.
2948*75fd0b74Schristos
2949*75fd0b74Schristos2004-06-16  Daniel Jacobowitz  <dan@debian.org>
2950*75fd0b74Schristos
2951*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
2952*75fd0b74Schristos	the pre-existing section.
2953*75fd0b74Schristos
2954*75fd0b74Schristos2004-06-15  Alan Modra  <amodra@bigpond.net.au>
2955*75fd0b74Schristos
2956*75fd0b74Schristos	* section.c (struct sec): Remove usused flags.  Reorganize a little.
2957*75fd0b74Schristos	(bfd_get_section_size_before_reloc): Delete.
2958*75fd0b74Schristos	(bfd_get_section_size_after_reloc): Delete.
2959*75fd0b74Schristos	(STD_SECTION): Update.
2960*75fd0b74Schristos	(bfd_get_section_size_now): Delete.
2961*75fd0b74Schristos	(bfd_set_section_contents): Don't referece reloc_done.
2962*75fd0b74Schristos	(bfd_get_section_contents): Remove reloc_done comment.
2963*75fd0b74Schristos	* bout.c (b_out_bfd_get_relocated_section_contents): Don't set
2964*75fd0b74Schristos	reloc_done.
2965*75fd0b74Schristos	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
2966*75fd0b74Schristos	* ecoff.c (bfd_debug_section): Update initializer.
2967*75fd0b74Schristos	* elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
2968*75fd0b74Schristos	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
2969*75fd0b74Schristos	* bfd-in.h (bfd_section_size): Expand.
2970*75fd0b74Schristos	(bfd_get_section_size): New macro.
2971*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2972*75fd0b74Schristos	* coff64-rs6000.c (xcoff64_write_object_contents): Replace
2973*75fd0b74Schristos	bfd_get_section_size_before_reloc with bfd_get_section_size.
2974*75fd0b74Schristos	* coffcode.h (coff_write_object_contents): Likewise.
2975*75fd0b74Schristos	* coffgen.c (build_debug_section): Likewise.
2976*75fd0b74Schristos	* dwarf1.c (parse_line_table): Likewise.
2977*75fd0b74Schristos	(_bfd_dwarf1_find_nearest_line): Likewise.
2978*75fd0b74Schristos	* ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
2979*75fd0b74Schristos	* i386msdos.c (msdos_write_object_contents): Likewise.
2980*75fd0b74Schristos	* pdp11.c (squirt_out_relocs): Likewise.
2981*75fd0b74Schristos	* elf32-sh64.c (sh64_find_section_for_address): Remove comment.
2982*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_final_link): Update comment.
2983*75fd0b74Schristos
2984*75fd0b74Schristos2004-06-14  Chris Demetriou  <cgd@broadcom.com>
2985*75fd0b74Schristos
2986*75fd0b74Schristos	* elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
2987*75fd0b74Schristos	removal) with updated comment.
2988*75fd0b74Schristos	(bfd_elf32_bfd_reloc_type_lookup): Add back case for
2989*75fd0b74Schristos	BFD_RELOC_32_PCREL.
2990*75fd0b74Schristos	(mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
2991*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2992*75fd0b74Schristos
2993*75fd0b74Schristos2004-06-12  Alan Modra  <amodra@bigpond.net.au>
2994*75fd0b74Schristos
2995*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
2996*75fd0b74Schristos	overflow on branches to undefweaks.
2997*75fd0b74Schristos
2998*75fd0b74Schristos2004-06-11  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
2999*75fd0b74Schristos
3000*75fd0b74Schristos	* coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
3001*75fd0b74Schristos	as ecoff_section_data() does not return a valid lvalue.
3002*75fd0b74Schristos
3003*75fd0b74Schristos2004-06-09  Alexandre Oliva  <aoliva@redhat.com>
3004*75fd0b74Schristos
3005*75fd0b74Schristos	* elflink.c (elf_sort_symbol): Compare section id, not pointers.
3006*75fd0b74Schristos	(elf_link_add_object_symbols): Likewise.
3007*75fd0b74Schristos
3008*75fd0b74Schristos	* elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
3009*75fd0b74Schristos	(elf_backend_reloc_type_class): New.
3010*75fd0b74Schristos
3011*75fd0b74Schristos2004-06-08  Mark Kettenis  <kettenis@gnu.org>
3012*75fd0b74Schristos
3013*75fd0b74Schristos	* configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
3014*75fd0b74Schristos	netbsd-core.lo.
3015*75fd0b74Schristos	* configure: Regenerate.
3016*75fd0b74Schristos
3017*75fd0b74Schristos2004-06-07  Daniel Jacobowitz  <dan@debian.org>
3018*75fd0b74Schristos
3019*75fd0b74Schristos	From:  Albert Chin-A-Young  <china@thewrittenword.com>
3020*75fd0b74Schristos	* elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
3021*75fd0b74Schristos	to unsigned int.
3022*75fd0b74Schristos
3023*75fd0b74Schristos2004-05-29  H.J. Lu  <hongjiu.lu@intel.com>
3024*75fd0b74Schristos
3025*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
3026*75fd0b74Schristos	change.
3027*75fd0b74Schristos
3028*75fd0b74Schristos2004-05-28  DJ Delorie  <dj@redhat.com>
3029*75fd0b74Schristos
3030*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
3031*75fd0b74Schristos	for linking, but otherwise adjust reloc for merged sections.
3032*75fd0b74Schristos
3033*75fd0b74Schristos2004-05-28  H.J. Lu  <hongjiu.lu@intel.com>
3034*75fd0b74Schristos
3035*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
3036*75fd0b74Schristos	_bfd_merged_section_offset for local symbols.
3037*75fd0b74Schristos
3038*75fd0b74Schristos2004-05-28  Andrew Stubbs <andrew.stubbs@superh.com>
3039*75fd0b74Schristos
3040*75fd0b74Schristos	* Makefile.am: Regenerate dependencies.
3041*75fd0b74Schristos	* Makefile.in: Regenerate.
3042*75fd0b74Schristos	* archures.c: Add bfd_mach_sh3_nommu .
3043*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3044*75fd0b74Schristos	* cpu-sh.c: Add sh3-nommu architecture.
3045*75fd0b74Schristos	(bfd_to_arch_table): Create new table.
3046*75fd0b74Schristos	(sh_get_arch_from_bfd_mach): Create new function.
3047*75fd0b74Schristos	(sh_get_arch_up_from_bfd_mach): Create new function.
3048*75fd0b74Schristos	(sh_merge_bfd_arch): Create new function.
3049*75fd0b74Schristos	* elf32-sh.c (sh_ef_bfd_table): Add table.
3050*75fd0b74Schristos	(sh_elf_check_relocs): Replace switch statement with
3051*75fd0b74Schristos	use of sh_ef_bfd_table .
3052*75fd0b74Schristos	(sh_elf_get_flags_from_mach): Add new function.
3053*75fd0b74Schristos	(sh_find_elf_flags): Likewise.
3054*75fd0b74Schristos	(sh_elf_copy_private_data): Replace most of non-elf contents
3055*75fd0b74Schristos	with a call to sh_merge_bfd_arch() .
3056*75fd0b74Schristos
3057*75fd0b74Schristos2004-05-27  Michael Chastain  <mec.gnu@mindspring.com>
3058*75fd0b74Schristos
3059*75fd0b74Schristos	* Makefile.am (bfdver.h): Use explicit filename, not $< .
3060*75fd0b74Schristos	* Makefile.in: Regenerate.
3061*75fd0b74Schristos
3062*75fd0b74Schristos2004-05-27  Alexandre Oliva  <aoliva@redhat.com>
3063*75fd0b74Schristos
3064*75fd0b74Schristos	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
3065*75fd0b74Schristos	custom calling conventions for dynamic symbols.
3066*75fd0b74Schristos	(mn10300_elf_relax_section): Avoid relaxing a function as a local
3067*75fd0b74Schristos	symbol if it's an alias to a global one.
3068*75fd0b74Schristos
3069*75fd0b74Schristos2004-05-26  H.J. Lu  <hongjiu.lu@intel.com>
3070*75fd0b74Schristos
3071*75fd0b74Schristos	* elf.c (_bfd_elf_make_section_from_shdr): Undo the last
3072*75fd0b74Schristos	change.
3073*75fd0b74Schristos
3074*75fd0b74Schristos2004-05-27  Alexandre Oliva  <aoliva@redhat.com>
3075*75fd0b74Schristos
3076*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
3077*75fd0b74Schristos	loop over hashes.
3078*75fd0b74Schristos
3079*75fd0b74Schristos2004-05-26  Alan Modra  <amodra@bigpond.net.au>
3080*75fd0b74Schristos
3081*75fd0b74Schristos	* elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
3082*75fd0b74Schristos	for SHT_GROUP sections.
3083*75fd0b74Schristos
3084*75fd0b74Schristos2004-05-25  Alan Modra  <amodra@bigpond.net.au>
3085*75fd0b74Schristos
3086*75fd0b74Schristos	* elflink.c (elf_link_add_object_symbols): Don't set up merge
3087*75fd0b74Schristos	section data here..
3088*75fd0b74Schristos	* elf.c (_bfd_elf_merge_sections): .. Do it here instead.
3089*75fd0b74Schristos	* merge.c: Formatting.  Remove unnecessary casts.  Expand
3090*75fd0b74Schristos	bfd_get_section_alignment macro.
3091*75fd0b74Schristos	(struct sec_merge_sec_info): Rename "first" to "first_str".  Update
3092*75fd0b74Schristos	use throughout file.
3093*75fd0b74Schristos	(_bfd_add_merge_section): Rename from _bfd_merge_section.  Update
3094*75fd0b74Schristos	comment.  Abort on dynamic or non-SEC_MERGE input.  Don't test
3095*75fd0b74Schristos	section name to determine sinfo group, instead test output section
3096*75fd0b74Schristos	and alignment.
3097*75fd0b74Schristos	(_bfd_merge_sections): Add struct bfd_link_info param.  Call
3098*75fd0b74Schristos	_bfd_strip_section_from_output rather than just twiddling flags.
3099*75fd0b74Schristos	* libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
3100*75fd0b74Schristos	(_bfd_merge_sections): Update prototype.
3101*75fd0b74Schristos	* libbfd.h: Regenerate.
3102*75fd0b74Schristos
3103*75fd0b74Schristos2004-05-24  Mark Kettenis  <kettenis@gnu.org>
3104*75fd0b74Schristos
3105*75fd0b74Schristos	* netbsd-core.c: Correctly indent section that sets architecture
3106*75fd0b74Schristos	from machine ID.
3107*75fd0b74Schristos
3108*75fd0b74Schristos	From Miod Vallat <miod@online.fr>:
3109*75fd0b74Schristos	* m88kopenbsd.c: New file.
3110*75fd0b74Schristos	* targets.c (m88k_openbsd_vec): New.
3111*75fd0b74Schristos	* config.bfd: Add m88k-*-openbsd*.
3112*75fd0b74Schristos	* configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
3113*75fd0b74Schristos	(m88kopenbsd_vec): New.
3114*75fd0b74Schristos	* configure: Regenerate.
3115*75fd0b74Schristos	* Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
3116*75fd0b74Schristos	(BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
3117*75fd0b74Schristos	Run "make dep-am".
3118*75fd0b74Schristos	* Makefile.in: Regenerate.
3119*75fd0b74Schristos	* po/SRC-POTFILES.in: Regenerate.
3120*75fd0b74Schristos
3121*75fd0b74Schristos2004-05-24  Nick Clifton  <nickc@redhat.com>
3122*75fd0b74Schristos
3123*75fd0b74Schristos	* hash.c: Remove bogus node "Changing the default Hash Table Size"
3124*75fd0b74Schristos	introduced by hash table size patch.
3125*75fd0b74Schristos
3126*75fd0b74Schristos2004-05-22  Ben Elliston  <bje@au.ibm.com>
3127*75fd0b74Schristos
3128*75fd0b74Schristos	* configure.in (is_release): Remove.
3129*75fd0b74Schristos	(bfd_version_date, bfd_version, bfd_version_string): Likewise.
3130*75fd0b74Schristos	(AC_OUTPUT): Don't output bfdver.h from version.h.
3131*75fd0b74Schristos	* configure: Regenerate.
3132*75fd0b74Schristos	* Makefile.am (RELEASE): New variable.
3133*75fd0b74Schristos	(bfdver.h): New target.
3134*75fd0b74Schristos	* Makefile.in: Regenerate.
3135*75fd0b74Schristos	* doc/Makefile.in: Likewise.
3136*75fd0b74Schristos
3137*75fd0b74Schristos2004-05-22  Ben Elliston  <bje@au.ibm.com>
3138*75fd0b74Schristos
3139*75fd0b74Schristos	* Makefile.am (config.status): Don't depend on version.h.
3140*75fd0b74Schristos	* Makefile.in: Regenerate.
3141*75fd0b74Schristos
3142*75fd0b74Schristos2004-05-22  Alan Modra  <amodra@bigpond.net.au>
3143*75fd0b74Schristos
3144*75fd0b74Schristos	* merge.c (_bfd_merged_section_offset): Remove "addend" param.
3145*75fd0b74Schristos	* libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
3146*75fd0b74Schristos	* libbfd.h: Regenerate.
3147*75fd0b74Schristos	* elf.c (_bfd_elf_rela_local_sym): Adjust call.
3148*75fd0b74Schristos	(_bfd_elf_rel_local_sym): Likewise.
3149*75fd0b74Schristos	* elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
3150*75fd0b74Schristos	(elf_link_input_bfd): Likewise.
3151*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_relax_section): Likewise.
3152*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
3153*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
3154*75fd0b74Schristos	(elfNN_ia64_relocate_section): Likewise.
3155*75fd0b74Schristos
3156*75fd0b74Schristos2004-05-21  Andy Chittenden  <achittenden@bluearc.com>
3157*75fd0b74Schristos
3158*75fd0b74Schristos	* hash.c (bfd_default_hash_table_size): New variable.
3159*75fd0b74Schristos	(bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
3160*75fd0b74Schristos	(bfd_hash_set_default_size): New function.  Set the default size
3161*75fd0b74Schristos	to a selected prime number close to the argument.  Document new
3162*75fd0b74Schristos	function.
3163*75fd0b74Schristos	* bfd-in.h: Add prototype for  bfd_hash_set_default_size.
3164*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3165*75fd0b74Schristos	* Makefile.am (hash.lo): Add dependency upon libiberty.h.
3166*75fd0b74Schristos	* Makefile.in: Regenerate.
3167*75fd0b74Schristos
3168*75fd0b74Schristos2004-05-21  Mark Kettenis  <kettenis@gnu.org>
3169*75fd0b74Schristos
3170*75fd0b74Schristos	* libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
3171*75fd0b74Schristos	* netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
3172*75fd0b74Schristos	arm, m68k, m88k and hppa core files.
3173*75fd0b74Schristos
3174*75fd0b74Schristos2004-05-21  Nick Clifton  <nickc@redhat.com>
3175*75fd0b74Schristos
3176*75fd0b74Schristos	* bfdio.c (bfd_bread): Do not use iovec if it is NULL.
3177*75fd0b74Schristos	(bfd_bwrite): Likewise.
3178*75fd0b74Schristos	(bfd_tell): Likewise.
3179*75fd0b74Schristos	(bfd_flush): Likewise.
3180*75fd0b74Schristos	(bfd_stat): Likewise.
3181*75fd0b74Schristos	(bfd_seek): Likewise.
3182*75fd0b74Schristos	(bfd_get_mtime): Likewise.
3183*75fd0b74Schristos	(bfd_get_size): Likewise.
3184*75fd0b74Schristos
3185*75fd0b74Schristos2004-05-19  Ben Elliston  <bje@au.ibm.com>
3186*75fd0b74Schristos
3187*75fd0b74Schristos	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
3188*75fd0b74Schristos
3189*75fd0b74Schristos2004-05-19  Mikulas Patocka  <mikulas@artax.karlin.mff.cuni.cz>
3190*75fd0b74Schristos
3191*75fd0b74Schristos	* archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
3192*75fd0b74Schristos	(bfd_generic_openr_next_archived_file): Likewise.
3193*75fd0b74Schristos
3194*75fd0b74Schristos2004-05-17  Bob Wilson  <bob.wilson@acm.org>
3195*75fd0b74Schristos
3196*75fd0b74Schristos	* elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
3197*75fd0b74Schristos	section names by inserting a new substring after .gnu.linkonce, except
3198*75fd0b74Schristos	for .gnu.linkonce.t.* where the "t." is replaced.
3199*75fd0b74Schristos
3200*75fd0b74Schristos2004-05-17  Adam Nemet  <anemet@lnxw.com>
3201*75fd0b74Schristos
3202*75fd0b74Schristos	* config.bfd (sparc-*-lynxos* case): Add to obsolete list.
3203*75fd0b74Schristos	(m68-*-lynxos* case): Likewise.
3204*75fd0b74Schristos	(powerpc-*-lyxnos* case): New case.
3205*75fd0b74Schristos	(i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
3206*75fd0b74Schristos
3207*75fd0b74Schristos2004-05-17  David Heine  <dlheine@tensilica.com>
3208*75fd0b74Schristos
3209*75fd0b74Schristos	* aout-target.h (MY_bfd_copy_private_header_data): Define.
3210*75fd0b74Schristos	* aout-tic30.c (MY_bfd_copy_private_header_data): Define.
3211*75fd0b74Schristos	* bfd.c (bfd_copy_private_header_data): Define.
3212*75fd0b74Schristos	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
3213*75fd0b74Schristos	interface.
3214*75fd0b74Schristos	* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
3215*75fd0b74Schristos	* coffcode.h (coff_bfd_copy_private_header_data): Define.
3216*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
3217*75fd0b74Schristos	* elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
3218*75fd0b74Schristos	segments by calling copy_private_bfd_data.
3219*75fd0b74Schristos	(_bfd_elf_copy_private_header_data): Define.
3220*75fd0b74Schristos	* elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
3221*75fd0b74Schristos	* libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
3222*75fd0b74Schristos	* libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
3223*75fd0b74Schristos	* mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
3224*75fd0b74Schristos	* mmo.c (mmo_bfd_copy_private_header_data): Define.
3225*75fd0b74Schristos	* ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
3226*75fd0b74Schristos	* som.c (som_bfd_copy_private_header_data): Define.
3227*75fd0b74Schristos	* targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
3228*75fd0b74Schristos	* vms.c (vms_bfd_copy_private_header_data): Define.
3229*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3230*75fd0b74Schristos	* libbfd.h: Regenerate.
3231*75fd0b74Schristos
3232*75fd0b74Schristos2004-05-15  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
3233*75fd0b74Schristos
3234*75fd0b74Schristos	* elfxx-mips.c (MINUS_TWO): Define.
3235*75fd0b74Schristos	(mips_elf_higher, mips_elf_highest,
3236*75fd0b74Schristos	mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
3237*75fd0b74Schristos	some bfd_vma values.
3238*75fd0b74Schristos	(_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
3239*75fd0b74Schristos
3240*75fd0b74Schristos2004-05-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3241*75fd0b74Schristos
3242*75fd0b74Schristos	* som.c (log2): Rename to exact_log2.  Adjust all callers.
3243*75fd0b74Schristos
3244*75fd0b74Schristos2004-05-13  Paul Brook  <paul@codesourcery.com>
3245*75fd0b74Schristos
3246*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
3247*75fd0b74Schristos	dwarf3 format CIE entries.  Remove comment about the size of the
3248*75fd0b74Schristos	ra_column field.  It is now correctly deduced.
3249*75fd0b74Schristos
3250*75fd0b74Schristos2004-05-13  Joel Sherrill <joel@oarcorp.com>
3251*75fd0b74Schristos
3252*75fd0b74Schristos	* config.bfd (or32-*-rtems*): Switch to elf.
3253*75fd0b74Schristos
3254*75fd0b74Schristos2004-05-13  Nick Clifton  <nickc@redhat.com>
3255*75fd0b74Schristos
3256*75fd0b74Schristos	* po/fr.po: Updated French translation.
3257*75fd0b74Schristos
3258*75fd0b74Schristos2004-05-11  Jakub Jelinek  <jakub@redhat.com>
3259*75fd0b74Schristos
3260*75fd0b74Schristos	* elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol
3261*75fd0b74Schristos	into .dynsym if elf_section_data (sec)->dynindx <= 0.
3262*75fd0b74Schristos	Adjust counting of last_local.
3263*75fd0b74Schristos	(_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
3264*75fd0b74Schristos	other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
3265*75fd0b74Schristos	created by the linker nor !SHF_ALLOC.
3266*75fd0b74Schristos
3267*75fd0b74Schristos	* elf32-i386.c (elf_i386_finish_dynamic_sections): Point
3268*75fd0b74Schristos	DT_PLTGOT to the start of the .got.plt section instead of the
3269*75fd0b74Schristos	.got output section.  Set sh_entsize for .got section in addition
3270*75fd0b74Schristos	to .got.plt.
3271*75fd0b74Schristos	(elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
3272*75fd0b74Schristos	is at sgot->output_section->vma.
3273*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
3274*75fd0b74Schristos	DT_PLTGOT to the start of the .got.plt section instead of the
3275*75fd0b74Schristos	.got output section.
3276*75fd0b74Schristos	(elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
3277*75fd0b74Schristos	is at sgot->output_section->vma.  Set sh_entsize for .got section
3278*75fd0b74Schristos	in addition to .got.plt.
3279*75fd0b74Schristos	* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
3280*75fd0b74Schristos	(bfd_section_from_phdr): Likewise.
3281*75fd0b74Schristos	(map_sections_to_segments): Likewise.
3282*75fd0b74Schristos	(assign_file_positions_for_segments): Likewise.
3283*75fd0b74Schristos	(get_program_header_size): Likewise.
3284*75fd0b74Schristos	* elflink.c (bfd_elf_size_dynamic_sections): Set
3285*75fd0b74Schristos	elf_tdata (output_bfd)->relro from info->relro.
3286*75fd0b74Schristos	* elf-bfd.h (struct elf_obj_tdata): Add relro field.
3287*75fd0b74Schristos
3288*75fd0b74Schristos2004-05-08  Alexandre Oliva  <aoliva@redhat.com>
3289*75fd0b74Schristos
3290*75fd0b74Schristos	* elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
3291*75fd0b74Schristos	a zero symndx for which we hadn't accounted a dynamic relocation.
3292*75fd0b74Schristos	(_frvfdpic_add_rofixup): Likewise.
3293*75fd0b74Schristos
3294*75fd0b74Schristos2004-05-07  Brian Ford  <ford@vss.fsi.com>
3295*75fd0b74Schristos	    DJ Delorie  <dj@redhat.com>
3296*75fd0b74Schristos
3297*75fd0b74Schristos	* coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
3298*75fd0b74Schristos	Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
3299*75fd0b74Schristos	* peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
3300*75fd0b74Schristos	IMAGE_FILE_LARGE_ADDRESS_AWARE.  Use PE defines.
3301*75fd0b74Schristos
3302*75fd0b74Schristos2004-05-07  Alexandre Oliva  <aoliva@redhat.com>
3303*75fd0b74Schristos
3304*75fd0b74Schristos	* elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
3305*75fd0b74Schristos	immediately if there's no link info.
3306*75fd0b74Schristos	(elf32_frvfdpic_copy_private_bfd_data): New.
3307*75fd0b74Schristos	(bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
3308*75fd0b74Schristos
3309*75fd0b74Schristos2004-05-06  Zack Weinberg  <zack@codesourcery.com>
3310*75fd0b74Schristos
3311*75fd0b74Schristos	* dwarf2.c (add_line_info): Also set info->filename to NULL if
3312*75fd0b74Schristos	filename argument is null; do not call strlen on a null pointer.
3313*75fd0b74Schristos
3314*75fd0b74Schristos2004-05-06  Daniel Jacobowitz  <drow@mvista.com>
3315*75fd0b74Schristos
3316*75fd0b74Schristos	* elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
3317*75fd0b74Schristos	special case.
3318*75fd0b74Schristos
3319*75fd0b74Schristos2004-05-05  Alexandre Oliva  <aoliva@redhat.com>
3320*75fd0b74Schristos
3321*75fd0b74Schristos	* configure.in (bfd_elf32_frvfdpic_vec): New.
3322*75fd0b74Schristos	* configure: Rebuilt.
3323*75fd0b74Schristos	* targets.c (bfd_elf32_frvfdpic_vec): New.
3324*75fd0b74Schristos	* config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
3325*75fd0b74Schristos	on the latter.
3326*75fd0b74Schristos	* elf32-frv.c: Prefix all identifiers added for FDPIC support with
3327*75fd0b74Schristos	frvfdpic instead of frv.  Rearrange elf-target macros such that
3328*75fd0b74Schristos	the FDPIC-specific ones are only defined for this new target
3329*75fd0b74Schristos	vector.
3330*75fd0b74Schristos	(bfd_elf32_frvfdpic_vec): Declare.
3331*75fd0b74Schristos	(IS_FDPIC): New.
3332*75fd0b74Schristos	(elf32_frv_relocate_section): Use it to enable segment checking
3333*75fd0b74Schristos	and to control rofixup emission.  Add output section vma to
3334*75fd0b74Schristos	applied relocation in non-LOAD non-ALLOC sections.  Use
3335*75fd0b74Schristos	_bfd_error_handler for errors.
3336*75fd0b74Schristos	(_frv_create_got_section): Create .rel.got and .rofixup only in
3337*75fd0b74Schristos	FDPIC.  Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
3338*75fd0b74Schristos	linker script.
3339*75fd0b74Schristos	(elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
3340*75fd0b74Schristos	(elf32_frvfdpic_modify_segment_map): Likewise.
3341*75fd0b74Schristos	(elf32_frv_finish_dynamic_sections): New, do-nothing.
3342*75fd0b74Schristos	(elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC.  Improve
3343*75fd0b74Schristos	error message if we miscompute the rofixup size.
3344*75fd0b74Schristos	(frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
3345*75fd0b74Schristos	(frvfdpic_elf_encode_eh_address): Likewise.
3346*75fd0b74Schristos	(elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
3347*75fd0b74Schristos	Record relocs only in FDPIC.  Make sure _gp is defined for GPREL
3348*75fd0b74Schristos	relocs.  Reject unknown relocation types.
3349*75fd0b74Schristos	(elf32_frv_object_p): Make sure target vector matches FDPIC bits.
3350*75fd0b74Schristos	(frv_elf_merge_private_bfd_data): Likewise.
3351*75fd0b74Schristos	(ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
3352*75fd0b74Schristos	0x4000 for newly-added elf32-frvfdpic.
3353*75fd0b74Schristos
3354*75fd0b74Schristos2004-05-05  Nick Clifton  <nickc@redhat.com>
3355*75fd0b74Schristos
3356*75fd0b74Schristos	PR/136
3357*75fd0b74Schristos	* cache.c (bfd_cache_lookup_worker): Call abort() rather than
3358*75fd0b74Schristos	returning NULL as most users of this function do not check its
3359*75fd0b74Schristos	return value.
3360*75fd0b74Schristos	* hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
3361*75fd0b74Schristos	of bfd_cache_lookup().
3362*75fd0b74Schristos	* sco5-core.c (sco5_core_file_p): Likewise.
3363*75fd0b74Schristos	* trad-core.c (trad_unix_core_file_p): Likewise.
3364*75fd0b74Schristos
3365*75fd0b74Schristos2004-05-05  Nick Clifton  <nickc@redhat.com>
3366*75fd0b74Schristos
3367*75fd0b74Schristos	* cache.c (bfd_cache_lookup): Improve formatting.
3368*75fd0b74Schristos	* archive.c: Fix formatting.
3369*75fd0b74Schristos
3370*75fd0b74Schristos2004-05-05  Peter Barada  <peter@the-baradas.com>
3371*75fd0b74Schristos
3372*75fd0b74Schristos	* bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
3373*75fd0b74Schristos	* cpu-m68k.c(bfd_m68k_arch): Likewise.
3374*75fd0b74Schristos	* bfd-in2.h(bfd_architecture): Regenerate.
3375*75fd0b74Schristos
3376*75fd0b74Schristos2004-05-03  Alan Modra  <amodra@bigpond.net.au>
3377*75fd0b74Schristos
3378*75fd0b74Schristos	* elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
3379*75fd0b74Schristos	SEC_MERGE sections.
3380*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Adjust output reloc index for
3381*75fd0b74Schristos	those against discarded link-once and SEC_MERGE section symbols.
3382*75fd0b74Schristos
3383*75fd0b74Schristos2004-05-02  H.J. Lu  <hongjiu.lu@intel.com>
3384*75fd0b74Schristos
3385*75fd0b74Schristos	* section.c (bfd_get_section_by_name_if): New.
3386*75fd0b74Schristos	* bfd-in2.h: Regenerated.
3387*75fd0b74Schristos
3388*75fd0b74Schristos2004-05-02  Alan Modra  <amodra@bigpond.net.au>
3389*75fd0b74Schristos
3390*75fd0b74Schristos	* som.c (som_bfd_is_group_section): Define.
3391*75fd0b74Schristos
3392*75fd0b74Schristos2004-05-01  Alan Modra  <amodra@bigpond.net.au>
3393*75fd0b74Schristos
3394*75fd0b74Schristos	* section.c (bfd_make_section_anyway): Copy the whole
3395*75fd0b74Schristos	bfd_hash_entry, not just "next" from existing entry.
3396*75fd0b74Schristos
3397*75fd0b74Schristos2004-04-30  H.J. Lu  <hongjiu.lu@intel.com>
3398*75fd0b74Schristos
3399*75fd0b74Schristos	* elf.c (bfd_section_from_shdr): Maintain the section order in
3400*75fd0b74Schristos	a section group.
3401*75fd0b74Schristos	(special_sections): Add ".note.GNU-stack".
3402*75fd0b74Schristos	(elf_fake_sections): Handle section group for relocatable
3403*75fd0b74Schristos	link..
3404*75fd0b74Schristos
3405*75fd0b74Schristos2004-04-30  H.J. Lu  <hongjiu.lu@intel.com>
3406*75fd0b74Schristos
3407*75fd0b74Schristos	* section.c (bfd_sections_find_if): New.
3408*75fd0b74Schristos	* bfd-in2.h: Regenerated.
3409*75fd0b74Schristos
3410*75fd0b74Schristos2004-04-30  Alan Modra  <amodra@bigpond.net.au>
3411*75fd0b74Schristos
3412*75fd0b74Schristos	* section.c (bfd_make_section_anyway): Add all sections to hash tab.
3413*75fd0b74Schristos
3414*75fd0b74Schristos	* elf-bfd.h (bfd_elf_is_group_section): Declare.
3415*75fd0b74Schristos	* elf.c (bfd_elf_is_group_section): New function.
3416*75fd0b74Schristos	* elfxx-target.h (bfd_elfNN_bfd_is_group_section
3417*75fd0b74Schristos	* section.c (bfd_generic_is_group_section): New function.
3418*75fd0b74Schristos	* targets.c (struct bfd_target): Add _bfd_is_group_section field.
3419*75fd0b74Schristos	(BFD_JUMP_TABLE_LINK): Adjust.
3420*75fd0b74Schristos	* aout-adobe.c (aout_32_bfd_is_group_section): Define.
3421*75fd0b74Schristos	* aout-target.h (MY_bfd_is_group_section): Define.
3422*75fd0b74Schristos	* aout-tic30.c (MY_bfd_is_group_section): Define.
3423*75fd0b74Schristos	* bfd.c (bfd_is_group_section): Define.
3424*75fd0b74Schristos	* binary.c (binary_bfd_is_group_section): Define.
3425*75fd0b74Schristos	* bout.c (b_out_bfd_is_group_section): Define.
3426*75fd0b74Schristos	* coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
3427*75fd0b74Schristos	* coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
3428*75fd0b74Schristos	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
3429*75fd0b74Schristos	* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
3430*75fd0b74Schristos	* coffcode.h (coff_bfd_is_group_section): Define.
3431*75fd0b74Schristos	* i386msdos.c (msdos_bfd_is_group_section): Define.
3432*75fd0b74Schristos	* i386os9k.c (os9k_bfd_is_group_section): Define.
3433*75fd0b74Schristos	* ieee.c (ieee_bfd_is_group_section): Define.
3434*75fd0b74Schristos	* ihex.c (ihex_bfd_is_group_section): Define.
3435*75fd0b74Schristos	* libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
3436*75fd0b74Schristos	* mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
3437*75fd0b74Schristos	* mmo.c (mmo_bfd_is_group_section): Define.
3438*75fd0b74Schristos	* nlm-target.h (nlm_bfd_is_group_section): Define.
3439*75fd0b74Schristos	* oasys.c (oasys_bfd_is_group_section): Define.
3440*75fd0b74Schristos	* pef.c (bfd_pef_bfd_is_group_section): Define.
3441*75fd0b74Schristos	* ppcboot.c (ppcboot_bfd_is_group_section): Define.
3442*75fd0b74Schristos	* srec.c (srec_bfd_is_group_section): Define.
3443*75fd0b74Schristos	* tekhex.c (tekhex_bfd_is_group_section): Define.
3444*75fd0b74Schristos	* versados.c (versados_bfd_is_group_section): Define.
3445*75fd0b74Schristos	* vms.c (vms_bfd_is_group_section): Define.
3446*75fd0b74Schristos	* xsym.c (bfd_sym_bfd_is_group_section): Define.
3447*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3448*75fd0b74Schristos	* libbfd.h: Regenerate.
3449*75fd0b74Schristos
3450*75fd0b74Schristos2004-04-30  Alan Modra  <amodra@bigpond.net.au>
3451*75fd0b74Schristos
3452*75fd0b74Schristos	* elflink.c (elf_gc_mark): Follow indirect and warning syms.
3453*75fd0b74Schristos
3454*75fd0b74Schristos2004-04-30  Hans-Peter Nilsson  <hp@axis.com>
3455*75fd0b74Schristos
3456*75fd0b74Schristos	* configure.in: Update version to 2.15.91.
3457*75fd0b74Schristos	* configure: Regenerate.
3458*75fd0b74Schristos
3459*75fd0b74Schristos2004-04-29  Brian Ford  <ford@vss.fsi.com>
3460*75fd0b74Schristos
3461*75fd0b74Schristos	* bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
3462*75fd0b74Schristos	* coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
3463*75fd0b74Schristos	[!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
3464*75fd0b74Schristos	(coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
3465*75fd0b74Schristos	[COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
3466*75fd0b74Schristos	.gnu.linkonce.wi. sections.
3467*75fd0b74Schristos	* pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
3468*75fd0b74Schristos	(COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
3469*75fd0b74Schristos	.gnu.linkonce.wi..
3470*75fd0b74Schristos	* pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
3471*75fd0b74Schristos	(COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
3472*75fd0b74Schristos
3473*75fd0b74Schristos2004-04-28  Chris Demetriou  <cgd@broadcom.com>
3474*75fd0b74Schristos
3475*75fd0b74Schristos	* reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
3476*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3477*75fd0b74Schristos	* libbfd.h: Likewise.
3478*75fd0b74Schristos
3479*75fd0b74Schristos2004-04-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3480*75fd0b74Schristos
3481*75fd0b74Schristos	* som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
3482*75fd0b74Schristos	dup_common fields.
3483*75fd0b74Schristos	(setup_sections): Use som_subspace_dictionary_record struct instead
3484*75fd0b74Schristos	subspace_dictionary_record.  Set SEC_LINK_ONCE if subspace is
3485*75fd0b74Schristos	is_comdat, is_common or dup_common.
3486*75fd0b74Schristos	(som_prep_headers): Use som_subspace_dictionary_record struct.  Set
3487*75fd0b74Schristos	is_comdat, is_common and dup_common in section subspace_dict from
3488*75fd0b74Schristos	copy_data.
3489*75fd0b74Schristos	(som_begin_writing): Use som_subspace_dictionary_record struct.
3490*75fd0b74Schristos	(som_finish_writing): Likewise.
3491*75fd0b74Schristos	(som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
3492*75fd0b74Schristos	is_common and dup_common flags in info for symbol.  Add comment
3493*75fd0b74Schristos	regarding linker support for these fields.  Slightly reorganize
3494*75fd0b74Schristos	function.
3495*75fd0b74Schristos	(som_build_and_write_symbol_table): Set is_comdat, is_common and
3496*75fd0b74Schristos	dup_common fields in symbol table from symbol info.
3497*75fd0b74Schristos	(bfd_som_set_subsection_attributes): Add comdat, common and dup_common
3498*75fd0b74Schristos	arguments.  Set corresponding fields in copy_data.  Change all callers.
3499*75fd0b74Schristos	(som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
3500*75fd0b74Schristos	symbol table.
3501*75fd0b74Schristos	(som_vec): Add SEC_LINK_ONCE to applicable section flags.
3502*75fd0b74Schristos	* som.h (som_subspace_dictionary_record): Define.
3503*75fd0b74Schristos	(som_copyable_section_data_struct): Add is_comdat, is_common and
3504*75fd0b74Schristos	dup_common fields.
3505*75fd0b74Schristos	(som_section_data_struct): Use som_subspace_dictionary_record struct
3506*75fd0b74Schristos	instead of subspace_dictionary_record.
3507*75fd0b74Schristos	(bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
3508*75fd0b74Schristos
3509*75fd0b74Schristos2004-04-27  Bob Wilson  <bob.wilson@acm.org>
3510*75fd0b74Schristos
3511*75fd0b74Schristos	* elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
3512*75fd0b74Schristos	if set.  Check reloc_done flag before applying relocations.  Use
3513*75fd0b74Schristos	output addresses, both when applying relocations and when comparing
3514*75fd0b74Schristos	against the specified section.
3515*75fd0b74Schristos	(elf_xtensa_relocate_section): Use output address to check if dynamic
3516*75fd0b74Schristos	reloc is in a literal pool.  Set section's reloc_done flag.
3517*75fd0b74Schristos
3518*75fd0b74Schristos2004-04-27  H.J. Lu  <hongjiu.lu@intel.com>
3519*75fd0b74Schristos
3520*75fd0b74Schristos	* elf32-sh64.c (elf_backend_section_flags): New. Defined.
3521*75fd0b74Schristos	(sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
3522*75fd0b74Schristos	section.
3523*75fd0b74Schristos	(sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
3524*75fd0b74Schristos	section.
3525*75fd0b74Schristos
3526*75fd0b74Schristos2004-04-27  Alan Modra  <amodra@bigpond.net.au>
3527*75fd0b74Schristos
3528*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
3529*75fd0b74Schristos	structure field removed in 2004-04-24 patch.
3530*75fd0b74Schristos	* elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
3531*75fd0b74Schristos
3532*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
3533*75fd0b74Schristos	Constify hdr arg.
3534*75fd0b74Schristos	* elf32-arm.h (elf32_arm_section_flags): Likewise.
3535*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_section_flags): Likewise.
3536*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
3537*75fd0b74Schristos	* elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
3538*75fd0b74Schristos	field before calling elf_backend_section_flags.
3539*75fd0b74Schristos
3540*75fd0b74Schristos2004-04-24  Chris Demetriou  <cgd@broadcom.com>
3541*75fd0b74Schristos
3542*75fd0b74Schristos	* elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
3543*75fd0b74Schristos	(elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
3544*75fd0b74Schristos	(bfd_elf32_bfd_reloc_type_lookup): Remove cases for
3545*75fd0b74Schristos	BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
3546*75fd0b74Schristos	and BFD_RELOC_32_PCREL.
3547*75fd0b74Schristos	(mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
3548*75fd0b74Schristos	R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
3549*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
3550*75fd0b74Schristos	(_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
3551*75fd0b74Schristos	(mips_elf_next_relocation): Move comment about matching HI/LO
3552*75fd0b74Schristos	relocations to...
3553*75fd0b74Schristos	(_bfd_mips_elf_relocate_section): Here.  Remove handling for
3554*75fd0b74Schristos	R_MIPS_GNU_REL_HI16.
3555*75fd0b74Schristos
3556*75fd0b74Schristos2004-04-23  Chris Demetriou  <cgd@broadcom.com>
3557*75fd0b74Schristos
3558*75fd0b74Schristos	* coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
3559*75fd0b74Schristos	(mips_switch_reloc, mips_read_relocs, mips_relax_section)
3560*75fd0b74Schristos	(mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
3561*75fd0b74Schristos	(mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
3562*75fd0b74Schristos	and update comments to reflect current usage.
3563*75fd0b74Schristos	(mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
3564*75fd0b74Schristos	and MIPS_R_SWITCH, as well as several empty entries.  Update comment
3565*75fd0b74Schristos	for MIPS_R_PCREL16.
3566*75fd0b74Schristos	(mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
3567*75fd0b74Schristos	(mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
3568*75fd0b74Schristos	for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
3569*75fd0b74Schristos	(mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
3570*75fd0b74Schristos	type number to be MIPS_R_PCREL16.
3571*75fd0b74Schristos	(mips_relocate_section): Remove support for link-time relaxation
3572*75fd0b74Schristos	of branches used by embedded-PIC.  Remove support for MIPS_R_SWITCH,
3573*75fd0b74Schristos	MIPS_R_RELLO, and MIPS_R_RELHI relocations.
3574*75fd0b74Schristos	(_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
3575*75fd0b74Schristos	* ecoff.c (ecoff_indirect_link_order): Remove support for link-time
3576*75fd0b74Schristos	relaxation of branches used by embedded-PIC.
3577*75fd0b74Schristos	* ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
3578*75fd0b74Schristos	* libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
3579*75fd0b74Schristos	related members, update comment.
3580*75fd0b74Schristos	* pe-mips.c: Remove disabled (commented-out and #if 0'd)
3581*75fd0b74Schristos	code related to embedded-PIC.
3582*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
3583*75fd0b74Schristos	initialization of now-removed 'adjust' member of
3584*75fd0b74Schristos	'struct ecoff_debug_info'.
3585*75fd0b74Schristos
3586*75fd0b74Schristos2004-04-23  Chris Demetriou  <cgd@broadcom.com>
3587*75fd0b74Schristos
3588*75fd0b74Schristos	* elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
3589*75fd0b74Schristos
3590*75fd0b74Schristos2004-04-21  Philip Blundell  <pb@nexus.co.uk>
3591*75fd0b74Schristos
3592*75fd0b74Schristos	* elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
3593*75fd0b74Schristos	relocs for locally defined symbols during -shared final link.
3594*75fd0b74Schristos	(elf32_arm_final_link_relocate): Likewise.
3595*75fd0b74Schristos
3596*75fd0b74Schristos2004-04-22  Jakub Jelinek  <jakub@redhat.com>
3597*75fd0b74Schristos
3598*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
3599*75fd0b74Schristos	ELF_LINK_POINTER_EQUALITY_NEEDED.
3600*75fd0b74Schristos	(elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
3601*75fd0b74Schristos	if r_type is not R_X86_64_PC32.
3602*75fd0b74Schristos	(elf64_x86_64_finish_dynamic_symbol): If
3603*75fd0b74Schristos	ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
3604*75fd0b74Schristos	SHN_UNDEF symbols.
3605*75fd0b74Schristos
3606*75fd0b74Schristos2004-04-22  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3607*75fd0b74Schristos
3608*75fd0b74Schristos	* elf32-sh.c (sh_elf_plt_sym_val): New function.
3609*75fd0b74Schristos	(elf_backend_plt_sym_val): Define.
3610*75fd0b74Schristos
3611*75fd0b74Schristos2004-04-22  Andrew Cagney  <cagney@redhat.com>
3612*75fd0b74Schristos
3613*75fd0b74Schristos	* opncls.c (bfd_alloc): Fix type of "wanted" in doco.
3614*75fd0b74Schristos
3615*75fd0b74Schristos2004-04-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3616*75fd0b74Schristos
3617*75fd0b74Schristos	* hpux-core.c (hpux_core_core_file_p): Add cast in call to
3618*75fd0b74Schristos	make_bfd_asection.
3619*75fd0b74Schristos	* som.c (som_set_section_contents): Constantify second argument.
3620*75fd0b74Schristos	(hppa_som_gen_reloc_type): Abort for unsupported selectors.
3621*75fd0b74Schristos	(som_object_setup): Rework to avoid warning.
3622*75fd0b74Schristos	(setup_sections, som_write_fixups, bfd_section_from_som_symbol):
3623*75fd0b74Schristos	Likewise.
3624*75fd0b74Schristos
3625*75fd0b74Schristos2004-04-22  Andrew Cagney  <cagney@redhat.com>
3626*75fd0b74Schristos
3627*75fd0b74Schristos	* cache.c (bfd_cache_close): Check for a previously closed file.
3628*75fd0b74Schristos
3629*75fd0b74Schristos2004-04-22  Jakub Jelinek  <jakub@redhat.com>
3630*75fd0b74Schristos
3631*75fd0b74Schristos	* bfd.c (bfd_get_synthetic_symtab): Define.
3632*75fd0b74Schristos	* targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
3633*75fd0b74Schristos	NAME##_get_synthetic_symtab.
3634*75fd0b74Schristos	(struct bfd_target): Add _bfd_get_synthetic_symtab.
3635*75fd0b74Schristos	* libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
3636*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
3637*75fd0b74Schristos	relplt_name fields.
3638*75fd0b74Schristos	(_bfd_elf_get_synthetic_symtab): New prototype.
3639*75fd0b74Schristos	* elfcode.h (elf_get_synthetic_symtab): Define.
3640*75fd0b74Schristos	* elf.c (_bfd_elf_get_synthetic_symtab): New function.
3641*75fd0b74Schristos	* elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
3642*75fd0b74Schristos	(elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
3643*75fd0b74Schristos	(elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
3644*75fd0b74Schristos	* bfd-in2.h: Rebuilt.
3645*75fd0b74Schristos	* libbfd.h: Rebuilt.
3646*75fd0b74Schristos	* elf32-i386.c (elf_i386_plt_sym_val): New function.
3647*75fd0b74Schristos	(elf_backend_plt_sym_val): Define.
3648*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
3649*75fd0b74Schristos	(elf_backend_plt_sym_val): Define.
3650*75fd0b74Schristos	* elf32-s390.c (elf_s390_plt_sym_val): New function.
3651*75fd0b74Schristos	(elf_backend_plt_sym_val): Define.
3652*75fd0b74Schristos	* elf64-s390.c (elf_s390_plt_sym_val): New function.
3653*75fd0b74Schristos	(elf_backend_plt_sym_val): Define.
3654*75fd0b74Schristos	* elf32-sparc (elf32_sparc_plt_sym_val): New function.
3655*75fd0b74Schristos	(elf_backend_plt_sym_val): Define.
3656*75fd0b74Schristos	* elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
3657*75fd0b74Schristos	(elf_backend_plt_sym_val): Define.
3658*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_plt_sym_val): New function.
3659*75fd0b74Schristos	(elf_backend_plt_sym_val): Define.
3660*75fd0b74Schristos	* aout-target.h (MY_get_synthetic_symtab): Define.
3661*75fd0b74Schristos	* aout-tic30.c (MY_get_synthetic_symtab): Define.
3662*75fd0b74Schristos	* coff-rs6000.c (rs6000coff_vec): Add
3663*75fd0b74Schristos	_bfd_nodynamic_get_synthetic_symtab.
3664*75fd0b74Schristos	(pmac_xcoff_vec): Likewise.
3665*75fd0b74Schristos	* coff64-rs6000.c (rs6000coff64_vec): Add
3666*75fd0b74Schristos	_bfd_nodynamic_get_synthetic_symtab.
3667*75fd0b74Schristos	(aix5coff64_vec): Likewise.
3668*75fd0b74Schristos	* sunos.c (MY_get_synthetic_symtab): Define.
3669*75fd0b74Schristos	* vms.c (vms_get_synthetic_symtab): Define.
3670*75fd0b74Schristos
3671*75fd0b74Schristos2004-04-22  Nick Clifton  <nickc@redhat.com>
3672*75fd0b74Schristos
3673*75fd0b74Schristos	* bfd.c (bfd_archive_filename): Return NULL on NULL input.
3674*75fd0b74Schristos
3675*75fd0b74Schristos2004-04-22  Peter Barada <peter@the-baradas.com>
3676*75fd0b74Schristos
3677*75fd0b74Schristos	* archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
3678*75fd0b74Schristos	* bfd2-in.h: Regenerate.
3679*75fd0b74Schristos	* cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
3680*75fd0b74Schristos
3681*75fd0b74Schristos2004-04-21  Chris Demetriou  <cgd@broadcom.com>
3682*75fd0b74Schristos
3683*75fd0b74Schristos	* coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
3684*75fd0b74Schristos	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
3685*75fd0b74Schristos	* bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
3686*75fd0b74Schristos	(bfd_mips_elf32_create_embedded_relocs): Remove prototypes
3687*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3688*75fd0b74Schristos
3689*75fd0b74Schristos2004-04-21  Bob Wilson  <bob.wilson@acm.org>
3690*75fd0b74Schristos
3691*75fd0b74Schristos	* elf32-xtensa.c (is_same_value): Add final_static_link argument and
3692*75fd0b74Schristos	require relocations against a weak symbol to reference the same
3693*75fd0b74Schristos	symbol hash entry if not a final, static link.
3694*75fd0b74Schristos	(get_cached_value, add_value_map): Add final_static_link argument.
3695*75fd0b74Schristos	(remove_literals): Pass final_static_link argument as needed.
3696*75fd0b74Schristos
3697*75fd0b74Schristos2004-04-21  Andrew Cagney  <cagney@redhat.com>
3698*75fd0b74Schristos
3699*75fd0b74Schristos	* opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
3700*75fd0b74Schristos	(struct opncls, opncls_btell, opncls_bseek, opncls_bread)
3701*75fd0b74Schristos	(opncls_bwrite, opncls_bclose, opncls_bflush)
3702*75fd0b74Schristos	(opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
3703*75fd0b74Schristos	bfd iovec that uses function callbacks.
3704*75fd0b74Schristos	(bfd_close): Use the iovec's bclose.
3705*75fd0b74Schristos	* cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
3706*75fd0b74Schristos	(cache_bclose, cache_bflush, cache_bstat)
3707*75fd0b74Schristos	(cache_iovec): New functions and global variable, implement a
3708*75fd0b74Schristos	cache "iovec", where applicable set bfd_error.
3709*75fd0b74Schristos	(bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
3710*75fd0b74Schristos	* bfdio.c (struct bfd_iovec): Define.
3711*75fd0b74Schristos	(real_read): Delete function.
3712*75fd0b74Schristos	(bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
3713*75fd0b74Schristos	(bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
3714*75fd0b74Schristos	assume that bread and bwrite set bfd_error.
3715*75fd0b74Schristos	* bfd.c (struct bfd): Add "iovec", update comments.
3716*75fd0b74Schristos	* bfd-in2.h, libbfd.h: Re-generate.
3717*75fd0b74Schristos
3718*75fd0b74Schristos2004-04-21  Andrew Cagney  <cagney@redhat.com>
3719*75fd0b74Schristos
3720*75fd0b74Schristos	* libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3721*75fd0b74Schristos
3722*75fd0b74Schristos2004-04-21  Eric Botcazou  <ebotcazou@act-europe.fr>
3723*75fd0b74Schristos
3724*75fd0b74Schristos	* elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
3725*75fd0b74Schristos	(bfd_elf_gc_sections): Fail if a shared object is being created.
3726*75fd0b74Schristos	Do not fail if dynamic sections have been created.  Instead call
3727*75fd0b74Schristos	elf_gc_mark_dynamic_ref_symbol to mark sections that contain
3728*75fd0b74Schristos	dynamically referenced symbols.  Do not mark the whole graph
3729*75fd0b74Schristos	rooted at .eh_frame, only the section proper.
3730*75fd0b74Schristos
3731*75fd0b74Schristos2004-04-20  DJ Delorie  <dj@redhat.com>
3732*75fd0b74Schristos
3733*75fd0b74Schristos	* reloc.c: Add BFD_RELOC_32_SECREL.
3734*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3735*75fd0b74Schristos	* libbfd.h: Likewise.
3736*75fd0b74Schristos	* coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
3737*75fd0b74Schristos	(coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
3738*75fd0b74Schristos	(coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
3739*75fd0b74Schristos
3740*75fd0b74Schristos2004-04-19  Jakub Jelinek  <jakub@redhat.com>
3741*75fd0b74Schristos
3742*75fd0b74Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Handle
3743*75fd0b74Schristos	relocs against hidden/protected undefweak symbols properly.
3744*75fd0b74Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3745*75fd0b74Schristos
3746*75fd0b74Schristos2004-04-18  Mark Kettenis  <kettenis@gnu.org>
3747*75fd0b74Schristos
3748*75fd0b74Schristos	* libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3749*75fd0b74Schristos	* netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
3750*75fd0b74Schristos	core files.
3751*75fd0b74Schristos
3752*75fd0b74Schristos2004-04-17  Brian Ford  <ford@vss.fsi.com>
3753*75fd0b74Schristos
3754*75fd0b74Schristos	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
3755*75fd0b74Schristos	filepos for the SizeOfHeaders field.
3756*75fd0b74Schristos	(_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
3757*75fd0b74Schristos	overflow.
3758*75fd0b74Schristos	(_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
3759*75fd0b74Schristos
3760*75fd0b74Schristos2004-04-16  Alan Modra  <amodra@bigpond.net.au>
3761*75fd0b74Schristos
3762*75fd0b74Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Don't
3763*75fd0b74Schristos	change reloc_done.  Set and restore _cooked_size.
3764*75fd0b74Schristos	(RETURN): Delete.
3765*75fd0b74Schristos
3766*75fd0b74Schristos2004-04-15  Mark Kettenis  <kettenis@gnu.org>
3767*75fd0b74Schristos
3768*75fd0b74Schristos	* netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
3769*75fd0b74Schristos	core files.
3770*75fd0b74Schristos
3771*75fd0b74Schristos2004-04-15  Nick Clifton  <nickc@redhat.com>
3772*75fd0b74Schristos
3773*75fd0b74Schristos	* bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
3774*75fd0b74Schristos
3775*75fd0b74Schristos2004-04-15  Alan Modra  <amodra@bigpond.net.au>
3776*75fd0b74Schristos
3777*75fd0b74Schristos	* elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
3778*75fd0b74Schristos
3779*75fd0b74Schristos2004-04-15  H.J. Lu  <hongjiu.lu@intel.com>
3780*75fd0b74Schristos
3781*75fd0b74Schristos	* elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
3782*75fd0b74Schristos	when it is a definition.
3783*75fd0b74Schristos
3784*75fd0b74Schristos2004-04-14  Alan Modra  <amodra@bigpond.net.au>
3785*75fd0b74Schristos
3786*75fd0b74Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
3787*75fd0b74Schristos	when statically linking PIC code.
3788*75fd0b74Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3789*75fd0b74Schristos
3790*75fd0b74Schristos2004-04-11  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
3791*75fd0b74Schristos
3792*75fd0b74Schristos	* config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
3793*75fd0b74Schristos	* configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
3794*75fd0b74Schristos	targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
3795*75fd0b74Schristos	* configure: Regenerate.
3796*75fd0b74Schristos
3797*75fd0b74Schristos2004-04-08  Richard Sandiford  <rsandifo@redhat.com>
3798*75fd0b74Schristos
3799*75fd0b74Schristos	* elflink.c: Include libiberty.h.
3800*75fd0b74Schristos	* Makefile.am (elflink.lo): Depend on libiberty.h.
3801*75fd0b74Schristos	* Makefile.in: Regenerate.
3802*75fd0b74Schristos
3803*75fd0b74Schristos2004-04-06  Daniel Jacobowitz  <drow@mvista.com>
3804*75fd0b74Schristos
3805*75fd0b74Schristos	* elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
3806*75fd0b74Schristos	".MIPS.stubs".
3807*75fd0b74Schristos
3808*75fd0b74Schristos2004-04-05  H.J. Lu  <hongjiu.lu@intel.com>
3809*75fd0b74Schristos
3810*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
3811*75fd0b74Schristos	reserve the memory for dynamic linker
3812*75fd0b74Schristos
3813*75fd0b74Schristos2004-04-05  Mark Kettenis  <kettenis@gnu.org>
3814*75fd0b74Schristos
3815*75fd0b74Schristos	* netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
3816*75fd0b74Schristos	(netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
3817*75fd0b74Schristos
3818*75fd0b74Schristos2004-04-02  H.J. Lu  <hongjiu.lu@intel.com>
3819*75fd0b74Schristos
3820*75fd0b74Schristos	* elf32-cr16c.c (elf32_cr16c_relocate_section): Use
3821*75fd0b74Schristos	RELOC_FOR_GLOBAL_SYMBOL.
3822*75fd0b74Schristos	(elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
3823*75fd0b74Schristos
3824*75fd0b74Schristos2004-04-02  H.J. Lu  <hongjiu.lu@intel.com>
3825*75fd0b74Schristos
3826*75fd0b74Schristos	* elf32-arm.h (elf32_arm_final_link_relocate): Handle
3827*75fd0b74Schristos	R_ARM_ALU* only if OLD_ARM_ABI is not defined.
3828*75fd0b74Schristos
3829*75fd0b74Schristos2004-04-01  Paul Brook  <paul@codesourcery.com>
3830*75fd0b74Schristos
3831*75fd0b74Schristos	* bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
3832*75fd0b74Schristos	* elf32-arm.h (struct elf32_elf_section_map): New.
3833*75fd0b74Schristos	(struct _arm_elf_section_data): New.
3834*75fd0b74Schristos	(elf32_arm_section_data): Define.
3835*75fd0b74Schristos	(struct elf32_arm_link_hash_table): Add byteswap_code.
3836*75fd0b74Schristos	(elf32_arm_link_hash_table_create): Initialize byteswap_code.
3837*75fd0b74Schristos	(bfd_elf32_arm_process_before_allocation): Add byteswap_code.
3838*75fd0b74Schristos	(elf32_arm_post_process_headers): Set EF_ARM_BE8.
3839*75fd0b74Schristos	(elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
3840*75fd0b74Schristos	elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
3841*75fd0b74Schristos	(bfd_elf32_new_section_hook, elf_backend_write_section,
3842*75fd0b74Schristos	elf_backend_link_output_symbol_hook): Define.
3843*75fd0b74Schristos
3844*75fd0b74Schristos2004-04-01  Andy Chittenden  <achittenden@bluearc.com>
3845*75fd0b74Schristos
3846*75fd0b74Schristos	* stabs.c (struct stab_link_includes_totals): Add field 'symb'
3847*75fd0b74Schristos	that keeps the characters in a B_INCL..B_EINCL range.
3848*75fd0b74Schristos	(_bfd_link_section_stabs): When computing the sum of the
3849*75fd0b74Schristos	characters in a B_INCL..B_EINCL range also keep a copy of those
3850*75fd0b74Schristos	characters.  Use this information to distinguish between
3851*75fd0b74Schristos	include sections that have the same sum and the same length
3852*75fd0b74Schristos	but which are nevertheless unique.
3853*75fd0b74Schristos
3854*75fd0b74Schristos2004-03-31  Paul Brook  <paul@codesourcery.com>
3855*75fd0b74Schristos
3856*75fd0b74Schristos	* elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
3857*75fd0b74Schristos	* elfarm-nabi.c (elf32_arm_howto_table): Ditto.
3858*75fd0b74Schristos
3859*75fd0b74Schristos2004-03-31  Andy Chittenden <achittenden@bluearc.com>
3860*75fd0b74Schristos
3861*75fd0b74Schristos	* stabs.c (struct stab_link_includes_totals): Rename field 'total'
3862*75fd0b74Schristos	to 'sum_chars' and add field 'num_chars'.
3863*75fd0b74Schristos	(_bfd_link_section_stabs): When computing the sum of the
3864*75fd0b74Schristos	characters in a B_INCL..B_EINCL range also keep a count of the
3865*75fd0b74Schristos	number of characters.  Use this information to help distinguish
3866*75fd0b74Schristos	between include sections when have the same sum but which
3867*75fd0b74Schristos	nevertheless are still unique.
3868*75fd0b74Schristos
3869*75fd0b74Schristos2004-03-31  Mattias Engdegård  <mattias@virtutech.se>
3870*75fd0b74Schristos
3871*75fd0b74Schristos	* stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.
3872*75fd0b74Schristos
3873*75fd0b74Schristos2004-03-30  Galit Heller  <Galit.Heller@nsc.com>
3874*75fd0b74Schristos	    Tomer Levi    <Tomer.Levi@nsc.com>
3875*75fd0b74Schristos
3876*75fd0b74Schristos	* Makefile.am (ALL_MACHINES): Add cpu-cr16c.lo.
3877*75fd0b74Schristos	(ALL_MACHINES_CFILES): Add cpu-cr16c.c.
3878*75fd0b74Schristos	(BFD32_BACKENDS): Add elf32-cr16c.lo.
3879*75fd0b74Schristos	(BFD32_BACKENDS_CFILES): Add elf32-cr16c.c.
3880*75fd0b74Schristos	(cpu-cr16c.lo): New target.
3881*75fd0b74Schristos	(elf32-cr16c.lo): Likewise.
3882*75fd0b74Schristos	* Makefile.in: Regenerate.
3883*75fd0b74Schristos	* archures.c (bfd_architecture): Add bfd_{arch,mach}_cr16c.
3884*75fd0b74Schristos	(bfd_archures_list): Add bfd_cr16c_arch.
3885*75fd0b74Schristos	* config.bfd: Handle cr16c-*-elf*.
3886*75fd0b74Schristos	* configure.in: Handle bfd_elf32_cr16c_vec.
3887*75fd0b74Schristos	* configure: Regenerate.
3888*75fd0b74Schristos	* reloc.c: Add BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C,
3889*75fd0b74Schristos	BFD_RELOC_16C_NUM16, BFD_RELOC_16C_NUM16_C,
3890*75fd0b74Schristos	BFD_RELOC_16C_NUM32, BFD_RELOC_16C_NUM32_C,
3891*75fd0b74Schristos	BFD_RELOC_16C_DISP04, BFD_RELOC_16C_DISP04_C,
3892*75fd0b74Schristos	BFD_RELOC_16C_DISP08, BFD_RELOC_16C_DISP08_C,
3893*75fd0b74Schristos	BFD_RELOC_16C_DISP16, BFD_RELOC_16C_DISP16_C,
3894*75fd0b74Schristos	BFD_RELOC_16C_DISP24, BFD_RELOC_16C_DISP24_C,
3895*75fd0b74Schristos	BFD_RELOC_16C_DISP24a, BFD_RELOC_16C_DISP24a_C,
3896*75fd0b74Schristos	BFD_RELOC_16C_REG04, BFD_RELOC_16C_REG04_C,
3897*75fd0b74Schristos	BFD_RELOC_16C_REG04a, BFD_RELOC_16C_REG04a_C,
3898*75fd0b74Schristos	BFD_RELOC_16C_REG14, BFD_RELOC_16C_REG14_C,
3899*75fd0b74Schristos	BFD_RELOC_16C_REG16, BFD_RELOC_16C_REG16_C,
3900*75fd0b74Schristos	BFD_RELOC_16C_REG20, BFD_RELOC_16C_REG20_C,
3901*75fd0b74Schristos	BFD_RELOC_16C_ABS20, BFD_RELOC_16C_ABS20_C,
3902*75fd0b74Schristos	BFD_RELOC_16C_ABS24, BFD_RELOC_16C_ABS24_C,
3903*75fd0b74Schristos	BFD_RELOC_16C_IMM04, BFD_RELOC_16C_IMM04_C,
3904*75fd0b74Schristos	BFD_RELOC_16C_IMM16, BFD_RELOC_16C_IMM16_C,
3905*75fd0b74Schristos	BFD_RELOC_16C_IMM20, BFD_RELOC_16C_IMM20_C,
3906*75fd0b74Schristos	BFD_RELOC_16C_IMM24, BFD_RELOC_16C_IMM24_C,
3907*75fd0b74Schristos	BFD_RELOC_16C_IMM32, BFD_RELOC_16C_IMM32_C.
3908*75fd0b74Schristos	* targets.c (bfd_elf32_cr16c_vec): Declare.
3909*75fd0b74Schristos	(bfd_target_vector): Add bfd_elf32_cr16c_vec.
3910*75fd0b74Schristos	* cpu-cr16c.c: New file.
3911*75fd0b74Schristos	* elf32-cr16c.c: Likewise.
3912*75fd0b74Schristos	* libbfd.h: Regenerate.
3913*75fd0b74Schristos	* bfd-in2.h: Likewise.
3914*75fd0b74Schristos
3915*75fd0b74Schristos2004-03-30  Jakub Jelinek  <jakub@redhat.com>
3916*75fd0b74Schristos
3917*75fd0b74Schristos	* elf.c (map_sections_to_segments): Fix handling of .tbss.
3918*75fd0b74Schristos
3919*75fd0b74Schristos2004-03-27  Alan Modra  <amodra@bigpond.net.au>
3920*75fd0b74Schristos
3921*75fd0b74Schristos	* Makefile.am: Remove all mention of elflink.h.
3922*75fd0b74Schristos	* Makefile.in: Regenerate.
3923*75fd0b74Schristos	* bfd-in.h (bfd_elf_discard_info): Declare.
3924*75fd0b74Schristos	(bfd_elf32_discard_info, bfd_elf64_discard_info): Delete.
3925*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3926*75fd0b74Schristos	* elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol,
3927*75fd0b74Schristos	bfd_elf32_link_record_dynamic_symbol,
3928*75fd0b74Schristos	bfd_elf64_link_record_dynamic_symbol,
3929*75fd0b74Schristos	_bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link,
3930*75fd0b74Schristos	bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol,
3931*75fd0b74Schristos	_bfd_elf32_link_record_local_dynamic_symbol,
3932*75fd0b74Schristos	_bfd_elf64_link_record_local_dynamic_symbol,
3933*75fd0b74Schristos	_bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets,
3934*75fd0b74Schristos	_bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link,
3935*75fd0b74Schristos	_bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry,
3936*75fd0b74Schristos	_bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets,
3937*75fd0b74Schristos	_bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry,
3938*75fd0b74Schristos	_bfd_elf32_reloc_symbol_deleted_p,
3939*75fd0b74Schristos	_bfd_elf64_reloc_symbol_deleted_p): Delete.
3940*75fd0b74Schristos	(bfd_elf_link_record_dynamic_symbol,
3941*75fd0b74Schristos	bfd_elf_link_record_local_dynamic_symbol,
3942*75fd0b74Schristos	bfd_elf_final_link, bfd_elf_gc_sections,
3943*75fd0b74Schristos	bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry,
3944*75fd0b74Schristos	bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link,
3945*75fd0b74Schristos	bfd_elf_reloc_symbol_deleted_p): Declare.
3946*75fd0b74Schristos	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
3947*75fd0b74Schristos	* elf32-arm.h: Update for changed function names.  Remove local
3948*75fd0b74Schristos	WILL_CALL_FINISH_DYNAMIC_SECTION define.
3949*75fd0b74Schristos	* elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c,
3950*75fd0b74Schristos	* elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c,
3951*75fd0b74Schristos	* elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c,
3952*75fd0b74Schristos	* elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
3953*75fd0b74Schristos	* elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
3954*75fd0b74Schristos	* elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c,
3955*75fd0b74Schristos	* elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
3956*75fd0b74Schristos	* elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise.
3957*75fd0b74Schristos	* elfxx-target.h (bfd_elfNN_bfd_final_link): Define.
3958*75fd0b74Schristos	(bfd_elfNN_print_symbol): Define.
3959*75fd0b74Schristos	* elfcode.h: Don't include elflink.h.
3960*75fd0b74Schristos	(elf_bfd_discard_info, elf_reloc_symbol_deleted_p,
3961*75fd0b74Schristos	elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections,
3962*75fd0b74Schristos	elf_gc_common_finalize_got_offsets, elf_gc_common_final_link,
3963*75fd0b74Schristos	elf_gc_record_vtinherit, elf_gc_record_vtentry,
3964*75fd0b74Schristos	elf_link_record_local_dynamic_symbol): Don't define.
3965*75fd0b74Schristos	* elflink.c: Update for changed function names.  Move elflink.h
3966*75fd0b74Schristos	code here.
3967*75fd0b74Schristos	* elflink.h: Delete file.
3968*75fd0b74Schristos	* po/SRC-POTFILES.in: Regenerate.
3969*75fd0b74Schristos	* po/bfd.pot: Regenerate.
3970*75fd0b74Schristos
3971*75fd0b74Schristos2004-03-27  Alan Modra  <amodra@bigpond.net.au>
3972*75fd0b74Schristos
3973*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_relocate_section): Restore code setting
3974*75fd0b74Schristos	"name" for global syms accidentally removed in 2004-03-20 change.
3975*75fd0b74Schristos
3976*75fd0b74Schristos2004-03-27  Alan Modra  <amodra@bigpond.net.au>
3977*75fd0b74Schristos
3978*75fd0b74Schristos	* elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field.
3979*75fd0b74Schristos	* elflink.h: Replace all occurrences of sizeof (Elf_External_*)
3980*75fd0b74Schristos	where Elf_External_* is different for 64 and 32 bit, with
3981*75fd0b74Schristos	corresponding elf_size_info field.
3982*75fd0b74Schristos	(struct elf_final_link_info): Use "bfd_byte *" instead
3983*75fd0b74Schristos	of "Elf_External_Sym *" for external_syms and symbuf.
3984*75fd0b74Schristos	(elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local
3985*75fd0b74Schristos	vars and use instead of ELF_R_INFO and ELF_R_TYPE macros.
3986*75fd0b74Schristos	(struct elf_link_sort_rela): Add "sym_mask" alias for "offset".
3987*75fd0b74Schristos	(elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM.
3988*75fd0b74Schristos	(elf_link_sort_cmp2): Adjust.
3989*75fd0b74Schristos	(elf_link_sort_relocs): Set up r_sym_mask local var instead of
3990*75fd0b74Schristos	using ELF_R_SYM macro.  Set u.sym_mask.
3991*75fd0b74Schristos	(elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro
3992*75fd0b74Schristos	version, elf_stringtab_init.  Ditto for bfd_section_from_elf_index
3993*75fd0b74Schristos	vs. section_from_elf_index.  Adjust Elf_External_Sym pointer
3994*75fd0b74Schristos	arithmetic.  Pass bed to elf_link_flush_output_syms.  Adjust
3995*75fd0b74Schristos	Elf_External_Dyn pointer arithmentic.  Use bed swap_dyn_in and
3996*75fd0b74Schristos	swap_syn_out functions.  Rearrange dyn swap in/out switch.
3997*75fd0b74Schristos	(elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic.
3998*75fd0b74Schristos	Pass bed to elf_link_flush_output_syms.  Use bed swap_symbol_out.
3999*75fd0b74Schristos	(elf_link_flush_output_syms): Add elf_backend_data arg.
4000*75fd0b74Schristos	(elf_link_check_versioned_symbol): Likewise.
4001*75fd0b74Schristos	(elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol.
4002*75fd0b74Schristos	Adjust Elf_External_Sym pointer arithmetic.  Use bed swap_symbol_out.
4003*75fd0b74Schristos	(elf_link_input_bfd): Use bfd_section_from_elf_index.  Set up
4004*75fd0b74Schristos	r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM,
4005*75fd0b74Schristos	ELF_R_TYPE and ELF_R_INFO macros.
4006*75fd0b74Schristos	(elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation
4007*75fd0b74Schristos	based on size rather than using ELF_R_INFO.
4008*75fd0b74Schristos	(elf_gc_mark): Set up r_sym_shift local var and use instead of
4009*75fd0b74Schristos	ELF_R_SYM macro.
4010*75fd0b74Schristos	(struct alloc_got_off_arg): New.
4011*75fd0b74Schristos	(elf_gc_common_finalize_got_offsets): Use elf_size_info instead of
4012*75fd0b74Schristos	ARCH_SIZE.  Pass get entry size down to elf_gc_allocate_got_offsets.
4013*75fd0b74Schristos	(elf_gc_allocate_got_offsets): Adjust.
4014*75fd0b74Schristos	(elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of
4015*75fd0b74Schristos	ELF_R_SYM.  Use bfd_section_from_elf_index.
4016*75fd0b74Schristos	(elf_bfd_discard_info): Set cookie.r_sym_shift.
4017*75fd0b74Schristos	* elfcode.h (elf_stringtab_init, section_from_elf_index): Delete.
4018*75fd0b74Schristos	(elf_slurp_symbol_table): Use bfd_section_from_elf_index.
4019*75fd0b74Schristos
4020*75fd0b74Schristos2004-03-26  Stan Shebs  <shebs@apple.com>
4021*75fd0b74Schristos
4022*75fd0b74Schristos	Remove MPW support, no longer used.
4023*75fd0b74Schristos	* config.bfd (powerpc-*-mpw*): Remove configuration.
4024*75fd0b74Schristos	* mpw-config.in, mpw-make.sed: Remove files.
4025*75fd0b74Schristos	* ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code.
4026*75fd0b74Schristos
4027*75fd0b74Schristos2004-03-26  Alan Modra  <amodra@bigpond.net.au>
4028*75fd0b74Schristos
4029*75fd0b74Schristos	* elf64-ppc.c (elf_backend_add_symbol_hook): Define.
4030*75fd0b74Schristos	(ppc64_elf_add_symbol_hook): New function.
4031*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove
4032*75fd0b74Schristos	const from Elf_Internal_Sym param.
4033*75fd0b74Schristos	* elflink.c (elf_link_add_object_symbols): Adjust.
4034*75fd0b74Schristos	* elf-hppa.h (elf_hppa_add_symbol_hook): Adjust.
4035*75fd0b74Schristos	* elf32-frv.c (elf32_frv_add_symbol_hook): Adjust.
4036*75fd0b74Schristos	* elf32-i370.c (elf_backend_add_symbol_hook): Adjust.
4037*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust.
4038*75fd0b74Schristos	* elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust.
4039*75fd0b74Schristos	* elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust.
4040*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust.
4041*75fd0b74Schristos	* elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust.
4042*75fd0b74Schristos	* elf32-v850.c (v850_elf_add_symbol_hook): Adjust.
4043*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust.
4044*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust.
4045*75fd0b74Schristos	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust.
4046*75fd0b74Schristos	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust.
4047*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust.
4048*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust.
4049*75fd0b74Schristos	* elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust.
4050*75fd0b74Schristos
4051*75fd0b74Schristos2004-03-26  Alan Modra  <amodra@bigpond.net.au>
4052*75fd0b74Schristos
4053*75fd0b74Schristos	* elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define.
4054*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete.
4055*75fd0b74Schristos	(_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete.
4056*75fd0b74Schristos	(_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete.
4057*75fd0b74Schristos	(bfd_elf64_bfd_link_add_symbols): Delete.
4058*75fd0b74Schristos	(bfd_elf_link_add_symbols): Declare.
4059*75fd0b74Schristos	* elfcode.h (elf_bfd_link_add_symbols): Delete.
4060*75fd0b74Schristos	* elflink.c: Include safe-ctype.h.
4061*75fd0b74Schristos	(elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag,
4062*75fd0b74Schristos	make static.
4063*75fd0b74Schristos	(elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static.
4064*75fd0b74Schristos	(elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make
4065*75fd0b74Schristos	static.
4066*75fd0b74Schristos	(elf_link_add_archive_symbols): Rename from
4067*75fd0b74Schristos	_bfd_elf_link_add_archive_symbols, make static.
4068*75fd0b74Schristos	(elf_link_add_object_symbols): New function.  Corresponding
4069*75fd0b74Schristos	elflink.h function converted to use elf_size_info.
4070*75fd0b74Schristos	(bfd_elf_link_add_symbols): Likewise.
4071*75fd0b74Schristos	(bfd_elf_size_dynamic_sections): Adjust.
4072*75fd0b74Schristos	* elflink.h (elf_bfd_link_add_symbols): Delete.
4073*75fd0b74Schristos	(elf_link_add_object_symbols): Delete.
4074*75fd0b74Schristos	* elf32-gen.c (elf32_generic_link_add_symbols): Call
4075*75fd0b74Schristos	bfd_elf_link_add_symbols.
4076*75fd0b74Schristos	* elf64-gen.c (elf64_generic_link_add_symbols): Likewise.
4077*75fd0b74Schristos
4078*75fd0b74Schristos2004-03-25  Alan Modra  <amodra@bigpond.net.au>
4079*75fd0b74Schristos
4080*75fd0b74Schristos	* elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
4081*75fd0b74Schristos	and chained shared libs only if dynsym.  Clear dynsym on forced-local.
4082*75fd0b74Schristos
4083*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
4084*75fd0b74Schristos	(bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
4085*75fd0b74Schristos	(_bfd_elf_add_dt_needed_tag): Declare.
4086*75fd0b74Schristos	(_bfd_elf_sort_symbol): Declare.
4087*75fd0b74Schristos	(_bfd_elf_finalize_dynstr): Declare.
4088*75fd0b74Schristos	(RELOC_FOR_GLOBAL_SYM): Formatting.
4089*75fd0b74Schristos	* elfcode.h (elf_add_dynamic_entry): Delete.
4090*75fd0b74Schristos	* elflink.c (_bfd_elf_add_dynamic_entry): New function.  Corresponding
4091*75fd0b74Schristos	elflink.h function converted to use elf_size_info.
4092*75fd0b74Schristos	(_bfd_elf_add_dt_needed_tag): Likewise.
4093*75fd0b74Schristos	(_bfd_elf_sort_symbol): Likewise.
4094*75fd0b74Schristos	(_bfd_elf_finalize_dynstr): Likewise.
4095*75fd0b74Schristos	(compute_bucket_count): Likewise.
4096*75fd0b74Schristos	(bfd_elf_size_dynamic_sections): Likewise.  Check result of
4097*75fd0b74Schristos	_bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
4098*75fd0b74Schristos	(elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
4099*75fd0b74Schristos	* elflink.h: ..here.
4100*75fd0b74Schristos	(sort_symbol, add_dt_needed_tag): Delete.
4101*75fd0b74Schristos	(elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
4102*75fd0b74Schristos	(compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
4103*75fd0b74Schristos	Update all users.
4104*75fd0b74Schristos	* elf32-arm.h (add_dynamic_entry): Update.  Remove casts.
4105*75fd0b74Schristos	* elf32-cris.c (add_dynamic_entry): Likewise.
4106*75fd0b74Schristos	* elf32-hppa.c (add_dynamic_entry): Likewise.
4107*75fd0b74Schristos	* elf32-i370.c (add_dynamic_entry): Likewise.
4108*75fd0b74Schristos	* elf32-i386.c (add_dynamic_entry): Likewise.
4109*75fd0b74Schristos	* elf32-m32r.c (add_dynamic_entry): Likewise.
4110*75fd0b74Schristos	* elf32-m68k.c (add_dynamic_entry): Likewise.
4111*75fd0b74Schristos	* elf32-ppc.c (add_dynamic_entry): Likewise.
4112*75fd0b74Schristos	* elf32-s390.c (add_dynamic_entry): Likewise.
4113*75fd0b74Schristos	* elf32-sh.c (add_dynamic_entry): Likewise.
4114*75fd0b74Schristos	* elf32-sparc.c (add_dynamic_entry): Likewise.
4115*75fd0b74Schristos	* elf32-vax.c (add_dynamic_entry): Likewise.
4116*75fd0b74Schristos	* elf32-xtensa.c (add_dynamic_entry): Likewise.
4117*75fd0b74Schristos	* elf64-alpha.c (add_dynamic_entry): Likewise.
4118*75fd0b74Schristos	* elf64-hppa.c (add_dynamic_entry): Likewise.
4119*75fd0b74Schristos	* elf64-ppc.c (add_dynamic_entry): Likewise.
4120*75fd0b74Schristos	* elf64-s390.c (add_dynamic_entry): Likewise.
4121*75fd0b74Schristos	* elf64-sparc.c (add_dynamic_entry): Likewise.
4122*75fd0b74Schristos	* elf64-x86-64.c (add_dynamic_entry): Likewise.
4123*75fd0b74Schristos	* elfxx-ia64.c (add_dynamic_entry): Likewise.
4124*75fd0b74Schristos	* elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
4125*75fd0b74Schristos	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
4126*75fd0b74Schristos	* elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
4127*75fd0b74Schristos	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
4128*75fd0b74Schristos
4129*75fd0b74Schristos2004-03-23  Paul Brook  <paul@codesourcery.com>
4130*75fd0b74Schristos
4131*75fd0b74Schristos	* elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
4132*75fd0b74Schristos
4133*75fd0b74Schristos2004-03-22  Bob Wilson  <bob.wilson@acm.org>
4134*75fd0b74Schristos
4135*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
4136*75fd0b74Schristos	literal tables and check for relocs outside of literal pools.
4137*75fd0b74Schristos	(elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
4138*75fd0b74Schristos	(elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
4139*75fd0b74Schristos	set DF_TEXTREL.
4140*75fd0b74Schristos	(elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
4141*75fd0b74Schristos	(elf_xtensa_relocate_section): Read literal tables and check for
4142*75fd0b74Schristos	dynamic relocations in read-only sections and not in literal pools.
4143*75fd0b74Schristos
4144*75fd0b74Schristos2004-03-23  Alan Modra  <amodra@bigpond.net.au>
4145*75fd0b74Schristos
4146*75fd0b74Schristos	PR 51.
4147*75fd0b74Schristos	* linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.
4148*75fd0b74Schristos
4149*75fd0b74Schristos2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
4150*75fd0b74Schristos
4151*75fd0b74Schristos	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
4152*75fd0b74Schristos	R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
4153*75fd0b74Schristos	not defined by the executable, or defined in a DSO.
4154*75fd0b74Schristos	<eliding run-time relocation of .got>: Initialize GOT entry for a
4155*75fd0b74Schristos	function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
4156*75fd0b74Schristos	executable.
4157*75fd0b74Schristos	(cris_elf_gc_sweep_hook): Improve fallthrough marking.
4158*75fd0b74Schristos	(elf_cris_try_fold_plt_to_got): Improve head comment.  Do not fold
4159*75fd0b74Schristos	a PLT reloc to GOT for an executable.
4160*75fd0b74Schristos	(elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
4161*75fd0b74Schristos	.got for a DSO and explain why.
4162*75fd0b74Schristos	(elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
4163*75fd0b74Schristos	and unreferenced symbols for which a PLT is defined.  Adjust
4164*75fd0b74Schristos	dynamic-symbol pruning correspondingly, to make sure we don't lose
4165*75fd0b74Schristos	a dynamic symbol also defined by a DSO.
4166*75fd0b74Schristos
4167*75fd0b74Schristos2004-03-22  Alan Modra  <amodra@bigpond.net.au>
4168*75fd0b74Schristos
4169*75fd0b74Schristos	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
4170*75fd0b74Schristos	and rel args.  Group input and output args.  Wrap to 80 columns.
4171*75fd0b74Schristos	* elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
4172*75fd0b74Schristos	elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
4173*75fd0b74Schristos	elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
4174*75fd0b74Schristos	elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
4175*75fd0b74Schristos	elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
4176*75fd0b74Schristos	elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
4177*75fd0b74Schristos	elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
4178*75fd0b74Schristos	elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
4179*75fd0b74Schristos	RELOC_FOR_GLOBAL_SYMBOL invocation.
4180*75fd0b74Schristos
4181*75fd0b74Schristos2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>
4182*75fd0b74Schristos
4183*75fd0b74Schristos	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
4184*75fd0b74Schristos	unresolved symbols in objects aren't allowed.
4185*75fd0b74Schristos
4186*75fd0b74Schristos	* elf-hppa.h (elf_hppa_relocate_section): Properly handle
4187*75fd0b74Schristos	unresolved symbols.
4188*75fd0b74Schristos	(elf_hppa_remark_useless_dynamic_symbols): Likewise.
4189*75fd0b74Schristos	(elf_hppa_unmark_useless_dynamic_symbols):
4190*75fd0b74Schristos	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
4191*75fd0b74Schristos	* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
4192*75fd0b74Schristos	(elf32_hppa_relocate_section): Likewise.
4193*75fd0b74Schristos	* elf32-i370.c (i370_elf_relocate_section): Likewise.
4194*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
4195*75fd0b74Schristos	* elf32-sh.c (sh_elf_relocate_section): Likewise.
4196*75fd0b74Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
4197*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
4198*75fd0b74Schristos
4199*75fd0b74Schristos	* elf-m10200.c (mn10200_elf_relocate_section): Use
4200*75fd0b74Schristos	RELOC_FOR_GLOBAL_SYMBOL.
4201*75fd0b74Schristos	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
4202*75fd0b74Schristos	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
4203*75fd0b74Schristos	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
4204*75fd0b74Schristos	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
4205*75fd0b74Schristos	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
4206*75fd0b74Schristos	* elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
4207*75fd0b74Schristos	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
4208*75fd0b74Schristos	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
4209*75fd0b74Schristos	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
4210*75fd0b74Schristos	* elf32-v850.c (v850_elf_relocate_section): Likewise.
4211*75fd0b74Schristos	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
4212*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
4213*75fd0b74Schristos
4214*75fd0b74Schristos2004-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4215*75fd0b74Schristos
4216*75fd0b74Schristos	* elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
4217*75fd0b74Schristos	(final_link_relocate): Likewise.
4218*75fd0b74Schristos	* elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
4219*75fd0b74Schristos	R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
4220*75fd0b74Schristos
4221*75fd0b74Schristos2004-03-19  Alan Modra  <amodra@bigpond.net.au>
4222*75fd0b74Schristos
4223*75fd0b74Schristos	* Makefile.am: Run "make dep-am".
4224*75fd0b74Schristos	* Makefile.in: Regenerate.
4225*75fd0b74Schristos	* aclocal.m4: Regenerate.
4226*75fd0b74Schristos	* config.in: Regenerate.
4227*75fd0b74Schristos	* po/bfd.pot: Regenerate.
4228*75fd0b74Schristos
4229*75fd0b74Schristos2004-03-19  Alan Modra  <amodra@bigpond.net.au>
4230*75fd0b74Schristos	    H.J. Lu  <hongjiu.lu@intel.com>
4231*75fd0b74Schristos
4232*75fd0b74Schristos	* elflink.c (_bfd_elf_merge_symbol): Revert last change.  Move
4233*75fd0b74Schristos	type and size change code to where it was previously.  Remove
4234*75fd0b74Schristos	dt_needed param.  Treat old weak syms as strong if new sym is
4235*75fd0b74Schristos	from a shared lib, even when old sym is from another shared
4236*75fd0b74Schristos	lib.  Remove unnecessary tests of oldweak and newweak.  Correct
4237*75fd0b74Schristos	comments.
4238*75fd0b74Schristos	(_bfd_elf_add_default_symbol): Remove dt_needed param.  Update
4239*75fd0b74Schristos	_bfd_elf_merge_symbol calls.
4240*75fd0b74Schristos	* elflink.h (elf_link_add_object_symbols): Update calls.  Remove
4241*75fd0b74Schristos	dt_needed local var.  Update comments.
4242*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
4243*75fd0b74Schristos	(_bfd_elf_add_default_symbol): Likewise.
4244*75fd0b74Schristos
4245*75fd0b74Schristos	* elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
4246*75fd0b74Schristos	strong syms in one shared object overriding weak syms in another.
4247*75fd0b74Schristos
4248*75fd0b74Schristos2004-03-18  Alan Modra  <amodra@bigpond.net.au>
4249*75fd0b74Schristos
4250*75fd0b74Schristos	* elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field.  Add
4251*75fd0b74Schristos	dyn_lib_class field.  Rearrange for better packing.
4252*75fd0b74Schristos	(elf_dt_soname): Delete.
4253*75fd0b74Schristos	(elf_dyn_lib_class): Define.
4254*75fd0b74Schristos	* elf.c (bfd_elf_set_dt_needed_name): Update comment.
4255*75fd0b74Schristos	(bfd_elf_set_dt_needed_soname): Delete.
4256*75fd0b74Schristos	(bfd_elf_set_dyn_lib_class): New function.
4257*75fd0b74Schristos	* elflink.h (add_dt_needed_tag): New function.  Split out from..
4258*75fd0b74Schristos	(elf_link_add_object_symbols): ..here.  Rename "name" to "soname".
4259*75fd0b74Schristos	Use elf_dyn_lib_class to set dt_needed and add_needed.  Move fallback
4260*75fd0b74Schristos	initialization of soname.
4261*75fd0b74Schristos	(elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
4262*75fd0b74Schristos	elf_dt_soname.
4263*75fd0b74Schristos	* bfd-in.h (enum dynamic_lib_link_class): New.
4264*75fd0b74Schristos	(bfd_elf_set_dt_needed_soname): Delete.
4265*75fd0b74Schristos	(bfd_elf_set_dyn_lib_class): Declare.
4266*75fd0b74Schristos	* bfd-in2.h: Regenerate.
4267*75fd0b74Schristos
4268*75fd0b74Schristos	* elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
4269*75fd0b74Schristos	(_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
4270*75fd0b74Schristos	* elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
4271*75fd0b74Schristos	symbol loop.  Instead use add_needed to flag tag as written.
4272*75fd0b74Schristos
4273*75fd0b74Schristos2004-03-17  Nathan Sidwell  <nathan@codesourcery.com>
4274*75fd0b74Schristos
4275*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
4276*75fd0b74Schristos	logic for null_input_bfd detection.
4277*75fd0b74Schristos
4278*75fd0b74Schristos2004-03-17  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4279*75fd0b74Schristos
4280*75fd0b74Schristos	* config.bfd: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff*.
4281*75fd0b74Schristos
4282*75fd0b74Schristos2004-03-16  Mark Kettenis  <kettenis@gnu.org>
4283*75fd0b74Schristos
4284*75fd0b74Schristos	* netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
4285*75fd0b74Schristos	code.
4286*75fd0b74Schristos
4287*75fd0b74Schristos2004-03-16  Alan Modra  <amodra@bigpond.net.au>
4288*75fd0b74Schristos
4289*75fd0b74Schristos	* elflink.c (elf_link_read_relocs_from_section): Don't use
4290*75fd0b74Schristos	NUM_SHDR_ENTRIES in end of reloc calc.  Move NULL shdr check..
4291*75fd0b74Schristos	(_bfd_elf_link_read_relocs): ..to here.
4292*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_relax_section): Formatting.
4293*75fd0b74Schristos
4294*75fd0b74Schristos2004-03-16  Alan Modra  <amodra@bigpond.net.au>
4295*75fd0b74Schristos
4296*75fd0b74Schristos	* configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
4297*75fd0b74Schristos	values selected in configure.host.  Require both to be defined
4298*75fd0b74Schristos	before setting BFD_HOST_64_BIT_DEFINED.  Protect assignment to
4299*75fd0b74Schristos	corresponding BFD_HOST vars with quotes.
4300*75fd0b74Schristos	<${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
4301*75fd0b74Schristos	Always require BFD_HOST_64_BIT_DEFINED.
4302*75fd0b74Schristos	<file_ptr type>: Find off_t size before emitting message.  Combine
4303*75fd0b74Schristos	off_t and ftello64 conditional.
4304*75fd0b74Schristos	* configure: Regenerate.
4305*75fd0b74Schristos
4306*75fd0b74Schristos2004-03-16  Alan Modra  <amodra@bigpond.net.au>
4307*75fd0b74Schristos
4308*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
4309*75fd0b74Schristos	aliasing warning.  Remove trailing whitespace throughout file.
4310*75fd0b74Schristos
4311*75fd0b74Schristos2004-03-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4312*75fd0b74Schristos
4313*75fd0b74Schristos	* elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
4314*75fd0b74Schristos	input_section in calls to get_dyn_name.
4315*75fd0b74Schristos	* elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *".	Use section id of first section in input BFD to build dynamic name for
4316*75fd0b74Schristos	local symbols.
4317*75fd0b74Schristos	(elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
4318*75fd0b74Schristos
4319*75fd0b74Schristos2004-03-15  Alan Modra  <amodra@bigpond.net.au>
4320*75fd0b74Schristos
4321*75fd0b74Schristos	* bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
4322*75fd0b74Schristos	(BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here.
4323*75fd0b74Schristos	(bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t.
4324*75fd0b74Schristos	(bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t.
4325*75fd0b74Schristos	(bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t.
4326*75fd0b74Schristos	* configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8.
4327*75fd0b74Schristos	(BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set
4328*75fd0b74Schristos	when using long.
4329*75fd0b74Schristos	* libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t.
4330*75fd0b74Schristos	(bfd_getb64): Return bfd_uint64_t.  Enable when BFD_HOST_64_BIT.
4331*75fd0b74Schristos	(bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
4332*75fd0b74Schristos	(bfd_putb64): Accept bfd_uint64_t.  Enable when BFD_HOST_64_BIT.
4333*75fd0b74Schristos	(bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise.
4334*75fd0b74Schristos	* dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t.
4335*75fd0b74Schristos	(read_8_bytes, read_indirect_string, read_address): Likewise.
4336*75fd0b74Schristos	(read_abbrevs, parse_comp_unit): Likewise.
4337*75fd0b74Schristos	* targets.c (struct bfd_target): Likewise.
4338*75fd0b74Schristos	* aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use.
4339*75fd0b74Schristos	* hppabsd-core.c: Likewise.  Formatting.
4340*75fd0b74Schristos	* hpux-core.c: Likewise.
4341*75fd0b74Schristos	* irix-core.c: Likewise.
4342*75fd0b74Schristos	* netbsd-core.c: Likewise.
4343*75fd0b74Schristos	* osf-core.c: Likewise.
4344*75fd0b74Schristos	* ptrace-core.c: Likewise.
4345*75fd0b74Schristos	* sco5-core.c: Likewise.
4346*75fd0b74Schristos	* trad-core.c: Likewise.
4347*75fd0b74Schristos	* configure: Regenerate.
4348*75fd0b74Schristos	* bfd-in2.h: Regenerate.
4349*75fd0b74Schristos
4350*75fd0b74Schristos2004-03-15  Alan Modra  <amodra@bigpond.net.au>
4351*75fd0b74Schristos
4352*75fd0b74Schristos	* bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.
4353*75fd0b74Schristos	(bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise.
4354*75fd0b74Schristos	(bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
4355*75fd0b74Schristos	(bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
4356*75fd0b74Schristos	(bfd_getb_signed_16, bfd_getl_signed_16): Likewise.
4357*75fd0b74Schristos	(bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise.
4358*75fd0b74Schristos	(bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise.
4359*75fd0b74Schristos	* libbfd.c: Likewise in function definitions.
4360*75fd0b74Schristos	(bfd_put_8): Mask with 0xff rather than casting to char.
4361*75fd0b74Schristos	(bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise.
4362*75fd0b74Schristos	(bfd_putb64, bfd_putl64, bfd_put_bits): Likewise.
4363*75fd0b74Schristos	(H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify.
4364*75fd0b74Schristos	(H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise.
4365*75fd0b74Schristos	(H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise.
4366*75fd0b74Schristos	(H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise.
4367*75fd0b74Schristos	* libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify.
4368*75fd0b74Schristos	(H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise.
4369*75fd0b74Schristos	(H_GET_64, H_GET_32, H_GET_16): Likewise.
4370*75fd0b74Schristos	(H_GET_S64, H_GET_S32, H_GET_S16): Likewise.
4371*75fd0b74Schristos	* archive.c (do_slurp_coff_armap): Update swap prototype.
4372*75fd0b74Schristos	* coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*.
4373*75fd0b74Schristos	(tic54x_getl_signed_32): Likewise.
4374*75fd0b74Schristos	(tic54x_putl32): Likewise.  Mask with 0xff rather than casting to char.
4375*75fd0b74Schristos	* mach-o.c (bfd_mach_o_read_header): Update get32 prototype.
4376*75fd0b74Schristos	* pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*.
4377*75fd0b74Schristos	(bfd_getp_signed_32, bfd_putp32): Likewise.
4378*75fd0b74Schristos	* targets.c (struct bfd_target): Use void* in place of bfd_byte* for
4379*75fd0b74Schristos	bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32,
4380*75fd0b74Schristos	bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16,
4381*75fd0b74Schristos	bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64,
4382*75fd0b74Schristos	bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16,
4383*75fd0b74Schristos	bfd_h_getx_signed_16, bfd_h_putx16.
4384*75fd0b74Schristos	* aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes.
4385*75fd0b74Schristos	* hppabsd-core.c: Similarly.  Rename NO_SIGNED_GET to NO_GETS.
4386*75fd0b74Schristos	* hpux-core.c: Likewise.
4387*75fd0b74Schristos	* irix-core.c: Likewise.
4388*75fd0b74Schristos	* netbsd-core.c: Likewise.
4389*75fd0b74Schristos	* osf-core.c: Likewise.
4390*75fd0b74Schristos	* ptrace-core.c: Likewise.
4391*75fd0b74Schristos	* sco5-core.c: Likewise.
4392*75fd0b74Schristos	* trad-core.c: Likewise.
4393*75fd0b74Schristos	* bfd-in2.h: Regenerate.
4394*75fd0b74Schristos
4395*75fd0b74Schristos2004-03-15  Matt Thomas  <matt@3am-software.com>
4396*75fd0b74Schristos
4397*75fd0b74Schristos	* config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is
4398*75fd0b74Schristos	selected.
4399*75fd0b74Schristos
4400*75fd0b74Schristos2004-03-13  Mark Kettenis  <kettenis@gnu.org>
4401*75fd0b74Schristos
4402*75fd0b74Schristos	* config.bfd: Add x86_64-*-openbsd*.
4403*75fd0b74Schristos	* configure.in (x86_64-*-openbsd*): Set COREFILE to
4404*75fd0b74Schristos	netbsd-core.lo.
4405*75fd0b74Schristos	* configure: Regenerate.
4406*75fd0b74Schristos
4407*75fd0b74Schristos2004-03-12  Nick Clifton  <nickc@redhat.com>
4408*75fd0b74Schristos	    Dave Murphy  <wintermute2k4@ntlworld.com>
4409*75fd0b74Schristos
4410*75fd0b74Schristos	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks
4411*75fd0b74Schristos	if the input bfd does not contain any code.
4412*75fd0b74Schristos
4413*75fd0b74Schristos2004-03-09  Steve Ellcey  <sje@cup.hp.com>
4414*75fd0b74Schristos
4415*75fd0b74Schristos	* elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
4416*75fd0b74Schristos
4417*75fd0b74Schristos2004-03-05  Fred Fish  <fnf@redhat.com>
4418*75fd0b74Schristos
4419*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force
4420*75fd0b74Schristos	mips16 symbols to be even rather than testing first for even/odd.
4421*75fd0b74Schristos	(_bfd_mips_elf_link_output_symbol_hook): Ditto.
4422*75fd0b74Schristos
4423*75fd0b74Schristos2004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
4424*75fd0b74Schristos
4425*75fd0b74Schristos	* elf.c (map_sections_to_segments): Ignore .tbss sections for
4426*75fd0b74Schristos	layout purposes.
4427*75fd0b74Schristos
4428*75fd0b74Schristos2004-03-03  Alexandre Oliva  <aoliva@redhat.com>
4429*75fd0b74Schristos
4430*75fd0b74Schristos	* elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
4431*75fd0b74Schristos	undefined symbols as hash_new.
4432*75fd0b74Schristos
4433*75fd0b74Schristos2003-03-03  Andrew Stubbs  <andrew.stubbs@superh.com>
4434*75fd0b74Schristos
4435*75fd0b74Schristos	* archures.c: Add bfd_mach_sh4_nommu_nofpu.
4436*75fd0b74Schristos	* cpu-sh.c: Ditto.
4437*75fd0b74Schristos	* elf32-sh.c: Ditto.
4438*75fd0b74Schristos	* bfd-in2.h: Regenerate.
4439*75fd0b74Schristos
4440*75fd0b74Schristos2004-03-02  Alexandre Oliva  <aoliva@redhat.com>
4441*75fd0b74Schristos
4442*75fd0b74Schristos	* elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
4443*75fd0b74Schristos	dynrelocs.
4444*75fd0b74Schristos	(_frv_count_got_plt_entries): Initialize them.
4445*75fd0b74Schristos	(frv_pic_relocs_info_find): Add insert argument.  Adjust all
4446*75fd0b74Schristos	callers.
4447*75fd0b74Schristos	(frv_pic_relocs_info_for_global): Likewise.
4448*75fd0b74Schristos	(frv_pic_relocs_info_for_local): Likewise.
4449*75fd0b74Schristos	(frv_pic_merge_early_relocs_info): New.
4450*75fd0b74Schristos	(_frv_resolve_final_relocs_info): Use it in case one entry maps to
4451*75fd0b74Schristos	another.
4452*75fd0b74Schristos	(_frv_add_dyn_reloc): Add entry argument.  Adjust all callers.
4453*75fd0b74Schristos	Check that we don't exceed the allocated count for entry.
4454*75fd0b74Schristos	(_frv_add_rofixup): Likewise.
4455*75fd0b74Schristos	(_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
4456*75fd0b74Schristos	(elf32_frv_finish_dynamic_sections): Improve error message in case
4457*75fd0b74Schristos	we emit too few rofixup entries.
4458*75fd0b74Schristos
4459*75fd0b74Schristos2004-03-01  Richard Sandiford  <rsandifo@redhat.com>
4460*75fd0b74Schristos
4461*75fd0b74Schristos	* archures.c (bfd_mach_fr450): New.
4462*75fd0b74Schristos	* bfd-in2.h: Regenerate.
4463*75fd0b74Schristos	* cpu-frv.c (arch_info_450): New bfd_arch_info_type.
4464*75fd0b74Schristos	(arch_info_500): Link to it.
4465*75fd0b74Schristos	* elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data)
4466*75fd0b74Schristos	(frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags.
4467*75fd0b74Schristos	(frv_elf_arch_extension_p): New function.
4468*75fd0b74Schristos	(frv_elf_merge_private_bfd_data): Use it.
4469*75fd0b74Schristos
4470*75fd0b74Schristos2004-02-28  H.J. Lu  <hongjiu.lu@intel.com>
4471*75fd0b74Schristos
4472*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
4473*75fd0b74Schristos
4474*75fd0b74Schristos	* elflink.h (is_global_data_symbol_definition): Moved to
4475*75fd0b74Schristos	elflink.c.
4476*75fd0b74Schristos	(elf_link_is_defined_archive_symbol): Likewise.
4477*75fd0b74Schristos	(elf_link_add_archive_symbols): Likewise. Renamed to
4478*75fd0b74Schristos	_bfd_elf_link_add_archive_symbols.
4479*75fd0b74Schristos
4480*75fd0b74Schristos	* elflink.c (elf_link_is_defined_archive_symbol): Get the size
4481*75fd0b74Schristos	of ELF symbol table entry from backend.
4482*75fd0b74Schristos	(_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
4483*75fd0b74Schristos	instead of elf_link_add_object_symbols.
4484*75fd0b74Schristos
4485*75fd0b74Schristos2004-02-27  Alexandre Oliva  <aoliva@redhat.com>
4486*75fd0b74Schristos
4487*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data): Added
4488*75fd0b74Schristos	elf_backend_can_make_relative_eh_frame,
4489*75fd0b74Schristos	elf_backend_can_make_lsda_relative_eh_frame and
4490*75fd0b74Schristos	elf_backend_encode_eh_address.
4491*75fd0b74Schristos	(_bfd_elf_encode_eh_address): Declare.
4492*75fd0b74Schristos	(_bfd_elf_can_make_relative): Declare.
4493*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
4494*75fd0b74Schristos	hooks to decide whether to attempt to make_relative and
4495*75fd0b74Schristos	make_lsda_relative.
4496*75fd0b74Schristos	(_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
4497*75fd0b74Schristos	(_bfd_elf_can_make_relative): New.
4498*75fd0b74Schristos	(_bfd_elf_encode_eh_address): New.
4499*75fd0b74Schristos	* elf32-frv.c (frv_elf_use_relative_eh_frame): New.
4500*75fd0b74Schristos	(frv_elf_encode_eh_address): New.
4501*75fd0b74Schristos	(elf_backend_can_make_relative_eh_frame): Define.
4502*75fd0b74Schristos	(elf_backend_can_make_lsda_relative_eh_frame): Define.
4503*75fd0b74Schristos	(elf_backend_encode_eh_address): Define.
4504*75fd0b74Schristos	* elfxx-target.h
4505*75fd0b74Schristos	(elf_backend_can_make_relative_eh_frame): Define.
4506*75fd0b74Schristos	(elf_backend_can_make_lsda_relative_eh_frame): Define.
4507*75fd0b74Schristos	(elf_backend_encode_eh_address): Define.
4508*75fd0b74Schristos	(elfNN_bed): Add them.
4509*75fd0b74Schristos
4510*75fd0b74Schristos2004-02-27  Alexandre Oliva  <aoliva@redhat.com>
4511*75fd0b74Schristos
4512*75fd0b74Schristos	* elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
4513*75fd0b74Schristos	complain_on_overflow to signed.
4514*75fd0b74Schristos
4515*75fd0b74Schristos2004-02-27  H.J. Lu  <hongjiu.lu@intel.com>
4516*75fd0b74Schristos
4517*75fd0b74Schristos	* elflink.h (sort_symbol): New.
4518*75fd0b74Schristos	(elf_link_add_object_symbols): Use a sorted symbol array for
4519*75fd0b74Schristos	weakdef.
4520*75fd0b74Schristos
4521*75fd0b74Schristos2004-02-27  Jakub Jelinek  <jakub@redhat.com>
4522*75fd0b74Schristos
4523*75fd0b74Schristos	* elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
4524*75fd0b74Schristos	for pc relative relocs.
4525*75fd0b74Schristos	(elf_s390_relocate_section): Likewise.
4526*75fd0b74Schristos	* elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
4527*75fd0b74Schristos	for pc relative relocs.
4528*75fd0b74Schristos	(elf_s390_relocate_section): Likewise.
4529*75fd0b74Schristos
4530*75fd0b74Schristos2004-02-26  H.J. Lu  <hongjiu.lu@intel.com>
4531*75fd0b74Schristos
4532*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
4533*75fd0b74Schristos	count_dyn_reloc.
4534*75fd0b74Schristos
4535*75fd0b74Schristos2004-02-25  H.J. Lu  <hongjiu.lu@intel.com>
4536*75fd0b74Schristos
4537*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
4538*75fd0b74Schristos	field to track if a relocation is against readonly section.
4539*75fd0b74Schristos	(count_dyn_reloc): Take a new argument for rent->reltext.
4540*75fd0b74Schristos	(elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
4541*75fd0b74Schristos	(get_reloc_section): Don't set ia64_info->reltext here.
4542*75fd0b74Schristos	(allocate_dynrel_entries): Set ia64_info->reltext here.
4543*75fd0b74Schristos
4544*75fd0b74Schristos2004-02-24  Alexandre Oliva  <aoliva@redhat.com>
4545*75fd0b74Schristos
4546*75fd0b74Schristos	* elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
4547*75fd0b74Schristos	(_frv_emit_got_relocs_plt_entries): Decay relocation to protected
4548*75fd0b74Schristos	function's descriptor to symbol+offset, and map local undefweak
4549*75fd0b74Schristos	symbol to NULL function descriptor.
4550*75fd0b74Schristos	(elf32_frv_relocate_section): Likewise.
4551*75fd0b74Schristos
4552*75fd0b74Schristos2004-02-23  Mark Kettenis  <kettenis@gnu.org>
4553*75fd0b74Schristos
4554*75fd0b74Schristos	* libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
4555*75fd0b74Schristos	M_X86_64_NETBSD.
4556*75fd0b74Schristos	* netbsd-core.c (M_SPARC64_OPENBSD): Define.
4557*75fd0b74Schristos	(netbsd_core_file_p): Set architecture from machine ID for
4558*75fd0b74Schristos	selected machines.
4559*75fd0b74Schristos
4560*75fd0b74Schristos2004-02-23  Jakub Jelinek  <jakub@redhat.com>
4561*75fd0b74Schristos
4562*75fd0b74Schristos	* elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
4563*75fd0b74Schristos	DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
4564*75fd0b74Schristos
4565*75fd0b74Schristos2004-02-21  H.J. Lu  <hongjiu.lu@intel.com>
4566*75fd0b74Schristos
4567*75fd0b74Schristos	* elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
4568*75fd0b74Schristos	symbols with non-default visibility.
4569*75fd0b74Schristos
4570*75fd0b74Schristos2004-02-21  Danny Smith  <daanysmith@users.sourceforge.net>
4571*75fd0b74Schristos
4572*75fd0b74Schristos	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
4573*75fd0b74Schristos	IMAGE_SCN_MEM_WRITE on known sections only.
4574*75fd0b74Schristos
4575*75fd0b74Schristos2004-02-20  Jakub Jelinek  <jakub@redhat.com>
4576*75fd0b74Schristos
4577*75fd0b74Schristos	* elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
4578*75fd0b74Schristos	symbols used in PIE relocs.
4579*75fd0b74Schristos
4580*75fd0b74Schristos2004-02-19  Jakub Jelinek  <jakub@redhat.com>
4581*75fd0b74Schristos
4582*75fd0b74Schristos	* elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
4583*75fd0b74Schristos	.plt sh_entsize.
4584*75fd0b74Schristos
4585*75fd0b74Schristos2004-02-18  Daniel Jacobowitz  <drow@mvista.com>
4586*75fd0b74Schristos
4587*75fd0b74Schristos	* configure.in: Update version to 2.15.90.
4588*75fd0b74Schristos	* configure: Regenerate.
4589*75fd0b74Schristos
4590*75fd0b74Schristos2004-02-17  Daniel Jacobowitz  <drow@mvista.com>
4591*75fd0b74Schristos	    Richard Sandiford  <rsandifo@redhat.com>
4592*75fd0b74Schristos
4593*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Use
4594*75fd0b74Schristos	_bfd_elf_symbol_refs_local_p to decide whether to decay
4595*75fd0b74Schristos	a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
4596*75fd0b74Schristos	(_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
4597*75fd0b74Schristos	relocs if the symbol wasn't defined by a regular object file.
4598*75fd0b74Schristos	Don't check the symbol's dynindx.
4599*75fd0b74Schristos
4600*75fd0b74Schristos2004-02-16  Andrew Cagney  <cagney@redhat.com>
4601*75fd0b74Schristos
4602*75fd0b74Schristos	* bfd-in.h (file_ptr, ufile_ptr): Configure type using
4603*75fd0b74Schristos	@bfd_file_ptr@.
4604*75fd0b74Schristos	* bfd-in2.h: Re-generate.
4605*75fd0b74Schristos
4606*75fd0b74Schristos2004-02-14  Andrew Cagney  <cagney@redhat.com>
4607*75fd0b74Schristos
4608*75fd0b74Schristos	* configure.host (HDEFINES): When hppa*-*-hpux*, define
4609*75fd0b74Schristos	_LARGEFILE64_SOURCE.
4610*75fd0b74Schristos
4611*75fd0b74Schristos2004-02-13  Andrew Cagney  <cagney@redhat.com>
4612*75fd0b74Schristos
4613*75fd0b74Schristos	* elf.c	(vma_page_aligned_bias): New function.
4614*75fd0b74Schristos	(assign_file_positions_except_relocs)
4615*75fd0b74Schristos	(assign_file_positions_for_segments): Replace broken modulo
4616*75fd0b74Schristos	arithmetic with call to vma_page_aligned_bias.
4617*75fd0b74Schristos
4618*75fd0b74Schristos2004-02-11  Andrew Cagney  <cagney@redhat.com>
4619*75fd0b74Schristos
4620*75fd0b74Schristos	* bfd-in.h: Update copyright.
4621*75fd0b74Schristos	(bfd_tell): Change return type to file_ptr.
4622*75fd0b74Schristos	* bfd-in2.h: Re-generate.
4623*75fd0b74Schristos	* cache.c: Update copyright.
4624*75fd0b74Schristos	(bfd_cache_lookup_worker): Use real_fseek, do not cast offset
4625*75fd0b74Schristos	parameter.
4626*75fd0b74Schristos	(close_one): Use real_ftell.
4627*75fd0b74Schristos	* bfdio.c: Update copyright.
4628*75fd0b74Schristos	(real_ftell, real_fseek): New functions.
4629*75fd0b74Schristos	(bfd_tell): Use real_fseek and real_ftell, change return type to
4630*75fd0b74Schristos	file_ptr.
4631*75fd0b74Schristos	(bfd_seek): Use real_ftell and real_fseek, change type of
4632*75fd0b74Schristos	file_position to a file_ptr.
4633*75fd0b74Schristos	* libbfd-in.h: Update copyright.
4634*75fd0b74Schristos	(real_ftell, real_fseek): Declare.
4635*75fd0b74Schristos	* libbfd.h: Re-generate.
4636*75fd0b74Schristos
4637*75fd0b74Schristos	* configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
4638*75fd0b74Schristos	fseeko and fseeko64.  Determine bfd_file_ptr.
4639*75fd0b74Schristos	* configure: Re-generate.
4640*75fd0b74Schristos	* config.in: Re-generate.
4641*75fd0b74Schristos
4642*75fd0b74Schristos2004-02-09  Anil Paranjpe  <anilp1@KPITCummins.com>
4643*75fd0b74Schristos
4644*75fd0b74Schristos	* coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
4645*75fd0b74Schristos	* elf32-h8300.c: Likewise.
4646*75fd0b74Schristos
4647*75fd0b74Schristos2004-02-09  Christian Vogel <vogelchr@vogel.cx>
4648*75fd0b74Schristos	    Nick Clifton  <nickc@redhat.com>
4649*75fd0b74Schristos
4650*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
4651*75fd0b74Schristos	GOT entries with no associated GOT subsection.
4652*75fd0b74Schristos
4653*75fd0b74Schristos2004-02-09  Richard Sandiford  <rsandifo@redhat.com>
4654*75fd0b74Schristos
4655*75fd0b74Schristos	* bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
4656*75fd0b74Schristos	* elf.c (swap_out_syms): Use it to decide whether local section
4657*75fd0b74Schristos	symbols should be named.
4658*75fd0b74Schristos	* elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
4659*75fd0b74Schristos	* elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
4660*75fd0b74Schristos	(elf_backend_name_local_section_symbols): Define.
4661*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
4662*75fd0b74Schristos
4663*75fd0b74Schristos2004-01-30  H.J. Lu  <hongjiu.lu@intel.com>
4664*75fd0b74Schristos
4665*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
4666*75fd0b74Schristos	(elfNN_ia64_relax_section): Optimize brl to br during the relax
4667*75fd0b74Schristos	finalize pass.
4668*75fd0b74Schristos
4669*75fd0b74Schristos2004-01-30  Alexandre Oliva  <aoliva@redhat.com>
4670*75fd0b74Schristos
4671*75fd0b74Schristos	* elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
4672*75fd0b74Schristos	to bfd_link_hash_entry passed by reference to
4673*75fd0b74Schristos	_bfd_generic_link_add_one_symbol.
4674*75fd0b74Schristos
4675*75fd0b74Schristos2004-01-25  H.J. Lu  <hongjiu.lu@intel.com>
4676*75fd0b74Schristos
4677*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
4678*75fd0b74Schristos	relocations against dynamic symbols.
4679*75fd0b74Schristos
4680*75fd0b74Schristos2004-01-23  Daniel Jacobowitz  <drow@mvista.com>
4681*75fd0b74Schristos
4682*75fd0b74Schristos	* elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
4683*75fd0b74Schristos	change.
4684*75fd0b74Schristos
4685*75fd0b74Schristos2004-01-21  Tom Rix  <tcrix@worldnet.att.net>
4686*75fd0b74Schristos
4687*75fd0b74Schristos	* reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
4688*75fd0b74Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
4689*75fd0b74Schristos
4690*75fd0b74Schristos2004-01-20  Danny Smith  <dannysmith@users.sourceforge.net>
4691*75fd0b74Schristos
4692*75fd0b74Schristos	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
4693*75fd0b74Schristos	IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
4694*75fd0b74Schristos	flag has been cleared.
4695*75fd0b74Schristos
4696*75fd0b74Schristos2004-01-19  Kazu Hirata  <kazu@cs.umass.edu>
4697*75fd0b74Schristos
4698*75fd0b74Schristos	* coff-h8300.c: Add and adjust comments about relaxation.
4699*75fd0b74Schristos	* elf32-h8300.c: Likewise.
4700*75fd0b74Schristos
4701*75fd0b74Schristos2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
4702*75fd0b74Schristos
4703*75fd0b74Schristos	* coff-h8300.c: Fix comment typos.
4704*75fd0b74Schristos	* elf32-h8300.c: Likewise.
4705*75fd0b74Schristos
4706*75fd0b74Schristos2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
4707*75fd0b74Schristos
4708*75fd0b74Schristos	* coff-h8300.c: Add comments about relaxation.
4709*75fd0b74Schristos	* elf32-h8300.c: Likewise.
4710*75fd0b74Schristos
4711*75fd0b74Schristos2004-01-14  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
4712*75fd0b74Schristos
4713*75fd0b74Schristos	* acinclude.m4: Quote names of macros to be defined by AC_DEFUN
4714*75fd0b74Schristos	throughout.
4715*75fd0b74Schristos	* aclocal.m4: Regenerate.
4716*75fd0b74Schristos	* configure: Regenerate.
4717*75fd0b74Schristos
4718*75fd0b74Schristos2004-01-13  Ian Lance Taylor  <ian@wasabisystems.com>
4719*75fd0b74Schristos
4720*75fd0b74Schristos	* elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
4721*75fd0b74Schristos	mips_elf64_rtype_to_howto instead of using howto_table.
4722*75fd0b74Schristos
4723*75fd0b74Schristos2004-01-13  Daniel Jacobowitz  <drow@mvista.com>
4724*75fd0b74Schristos
4725*75fd0b74Schristos	* elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
4726*75fd0b74Schristos	the .plt section.
4727*75fd0b74Schristos	(elf32_arm_check_relocs): Don't increment the PLT refcount for
4728*75fd0b74Schristos	relocs which would not use the PLT.
4729*75fd0b74Schristos
4730*75fd0b74Schristos2004-01-13  Alan Modra  <amodra@bigpond.net.au>
4731*75fd0b74Schristos
4732*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
4733*75fd0b74Schristos	(ppc64_elf_gc_sweep_hook): Likewise.
4734*75fd0b74Schristos	(ppc64_elf_size_dynamic_sections): Test for .plt directly.
4735*75fd0b74Schristos
4736*75fd0b74Schristos2004-01-12  Anil Paranjpe  <anilp1@KPITCummins.com>
4737*75fd0b74Schristos
4738*75fd0b74Schristos	Adds linker relaxation support for bit manipulation insns like
4739*75fd0b74Schristos	band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
4740*75fd0b74Schristos	bst, btst, bxor.
4741*75fd0b74Schristos	* elf32-h8300.c: Opcode for bit manipulation insn is checked in
4742*75fd0b74Schristos	elf32_h8_relax_section function while relxation for aa:16 and aa:32.
4743*75fd0b74Schristos	* coff-h8300.c: Opcode for bit manipulation insn is checked in
4744*75fd0b74Schristos	h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
4745*75fd0b74Schristos
4746*75fd0b74Schristos2004-01-12  Alan Modra  <amodra@bigpond.net.au>
4747*75fd0b74Schristos
4748*75fd0b74Schristos	* dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
4749*75fd0b74Schristos
4750*75fd0b74Schristos2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
4751*75fd0b74Schristos
4752*75fd0b74Schristos	* elf32-h8300.c: Fix formatting.
4753*75fd0b74Schristos
4754*75fd0b74Schristos2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
4755*75fd0b74Schristos
4756*75fd0b74Schristos	* elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
4757*75fd0b74Schristos	dynamic object is present.  Declare r_symndx and h in an inner
4758*75fd0b74Schristos	scope.
4759*75fd0b74Schristos	* elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
4760*75fd0b74Schristos
4761*75fd0b74Schristos2004-01-09  Daniel Jacobowitz  <drow@mvista.com>
4762*75fd0b74Schristos
4763*75fd0b74Schristos	* elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
4764*75fd0b74Schristos	(elf32_arm_copy_indirect_symbol): Don't copy pc_count.
4765*75fd0b74Schristos	(elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
4766*75fd0b74Schristos	identically.  Do not emit PC24 relocations for shared libraries.
4767*75fd0b74Schristos	(elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
4768*75fd0b74Schristos	identically.  Don't adjust pc_count.
4769*75fd0b74Schristos	(elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
4770*75fd0b74Schristos	Set ELF_LINK_HASH_NEEDS_PLT for both.  Don't adjust pc_count; don't
4771*75fd0b74Schristos	adjust count for branch relocations.
4772*75fd0b74Schristos	(allocate_dynrelocs): Correct typo in call to
4773*75fd0b74Schristos	WILL_CALL_FINISH_DYNAMIC_SYMBOL.  Never allocate space for
4774*75fd0b74Schristos	PC24 or PLT32 relocs when linking.
4775*75fd0b74Schristos
4776*75fd0b74Schristos2004-01-09  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
4777*75fd0b74Schristos
4778*75fd0b74Schristos	* coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
4779*75fd0b74Schristos	relocation howto with ARM_26 one for consistency.
4780*75fd0b74Schristos	(coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
4781*75fd0b74Schristos	that will be converted to ARM_26D ones, since we always want 'done'
4782*75fd0b74Schristos	relocations to be reflected in section's data.
4783*75fd0b74Schristos	(coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
4784*75fd0b74Schristos	offset.
4785*75fd0b74Schristos	(_bfd_final_link_relocate): Do not modify "inplace" data, if not
4786*75fd0b74Schristos	requested.
4787*75fd0b74Schristos
4788*75fd0b74Schristos2004-01-08  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
4789*75fd0b74Schristos
4790*75fd0b74Schristos	* coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
4791*75fd0b74Schristos	are not partial_inplace during a relocatable link.
4792*75fd0b74Schristos
4793*75fd0b74Schristos2004-01-08  Kazu Hirata  <kazu@cs.umass.edu>
4794*75fd0b74Schristos
4795*75fd0b74Schristos	* elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
4796*75fd0b74Schristos	if no dynamic object is present.  Declare r_symndx and h in an
4797*75fd0b74Schristos	inner scope.
4798*75fd0b74Schristos
4799*75fd0b74Schristos2004-01-07  H.J. Lu  <hongjiu.lu@intel.com>
4800*75fd0b74Schristos
4801*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
4802*75fd0b74Schristos	trampoline if it is known out of range.
4803*75fd0b74Schristos
4804*75fd0b74Schristos2004-01-06  Alexandre Oliva  <aoliva@redhat.com>
4805*75fd0b74Schristos
4806*75fd0b74Schristos	2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
4807*75fd0b74Schristos	* elf32-frv.c (_frv_osec_readonly_p): New.
4808*75fd0b74Schristos	(_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
4809*75fd0b74Schristos	undefweak symbol.
4810*75fd0b74Schristos	(_frv_count_got_plt_entries): Adjust expected count accordingly.
4811*75fd0b74Schristos	(elf32_frv_relocate_section): Likewise.  Error out if attempting
4812*75fd0b74Schristos	to emit rofixups or dynamic relocs in read-only segments.  Use
4813*75fd0b74Schristos	_bfd_elf_section_offset to adjust r_offsets in rofixups and
4814*75fd0b74Schristos	dynamic relocations.
4815*75fd0b74Schristos	2003-12-12  Alexandre Oliva  <aoliva@redhat.com>
4816*75fd0b74Schristos	* elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
4817*75fd0b74Schristos	relocations or fixups involving merged sections correctly.  Avoid
4818*75fd0b74Schristos	crash when undefined symbol is referenced by R_FRV_32 or
4819*75fd0b74Schristos	R_FRV_FUNCDESC_VALUE.
4820*75fd0b74Schristos	2003-12-02  Alexandre Oliva  <aoliva@redhat.com>
4821*75fd0b74Schristos	* elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
4822*75fd0b74Schristos	input section holding local symbol to addend of R_FRV_32 or
4823*75fd0b74Schristos	R_FRV_FUNCDESC_VALUE dynamic relocation.
4824*75fd0b74Schristos	2003-11-27  Alexandre Oliva  <aoliva@redhat.com>
4825*75fd0b74Schristos	* elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
4826*75fd0b74Schristos	(elf32_frv_always_size_sections): Don't store pointer to
4827*75fd0b74Schristos	__stacksize symbol in sec_info.
4828*75fd0b74Schristos	(elf32_frv_modify_segment_map): Look it up here.
4829*75fd0b74Schristos	2003-11-26  Alexandre Oliva  <aoliva@redhat.com>
4830*75fd0b74Schristos	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
4831*75fd0b74Schristos	of the lazy PLT entry, not only its offset, as the low word of a
4832*75fd0b74Schristos	function descriptor.
4833*75fd0b74Schristos	2003-11-10  Alexandre Oliva  <aoliva@redhat.com>
4834*75fd0b74Schristos	* elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
4835*75fd0b74Schristos	if a hash table entry already exists but is not a definition.
4836*75fd0b74Schristos	2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
4837*75fd0b74Schristos	* elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
4838*75fd0b74Schristos	(_frv_add_rofixup): Don't inline.
4839*75fd0b74Schristos	(_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
4840*75fd0b74Schristos	for undefweak symbols.
4841*75fd0b74Schristos	(elf32_frv_relocate_section): Avoid crash while computing
4842*75fd0b74Schristos	relocation when linking with shared library.  Only emit rofixups
4843*75fd0b74Schristos	and dynamic relocations for alloc&load sections.  Mark binaries
4844*75fd0b74Schristos	with inter-segment relocations for relocation as a unit.
4845*75fd0b74Schristos	(_frv_create_got_section): Rename .rofixup.got to .rofixup.
4846*75fd0b74Schristos	(DEFAULT_STACK_SIZE): New.
4847*75fd0b74Schristos	(_frv_count_got_plt_entries): Fix thinko in deciding whether to
4848*75fd0b74Schristos	emit rofixups or dynamic relocs when linking dynamic non-PIE
4849*75fd0b74Schristos	executables.
4850*75fd0b74Schristos	(elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
4851*75fd0b74Schristos	shared libs too.  Reserve the last entry for the GOT pointer.
4852*75fd0b74Schristos	(elf32_frv_finish_dynamic_sections): Emit it.
4853*75fd0b74Schristos	(elf32_frv_always_size_sections): New.
4854*75fd0b74Schristos	(elf32_frv_modify_segment_map): New.
4855*75fd0b74Schristos	(elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
4856*75fd0b74Schristos	sections.
4857*75fd0b74Schristos	(frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
4858*75fd0b74Schristos	(frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
4859*75fd0b74Schristos	(elf_backend_always_size_sections): New.
4860*75fd0b74Schristos	(elf_backend_modify_segment_map): New.
4861*75fd0b74Schristos	2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
4862*75fd0b74Schristos	* config.bfd: Added frv-*-*linux*.
4863*75fd0b74Schristos	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
4864*75fd0b74Schristos	ABS section, instead of crashing.
4865*75fd0b74Schristos	(elf32_frv_relocate_section): Don't crash before warning about
4866*75fd0b74Schristos	different segments in non-PIC relocation.
4867*75fd0b74Schristos	2003-10-17  Alexandre Oliva  <aoliva@redhat.com>
4868*75fd0b74Schristos	* elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
4869*75fd0b74Schristos	relocs to undefweak symbols.
4870*75fd0b74Schristos	(elf32_frv_relocate_section): Ditto for undefined symbols.
4871*75fd0b74Schristos	2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
4872*75fd0b74Schristos	* elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
4873*75fd0b74Schristos	gotfixup section was created.
4874*75fd0b74Schristos	2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
4875*75fd0b74Schristos	* elf32-frv.c (elf32_frv_howto_table): Change GOT12,
4876*75fd0b74Schristos	FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
4877*75fd0b74Schristos	complain_overflow_signed.
4878*75fd0b74Schristos	* elf32-frv.c (_frv_add_rofixup): Do not error out if contents
4879*75fd0b74Schristos	have not been allocated.
4880*75fd0b74Schristos	(_frv_emit_got_relocs_plt_entries): Return non-void.  Assert
4881*75fd0b74Schristos	privfd only if dynamic sections were created.
4882*75fd0b74Schristos	(elf32_frv_relocate_section): Compute gprel_segment, and use it
4883*75fd0b74Schristos	for GPREL relocs.  When linking relocatable FDPIC executables,
4884*75fd0b74Schristos	emit warnings for relocations that would be illegal on PIE or
4885*75fd0b74Schristos	shared libraries.  Emit rofixup for R_FRV_32 only if input object
4886*75fd0b74Schristos	is not FDPIC.
4887*75fd0b74Schristos	(_frv_create_got_section): Define _gp symbol in the rofixup
4888*75fd0b74Schristos	section.
4889*75fd0b74Schristos	(elf32_frv_finish_dynamic_sections): If rofixups needed but
4890*75fd0b74Schristos	dynamic sections missing, error out requesting -melf32frvfd.
4891*75fd0b74Schristos	2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
4892*75fd0b74Schristos	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
4893*75fd0b74Schristos	computation of addends from section and global or local symbol
4894*75fd0b74Schristos	value.  Change return type to bfd_boolean, and return a failure if
4895*75fd0b74Schristos	a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
4896*75fd0b74Schristos	nonzero addend is required.
4897*75fd0b74Schristos	(elf32_frv_relocate_section): Likewise.  Print error for
4898*75fd0b74Schristos	unsupported nonzero addends.
4899*75fd0b74Schristos	2003-09-18  Alexandre Oliva  <aoliva@redhat.com>
4900*75fd0b74Schristos	* elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
4901*75fd0b74Schristos	force everything local.
4902*75fd0b74Schristos	(_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
4903*75fd0b74Schristos	* elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
4904*75fd0b74Schristos	(frv_gotfixup_section): New.
4905*75fd0b74Schristos	(FRV_SYM_LOCAL): Accept undefweak and local common symbols.
4906*75fd0b74Schristos	(struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
4907*75fd0b74Schristos	and relocsfdv.
4908*75fd0b74Schristos	(_frv_add_rofixup): New.
4909*75fd0b74Schristos	(_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
4910*75fd0b74Schristos	fdpic executables.  Use FRV_SYM_LOCAL more widely to simplify and
4911*75fd0b74Schristos	improve some ugly conditions.
4912*75fd0b74Schristos	(elf32_frv_relocate_section): Likewise.  Reject inter-segment
4913*75fd0b74Schristos	relocations in fdpic.
4914*75fd0b74Schristos	(_frv_create_got_section): Create .rofixup.got section.
4915*75fd0b74Schristos	(struct _frv_dynamic_got_info): Added fixups.
4916*75fd0b74Schristos	(_frv_count_got_plt_entries): Account in-GOT relocations into
4917*75fd0b74Schristos	relocs32, relocsfd and relocsfdv.  Account them into relocs or
4918*75fd0b74Schristos	fixups, as appropriate.
4919*75fd0b74Schristos	(elf32_frv_size_dynamic_sections): Size rofixup section.  Simplify
4920*75fd0b74Schristos	sizing of gotrel.
4921*75fd0b74Schristos	(elf32_frv_finish_dynamic_sections): Verify that the right number
4922*75fd0b74Schristos	of relocations and fixups was generated.
4923*75fd0b74Schristos	(elf32_frv_check_relocs): Compute relocs32, relocsfd and
4924*75fd0b74Schristos	relocsfdv.
4925*75fd0b74Schristos	* elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
4926*75fd0b74Schristos	SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
4927*75fd0b74Schristos	(FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
4928*75fd0b74Schristos	descriptor of a (formerly-)global symbol is local.
4929*75fd0b74Schristos	(struct frv_pic_relocs_info): Adjust comments.
4930*75fd0b74Schristos	(_frv_emit_got_relocs_plt_entries): Adjust.
4931*75fd0b74Schristos	(elf32_frv_relocate_section): Likewise.
4932*75fd0b74Schristos	(_frv_count_got_plt_entries): Likewise.
4933*75fd0b74Schristos	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
4934*75fd0b74Schristos	symbol's value to addend in the common preamble.  Decay dynamic
4935*75fd0b74Schristos	symbols to section+offset if they bind or call locally, for GOT
4936*75fd0b74Schristos	and FUNCDESC_VALUE, respectively.
4937*75fd0b74Schristos	(elf32_frv_relocate_section): Likewise.
4938*75fd0b74Schristos	(elf32_frv_check_relocs): Don't register as dynamic symbols of
4939*75fd0b74Schristos	internal or hidden visibility.
4940*75fd0b74Schristos	2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
4941*75fd0b74Schristos	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
4942*75fd0b74Schristos	argument, so as to not call _bfd_elf_rel_local_sym to compute it.
4943*75fd0b74Schristos	(elf32_frv_relocate_section): Pass relocation addend in.  Use
4944*75fd0b74Schristos	original relocation addend to look up the got relocs/plt entries
4945*75fd0b74Schristos	table.  Do not call _bfd_elf_rel_local_sym.  Don't error out when
4946*75fd0b74Schristos	processing relocations that reference .scommon symbols.
4947*75fd0b74Schristos	2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
4948*75fd0b74Schristos	Introduce support for dynamic linking.
4949*75fd0b74Schristos	* elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
4950*75fd0b74Schristos	(elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
4951*75fd0b74Schristos	elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
4952*75fd0b74Schristos	(frv_reloc_type_lookup): Return REL howtos for executables and
4953*75fd0b74Schristos	dynamic libraries.
4954*75fd0b74Schristos	(frv_info_to_howto_rel): New.
4955*75fd0b74Schristos	(struct frv_elf_link_hash_table): New.
4956*75fd0b74Schristos	(frv_hash_table, frv_got_section, frv_gotrel_section,
4957*75fd0b74Schristos	frv_plt_section, frv_pltrel_section, frv_relocs_info,
4958*75fd0b74Schristos	frv_got_initial_offset, frv_plt_initial_offset): New macros.
4959*75fd0b74Schristos	(frv_elf_link_hash_table_create): New.
4960*75fd0b74Schristos	(struct frv_pic_relocs_info): New.
4961*75fd0b74Schristos	(frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
4962*75fd0b74Schristos	(frv_pic_relocs_info_find): New.
4963*75fd0b74Schristos	(frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
4964*75fd0b74Schristos	New.
4965*75fd0b74Schristos	(FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
4966*75fd0b74Schristos	(_frv_add_dyn_reloc, _frv_osec_to_segment): New.
4967*75fd0b74Schristos	(_frv_emit_got_relocs_plt_entries): New.
4968*75fd0b74Schristos	(elf32_frv_relocate_section): Add support for dynamic linking.
4969*75fd0b74Schristos	Handle new relocations.
4970*75fd0b74Schristos	(_frv_create_got_section): New.
4971*75fd0b74Schristos	(elf32_frv_create_dynamic_sections): New.
4972*75fd0b74Schristos	(ELF_DYNAMIC_INTERPRETER): New.
4973*75fd0b74Schristos	(struct _frv_dynamic_got_info): New.
4974*75fd0b74Schristos	(_frv_count_got_plt_entries): New.
4975*75fd0b74Schristos	(struct _frv_dynamic_got_plt_info): New.
4976*75fd0b74Schristos	(_frv_compute_got_alloc_data): New.
4977*75fd0b74Schristos	(_frv_get_got_entry, _frv_get_fd_entry): New.
4978*75fd0b74Schristos	(_frv_assign_got_entries, _frv_assign_plt_entries): New.
4979*75fd0b74Schristos	(_frv_resolve_final_relocs_info): New.
4980*75fd0b74Schristos	(elf32_frv_size_dynamic_sections): New.
4981*75fd0b74Schristos	(elf32_frv_finish_dynamic_sections): New.
4982*75fd0b74Schristos	(elf32_frv_adjust_dynamic_symbol): New.
4983*75fd0b74Schristos	(elf32_frv_finish_dynamic_symbol): New.
4984*75fd0b74Schristos	(elf32_frv_check_relocs): Handle new relocs.  Explain how the
4985*75fd0b74Schristos	whole thing works.
4986*75fd0b74Schristos	(elf_info_to_howto_rel): Define.
4987*75fd0b74Schristos	(bfd_elf32_bfd_link_hash_table_create): Define.
4988*75fd0b74Schristos	(elf_backend_create_dynamic_sections): Define.
4989*75fd0b74Schristos	(elf_backend_adjust_dynamic_symbol): Define.
4990*75fd0b74Schristos	(elf_backend_size_dynamic_sections): Define.
4991*75fd0b74Schristos	(elf_backend_finish_dynamic_symbol): Define.
4992*75fd0b74Schristos	(elf_backend_finish_dynamic_sections): Define.
4993*75fd0b74Schristos	(elf_backend_want_got_sym): Define.
4994*75fd0b74Schristos	(elf_backend_got_header_size): Define.
4995*75fd0b74Schristos	(elf_backend_want_got_plt): Define.
4996*75fd0b74Schristos	(elf_backend_plt_readonly): Define.
4997*75fd0b74Schristos	(elf_backend_want_plt_sym): Define.
4998*75fd0b74Schristos	(elf_backend_plt_header_size): Define.
4999*75fd0b74Schristos	(elf_backend_may_use_rel_p): Define.
5000*75fd0b74Schristos	(elf_backend_may_use_rela_p): Define.
5001*75fd0b74Schristos	(elf_backend_default_use_rela_p): Define.
5002*75fd0b74Schristos	2003-08-08  Alexandre Oliva  <aoliva@redhat.com>
5003*75fd0b74Schristos	* elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
5004*75fd0b74Schristos	R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
5005*75fd0b74Schristos	R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
5006*75fd0b74Schristos	(frv_reloc_map): Map the corresponding BFD relocs to them.
5007*75fd0b74Schristos	(frv_reloc_type_lookup): ... and back to BFD relocs.
5008*75fd0b74Schristos	* reloc.c: New relocs.
5009*75fd0b74Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
5010*75fd0b74Schristos	2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
5011*75fd0b74Schristos	* elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
5012*75fd0b74Schristos	R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
5013*75fd0b74Schristos	R_FRV_FUNCDESC_GOTLO): New.
5014*75fd0b74Schristos	(frv_reloc_map): Map the corresponding BFD relocs to them.
5015*75fd0b74Schristos	(frv_reloc_type_lookup): ... and back to BFD relocs.
5016*75fd0b74Schristos	* reloc.c: New relocs.
5017*75fd0b74Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
5018*75fd0b74Schristos
5019*75fd0b74Schristos2004-01-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
5020*75fd0b74Schristos
5021*75fd0b74Schristos	* elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
5022*75fd0b74Schristos	targets to support pages of up to 64kB.
5023*75fd0b74Schristos	(elf32_bed): Redefine to get a separate backend data structure for
5024*75fd0b74Schristos	traditional targets.
5025*75fd0b74Schristos	* elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
5026*75fd0b74Schristos	targets to support pages of up to 64kB.
5027*75fd0b74Schristos	(elf64_bed): Redefine to get a separate backend data structure for
5028*75fd0b74Schristos	traditional targets.
5029*75fd0b74Schristos	* elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
5030*75fd0b74Schristos	targets to support pages of up to 64kB.
5031*75fd0b74Schristos	(elf32_bed): Redefine to get a separate backend data structure for
5032*75fd0b74Schristos	traditional targets.
5033*75fd0b74Schristos
5034*75fd0b74Schristos2004-01-04  Mark Kettenis  <kettenis@gnu.org>
5035*75fd0b74Schristos
5036*75fd0b74Schristos	* elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
5037*75fd0b74Schristos
5038*75fd0b74Schristos2004-01-02  Mark Kettenis  <kettenis@gnu.org>
5039*75fd0b74Schristos
5040*75fd0b74Schristos	* elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
5041*75fd0b74Schristos	(elf_i386_grok_psinfo): Likewise.
5042*75fd0b74Schristos
5043*75fd0b74Schristos2004-01-02  Bernardo Innocenti  <bernie@develer.com>
5044*75fd0b74Schristos
5045*75fd0b74Schristos	* config.bfd: Add m68k-uClinux target.
5046*75fd0b74Schristos
5047*75fd0b74Schristos2004-01-01  Grant Edwards <grante@visi.com>
5048*75fd0b74Schristos
5049*75fd0b74Schristos	* elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
5050*75fd0b74Schristos	* elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
5051*75fd0b74Schristos	(elf32_h8_gc_sweep_hook): New function.
5052*75fd0b74Schristos	(elf_backend_gc_mark_hook): Define.
5053*75fd0b74Schristos	(elf_backend_gc_sweep_hook): Define.
5054*75fd0b74Schristos	(elf_backend_can_gc_sections): Define.
5055*75fd0b74Schristos
5056*75fd0b74SchristosFor older changes see ChangeLog-0203
5057*75fd0b74Schristos
5058*75fd0b74SchristosCopyright (C) 2004 Free Software Foundation, Inc.
5059*75fd0b74Schristos
5060*75fd0b74SchristosCopying and distribution of this file, with or without modification,
5061*75fd0b74Schristosare permitted in any medium without royalty provided the copyright
5062*75fd0b74Schristosnotice and this notice are preserved.
5063*75fd0b74Schristos
5064*75fd0b74SchristosLocal Variables:
5065*75fd0b74Schristosmode: change-log
5066*75fd0b74Schristosleft-margin: 8
5067*75fd0b74Schristosfill-column: 74
5068*75fd0b74Schristosversion-control: never
5069*75fd0b74SchristosEnd:
5070