xref: /openbsd/gnu/usr.bin/binutils/bfd/ChangeLog (revision 007c2a45)
1*007c2a45Smiod2004-05-17  Daniel Jacobowitz  <dan@debian.org>
2b55d4692Sfgsch
3*007c2a45Smiod	* configure.in: Bump version to 2.15.  Mark as released.
4*007c2a45Smiod	* configure: Regenerate.
5b55d4692Sfgsch
6*007c2a45Smiod2004-05-13  Joel Sherrill <joel@oarcorp.com>
7b55d4692Sfgsch
8*007c2a45Smiod	* config.bfd (or32-*-rtems*): Switch to elf.
9b55d4692Sfgsch
10*007c2a45Smiod2004-05-13  Nick Clifton  <nickc@redhat.com>
11b55d4692Sfgsch
12*007c2a45Smiod	* po/fr.po: Updated French translation.
13c074d1c9Sdrahn
14*007c2a45Smiod2004-05-07  Daniel Jacobowitz  <dan@debian.org>
15c074d1c9Sdrahn
16*007c2a45Smiod	* configure.in: Bump version to 2.14.92.
17*007c2a45Smiod	* configure: Regenerate.
18c074d1c9Sdrahn
19*007c2a45Smiod2004-05-07  Daniel Jacobowitz  <dan@debian.org>
20c074d1c9Sdrahn
21c074d1c9Sdrahn	Merge from mainline:
22*007c2a45Smiod	2004-04-16  Alan Modra  <amodra@bigpond.net.au>
23*007c2a45Smiod	* simple.c (bfd_simple_get_relocated_section_contents): Don't
24*007c2a45Smiod	change reloc_done.  Set and restore _cooked_size.
25*007c2a45Smiod	(RETURN): Delete.
26c074d1c9Sdrahn
27*007c2a45Smiod2004-05-07  Alexandre Oliva  <aoliva@redhat.com>
28c074d1c9Sdrahn
29*007c2a45Smiod	* elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
30*007c2a45Smiod	immediately if there's no link info.
31*007c2a45Smiod	(elf32_frvfdpic_copy_private_bfd_data): New.
32*007c2a45Smiod	(bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
33c074d1c9Sdrahn
34*007c2a45Smiod2004-05-06  Zack Weinberg  <zack@codesourcery.com>
35c074d1c9Sdrahn
36*007c2a45Smiod	* dwarf2.c (add_line_info): Also set info->filename to NULL if
37*007c2a45Smiod	filename argument is null; do not call strlen on a null pointer.
38c074d1c9Sdrahn
39*007c2a45Smiod2004-05-06  Daniel Jacobowitz  <drow@mvista.com>
40c074d1c9Sdrahn
41*007c2a45Smiod	* elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
42*007c2a45Smiod	special case.
43c074d1c9Sdrahn
44*007c2a45Smiod2004-05-05  Alexandre Oliva  <aoliva@redhat.com>
45c074d1c9Sdrahn
46*007c2a45Smiod	* configure.in (bfd_elf32_frvfdpic_vec): New.
47*007c2a45Smiod	* configure: Rebuilt.
48*007c2a45Smiod	* targets.c (bfd_elf32_frvfdpic_vec): New.
49*007c2a45Smiod	* config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
50*007c2a45Smiod	on the latter.
51*007c2a45Smiod	* elf32-frv.c: Prefix all identifiers added for FDPIC support with
52*007c2a45Smiod	frvfdpic instead of frv.  Rearrange elf-target macros such that
53*007c2a45Smiod	the FDPIC-specific ones are only defined for this new target
54c074d1c9Sdrahn	vector.
55*007c2a45Smiod	(bfd_elf32_frvfdpic_vec): Declare.
56*007c2a45Smiod	(IS_FDPIC): New.
57*007c2a45Smiod	(elf32_frv_relocate_section): Use it to enable segment checking
58*007c2a45Smiod	and to control rofixup emission.  Add output section vma to
59*007c2a45Smiod	applied relocation in non-LOAD non-ALLOC sections.  Use
60*007c2a45Smiod	_bfd_error_handler for errors.
61*007c2a45Smiod	(_frv_create_got_section): Create .rel.got and .rofixup only in
62*007c2a45Smiod	FDPIC.  Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
63*007c2a45Smiod	linker script.
64*007c2a45Smiod	(elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
65*007c2a45Smiod	(elf32_frvfdpic_modify_segment_map): Likewise.
66*007c2a45Smiod	(elf32_frv_finish_dynamic_sections): New, do-nothing.
67*007c2a45Smiod	(elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC.  Improve
68*007c2a45Smiod	error message if we miscompute the rofixup size.
69*007c2a45Smiod	(frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
70*007c2a45Smiod	(frvfdpic_elf_encode_eh_address): Likewise.
71*007c2a45Smiod	(elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
72*007c2a45Smiod	Record relocs only in FDPIC.  Make sure _gp is defined for GPREL
73*007c2a45Smiod	relocs.  Reject unknown relocation types.
74*007c2a45Smiod	(elf32_frv_object_p): Make sure target vector matches FDPIC bits.
75*007c2a45Smiod	(frv_elf_merge_private_bfd_data): Likewise.
76*007c2a45Smiod	(ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
77*007c2a45Smiod	0x4000 for newly-added elf32-frvfdpic.
78c074d1c9Sdrahn
79*007c2a45Smiod2004-05-05  Alexandre Oliva  <aoliva@redhat.com>
80c074d1c9Sdrahn
81*007c2a45Smiod	Merge from mainline:
82*007c2a45Smiod	2004-02-27  Alexandre Oliva  <aoliva@redhat.com>
83*007c2a45Smiod	* elf-bfd.h (struct elf_backend_data): Added
84*007c2a45Smiod	elf_backend_can_make_relative_eh_frame,
85*007c2a45Smiod	elf_backend_can_make_lsda_relative_eh_frame and
86*007c2a45Smiod	elf_backend_encode_eh_address.
87*007c2a45Smiod	(_bfd_elf_encode_eh_address): Declare.
88*007c2a45Smiod	(_bfd_elf_can_make_relative): Declare.
89*007c2a45Smiod	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
90*007c2a45Smiod	hooks to decide whether to attempt to make_relative and
91*007c2a45Smiod	make_lsda_relative.
92*007c2a45Smiod	(_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
93*007c2a45Smiod	(_bfd_elf_can_make_relative): New.
94*007c2a45Smiod	(_bfd_elf_encode_eh_address): New.
95*007c2a45Smiod	* elf32-frv.c (frv_elf_use_relative_eh_frame): New.
96*007c2a45Smiod	(frv_elf_encode_eh_address): New.
97*007c2a45Smiod	(elf_backend_can_make_relative_eh_frame): Define.
98*007c2a45Smiod	(elf_backend_can_make_lsda_relative_eh_frame): Define.
99*007c2a45Smiod	(elf_backend_encode_eh_address): Define.
100*007c2a45Smiod	* elfxx-target.h
101*007c2a45Smiod	(elf_backend_can_make_relative_eh_frame): Define.
102*007c2a45Smiod	(elf_backend_can_make_lsda_relative_eh_frame): Define.
103*007c2a45Smiod	(elf_backend_encode_eh_address): Define.
104*007c2a45Smiod	(elfNN_bed): Add them.
105c074d1c9Sdrahn
106*007c2a45Smiod2004-04-27  Bob Wilson  <bob.wilson@acm.org>
107c074d1c9Sdrahn
108*007c2a45Smiod	* elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
109*007c2a45Smiod	if set.  Check reloc_done flag before applying relocations.  Use
110*007c2a45Smiod	output addresses, both when applying relocations and when comparing
111*007c2a45Smiod	against the specified section.
112*007c2a45Smiod	(elf_xtensa_relocate_section): Use output address to check if dynamic
113*007c2a45Smiod	reloc is in a literal pool.  Set section's reloc_done flag.
114c074d1c9Sdrahn
115*007c2a45Smiod2004-04-21  Philip Blundell  <pb@nexus.co.uk>
116c074d1c9Sdrahn
117*007c2a45Smiod	* elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
118*007c2a45Smiod	relocs for locally defined symbols during -shared final link.
119*007c2a45Smiod	(elf32_arm_final_link_relocate): Likewise.
120c074d1c9Sdrahn
121*007c2a45Smiod2004-04-21  Bob Wilson  <bob.wilson@acm.org>
122c074d1c9Sdrahn
123*007c2a45Smiod	* elf32-xtensa.c (is_same_value): Add final_static_link argument and
124*007c2a45Smiod	require relocations against a weak symbol to reference the same
125*007c2a45Smiod	symbol hash entry if not a final, static link.
126*007c2a45Smiod	(get_cached_value, add_value_map): Add final_static_link argument.
127*007c2a45Smiod	(remove_literals): Pass final_static_link argument as needed.
128c074d1c9Sdrahn
129*007c2a45Smiod2004-04-16  Nick Clifton  <nickc@redhat.com>
130c074d1c9Sdrahn
131*007c2a45Smiod	* bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
132c074d1c9Sdrahn
133*007c2a45Smiod2004-04-16  H.J. Lu  <hongjiu.lu@intel.com>
134c074d1c9Sdrahn
135*007c2a45Smiod	* elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
136*007c2a45Smiod	when it is a definition.
137c074d1c9Sdrahn
138*007c2a45Smiod2004-04-16  Alan Modra  <amodra@bigpond.net.au>
139c074d1c9Sdrahn
140*007c2a45Smiod	* elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
141*007c2a45Smiod	when statically linking PIC code.
142c074d1c9Sdrahn	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
143b55d4692Sfgsch
144*007c2a45Smiod2004-04-11  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
145b55d4692Sfgsch
146*007c2a45Smiod	* config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
147*007c2a45Smiod	* configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
148*007c2a45Smiod	targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
149b55d4692Sfgsch	* configure: Regenerate.
150b55d4692Sfgsch
151*007c2a45Smiod2004-04-09  Daniel Jacobowitz  <drow@mvista.com>
152b55d4692Sfgsch
153*007c2a45Smiod	* configure.in: Update version to 2.14.91.
154*007c2a45Smiod	* configure: Likewise.
155b55d4692Sfgsch
156*007c2a45Smiod2004-04-09  Daniel Jacobowitz  <drow@mvista.com>
157b55d4692Sfgsch
158*007c2a45Smiod	Merge from mainline:
159*007c2a45Smiod	2004-04-06  Daniel Jacobowitz  <drow@mvista.com>
160*007c2a45Smiod	* elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
161*007c2a45Smiod	".MIPS.stubs".
162b55d4692Sfgsch
163*007c2a45Smiod	2004-04-05  H.J. Lu  <hongjiu.lu@intel.com>
164*007c2a45Smiod	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
165*007c2a45Smiod	reserve the memory for dynamic linker
166b55d4692Sfgsch
167*007c2a45Smiod	2004-04-05  Mark Kettenis  <kettenis@gnu.org>
168*007c2a45Smiod	* netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
169*007c2a45Smiod	(netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
170b55d4692Sfgsch
171*007c2a45Smiod	2004-04-01  Andy Chittenden  <achittenden@bluearc.com>
172*007c2a45Smiod	* stabs.c (struct stab_link_includes_totals): Add field 'symb'
173*007c2a45Smiod	that keeps the characters in a B_INCL..B_EINCL range.
174*007c2a45Smiod	(_bfd_link_section_stabs): When computing the sum of the
175*007c2a45Smiod	characters in a B_INCL..B_EINCL range also keep a copy of those
176*007c2a45Smiod	characters.  Use this information to distinguish between
177*007c2a45Smiod	include sections that have the same sum and the same length
178*007c2a45Smiod	but which are nevertheless unique.
179b55d4692Sfgsch
180*007c2a45Smiod	2004-03-31  Andy Chittenden <achittenden@bluearc.com>
181*007c2a45Smiod	* stabs.c (struct stab_link_includes_totals): Rename field 'total'
182*007c2a45Smiod	to 'sum_chars' and add field 'num_chars'.
183*007c2a45Smiod	(_bfd_link_section_stabs): When computing the sum of the
184*007c2a45Smiod	characters in a B_INCL..B_EINCL range also keep a count of the
185*007c2a45Smiod	number of characters.  Use this information to help distinguish
186*007c2a45Smiod	between include sections when have the same sum but which
187*007c2a45Smiod	nevertheless are still unique.
188b55d4692Sfgsch
189*007c2a45Smiod	2004-03-31  Mattias Engdeg�rd  <mattias@virtutech.se>
190*007c2a45Smiod	* stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.
191b55d4692Sfgsch
192*007c2a45Smiod	2004-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
193*007c2a45Smiod	* elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
194c074d1c9Sdrahn	(final_link_relocate): Likewise.
195c074d1c9Sdrahn
196*007c2a45Smiod	2004-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
197*007c2a45Smiod	* elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
198*007c2a45Smiod	R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
199c074d1c9Sdrahn
200*007c2a45Smiod	2004-03-17  Nathan Sidwell  <nathan@codesourcery.com>
201*007c2a45Smiod	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
202*007c2a45Smiod	logic for null_input_bfd detection.
203c074d1c9Sdrahn
204*007c2a45Smiod	2004-03-12  Nick Clifton  <nickc@redhat.com>
205*007c2a45Smiod	Dave Murphy  <wintermute2k4@ntlworld.com>
206c074d1c9Sdrahn
207*007c2a45Smiod	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks
208*007c2a45Smiod	if the input bfd does not contain any code.
209c074d1c9Sdrahn
210*007c2a45Smiod	2004-03-02  Alexandre Oliva  <aoliva@redhat.com>
211*007c2a45Smiod	* elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
212*007c2a45Smiod	dynrelocs.
213*007c2a45Smiod	(_frv_count_got_plt_entries): Initialize them.
214*007c2a45Smiod	(frv_pic_relocs_info_find): Add insert argument.  Adjust all
215*007c2a45Smiod	callers.
216*007c2a45Smiod	(frv_pic_relocs_info_for_global): Likewise.
217*007c2a45Smiod	(frv_pic_relocs_info_for_local): Likewise.
218*007c2a45Smiod	(frv_pic_merge_early_relocs_info): New.
219*007c2a45Smiod	(_frv_resolve_final_relocs_info): Use it in case one entry maps to
220*007c2a45Smiod	another.
221*007c2a45Smiod	(_frv_add_dyn_reloc): Add entry argument.  Adjust all callers.
222*007c2a45Smiod	Check that we don't exceed the allocated count for entry.
223*007c2a45Smiod	(_frv_add_rofixup): Likewise.
224*007c2a45Smiod	(_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
225*007c2a45Smiod	(elf32_frv_finish_dynamic_sections): Improve error message in case
226*007c2a45Smiod	we emit too few rofixup entries.
227c074d1c9Sdrahn
228*007c2a45Smiod	2004-02-27  Alexandre Oliva  <aoliva@redhat.com>
229*007c2a45Smiod	* elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
230*007c2a45Smiod	complain_on_overflow to signed.
231c074d1c9Sdrahn
232*007c2a45Smiod	2004-02-27  Jakub Jelinek  <jakub@redhat.com>
233*007c2a45Smiod	* elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
234*007c2a45Smiod	for pc relative relocs.
235c074d1c9Sdrahn	(elf_s390_relocate_section): Likewise.
236*007c2a45Smiod	* elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
237*007c2a45Smiod	for pc relative relocs.
238*007c2a45Smiod	(elf_s390_relocate_section): Likewise.
239c074d1c9Sdrahn
240*007c2a45Smiod	2004-02-26  H.J. Lu  <hongjiu.lu@intel.com>
241*007c2a45Smiod	* elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
242*007c2a45Smiod	count_dyn_reloc.
243c074d1c9Sdrahn
244*007c2a45Smiod	2004-02-25  H.J. Lu  <hongjiu.lu@intel.com>
245*007c2a45Smiod	* elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
246*007c2a45Smiod	field to track if a relocation is against readonly section.
247*007c2a45Smiod	(count_dyn_reloc): Take a new argument for rent->reltext.
248*007c2a45Smiod	(elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
249*007c2a45Smiod	(get_reloc_section): Don't set ia64_info->reltext here.
250*007c2a45Smiod	(allocate_dynrel_entries): Set ia64_info->reltext here.
251c074d1c9Sdrahn
252*007c2a45Smiod	2004-02-24  Alexandre Oliva  <aoliva@redhat.com>
253*007c2a45Smiod	* elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
254*007c2a45Smiod	(_frv_emit_got_relocs_plt_entries): Decay relocation to protected
255*007c2a45Smiod	function's descriptor to symbol+offset, and map local undefweak
256*007c2a45Smiod	symbol to NULL function descriptor.
257*007c2a45Smiod	(elf32_frv_relocate_section): Likewise.
258c074d1c9Sdrahn
259*007c2a45Smiod	2004-02-21  Danny Smith  <daanysmith@users.sourceforge.net>
260*007c2a45Smiod	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
261*007c2a45Smiod	IMAGE_SCN_MEM_WRITE on known sections only.
262c074d1c9Sdrahn
263*007c2a45Smiod	2004-02-19  Jakub Jelinek  <jakub@redhat.com>
264*007c2a45Smiod	* elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
265*007c2a45Smiod	.plt sh_entsize.
266c074d1c9Sdrahn
267*007c2a45Smiod2004-04-08  Richard Sandiford  <rsandifo@redhat.com>
268c074d1c9Sdrahn
269*007c2a45Smiod	* elflink.c: Include libiberty.h.
270*007c2a45Smiod	* Makefile.am (elflink.lo): Depend on libiberty.h.
271c074d1c9Sdrahn	* Makefile.in: Regenerate.
272c074d1c9Sdrahn
273*007c2a45Smiod2004-04-08  Alan Modra  <amodra@bigpond.net.au>
274c074d1c9Sdrahn
275*007c2a45Smiod	Apply from mainline.
276*007c2a45Smiod	2004-03-30  Jakub Jelinek  <jakub@redhat.com>
277*007c2a45Smiod	* elf.c (map_sections_to_segments): Fix handling of .tbss.
278c074d1c9Sdrahn
279*007c2a45Smiod	2004-03-27  Alan Modra  <amodra@bigpond.net.au>
280*007c2a45Smiod	* Makefile.am: Remove all mention of elflink.h.
281c074d1c9Sdrahn	* Makefile.in: Regenerate.
282*007c2a45Smiod	* bfd-in.h (bfd_elf_discard_info): Declare.
283*007c2a45Smiod	(bfd_elf32_discard_info, bfd_elf64_discard_info): Delete.
284c074d1c9Sdrahn	* bfd-in2.h: Regenerate.
285*007c2a45Smiod	* elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol,
286*007c2a45Smiod	bfd_elf32_link_record_dynamic_symbol,
287*007c2a45Smiod	bfd_elf64_link_record_dynamic_symbol,
288*007c2a45Smiod	_bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link,
289*007c2a45Smiod	bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol,
290*007c2a45Smiod	_bfd_elf32_link_record_local_dynamic_symbol,
291*007c2a45Smiod	_bfd_elf64_link_record_local_dynamic_symbol,
292*007c2a45Smiod	_bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets,
293*007c2a45Smiod	_bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link,
294*007c2a45Smiod	_bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry,
295*007c2a45Smiod	_bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets,
296*007c2a45Smiod	_bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry,
297*007c2a45Smiod	_bfd_elf32_reloc_symbol_deleted_p,
298*007c2a45Smiod	_bfd_elf64_reloc_symbol_deleted_p): Delete.
299*007c2a45Smiod	(bfd_elf_link_record_dynamic_symbol,
300*007c2a45Smiod	bfd_elf_link_record_local_dynamic_symbol,
301*007c2a45Smiod	bfd_elf_final_link, bfd_elf_gc_sections,
302*007c2a45Smiod	bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry,
303*007c2a45Smiod	bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link,
304*007c2a45Smiod	bfd_elf_reloc_symbol_deleted_p): Declare.
305*007c2a45Smiod	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
306*007c2a45Smiod	* elf32-arm.h: Update for changed function names.  Remove local
307*007c2a45Smiod	WILL_CALL_FINISH_DYNAMIC_SECTION define.
308*007c2a45Smiod	* elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c,
309*007c2a45Smiod	* elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c,
310*007c2a45Smiod	* elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c,
311*007c2a45Smiod	* elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
312*007c2a45Smiod	* elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
313*007c2a45Smiod	* elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c,
314*007c2a45Smiod	* elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
315*007c2a45Smiod	* elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise.
316*007c2a45Smiod	* elfxx-target.h (bfd_elfNN_bfd_final_link): Define.
317*007c2a45Smiod	(bfd_elfNN_print_symbol): Define.
318*007c2a45Smiod	* elfcode.h: Don't include elflink.h.
319*007c2a45Smiod	(elf_bfd_discard_info, elf_reloc_symbol_deleted_p,
320*007c2a45Smiod	elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections,
321*007c2a45Smiod	elf_gc_common_finalize_got_offsets, elf_gc_common_final_link,
322*007c2a45Smiod	elf_gc_record_vtinherit, elf_gc_record_vtentry,
323*007c2a45Smiod	elf_link_record_local_dynamic_symbol): Don't define.
324*007c2a45Smiod	* elflink.c: Update for changed function names.  Move elflink.h
325*007c2a45Smiod	code here.
326*007c2a45Smiod	* elflink.h: Delete file.
327c074d1c9Sdrahn	* po/SRC-POTFILES.in: Regenerate.
328c074d1c9Sdrahn	* po/bfd.pot: Regenerate.
329c88b1d6cSniklas
330*007c2a45Smiod	2004-03-27  Alan Modra  <amodra@bigpond.net.au>
331*007c2a45Smiod	* elf64-mmix.c (mmix_elf_relocate_section): Restore code setting
332*007c2a45Smiod	"name" for global syms accidentally removed in 2004-03-20 change.
333c88b1d6cSniklas
334*007c2a45Smiod	2004-03-27  Alan Modra  <amodra@bigpond.net.au>
335*007c2a45Smiod	* elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field.
336*007c2a45Smiod	* elflink.h: Replace all occurrences of sizeof (Elf_External_*)
337*007c2a45Smiod	where Elf_External_* is different for 64 and 32 bit, with
338*007c2a45Smiod	corresponding elf_size_info field.
339*007c2a45Smiod	(struct elf_final_link_info): Use "bfd_byte *" instead
340*007c2a45Smiod	of "Elf_External_Sym *" for external_syms and symbuf.
341*007c2a45Smiod	(elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local
342*007c2a45Smiod	vars and use instead of ELF_R_INFO and ELF_R_TYPE macros.
343*007c2a45Smiod	(struct elf_link_sort_rela): Add "sym_mask" alias for "offset".
344*007c2a45Smiod	(elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM.
345*007c2a45Smiod	(elf_link_sort_cmp2): Adjust.
346*007c2a45Smiod	(elf_link_sort_relocs): Set up r_sym_mask local var instead of
347*007c2a45Smiod	using ELF_R_SYM macro.  Set u.sym_mask.
348*007c2a45Smiod	(elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro
349*007c2a45Smiod	version, elf_stringtab_init.  Ditto for bfd_section_from_elf_index
350*007c2a45Smiod	vs. section_from_elf_index.  Adjust Elf_External_Sym pointer
351*007c2a45Smiod	arithmetic.  Pass bed to elf_link_flush_output_syms.  Adjust
352*007c2a45Smiod	Elf_External_Dyn pointer arithmentic.  Use bed swap_dyn_in and
353*007c2a45Smiod	swap_syn_out functions.  Rearrange dyn swap in/out switch.
354*007c2a45Smiod	(elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic.
355*007c2a45Smiod	Pass bed to elf_link_flush_output_syms.  Use bed swap_symbol_out.
356*007c2a45Smiod	(elf_link_flush_output_syms): Add elf_backend_data arg.
357*007c2a45Smiod	(elf_link_check_versioned_symbol): Likewise.
358*007c2a45Smiod	(elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol.
359*007c2a45Smiod	Adjust Elf_External_Sym pointer arithmetic.  Use bed swap_symbol_out.
360*007c2a45Smiod	(elf_link_input_bfd): Use bfd_section_from_elf_index.  Set up
361*007c2a45Smiod	r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM,
362*007c2a45Smiod	ELF_R_TYPE and ELF_R_INFO macros.
363*007c2a45Smiod	(elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation
364*007c2a45Smiod	based on size rather than using ELF_R_INFO.
365*007c2a45Smiod	(elf_gc_mark): Set up r_sym_shift local var and use instead of
366*007c2a45Smiod	ELF_R_SYM macro.
367*007c2a45Smiod	(struct alloc_got_off_arg): New.
368*007c2a45Smiod	(elf_gc_common_finalize_got_offsets): Use elf_size_info instead of
369*007c2a45Smiod	ARCH_SIZE.  Pass get entry size down to elf_gc_allocate_got_offsets.
370*007c2a45Smiod	(elf_gc_allocate_got_offsets): Adjust.
371*007c2a45Smiod	(elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of
372*007c2a45Smiod	ELF_R_SYM.  Use bfd_section_from_elf_index.
373*007c2a45Smiod	(elf_bfd_discard_info): Set cookie.r_sym_shift.
374*007c2a45Smiod	* elfcode.h (elf_stringtab_init, section_from_elf_index): Delete.
375*007c2a45Smiod	(elf_slurp_symbol_table): Use bfd_section_from_elf_index.
376c88b1d6cSniklas
377*007c2a45Smiod	2004-03-26  Alan Modra  <amodra@bigpond.net.au>
378*007c2a45Smiod	* elf64-ppc.c (elf_backend_add_symbol_hook): Define.
379*007c2a45Smiod	(ppc64_elf_add_symbol_hook): New function.
380*007c2a45Smiod	* elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove
381*007c2a45Smiod	const from Elf_Internal_Sym param.
382*007c2a45Smiod	* elflink.c (elf_link_add_object_symbols): Adjust.
383*007c2a45Smiod	* elf-hppa.h (elf_hppa_add_symbol_hook): Adjust.
384*007c2a45Smiod	* elf32-frv.c (elf32_frv_add_symbol_hook): Adjust.
385*007c2a45Smiod	* elf32-i370.c (elf_backend_add_symbol_hook): Adjust.
386*007c2a45Smiod	* elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust.
387*007c2a45Smiod	* elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust.
388*007c2a45Smiod	* elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust.
389*007c2a45Smiod	* elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust.
390*007c2a45Smiod	* elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust.
391*007c2a45Smiod	* elf32-v850.c (v850_elf_add_symbol_hook): Adjust.
392*007c2a45Smiod	* elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust.
393*007c2a45Smiod	* elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust.
394*007c2a45Smiod	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust.
395*007c2a45Smiod	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust.
396*007c2a45Smiod	* elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust.
397*007c2a45Smiod	* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust.
398*007c2a45Smiod	* elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust.
399c88b1d6cSniklas
400*007c2a45Smiod	2004-03-26  Alan Modra  <amodra@bigpond.net.au>
401*007c2a45Smiod	* elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define.
402*007c2a45Smiod	* elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete.
403*007c2a45Smiod	(_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete.
404*007c2a45Smiod	(_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete.
405*007c2a45Smiod	(bfd_elf64_bfd_link_add_symbols): Delete.
406*007c2a45Smiod	(bfd_elf_link_add_symbols): Declare.
407*007c2a45Smiod	* elfcode.h (elf_bfd_link_add_symbols): Delete.
408*007c2a45Smiod	* elflink.c: Include safe-ctype.h.
409*007c2a45Smiod	(elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag,
410*007c2a45Smiod	make static.
411*007c2a45Smiod	(elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static.
412*007c2a45Smiod	(elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make
413*007c2a45Smiod	static.
414*007c2a45Smiod	(elf_link_add_archive_symbols): Rename from
415*007c2a45Smiod	_bfd_elf_link_add_archive_symbols, make static.
416*007c2a45Smiod	(elf_link_add_object_symbols): New function.  Corresponding
417*007c2a45Smiod	elflink.h function converted to use elf_size_info.
418*007c2a45Smiod	(bfd_elf_link_add_symbols): Likewise.
419*007c2a45Smiod	(bfd_elf_size_dynamic_sections): Adjust.
420*007c2a45Smiod	* elflink.h (elf_bfd_link_add_symbols): Delete.
421*007c2a45Smiod	(elf_link_add_object_symbols): Delete.
422*007c2a45Smiod	* elf32-gen.c (elf32_generic_link_add_symbols): Call
423*007c2a45Smiod	bfd_elf_link_add_symbols.
424*007c2a45Smiod	* elf64-gen.c (elf64_generic_link_add_symbols): Likewise.
425c88b1d6cSniklas
426*007c2a45Smiod	2004-03-25  Alan Modra  <amodra@bigpond.net.au>
427*007c2a45Smiod	* elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
428*007c2a45Smiod	and chained shared libs only if dynsym.  Clear dynsym on forced-local.
429*007c2a45Smiod	* elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
430*007c2a45Smiod	(bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
431*007c2a45Smiod	(_bfd_elf_add_dt_needed_tag): Declare.
432*007c2a45Smiod	(_bfd_elf_sort_symbol): Declare.
433*007c2a45Smiod	(_bfd_elf_finalize_dynstr): Declare.
434*007c2a45Smiod	(RELOC_FOR_GLOBAL_SYM): Formatting.
435*007c2a45Smiod	* elfcode.h (elf_add_dynamic_entry): Delete.
436*007c2a45Smiod	* elflink.c (_bfd_elf_add_dynamic_entry): New function.  Corresponding
437*007c2a45Smiod	elflink.h function converted to use elf_size_info.
438*007c2a45Smiod	(_bfd_elf_add_dt_needed_tag): Likewise.
439*007c2a45Smiod	(_bfd_elf_sort_symbol): Likewise.
440*007c2a45Smiod	(_bfd_elf_finalize_dynstr): Likewise.
441*007c2a45Smiod	(compute_bucket_count): Likewise.
442*007c2a45Smiod	(bfd_elf_size_dynamic_sections): Likewise.  Check result of
443*007c2a45Smiod	_bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
444*007c2a45Smiod	(elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
445*007c2a45Smiod	* elflink.h: ..here.
446*007c2a45Smiod	(sort_symbol, add_dt_needed_tag): Delete.
447*007c2a45Smiod	(elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
448*007c2a45Smiod	(compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
449*007c2a45Smiod	Update all users.
450*007c2a45Smiod	* elf32-arm.h (add_dynamic_entry): Update.  Remove casts.
451*007c2a45Smiod	* elf32-cris.c (add_dynamic_entry): Likewise.
452*007c2a45Smiod	* elf32-hppa.c (add_dynamic_entry): Likewise.
453*007c2a45Smiod	* elf32-i370.c (add_dynamic_entry): Likewise.
454*007c2a45Smiod	* elf32-i386.c (add_dynamic_entry): Likewise.
455*007c2a45Smiod	* elf32-m32r.c (add_dynamic_entry): Likewise.
456*007c2a45Smiod	* elf32-m68k.c (add_dynamic_entry): Likewise.
457*007c2a45Smiod	* elf32-ppc.c (add_dynamic_entry): Likewise.
458*007c2a45Smiod	* elf32-s390.c (add_dynamic_entry): Likewise.
459*007c2a45Smiod	* elf32-sh.c (add_dynamic_entry): Likewise.
460*007c2a45Smiod	* elf32-sparc.c (add_dynamic_entry): Likewise.
461*007c2a45Smiod	* elf32-vax.c (add_dynamic_entry): Likewise.
462*007c2a45Smiod	* elf32-xtensa.c (add_dynamic_entry): Likewise.
463*007c2a45Smiod	* elf64-alpha.c (add_dynamic_entry): Likewise.
464*007c2a45Smiod	* elf64-hppa.c (add_dynamic_entry): Likewise.
465*007c2a45Smiod	* elf64-ppc.c (add_dynamic_entry): Likewise.
466*007c2a45Smiod	* elf64-s390.c (add_dynamic_entry): Likewise.
467*007c2a45Smiod	* elf64-sparc.c (add_dynamic_entry): Likewise.
468*007c2a45Smiod	* elf64-x86-64.c (add_dynamic_entry): Likewise.
469*007c2a45Smiod	* elfxx-ia64.c (add_dynamic_entry): Likewise.
470*007c2a45Smiod	* elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
471*007c2a45Smiod	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
472*007c2a45Smiod	* elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
473*007c2a45Smiod	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
474c88b1d6cSniklas
475*007c2a45Smiod	2004-03-22  Alan Modra  <amodra@bigpond.net.au>
476*007c2a45Smiod	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
477*007c2a45Smiod	and rel args.  Group input and output args.  Wrap to 80 columns.
478*007c2a45Smiod	* elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
479*007c2a45Smiod	elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
480*007c2a45Smiod	elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
481*007c2a45Smiod	elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
482*007c2a45Smiod	elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
483*007c2a45Smiod	elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
484*007c2a45Smiod	elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
485*007c2a45Smiod	elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
486*007c2a45Smiod	RELOC_FOR_GLOBAL_SYMBOL invocation.
487c88b1d6cSniklas
488*007c2a45Smiod	2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>
489*007c2a45Smiod	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
490*007c2a45Smiod	unresolved symbols in objects aren't allowed.
491*007c2a45Smiod	* elf-hppa.h (elf_hppa_relocate_section): Properly handle
492*007c2a45Smiod	unresolved symbols.
493*007c2a45Smiod	(elf_hppa_remark_useless_dynamic_symbols): Likewise.
494*007c2a45Smiod	(elf_hppa_unmark_useless_dynamic_symbols):
495*007c2a45Smiod	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
496*007c2a45Smiod	* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
497*007c2a45Smiod	(elf32_hppa_relocate_section): Likewise.
498*007c2a45Smiod	* elf32-i370.c (i370_elf_relocate_section): Likewise.
499*007c2a45Smiod	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
500*007c2a45Smiod	* elf32-sh.c (sh_elf_relocate_section): Likewise.
501*007c2a45Smiod	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
502*007c2a45Smiod	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
503*007c2a45Smiod	* elf-m10200.c (mn10200_elf_relocate_section): Use
504*007c2a45Smiod	RELOC_FOR_GLOBAL_SYMBOL.
505*007c2a45Smiod	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
506*007c2a45Smiod	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
507*007c2a45Smiod	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
508*007c2a45Smiod	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
509*007c2a45Smiod	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
510*007c2a45Smiod	* elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
511*007c2a45Smiod	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
512*007c2a45Smiod	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
513*007c2a45Smiod	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
514*007c2a45Smiod	* elf32-v850.c (v850_elf_relocate_section): Likewise.
515*007c2a45Smiod	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
516*007c2a45Smiod	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
517c88b1d6cSniklas
518*007c2a45Smiod	2004-03-19  Alan Modra  <amodra@bigpond.net.au>
519*007c2a45Smiod		    H.J. Lu  <hongjiu.lu@intel.com>
520*007c2a45Smiod	* elflink.c (_bfd_elf_merge_symbol): Revert last change.  Move
521*007c2a45Smiod	type and size change code to where it was previously.  Remove
522*007c2a45Smiod	dt_needed param.  Treat old weak syms as strong if new sym is
523*007c2a45Smiod	from a shared lib, even when old sym is from another shared
524*007c2a45Smiod	lib.  Remove unnecessary tests of oldweak and newweak.  Correct
525*007c2a45Smiod	comments.
526*007c2a45Smiod	(_bfd_elf_add_default_symbol): Remove dt_needed param.  Update
527*007c2a45Smiod	_bfd_elf_merge_symbol calls.
528*007c2a45Smiod	* elflink.h (elf_link_add_object_symbols): Update calls.  Remove
529*007c2a45Smiod	dt_needed local var.  Update comments.
530*007c2a45Smiod	* elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
531*007c2a45Smiod	(_bfd_elf_add_default_symbol): Likewise.
532*007c2a45Smiod	* elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
533*007c2a45Smiod	strong syms in one shared object overriding weak syms in another.
534c88b1d6cSniklas
535*007c2a45Smiod	2004-03-18  Alan Modra  <amodra@bigpond.net.au>
536*007c2a45Smiod	* elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field.  Add
537*007c2a45Smiod	dyn_lib_class field.  Rearrange for better packing.
538*007c2a45Smiod	(elf_dt_soname): Delete.
539*007c2a45Smiod	(elf_dyn_lib_class): Define.
540*007c2a45Smiod	* elf.c (bfd_elf_set_dt_needed_name): Update comment.
541*007c2a45Smiod	(bfd_elf_set_dt_needed_soname): Delete.
542*007c2a45Smiod	(bfd_elf_set_dyn_lib_class): New function.
543*007c2a45Smiod	* elflink.h (add_dt_needed_tag): New function.  Split out from..
544*007c2a45Smiod	(elf_link_add_object_symbols): ..here.  Rename "name" to "soname".
545*007c2a45Smiod	Use elf_dyn_lib_class to set dt_needed and add_needed.  Move fallback
546*007c2a45Smiod	initialization of soname.
547*007c2a45Smiod	(elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
548*007c2a45Smiod	elf_dt_soname.
549*007c2a45Smiod	* bfd-in.h (enum dynamic_lib_link_class): New.
550*007c2a45Smiod	(bfd_elf_set_dt_needed_soname): Delete.
551*007c2a45Smiod	(bfd_elf_set_dyn_lib_class): Declare.
552c074d1c9Sdrahn	* bfd-in2.h: Regenerate.
553*007c2a45Smiod	* elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
554*007c2a45Smiod	(_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
555*007c2a45Smiod	* elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
556*007c2a45Smiod	symbol loop.  Instead use add_needed to flag tag as written.
557c074d1c9Sdrahn
558*007c2a45Smiod	2004-03-03  Alexandre Oliva  <aoliva@redhat.com>
559*007c2a45Smiod	* elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
560*007c2a45Smiod	undefined symbols as hash_new.
561c074d1c9Sdrahn
562*007c2a45Smiod	2004-02-28  H.J. Lu  <hongjiu.lu@intel.com>
563*007c2a45Smiod	* elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
564*007c2a45Smiod	* elflink.h (is_global_data_symbol_definition): Moved to
565*007c2a45Smiod	elflink.c.
566*007c2a45Smiod	(elf_link_is_defined_archive_symbol): Likewise.
567*007c2a45Smiod	(elf_link_add_archive_symbols): Likewise. Renamed to
568*007c2a45Smiod	_bfd_elf_link_add_archive_symbols.
569*007c2a45Smiod	* elflink.c (elf_link_is_defined_archive_symbol): Get the size
570*007c2a45Smiod	of ELF symbol table entry from backend.
571*007c2a45Smiod	(_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
572*007c2a45Smiod	instead of elf_link_add_object_symbols.
573*007c2a45Smiod
574*007c2a45Smiod	2004-02-27  H.J. Lu  <hongjiu.lu@intel.com>
575*007c2a45Smiod	* elflink.h (sort_symbol): New.
576*007c2a45Smiod	(elf_link_add_object_symbols): Use a sorted symbol array for
577*007c2a45Smiod	weakdef.
578*007c2a45Smiod
579*007c2a45Smiod	2004-02-23  Jakub Jelinek  <jakub@redhat.com>
580*007c2a45Smiod	* elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
581*007c2a45Smiod	DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
582*007c2a45Smiod
583*007c2a45Smiod	2004-02-21  H.J. Lu  <hongjiu.lu@intel.com>
584*007c2a45Smiod	* elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
585*007c2a45Smiod	symbols with non-default visibility.
586*007c2a45Smiod
587*007c2a45Smiod2004-03-22  Bob Wilson  <bob.wilson@acm.org>
588*007c2a45Smiod
589*007c2a45Smiod	* elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
590*007c2a45Smiod	literal tables and check for relocs outside of literal pools.
591*007c2a45Smiod	(elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
592*007c2a45Smiod	(elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
593*007c2a45Smiod	set DF_TEXTREL.
594*007c2a45Smiod	(elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
595*007c2a45Smiod	(elf_xtensa_relocate_section): Read literal tables and check for
596*007c2a45Smiod	dynamic relocations in read-only sections and not in literal pools.
597*007c2a45Smiod
598*007c2a45Smiod2004-03-23  Alan Modra  <amodra@bigpond.net.au>
599*007c2a45Smiod
600*007c2a45Smiod	PR 51.
601*007c2a45Smiod	* linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.
602*007c2a45Smiod
603*007c2a45Smiod2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
604*007c2a45Smiod
605*007c2a45Smiod	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
606*007c2a45Smiod	R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
607*007c2a45Smiod	not defined by the executable, or defined in a DSO.
608*007c2a45Smiod	<eliding run-time relocation of .got>: Initialize GOT entry for a
609*007c2a45Smiod	function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
610*007c2a45Smiod	executable.
611*007c2a45Smiod	(cris_elf_gc_sweep_hook): Improve fallthrough marking.
612*007c2a45Smiod	(elf_cris_try_fold_plt_to_got): Improve head comment.  Do not fold
613*007c2a45Smiod	a PLT reloc to GOT for an executable.
614*007c2a45Smiod	(elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
615*007c2a45Smiod	.got for a DSO and explain why.
616*007c2a45Smiod	(elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
617*007c2a45Smiod	and unreferenced symbols for which a PLT is defined.  Adjust
618*007c2a45Smiod	dynamic-symbol pruning correspondingly, to make sure we don't lose
619*007c2a45Smiod	a dynamic symbol also defined by a DSO.
620*007c2a45Smiod
621*007c2a45Smiod2004-03-17  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
622*007c2a45Smiod
623*007c2a45Smiod	* config.bfd: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff*.
624*007c2a45Smiod
625*007c2a45Smiod2004-03-16  Alan Modra  <amodra@bigpond.net.au>
626*007c2a45Smiod
627*007c2a45Smiod	* elflink.c (elf_link_read_relocs_from_section): Don't use
628*007c2a45Smiod	NUM_SHDR_ENTRIES in end of reloc calc.  Move NULL shdr check..
629*007c2a45Smiod	(_bfd_elf_link_read_relocs): ..to here.
630*007c2a45Smiod	* elf32-ppc.c (ppc_elf_relax_section): Formatting.
631*007c2a45Smiod
632*007c2a45Smiod	Merge from mainline.
633*007c2a45Smiod	2004-02-20  Jakub Jelinek  <jakub@redhat.com>
634*007c2a45Smiod	* elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
635*007c2a45Smiod	symbols used in PIE relocs.
636*007c2a45Smiod
637*007c2a45Smiod2004-03-16  Alan Modra  <amodra@bigpond.net.au>
638*007c2a45Smiod
639*007c2a45Smiod	* configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
640*007c2a45Smiod	values selected in configure.host.  Require both to be defined
641*007c2a45Smiod	before setting BFD_HOST_64_BIT_DEFINED.  Protect assignment to
642*007c2a45Smiod	corresponding BFD_HOST vars with quotes.
643*007c2a45Smiod	<${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
644*007c2a45Smiod	Always require BFD_HOST_64_BIT_DEFINED.
645*007c2a45Smiod	<file_ptr type>: Find off_t size before emitting message.  Combine
646*007c2a45Smiod	off_t and ftello64 conditional.
647*007c2a45Smiod	* configure: Regenerate.
648*007c2a45Smiod
649*007c2a45Smiod2004-03-16  Alan Modra  <amodra@bigpond.net.au>
650*007c2a45Smiod
651*007c2a45Smiod	* elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
652*007c2a45Smiod	aliasing warning.  Remove trailing whitespace throughout file.
653*007c2a45Smiod
654*007c2a45Smiod2004-03-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
655*007c2a45Smiod
656*007c2a45Smiod	* elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
657*007c2a45Smiod	input_section in calls to get_dyn_name.
658*007c2a45Smiod	* 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
659*007c2a45Smiod	local symbols.
660*007c2a45Smiod	(elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
661*007c2a45Smiod
662*007c2a45Smiod2004-03-15  Alan Modra  <amodra@bigpond.net.au>
663*007c2a45Smiod
664*007c2a45Smiod	* bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
665*007c2a45Smiod	(BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here.
666*007c2a45Smiod	(bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t.
667*007c2a45Smiod	(bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t.
668*007c2a45Smiod	(bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t.
669*007c2a45Smiod	* configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8.
670*007c2a45Smiod	(BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set
671*007c2a45Smiod	when using long.
672*007c2a45Smiod	* libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t.
673*007c2a45Smiod	(bfd_getb64): Return bfd_uint64_t.  Enable when BFD_HOST_64_BIT.
674*007c2a45Smiod	(bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
675*007c2a45Smiod	(bfd_putb64): Accept bfd_uint64_t.  Enable when BFD_HOST_64_BIT.
676*007c2a45Smiod	(bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise.
677*007c2a45Smiod	* dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t.
678*007c2a45Smiod	(read_8_bytes, read_indirect_string, read_address): Likewise.
679*007c2a45Smiod	(read_abbrevs, parse_comp_unit): Likewise.
680*007c2a45Smiod	* targets.c (struct bfd_target): Likewise.
681*007c2a45Smiod	* aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use.
682*007c2a45Smiod	* hppabsd-core.c: Likewise.  Formatting.
683*007c2a45Smiod	* hpux-core.c: Likewise.
684*007c2a45Smiod	* irix-core.c: Likewise.
685*007c2a45Smiod	* netbsd-core.c: Likewise.
686*007c2a45Smiod	* osf-core.c: Likewise.
687*007c2a45Smiod	* ptrace-core.c: Likewise.
688*007c2a45Smiod	* sco5-core.c: Likewise.
689*007c2a45Smiod	* trad-core.c: Likewise.
690*007c2a45Smiod	* configure: Regenerate.
691c074d1c9Sdrahn	* bfd-in2.h: Regenerate.
692c074d1c9Sdrahn
693*007c2a45Smiod2004-03-15  Alan Modra  <amodra@bigpond.net.au>
694c074d1c9Sdrahn
695*007c2a45Smiod	* bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.
696*007c2a45Smiod	(bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise.
697*007c2a45Smiod	(bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
698*007c2a45Smiod	(bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
699*007c2a45Smiod	(bfd_getb_signed_16, bfd_getl_signed_16): Likewise.
700*007c2a45Smiod	(bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise.
701*007c2a45Smiod	(bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise.
702*007c2a45Smiod	* libbfd.c: Likewise in function definitions.
703*007c2a45Smiod	(bfd_put_8): Mask with 0xff rather than casting to char.
704*007c2a45Smiod	(bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise.
705*007c2a45Smiod	(bfd_putb64, bfd_putl64, bfd_put_bits): Likewise.
706*007c2a45Smiod	(H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify.
707*007c2a45Smiod	(H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise.
708*007c2a45Smiod	(H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise.
709*007c2a45Smiod	(H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise.
710*007c2a45Smiod	* libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify.
711*007c2a45Smiod	(H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise.
712*007c2a45Smiod	(H_GET_64, H_GET_32, H_GET_16): Likewise.
713*007c2a45Smiod	(H_GET_S64, H_GET_S32, H_GET_S16): Likewise.
714*007c2a45Smiod	* archive.c (do_slurp_coff_armap): Update swap prototype.
715*007c2a45Smiod	* coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*.
716*007c2a45Smiod	(tic54x_getl_signed_32): Likewise.
717*007c2a45Smiod	(tic54x_putl32): Likewise.  Mask with 0xff rather than casting to char.
718*007c2a45Smiod	* mach-o.c (bfd_mach_o_read_header): Update get32 prototype.
719*007c2a45Smiod	* pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*.
720*007c2a45Smiod	(bfd_getp_signed_32, bfd_putp32): Likewise.
721*007c2a45Smiod	* targets.c (struct bfd_target): Use void* in place of bfd_byte* for
722*007c2a45Smiod	bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32,
723*007c2a45Smiod	bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16,
724*007c2a45Smiod	bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64,
725*007c2a45Smiod	bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16,
726*007c2a45Smiod	bfd_h_getx_signed_16, bfd_h_putx16.
727*007c2a45Smiod	* aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes.
728*007c2a45Smiod	* hppabsd-core.c: Similarly.  Rename NO_SIGNED_GET to NO_GETS.
729*007c2a45Smiod	* hpux-core.c: Likewise.
730*007c2a45Smiod	* irix-core.c: Likewise.
731*007c2a45Smiod	* netbsd-core.c: Likewise.
732*007c2a45Smiod	* osf-core.c: Likewise.
733*007c2a45Smiod	* ptrace-core.c: Likewise.
734*007c2a45Smiod	* sco5-core.c: Likewise.
735*007c2a45Smiod	* trad-core.c: Likewise.
736*007c2a45Smiod	* bfd-in2.h: Regenerate.
737c074d1c9Sdrahn
738*007c2a45Smiod2004-03-15  Matt Thomas  <matt@3am-software.com>
739c074d1c9Sdrahn
740*007c2a45Smiod	* config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is
741*007c2a45Smiod	selected.
742c074d1c9Sdrahn
743*007c2a45Smiod2004-03-13  Mark Kettenis  <kettenis@gnu.org>
744c074d1c9Sdrahn
745*007c2a45Smiod	* config.bfd: Add x86_64-*-openbsd*.
746*007c2a45Smiod	* configure.in (x86_64-*-openbsd*): Set COREFILE to
747*007c2a45Smiod	netbsd-core.lo.
748c074d1c9Sdrahn	* configure: Regenerate.
749c074d1c9Sdrahn
750*007c2a45Smiod2004-03-09  Steve Ellcey  <sje@cup.hp.com>
751c074d1c9Sdrahn
752*007c2a45Smiod	* elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
753c074d1c9Sdrahn
754*007c2a45Smiod2004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
755*007c2a45Smiod
756*007c2a45Smiod	* elf.c (map_sections_to_segments): Ignore .tbss sections for
757*007c2a45Smiod	layout purposes.
758*007c2a45Smiod
759*007c2a45Smiod2004-02-17  Daniel Jacobowitz  <drow@mvista.com>
760*007c2a45Smiod	    Richard Sandiford  <rsandifo@redhat.com>
761*007c2a45Smiod
762*007c2a45Smiod	* elfxx-mips.c (mips_elf_calculate_relocation): Use
763*007c2a45Smiod	_bfd_elf_symbol_refs_local_p to decide whether to decay
764*007c2a45Smiod	a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
765*007c2a45Smiod	(_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
766*007c2a45Smiod	relocs if the symbol wasn't defined by a regular object file.
767*007c2a45Smiod	Don't check the symbol's dynindx.
768*007c2a45Smiod
769*007c2a45Smiod2004-02-16  Andrew Cagney  <cagney@redhat.com>
770*007c2a45Smiod
771*007c2a45Smiod	* bfd-in.h (file_ptr, ufile_ptr): Configure type using
772*007c2a45Smiod	@bfd_file_ptr@.
773*007c2a45Smiod	* bfd-in2.h: Re-generate.
774*007c2a45Smiod
775*007c2a45Smiod2004-02-14  Andrew Cagney  <cagney@redhat.com>
776*007c2a45Smiod
777*007c2a45Smiod	* configure.host (HDEFINES): When hppa*-*-hpux*, define
778*007c2a45Smiod	_LARGEFILE64_SOURCE.
779*007c2a45Smiod
780*007c2a45Smiod2004-02-13  Andrew Cagney  <cagney@redhat.com>
781*007c2a45Smiod
782*007c2a45Smiod	* elf.c	(vma_page_aligned_bias): New function.
783*007c2a45Smiod	(assign_file_positions_except_relocs)
784*007c2a45Smiod	(assign_file_positions_for_segments): Replace broken modulo
785*007c2a45Smiod	arithmetic with call to vma_page_aligned_bias.
786*007c2a45Smiod
787*007c2a45Smiod2004-02-11  Andrew Cagney  <cagney@redhat.com>
788*007c2a45Smiod
789*007c2a45Smiod	* bfd-in.h: Update copyright.
790*007c2a45Smiod	(bfd_tell): Change return type to file_ptr.
791*007c2a45Smiod	* bfd-in2.h: Re-generate.
792*007c2a45Smiod	* cache.c: Update copyright.
793*007c2a45Smiod	(bfd_cache_lookup_worker): Use real_fseek, do not cast offset
794*007c2a45Smiod	parameter.
795*007c2a45Smiod	(close_one): Use real_ftell.
796*007c2a45Smiod	* bfdio.c: Update copyright.
797*007c2a45Smiod	(real_ftell, real_fseek): New functions.
798*007c2a45Smiod	(bfd_tell): Use real_fseek and real_ftell, change return type to
799*007c2a45Smiod	file_ptr.
800*007c2a45Smiod	(bfd_seek): Use real_ftell and real_fseek, change type of
801*007c2a45Smiod	file_position to a file_ptr.
802*007c2a45Smiod	* libbfd-in.h: Update copyright.
803*007c2a45Smiod	(real_ftell, real_fseek): Declare.
804*007c2a45Smiod	* libbfd.h: Re-generate.
805*007c2a45Smiod
806*007c2a45Smiod	* configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
807*007c2a45Smiod	fseeko and fseeko64.  Determine bfd_file_ptr.
808*007c2a45Smiod	* configure: Re-generate.
809*007c2a45Smiod	* config.in: Re-generate.
810*007c2a45Smiod
811*007c2a45Smiod2004-02-09  Anil Paranjpe  <anilp1@KPITCummins.com>
812*007c2a45Smiod
813*007c2a45Smiod	* coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
814*007c2a45Smiod	* elf32-h8300.c: Likewise.
815*007c2a45Smiod
816*007c2a45Smiod2004-02-09  Christian Vogel <vogelchr@vogel.cx>
817*007c2a45Smiod	    Nick Clifton  <nickc@redhat.com>
818*007c2a45Smiod
819*007c2a45Smiod	* elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
820*007c2a45Smiod	GOT entries with no associated GOT subsection.
821*007c2a45Smiod
822*007c2a45Smiod2004-02-09  Richard Sandiford  <rsandifo@redhat.com>
823*007c2a45Smiod
824*007c2a45Smiod	* bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
825*007c2a45Smiod	* elf.c (swap_out_syms): Use it to decide whether local section
826*007c2a45Smiod	symbols should be named.
827*007c2a45Smiod	* elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
828*007c2a45Smiod	* elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
829*007c2a45Smiod	(elf_backend_name_local_section_symbols): Define.
830*007c2a45Smiod	* elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
831*007c2a45Smiod
832*007c2a45Smiod2004-01-30  H.J. Lu  <hongjiu.lu@intel.com>
833*007c2a45Smiod
834*007c2a45Smiod	* elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
835*007c2a45Smiod	(elfNN_ia64_relax_section): Optimize brl to br during the relax
836*007c2a45Smiod	finalize pass.
837*007c2a45Smiod
838*007c2a45Smiod2004-01-30  Alexandre Oliva  <aoliva@redhat.com>
839*007c2a45Smiod
840*007c2a45Smiod	* elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
841*007c2a45Smiod	to bfd_link_hash_entry passed by reference to
842*007c2a45Smiod	_bfd_generic_link_add_one_symbol.
843*007c2a45Smiod
844*007c2a45Smiod2004-01-25  H.J. Lu  <hongjiu.lu@intel.com>
845*007c2a45Smiod
846*007c2a45Smiod	* elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
847*007c2a45Smiod	relocations against dynamic symbols.
848*007c2a45Smiod
849*007c2a45Smiod2004-01-23  Daniel Jacobowitz  <drow@mvista.com>
850*007c2a45Smiod
851*007c2a45Smiod	* elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
852*007c2a45Smiod	change.
853*007c2a45Smiod
854*007c2a45Smiod2004-01-21  Tom Rix  <tcrix@worldnet.att.net>
855*007c2a45Smiod
856*007c2a45Smiod	* reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
857*007c2a45Smiod	* bfd-in2.h, libbfd.h: Rebuilt.
858*007c2a45Smiod
859*007c2a45Smiod2004-01-20  Danny Smith  <dannysmith@users.sourceforge.net>
860*007c2a45Smiod
861*007c2a45Smiod	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
862*007c2a45Smiod	IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
863*007c2a45Smiod	flag has been cleared.
864*007c2a45Smiod
865*007c2a45Smiod2004-01-19  Kazu Hirata  <kazu@cs.umass.edu>
866*007c2a45Smiod
867*007c2a45Smiod	* coff-h8300.c: Add and adjust comments about relaxation.
868*007c2a45Smiod	* elf32-h8300.c: Likewise.
869*007c2a45Smiod
870*007c2a45Smiod2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
871*007c2a45Smiod
872*007c2a45Smiod	* coff-h8300.c: Fix comment typos.
873*007c2a45Smiod	* elf32-h8300.c: Likewise.
874*007c2a45Smiod
875*007c2a45Smiod2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
876*007c2a45Smiod
877*007c2a45Smiod	* coff-h8300.c: Add comments about relaxation.
878*007c2a45Smiod	* elf32-h8300.c: Likewise.
879*007c2a45Smiod
880*007c2a45Smiod2004-01-14  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
881*007c2a45Smiod
882*007c2a45Smiod	* acinclude.m4: Quote names of macros to be defined by AC_DEFUN
883*007c2a45Smiod	throughout.
884*007c2a45Smiod	* aclocal.m4: Regenerate.
885*007c2a45Smiod	* configure: Regenerate.
886*007c2a45Smiod
887*007c2a45Smiod2004-01-13  Ian Lance Taylor  <ian@wasabisystems.com>
888*007c2a45Smiod
889*007c2a45Smiod	* elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
890*007c2a45Smiod	mips_elf64_rtype_to_howto instead of using howto_table.
891*007c2a45Smiod
892*007c2a45Smiod2004-01-13  Daniel Jacobowitz  <drow@mvista.com>
893*007c2a45Smiod
894*007c2a45Smiod	* elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
895*007c2a45Smiod	the .plt section.
896*007c2a45Smiod	(elf32_arm_check_relocs): Don't increment the PLT refcount for
897*007c2a45Smiod	relocs which would not use the PLT.
898*007c2a45Smiod
899*007c2a45Smiod2004-01-13  Alan Modra  <amodra@bigpond.net.au>
900*007c2a45Smiod
901*007c2a45Smiod	* elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
902*007c2a45Smiod	(ppc64_elf_gc_sweep_hook): Likewise.
903*007c2a45Smiod	(ppc64_elf_size_dynamic_sections): Test for .plt directly.
904*007c2a45Smiod
905*007c2a45Smiod2004-01-12  Anil Paranjpe  <anilp1@KPITCummins.com>
906*007c2a45Smiod
907*007c2a45Smiod	Adds linker relaxation support for bit manipulation insns like
908*007c2a45Smiod	band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
909*007c2a45Smiod	bst, btst, bxor.
910*007c2a45Smiod	* elf32-h8300.c: Opcode for bit manipulation insn is checked in
911*007c2a45Smiod	elf32_h8_relax_section function while relxation for aa:16 and aa:32.
912*007c2a45Smiod	* coff-h8300.c: Opcode for bit manipulation insn is checked in
913*007c2a45Smiod	h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
914*007c2a45Smiod
915*007c2a45Smiod2004-01-12  Alan Modra  <amodra@bigpond.net.au>
916*007c2a45Smiod
917*007c2a45Smiod	* dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
918*007c2a45Smiod
919*007c2a45Smiod2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
920*007c2a45Smiod
921*007c2a45Smiod	* elf32-h8300.c: Fix formatting.
922*007c2a45Smiod
923*007c2a45Smiod2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
924*007c2a45Smiod
925*007c2a45Smiod	* elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
926*007c2a45Smiod	dynamic object is present.  Declare r_symndx and h in an inner
927*007c2a45Smiod	scope.
928*007c2a45Smiod	* elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
929*007c2a45Smiod
930*007c2a45Smiod2004-01-09  Daniel Jacobowitz  <drow@mvista.com>
931*007c2a45Smiod
932*007c2a45Smiod	* elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
933*007c2a45Smiod	(elf32_arm_copy_indirect_symbol): Don't copy pc_count.
934*007c2a45Smiod	(elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
935*007c2a45Smiod	identically.  Do not emit PC24 relocations for shared libraries.
936*007c2a45Smiod	(elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
937*007c2a45Smiod	identically.  Don't adjust pc_count.
938*007c2a45Smiod	(elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
939*007c2a45Smiod	Set ELF_LINK_HASH_NEEDS_PLT for both.  Don't adjust pc_count; don't
940*007c2a45Smiod	adjust count for branch relocations.
941*007c2a45Smiod	(allocate_dynrelocs): Correct typo in call to
942*007c2a45Smiod	WILL_CALL_FINISH_DYNAMIC_SYMBOL.  Never allocate space for
943*007c2a45Smiod	PC24 or PLT32 relocs when linking.
944*007c2a45Smiod
945*007c2a45Smiod2004-01-09  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
946*007c2a45Smiod
947*007c2a45Smiod	* coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
948*007c2a45Smiod	relocation howto with ARM_26 one for consistency.
949*007c2a45Smiod	(coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
950*007c2a45Smiod	that will be converted to ARM_26D ones, since we always want 'done'
951*007c2a45Smiod	relocations to be reflected in section's data.
952*007c2a45Smiod	(coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
953*007c2a45Smiod	offset.
954*007c2a45Smiod	(_bfd_final_link_relocate): Do not modify "inplace" data, if not
955*007c2a45Smiod	requested.
956*007c2a45Smiod
957*007c2a45Smiod2004-01-08  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
958*007c2a45Smiod
959*007c2a45Smiod	* coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
960*007c2a45Smiod	are not partial_inplace during a relocatable link.
961*007c2a45Smiod
962*007c2a45Smiod2004-01-08  Kazu Hirata  <kazu@cs.umass.edu>
963*007c2a45Smiod
964*007c2a45Smiod	* elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
965*007c2a45Smiod	if no dynamic object is present.  Declare r_symndx and h in an
966*007c2a45Smiod	inner scope.
967*007c2a45Smiod
968*007c2a45Smiod2004-01-07  H.J. Lu  <hongjiu.lu@intel.com>
969*007c2a45Smiod
970*007c2a45Smiod	* elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
971*007c2a45Smiod	trampoline if it is known out of range.
972*007c2a45Smiod
973*007c2a45Smiod2004-01-06  Alexandre Oliva  <aoliva@redhat.com>
974*007c2a45Smiod
975*007c2a45Smiod	2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
976*007c2a45Smiod	* elf32-frv.c (_frv_osec_readonly_p): New.
977*007c2a45Smiod	(_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
978*007c2a45Smiod	undefweak symbol.
979*007c2a45Smiod	(_frv_count_got_plt_entries): Adjust expected count accordingly.
980*007c2a45Smiod	(elf32_frv_relocate_section): Likewise.  Error out if attempting
981*007c2a45Smiod	to emit rofixups or dynamic relocs in read-only segments.  Use
982*007c2a45Smiod	_bfd_elf_section_offset to adjust r_offsets in rofixups and
983*007c2a45Smiod	dynamic relocations.
984*007c2a45Smiod	2003-12-12  Alexandre Oliva  <aoliva@redhat.com>
985*007c2a45Smiod	* elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
986*007c2a45Smiod	relocations or fixups involving merged sections correctly.  Avoid
987*007c2a45Smiod	crash when undefined symbol is referenced by R_FRV_32 or
988*007c2a45Smiod	R_FRV_FUNCDESC_VALUE.
989*007c2a45Smiod	2003-12-02  Alexandre Oliva  <aoliva@redhat.com>
990*007c2a45Smiod	* elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
991*007c2a45Smiod	input section holding local symbol to addend of R_FRV_32 or
992*007c2a45Smiod	R_FRV_FUNCDESC_VALUE dynamic relocation.
993*007c2a45Smiod	2003-11-27  Alexandre Oliva  <aoliva@redhat.com>
994*007c2a45Smiod	* elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
995*007c2a45Smiod	(elf32_frv_always_size_sections): Don't store pointer to
996*007c2a45Smiod	__stacksize symbol in sec_info.
997*007c2a45Smiod	(elf32_frv_modify_segment_map): Look it up here.
998*007c2a45Smiod	2003-11-26  Alexandre Oliva  <aoliva@redhat.com>
999*007c2a45Smiod	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
1000*007c2a45Smiod	of the lazy PLT entry, not only its offset, as the low word of a
1001*007c2a45Smiod	function descriptor.
1002*007c2a45Smiod	2003-11-10  Alexandre Oliva  <aoliva@redhat.com>
1003*007c2a45Smiod	* elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
1004*007c2a45Smiod	if a hash table entry already exists but is not a definition.
1005*007c2a45Smiod	2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
1006*007c2a45Smiod	* elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
1007*007c2a45Smiod	(_frv_add_rofixup): Don't inline.
1008*007c2a45Smiod	(_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
1009*007c2a45Smiod	for undefweak symbols.
1010*007c2a45Smiod	(elf32_frv_relocate_section): Avoid crash while computing
1011*007c2a45Smiod	relocation when linking with shared library.  Only emit rofixups
1012*007c2a45Smiod	and dynamic relocations for alloc&load sections.  Mark binaries
1013*007c2a45Smiod	with inter-segment relocations for relocation as a unit.
1014*007c2a45Smiod	(_frv_create_got_section): Rename .rofixup.got to .rofixup.
1015*007c2a45Smiod	(DEFAULT_STACK_SIZE): New.
1016*007c2a45Smiod	(_frv_count_got_plt_entries): Fix thinko in deciding whether to
1017*007c2a45Smiod	emit rofixups or dynamic relocs when linking dynamic non-PIE
1018*007c2a45Smiod	executables.
1019*007c2a45Smiod	(elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
1020*007c2a45Smiod	shared libs too.  Reserve the last entry for the GOT pointer.
1021*007c2a45Smiod	(elf32_frv_finish_dynamic_sections): Emit it.
1022*007c2a45Smiod	(elf32_frv_always_size_sections): New.
1023*007c2a45Smiod	(elf32_frv_modify_segment_map): New.
1024*007c2a45Smiod	(elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
1025*007c2a45Smiod	sections.
1026*007c2a45Smiod	(frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
1027*007c2a45Smiod	(frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
1028*007c2a45Smiod	(elf_backend_always_size_sections): New.
1029*007c2a45Smiod	(elf_backend_modify_segment_map): New.
1030*007c2a45Smiod	2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
1031*007c2a45Smiod	* config.bfd: Added frv-*-*linux*.
1032*007c2a45Smiod	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
1033*007c2a45Smiod	ABS section, instead of crashing.
1034*007c2a45Smiod	(elf32_frv_relocate_section): Don't crash before warning about
1035*007c2a45Smiod	different segments in non-PIC relocation.
1036*007c2a45Smiod	2003-10-17  Alexandre Oliva  <aoliva@redhat.com>
1037*007c2a45Smiod	* elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
1038*007c2a45Smiod	relocs to undefweak symbols.
1039*007c2a45Smiod	(elf32_frv_relocate_section): Ditto for undefined symbols.
1040*007c2a45Smiod	2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
1041*007c2a45Smiod	* elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
1042*007c2a45Smiod	gotfixup section was created.
1043*007c2a45Smiod	2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
1044*007c2a45Smiod	* elf32-frv.c (elf32_frv_howto_table): Change GOT12,
1045*007c2a45Smiod	FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
1046*007c2a45Smiod	complain_overflow_signed.
1047*007c2a45Smiod	* elf32-frv.c (_frv_add_rofixup): Do not error out if contents
1048*007c2a45Smiod	have not been allocated.
1049*007c2a45Smiod	(_frv_emit_got_relocs_plt_entries): Return non-void.  Assert
1050*007c2a45Smiod	privfd only if dynamic sections were created.
1051*007c2a45Smiod	(elf32_frv_relocate_section): Compute gprel_segment, and use it
1052*007c2a45Smiod	for GPREL relocs.  When linking relocatable FDPIC executables,
1053*007c2a45Smiod	emit warnings for relocations that would be illegal on PIE or
1054*007c2a45Smiod	shared libraries.  Emit rofixup for R_FRV_32 only if input object
1055*007c2a45Smiod	is not FDPIC.
1056*007c2a45Smiod	(_frv_create_got_section): Define _gp symbol in the rofixup
1057*007c2a45Smiod	section.
1058*007c2a45Smiod	(elf32_frv_finish_dynamic_sections): If rofixups needed but
1059*007c2a45Smiod	dynamic sections missing, error out requesting -melf32frvfd.
1060*007c2a45Smiod	2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
1061*007c2a45Smiod	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
1062*007c2a45Smiod	computation of addends from section and global or local symbol
1063*007c2a45Smiod	value.  Change return type to bfd_boolean, and return a failure if
1064*007c2a45Smiod	a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
1065*007c2a45Smiod	nonzero addend is required.
1066*007c2a45Smiod	(elf32_frv_relocate_section): Likewise.  Print error for
1067*007c2a45Smiod	unsupported nonzero addends.
1068*007c2a45Smiod	2003-09-18  Alexandre Oliva  <aoliva@redhat.com>
1069*007c2a45Smiod	* elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
1070*007c2a45Smiod	force everything local.
1071*007c2a45Smiod	(_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
1072*007c2a45Smiod	* elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
1073*007c2a45Smiod	(frv_gotfixup_section): New.
1074*007c2a45Smiod	(FRV_SYM_LOCAL): Accept undefweak and local common symbols.
1075*007c2a45Smiod	(struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
1076*007c2a45Smiod	and relocsfdv.
1077*007c2a45Smiod	(_frv_add_rofixup): New.
1078*007c2a45Smiod	(_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
1079*007c2a45Smiod	fdpic executables.  Use FRV_SYM_LOCAL more widely to simplify and
1080*007c2a45Smiod	improve some ugly conditions.
1081*007c2a45Smiod	(elf32_frv_relocate_section): Likewise.  Reject inter-segment
1082*007c2a45Smiod	relocations in fdpic.
1083*007c2a45Smiod	(_frv_create_got_section): Create .rofixup.got section.
1084*007c2a45Smiod	(struct _frv_dynamic_got_info): Added fixups.
1085*007c2a45Smiod	(_frv_count_got_plt_entries): Account in-GOT relocations into
1086*007c2a45Smiod	relocs32, relocsfd and relocsfdv.  Account them into relocs or
1087*007c2a45Smiod	fixups, as appropriate.
1088*007c2a45Smiod	(elf32_frv_size_dynamic_sections): Size rofixup section.  Simplify
1089*007c2a45Smiod	sizing of gotrel.
1090*007c2a45Smiod	(elf32_frv_finish_dynamic_sections): Verify that the right number
1091*007c2a45Smiod	of relocations and fixups was generated.
1092*007c2a45Smiod	(elf32_frv_check_relocs): Compute relocs32, relocsfd and
1093*007c2a45Smiod	relocsfdv.
1094*007c2a45Smiod	* elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
1095*007c2a45Smiod	SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
1096*007c2a45Smiod	(FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
1097*007c2a45Smiod	descriptor of a (formerly-)global symbol is local.
1098*007c2a45Smiod	(struct frv_pic_relocs_info): Adjust comments.
1099*007c2a45Smiod	(_frv_emit_got_relocs_plt_entries): Adjust.
1100*007c2a45Smiod	(elf32_frv_relocate_section): Likewise.
1101*007c2a45Smiod	(_frv_count_got_plt_entries): Likewise.
1102*007c2a45Smiod	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
1103*007c2a45Smiod	symbol's value to addend in the common preamble.  Decay dynamic
1104*007c2a45Smiod	symbols to section+offset if they bind or call locally, for GOT
1105*007c2a45Smiod	and FUNCDESC_VALUE, respectively.
1106*007c2a45Smiod	(elf32_frv_relocate_section): Likewise.
1107*007c2a45Smiod	(elf32_frv_check_relocs): Don't register as dynamic symbols of
1108*007c2a45Smiod	internal or hidden visibility.
1109*007c2a45Smiod	2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
1110*007c2a45Smiod	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
1111*007c2a45Smiod	argument, so as to not call _bfd_elf_rel_local_sym to compute it.
1112*007c2a45Smiod	(elf32_frv_relocate_section): Pass relocation addend in.  Use
1113*007c2a45Smiod	original relocation addend to look up the got relocs/plt entries
1114*007c2a45Smiod	table.  Do not call _bfd_elf_rel_local_sym.  Don't error out when
1115*007c2a45Smiod	processing relocations that reference .scommon symbols.
1116*007c2a45Smiod	2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
1117*007c2a45Smiod	Introduce support for dynamic linking.
1118*007c2a45Smiod	* elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
1119*007c2a45Smiod	(elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
1120*007c2a45Smiod	elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
1121*007c2a45Smiod	(frv_reloc_type_lookup): Return REL howtos for executables and
1122*007c2a45Smiod	dynamic libraries.
1123*007c2a45Smiod	(frv_info_to_howto_rel): New.
1124*007c2a45Smiod	(struct frv_elf_link_hash_table): New.
1125*007c2a45Smiod	(frv_hash_table, frv_got_section, frv_gotrel_section,
1126*007c2a45Smiod	frv_plt_section, frv_pltrel_section, frv_relocs_info,
1127*007c2a45Smiod	frv_got_initial_offset, frv_plt_initial_offset): New macros.
1128*007c2a45Smiod	(frv_elf_link_hash_table_create): New.
1129*007c2a45Smiod	(struct frv_pic_relocs_info): New.
1130*007c2a45Smiod	(frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
1131*007c2a45Smiod	(frv_pic_relocs_info_find): New.
1132*007c2a45Smiod	(frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
1133*007c2a45Smiod	New.
1134*007c2a45Smiod	(FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
1135*007c2a45Smiod	(_frv_add_dyn_reloc, _frv_osec_to_segment): New.
1136*007c2a45Smiod	(_frv_emit_got_relocs_plt_entries): New.
1137*007c2a45Smiod	(elf32_frv_relocate_section): Add support for dynamic linking.
1138*007c2a45Smiod	Handle new relocations.
1139*007c2a45Smiod	(_frv_create_got_section): New.
1140*007c2a45Smiod	(elf32_frv_create_dynamic_sections): New.
1141*007c2a45Smiod	(ELF_DYNAMIC_INTERPRETER): New.
1142*007c2a45Smiod	(struct _frv_dynamic_got_info): New.
1143*007c2a45Smiod	(_frv_count_got_plt_entries): New.
1144*007c2a45Smiod	(struct _frv_dynamic_got_plt_info): New.
1145*007c2a45Smiod	(_frv_compute_got_alloc_data): New.
1146*007c2a45Smiod	(_frv_get_got_entry, _frv_get_fd_entry): New.
1147*007c2a45Smiod	(_frv_assign_got_entries, _frv_assign_plt_entries): New.
1148*007c2a45Smiod	(_frv_resolve_final_relocs_info): New.
1149*007c2a45Smiod	(elf32_frv_size_dynamic_sections): New.
1150*007c2a45Smiod	(elf32_frv_finish_dynamic_sections): New.
1151*007c2a45Smiod	(elf32_frv_adjust_dynamic_symbol): New.
1152*007c2a45Smiod	(elf32_frv_finish_dynamic_symbol): New.
1153*007c2a45Smiod	(elf32_frv_check_relocs): Handle new relocs.  Explain how the
1154*007c2a45Smiod	whole thing works.
1155*007c2a45Smiod	(elf_info_to_howto_rel): Define.
1156*007c2a45Smiod	(bfd_elf32_bfd_link_hash_table_create): Define.
1157*007c2a45Smiod	(elf_backend_create_dynamic_sections): Define.
1158*007c2a45Smiod	(elf_backend_adjust_dynamic_symbol): Define.
1159*007c2a45Smiod	(elf_backend_size_dynamic_sections): Define.
1160*007c2a45Smiod	(elf_backend_finish_dynamic_symbol): Define.
1161*007c2a45Smiod	(elf_backend_finish_dynamic_sections): Define.
1162*007c2a45Smiod	(elf_backend_want_got_sym): Define.
1163*007c2a45Smiod	(elf_backend_got_header_size): Define.
1164*007c2a45Smiod	(elf_backend_want_got_plt): Define.
1165*007c2a45Smiod	(elf_backend_plt_readonly): Define.
1166*007c2a45Smiod	(elf_backend_want_plt_sym): Define.
1167*007c2a45Smiod	(elf_backend_plt_header_size): Define.
1168*007c2a45Smiod	(elf_backend_may_use_rel_p): Define.
1169*007c2a45Smiod	(elf_backend_may_use_rela_p): Define.
1170*007c2a45Smiod	(elf_backend_default_use_rela_p): Define.
1171*007c2a45Smiod	2003-08-08  Alexandre Oliva  <aoliva@redhat.com>
1172*007c2a45Smiod	* elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
1173*007c2a45Smiod	R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
1174*007c2a45Smiod	R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
1175*007c2a45Smiod	(frv_reloc_map): Map the corresponding BFD relocs to them.
1176*007c2a45Smiod	(frv_reloc_type_lookup): ... and back to BFD relocs.
1177*007c2a45Smiod	* reloc.c: New relocs.
1178*007c2a45Smiod	* bfd-in2.h, libbfd.h: Rebuilt.
1179*007c2a45Smiod	2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
1180*007c2a45Smiod	* elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
1181*007c2a45Smiod	R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
1182*007c2a45Smiod	R_FRV_FUNCDESC_GOTLO): New.
1183*007c2a45Smiod	(frv_reloc_map): Map the corresponding BFD relocs to them.
1184*007c2a45Smiod	(frv_reloc_type_lookup): ... and back to BFD relocs.
1185*007c2a45Smiod	* reloc.c: New relocs.
1186*007c2a45Smiod	* bfd-in2.h, libbfd.h: Rebuilt.
1187*007c2a45Smiod
1188*007c2a45Smiod2004-01-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
1189*007c2a45Smiod
1190*007c2a45Smiod	* elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
1191*007c2a45Smiod	targets to support pages of up to 64kB.
1192*007c2a45Smiod	(elf32_bed): Redefine to get a separate backend data structure for
1193*007c2a45Smiod	traditional targets.
1194*007c2a45Smiod	* elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
1195*007c2a45Smiod	targets to support pages of up to 64kB.
1196*007c2a45Smiod	(elf64_bed): Redefine to get a separate backend data structure for
1197*007c2a45Smiod	traditional targets.
1198*007c2a45Smiod	* elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
1199*007c2a45Smiod	targets to support pages of up to 64kB.
1200*007c2a45Smiod	(elf32_bed): Redefine to get a separate backend data structure for
1201*007c2a45Smiod	traditional targets.
1202*007c2a45Smiod
1203*007c2a45Smiod2004-01-04  Mark Kettenis  <kettenis@gnu.org>
1204*007c2a45Smiod
1205*007c2a45Smiod	* elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
1206*007c2a45Smiod
1207*007c2a45Smiod2004-01-02  Mark Kettenis  <kettenis@gnu.org>
1208*007c2a45Smiod
1209*007c2a45Smiod	* elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
1210*007c2a45Smiod	(elf_i386_grok_psinfo): Likewise.
1211*007c2a45Smiod
1212*007c2a45Smiod2004-01-02  Bernardo Innocenti  <bernie@develer.com>
1213*007c2a45Smiod
1214*007c2a45Smiod	* config.bfd: Add m68k-uClinux target.
1215*007c2a45Smiod
1216*007c2a45Smiod2004-01-01  Grant Edwards <grante@visi.com>
1217*007c2a45Smiod
1218*007c2a45Smiod	* elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
1219*007c2a45Smiod	* elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
1220*007c2a45Smiod	(elf32_h8_gc_sweep_hook): New function.
1221*007c2a45Smiod	(elf_backend_gc_mark_hook): Define.
1222*007c2a45Smiod	(elf_backend_gc_sweep_hook): Define.
1223*007c2a45Smiod	(elf_backend_can_gc_sections): Define.
1224*007c2a45Smiod
1225*007c2a45SmiodFor older changes see ChangeLog-0203
12262159047fSniklas
12272159047fSniklasLocal Variables:
1228b305b0f1Sespiemode: change-log
12292159047fSniklasleft-margin: 8
12302159047fSniklasfill-column: 74
12312159047fSniklasversion-control: never
12322159047fSniklasEnd:
1233