xref: /netbsd-src/external/gpl3/binutils.old/dist/bfd/ChangeLog-2007 (revision 75fd0b742a7e4a64301bc6c44e9bc5240c58bb92)
1*75fd0b74Schristos2007-12-31  H.J. Lu  <hongjiu.lu@intel.com>
2*75fd0b74Schristos
3*75fd0b74Schristos	PR ld/5530
4*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Call
5*75fd0b74Schristos	_bfd_elf_find_segment_containing_section with output_bfd,
6*75fd0b74Schristos	instead of input_bfd.
7*75fd0b74Schristos
8*75fd0b74Schristos2007-12-31  Nick Clifton  <nickc@redhat.com>
9*75fd0b74Schristos
10*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_relax_section): Use
11*75fd0b74Schristos	_bfd_merged_section_offset to compute the offset of a symbol in a
12*75fd0b74Schristos	merged section.
13*75fd0b74Schristos
14*75fd0b74Schristos2007-12-31  Nick Clifton  <nickc@redhat.com>
15*75fd0b74Schristos
16*75fd0b74Schristos	* elf.c (_bfd_elf_find_segment_containing_section): New function:
17*75fd0b74Schristos	Scan the segment map looking for the segment containing a
18*75fd0b74Schristos	specified function.
19*75fd0b74Schristos	* elf-bfd.h: Prototype the new function.
20*75fd0b74Schristos	* elf-hppa.h (elf_hppa_osec_to_segment): Delete.
21*75fd0b74Schristos	(elf_hppa_record_segment_addrs): Use new function.
22*75fd0b74Schristos	* elf32-bfin.c (_bfdfdpic_osec_to_segment): Use new function.
23*75fd0b74Schristos	* elf32-frv.c (_frvfdpic_osec_to_segment): Use new function.
24*75fd0b74Schristos	* elf32-hppa.c (hppa_record_segment_addr): Use new function.
25*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Use new function.
26*75fd0b74Schristos
27*75fd0b74Schristos2007-12-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
28*75fd0b74Schristos
29*75fd0b74Schristos	PR binutils/5146
30*75fd0b74Schristos	* elf64-hppa.c: Declare alloca when __GNUC__ is defined.
31*75fd0b74Schristos	* som.c: Likewise.
32*75fd0b74Schristos
33*75fd0b74Schristos	* elf-hppa.h (elf_hppa_osec_to_segment): New function.
34*75fd0b74Schristos	(elf_hppa_record_segment_addrs): Use elf_hppa_osec_to_segment.
35*75fd0b74Schristos	Remove ATTRIBUTE_UNUSED from abfd argument.
36*75fd0b74Schristos	* elf32-hppa.c (hppa_record_segment_addr): Likewise.
37*75fd0b74Schristos
38*75fd0b74Schristos2007-12-28  Nick Hudson  <nick.hudson@dsl.pipex.com>
39*75fd0b74Schristos
40*75fd0b74Schristos	* elf32-hppa.c (hppa_record_segment_addr): Locate the segment
41*75fd0b74Schristos	containing the section using the segment map, rather than guessing
42*75fd0b74Schristos	based upon the section's vma and file position.
43*75fd0b74Schristos
44*75fd0b74Schristos2007-12-24  H.J. Lu  <hongjiu.lu@intel.com>
45*75fd0b74Schristos
46*75fd0b74Schristos	PR binutils/5488
47*75fd0b74Schristos	* elf.c (IS_NOTE): New.
48*75fd0b74Schristos	(IS_COREFILE_NOTE): Use IS_NOTE.
49*75fd0b74Schristos	(IS_SECTION_IN_INPUT_SEGMENT): Use IS_NOTE instead of
50*75fd0b74Schristos	IS_COREFILE_NOTE.
51*75fd0b74Schristos
52*75fd0b74Schristos2007-12-24  H.J. Lu  <hongjiu.lu@intel.com>
53*75fd0b74Schristos
54*75fd0b74Schristos	PR binutils/5449
55*75fd0b74Schristos	* elf.c (rewrite_elf_program_header): Don't adjust p_paddr if
56*75fd0b74Schristos	p_paddr is set to 0.
57*75fd0b74Schristos	(copy_private_bfd_data): Call rewrite_elf_program_header if
58*75fd0b74Schristos	p_paddr is set to 0.
59*75fd0b74Schristos
60*75fd0b74Schristos	* elfcode.h (elf_swap_phdr_out): Set p_paddr to 0 if needed.
61*75fd0b74Schristos
62*75fd0b74Schristos	* elfxx-ia64.c (ELF_MAXPAGESIZE): Don't redefine it for HPUX.
63*75fd0b74Schristos
64*75fd0b74Schristos2007-12-21  Bob Wilson  <bob.wilson@acm.org>
65*75fd0b74Schristos
66*75fd0b74Schristos	* elf32-xtensa.c (relax_section): Update DIFF relocations in the
67*75fd0b74Schristos	same way as other relocations.
68*75fd0b74Schristos
69*75fd0b74Schristos2007-12-18  Daniel Jacobowitz  <dan@codesourcery.com>
70*75fd0b74Schristos
71*75fd0b74Schristos	* section.c (BFD_FAKE_SECTION): Update.
72*75fd0b74Schristos	* bfd-in2.h: Regenerate.
73*75fd0b74Schristos
74*75fd0b74Schristos2007-12-18  Daniel Jacobowitz  <dan@codesourcery.com>
75*75fd0b74Schristos
76*75fd0b74Schristos	* bfd-in2.h: Regenerate.
77*75fd0b74Schristos
78*75fd0b74Schristos2007-12-17  Pedro Alves  <pedro_alves@portugalmail.pt>
79*75fd0b74Schristos
80*75fd0b74Schristos	* config.bfd: Add arm-*-mingw32ce* target.
81*75fd0b74Schristos
82*75fd0b74Schristos2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>
83*75fd0b74Schristos
84*75fd0b74Schristos	* elf-bfd.h (eh_cie_fde): Replace u.cie.merged with a union of
85*75fd0b74Schristos	a merged field and a sec field.
86*75fd0b74Schristos	(eh_frame_hdr_info): Remove offsets_adjusted.
87*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update accesses to
88*75fd0b74Schristos	the CIE merged field.
89*75fd0b74Schristos	(_bfd_elf_gc_mark_fdes): Likewise.
90*75fd0b74Schristos	(_bfd_elf_discard_section_eh_frame): Likewise.  Set u.cie.u.sec
91*75fd0b74Schristos	when clearing the removed flag.
92*75fd0b74Schristos	(_bfd_elf_eh_frame_section_offset): Remove offsets_adjusted handling.
93*75fd0b74Schristos	(_bfd_elf_write_section_eh_frame): Likewise.  Apply output_offsets
94*75fd0b74Schristos	where appropriate.
95*75fd0b74Schristos
96*75fd0b74Schristos2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>
97*75fd0b74Schristos
98*75fd0b74Schristos	* elf-bfd.h (eh_cie_fde): Move add_fde_encoding and
99*75fd0b74Schristos	per_encoding_relative to u.cie.  Add commentary.
100*75fd0b74Schristos	* elf-eh-frame.c (cie): Remove make_relative.
101*75fd0b74Schristos	(extra_augmentation_string_bytes): Update use of add_fde_encoding.
102*75fd0b74Schristos	(extra_augmentation_data_bytes): Likewise.  Use an FDE's own
103*75fd0b74Schristos	add_augmentation_size field, rather than referring to the CIE.
104*75fd0b74Schristos	(_bfd_elf_parse_eh_frame): Don't set the struct cie
105*75fd0b74Schristos	make_relative field; set the eh_cie_fde field directly.
106*75fd0b74Schristos	Update setting of add_fde_encoding and per_encoding_relative.
107*75fd0b74Schristos	Copy make_relative and add_augmentation_size from the CIE
108*75fd0b74Schristos	to the FDE.
109*75fd0b74Schristos	(_bfd_elf_discard_section_eh_frame): Use the FDE's own
110*75fd0b74Schristos	make_relative field.
111*75fd0b74Schristos	(_bfd_elf_eh_frame_section_offset): Likewise.
112*75fd0b74Schristos	(_bfd_elf_write_section_eh_frame): Update accesses to
113*75fd0b74Schristos	add_fde_encoding and per_encoding_relative.  Use the FDE's
114*75fd0b74Schristos	own make_relative and add_augmentation_size fields.
115*75fd0b74Schristos
116*75fd0b74Schristos2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>
117*75fd0b74Schristos
118*75fd0b74Schristos	* elf-bfd.h (eh_cie_fde): Remove need_lsda_relative.
119*75fd0b74Schristos	Move make_lsda_relative to u.cie.
120*75fd0b74Schristos	* elf-eh-frame.c (cie): Rename make_lsda_relative to
121*75fd0b74Schristos	can_make_lsda_relative.
122*75fd0b74Schristos	(_bfd_elf_parse_eh_frame): Don't set the old eh_cie_fde
123*75fd0b74Schristos	make_lsda_relative field.  Update after cie renaming.
124*75fd0b74Schristos	Set u.cie.make_lsda_relative if can_make_lsda_relative
125*75fd0b74Schristos	and if we find a relocation against the LSDA.
126*75fd0b74Schristos	(_bfd_elf_discard_section_eh_frame): Copy make_lsda_relative when
127*75fd0b74Schristos	changing a CIE's group representative.
128*75fd0b74Schristos	(_bfd_elf_eh_frame_section_offset): Don't set need_ldsa_relative here.
129*75fd0b74Schristos	(_bfd_elf_write_section_eh_frame): Check u.cie.make_lsda_relative
130*75fd0b74Schristos	rather than need_lsda_relative.
131*75fd0b74Schristos
132*75fd0b74Schristos2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>
133*75fd0b74Schristos
134*75fd0b74Schristos	* elf-bfd.h (eh_cie_fde): Add u.fde.next_for_section and
135*75fd0b74Schristos	u.cie.gc_mark.
136*75fd0b74Schristos	(bfd_elf_section_data): Add fde_list.
137*75fd0b74Schristos	(elf_fde_list): New macro.
138*75fd0b74Schristos	(elf_obj_tdata): Add eh_frame_section.
139*75fd0b74Schristos	(elf_eh_frame_section): New macro.
140*75fd0b74Schristos	(_bfd_elf_gc_mark_reloc): Remove last parameter.
141*75fd0b74Schristos	(_bfd_elf_gc_mark_fdes): Declare.
142*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_get_eh_frame_sec_info): Chain the FDEs
143*75fd0b74Schristos	for each input section.
144*75fd0b74Schristos	(mark_entry, _bfd_elf_gc_mark_fdes): New functions.
145*75fd0b74Schristos	* elflink.c (_bfd_elf_gc_mark_reloc): Remove is_eh parameter.
146*75fd0b74Schristos	(_bfd_elf_gc_mark): Update call accordingly.  Mark the relocations
147*75fd0b74Schristos	againts the section's FDEs.  Don't mark the bfd's elf_eh_frame_section.
148*75fd0b74Schristos	(bfd_elf_gc_sections): Parse each input bfd's .eh_frame before
149*75fd0b74Schristos	marking any input sections.  Remove the current EH handling.
150*75fd0b74Schristos	* section.c (bfd_section): Remove gc_mark_from_eh.
151*75fd0b74Schristos	* ecoff.c (bfd_debug_section): Update initializer accordingly.
152*75fd0b74Schristos
153*75fd0b74Schristos2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>
154*75fd0b74Schristos
155*75fd0b74Schristos	* elf-bfd.h (eh_cie_fde): Add u.cie.  Document how u.fde.cie_inf
156*75fd0b74Schristos	changes when removed == 0.
157*75fd0b74Schristos	(eh_frame_hdr_info): Add parsed_eh_frames.
158*75fd0b74Schristos	(_bfd_elf_begin_eh_frame_parsing): Declare.
159*75fd0b74Schristos	(_bfd_elf_parse_eh_frame): Declare.
160*75fd0b74Schristos	(_bfd_elf_end_eh_frame_parsing): Declare.
161*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): New function.
162*75fd0b74Schristos	(_bfd_elf_parse_eh_frame): New function, split out from
163*75fd0b74Schristos	_bfd_elf_discard_section_eh_frame.  Make a first pass through the
164*75fd0b74Schristos	buffer to calculate the number of entries and CIEs.  Allocate memory
165*75fd0b74Schristos	for them before the main loop.  Replace current extended cie
166*75fd0b74Schristos	representation with a pair of pointers, one to the local eh_cie_fde
167*75fd0b74Schristos	and one to the full struct cie.  Allocate a separate array of struct
168*75fd0b74Schristos	cies if not merging.  Merge CIEs during the main loop and set up each
169*75fd0b74Schristos	u.cie.merged field.  Point an FDE's cie_inf field directly at the
170*75fd0b74Schristos	local CIE.  Initially assume that all entries should be removed.
171*75fd0b74Schristos	(_bfd_elf_end_eh_frame_parsing): New function.
172*75fd0b74Schristos	(_bfd_elf_discard_section_eh_frame): Assume that the section has
173*75fd0b74Schristos	already been parsed.  Use a separate pass to mark entries that
174*75fd0b74Schristos	need to be kept.  Use the u.cie.merged field to track a CIE's
175*75fd0b74Schristos	group representative.
176*75fd0b74Schristos	* elflink.c (bfd_elf_discard_info): Call _bfd_elf_parse_eh_frame
177*75fd0b74Schristos	before _bfd_elf_discard_section_eh_frame.  Wrap loop with calls to
178*75fd0b74Schristos	_bfd_elf_begin_eh_frame_parsing and _bfd_elf_end_eh_frame_parsing.
179*75fd0b74Schristos
180*75fd0b74Schristos2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>
181*75fd0b74Schristos
182*75fd0b74Schristos	* elf-bfd.h (eh_cie_fde): Put cie_inf in a union.  Add a reloc_index
183*75fd0b74Schristos	field.  Use bitfields for fde_encoding, lsda_encoding and lsda_offset.
184*75fd0b74Schristos	* elf-eh-frame.c (extra_augmentation_data_bytes): Adjust cie_inf
185*75fd0b74Schristos	accesses after the above change.
186*75fd0b74Schristos	(_bfd_elf_eh_frame_section_offset): Likewise.
187*75fd0b74Schristos	(_bfd_elf_write_section_eh_frame): Likewise.
188*75fd0b74Schristos	(_bfd_elf_discard_section_eh_frame): Likewise.  Set up reloc_index.
189*75fd0b74Schristos
190*75fd0b74Schristos2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>
191*75fd0b74Schristos
192*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): Declare.
193*75fd0b74Schristos	(_bfd_elf_gc_mark): Use elf_gc_mark_hook_fn.
194*75fd0b74Schristos	* elflink.c (init_reloc_cookie, fini_reloc_cookie)
195*75fd0b74Schristos	(init_reloc_cookie_rels, fini_reloc_cookie_rels): New functions,
196*75fd0b74Schristos	split out from...
197*75fd0b74Schristos	(bfd_elf_discard_info): ...here.
198*75fd0b74Schristos	(init_reloc_cookie_for_section): New function.
199*75fd0b74Schristos	(fini_reloc_cookie_for_section): Likewise.
200*75fd0b74Schristos	(_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): New functions,
201*75fd0b74Schristos	split out from...
202*75fd0b74Schristos	(_bfd_elf_gc_mark): ...here.  Use init_reloc_cookie_for_section
203*75fd0b74Schristos	and fini_reloc_cookie_for_section.
204*75fd0b74Schristos
205*75fd0b74Schristos2007-12-12  Bob Wilson  <bob.wilson@acm.org>
206*75fd0b74Schristos
207*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_do_reloc): Update self_address along with
208*75fd0b74Schristos	address.
209*75fd0b74Schristos	(print_action_list): Fix name for ta_convert_longcall.
210*75fd0b74Schristos
211*75fd0b74Schristos2007-12-11  Catherine Moore  <clm@codesourcery.com>
212*75fd0b74Schristos
213*75fd0b74Schristos        * elf.c (_bfd_elf_copy_private_symbol_data): Don't copy shndx if
214*75fd0b74Schristos        the symbol's section is the undefined section.
215*75fd0b74Schristos
216*75fd0b74Schristos2007-12-11  Alan Modra  <amodra@bigpond.net.au>
217*75fd0b74Schristos
218*75fd0b74Schristos	* elf.c (elf_fake_sections): Add "warning:" to "..changed to PROGBITS"
219*75fd0b74Schristos	message.
220*75fd0b74Schristos
221*75fd0b74Schristos2007-12-07  Bob Wilson  <bob.wilson@acm.org>
222*75fd0b74Schristos
223*75fd0b74Schristos	* elf32-xtensa.c (elf_howto_table): Add R_XTENSA_32_PCREL.
224*75fd0b74Schristos	(elf_xtensa_reloc_type_lookup): Handle BFD_RELOC_32_PCREL.
225*75fd0b74Schristos	(elf_xtensa_check_relocs): Use default case for all relocations that
226*75fd0b74Schristos	need nothing done here.
227*75fd0b74Schristos	(elf_xtensa_do_reloc): Compute self_address for all relocation types.
228*75fd0b74Schristos	Handle R_XTENSA_32_PCREL.
229*75fd0b74Schristos	(elf_xtensa_relocate_section): Check for R_XTENSA_32_PCREL for dynamic
230*75fd0b74Schristos	symbols.
231*75fd0b74Schristos	(check_section_ebb_pcrels_fit): Ignore R_XTENSA_32_PCREL relocations.
232*75fd0b74Schristos
233*75fd0b74Schristos2007-12-05  Alan Modra  <amodra@bigpond.net.au>
234*75fd0b74Schristos
235*75fd0b74Schristos	* elf32-spu.c (spu_elf_size_stubs): Do consider branches to
236*75fd0b74Schristos	non-function symbols for overlay stubs.
237*75fd0b74Schristos
238*75fd0b74Schristos2007-12-04  Bob Wilson  <bob.wilson@acm.org>
239*75fd0b74Schristos
240*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Create DT_PLTGOT
241*75fd0b74Schristos	entry for all dynamic objects.
242*75fd0b74Schristos
243*75fd0b74Schristos2007-12-04  Alan Modra  <amodra@bigpond.net.au>
244*75fd0b74Schristos
245*75fd0b74Schristos	* elf32-spu.c (spu_elf_size_stubs): Correct section alignment.
246*75fd0b74Schristos
247*75fd0b74Schristos2007-11-30  Richard Sandiford  <rsandifo@nildram.co.uk>
248*75fd0b74Schristos
249*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use the
250*75fd0b74Schristos	ELF header to choose between 32-bit and 64-bit relocation structures.
251*75fd0b74Schristos
252*75fd0b74Schristos2007-11-29  Mark Shinwell  <shinwell@codesourcery.com>
253*75fd0b74Schristos
254*75fd0b74Schristos	* archures.c (bfd_mach_mips_loongson_2e): New.
255*75fd0b74Schristos	(bfd_mach_mips_loongson_2f): New.
256*75fd0b74Schristos	* bfd-in2.h (bfd_mach_mips_loongson_2e): New.
257*75fd0b74Schristos	(bfd_mach_mips_loongson_2f): New.
258*75fd0b74Schristos	* cpu-mips.c: Add I_loongson_2e and I_loongson_2f to
259*75fd0b74Schristos	anonymous enum.
260*75fd0b74Schristos	(arch_info_struct): Add Loongson-2E and Loongson-2F entries.
261*75fd0b74Schristos	* elfxx-mips.c (_bfd_elf_mips_mach): Handle Loongson-2E
262*75fd0b74Schristos	and Loongson-2F flags.
263*75fd0b74Schristos	(mips_set_isa_flags): Likewise.
264*75fd0b74Schristos	(mips_mach_extensions): Add Loongson-2E and Loongson-2F
265*75fd0b74Schristos	entries.
266*75fd0b74Schristos
267*75fd0b74Schristos2007-11-29  Nick Clifton  <nickc@redhat.com>
268*75fd0b74Schristos
269*75fd0b74Schristos	PR ld/5398
270*75fd0b74Schristos	* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Do not
271*75fd0b74Schristos	complain if there is no glue bfd, just return.
272*75fd0b74Schristos
273*75fd0b74Schristos2007-11-28  Nick Clifton  <nickc@redhat.com>
274*75fd0b74Schristos
275*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_relax_section): Extend previous fix to
276*75fd0b74Schristos	cover forward jumps.
277*75fd0b74Schristos
278*75fd0b74Schristos2007-11-21  Nick Clifton  <nickc@redhat.com>
279*75fd0b74Schristos
280*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_relax_section): Allow for alignment
281*75fd0b74Schristos	relocs when computing whether instructions can be relaxed.
282*75fd0b74Schristos
283*75fd0b74Schristos2007-11-16  Tristan Gingold  <gingold@adacore.com>
284*75fd0b74Schristos
285*75fd0b74Schristos	* elflink.c (elf_link_output_extsym): Weaken assertion: if
286*75fd0b74Schristos	--gc-section is set, there may be no TLS segment.
287*75fd0b74Schristos
288*75fd0b74Schristos2007-11-19  Alan Modra  <amodra@bigpond.net.au>
289*75fd0b74Schristos
290*75fd0b74Schristos	* elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
291*75fd0b74Schristos	* elflink.c (bfd_elf_perform_complex_relocation): Return status.
292*75fd0b74Schristos	Don't print reloc overflow message.
293*75fd0b74Schristos	* elf32-mep.c (mep_elf_relocate_section): Handle status from
294*75fd0b74Schristos	bfd_elf_perform_complex_relocation.
295*75fd0b74Schristos
296*75fd0b74Schristos2007-11-17  Thiemo Seufer  <ths@mips.com>
297*75fd0b74Schristos
298*75fd0b74Schristos	* elfxx-mips.c (mips_elf_merge_obj_attributes): Handle -mips32r2
299*75fd0b74Schristos	-mfp64 attribute.
300*75fd0b74Schristos
301*75fd0b74Schristos2007-11-16  Nick Clifton  <nickc@redhat.com>
302*75fd0b74Schristos
303*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_check_relocs): Fix memory leak and
304*75fd0b74Schristos	check that bfd_elf_get_elf_syms is only called once.
305*75fd0b74Schristos
306*75fd0b74Schristos2007-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
307*75fd0b74Schristos
308*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Set udata.p of
309*75fd0b74Schristos	synthetic symbol to point to the ELF symbol it was derived from.
310*75fd0b74Schristos
311*75fd0b74Schristos2007-11-15  Alan Modra  <amodra@bigpond.net.au>
312*75fd0b74Schristos
313*75fd0b74Schristos	PR 5328
314*75fd0b74Schristos	* opncls.c (separate_debug_file_exists): Use fopen/fread
315*75fd0b74Schristos	rather than open/read and open in binary mode.
316*75fd0b74Schristos
317*75fd0b74Schristos2007-11-14  Richard Sandiford  <richard@codesourcery.com>
318*75fd0b74Schristos
319*75fd0b74Schristos	* elfxx-mips.c (mips_got_page_range): New structure.
320*75fd0b74Schristos	(mips_got_page_entry): Likewise.
321*75fd0b74Schristos	(mips_got_info): Add page_gotno and got_page_entries fields.
322*75fd0b74Schristos	(mips_elf_got_per_bfd_arg): Add max_pages field.  Delete
323*75fd0b74Schristos	primary_count and current_count fields.
324*75fd0b74Schristos	(mips_got_page_entry_hash, mips_got_page_entry_eq): New functions.
325*75fd0b74Schristos	(mips_elf_pages_for_range, mips_elf_record_got_page_entry): Likewise.
326*75fd0b74Schristos	(mips_elf_get_got_for_bfd): New function, split out from
327*75fd0b74Schristos	mips_elf_make_got_per_bfd.  Initialize the page_gotno and
328*75fd0b74Schristos	got_page_entries fields when creating a new GOT structure.
329*75fd0b74Schristos	(mips_elf_make_got_pages_per_bfd): New function.
330*75fd0b74Schristos	(mips_elf_merge_got_with): New function, split out from
331*75fd0b74Schristos	mips_elf_make_got_per_bfd.  Merge page entries as well as
332*75fd0b74Schristos	non-page entries.  Use the minimum of max_pages and the sum
333*75fd0b74Schristos	of the page_gotnos to estimate the number of page entries.
334*75fd0b74Schristos	(mips_elf_merge_gots): Use the minimum of max_pages and the
335*75fd0b74Schristos	bfd's page_gotno to estimate the number of page entries.
336*75fd0b74Schristos	Use the above functions.
337*75fd0b74Schristos	(mips_elf_multi_got): Add page entries as well as non-page entries
338*75fd0b74Schristos	to the individual per-bfd GOTs.  Initialize got_per_bfd_arg.max_pages.
339*75fd0b74Schristos	Initialize the page_gotno and got_page_entries fields when creating
340*75fd0b74Schristos	a new primary GOT.  Use the minimum of pages and page_gotno when
341*75fd0b74Schristos	adding the number of pages entries to local_gotno.
342*75fd0b74Schristos	(mips_elf_create_got_section): Initialize the page_gotno and
343*75fd0b74Schristos	got_page_entries fields of the GOT structure.
344*75fd0b74Schristos	(mips_elf_rel_relocation_p, mips_elf_read_rel_addend)
345*75fd0b74Schristos	(mips_elf_add_lo16_rel_addend, mips_elf_get_section_contents): New
346*75fd0b74Schristos	functions, split out from...
347*75fd0b74Schristos	(_bfd_mips_elf_relocate_section): ...here.
348*75fd0b74Schristos	(_bfd_mips_elf_check_relocs): Record GOT page entries too.
349*75fd0b74Schristos	(_bfd_mips_relax_section): Use mips_elf_get_section_contents.
350*75fd0b74Schristos	(_bfd_mips_elf_always_size_sections): Use the smaller of the
351*75fd0b74Schristos	loadable_size- and page_gotno-derived estimates.
352*75fd0b74Schristos
353*75fd0b74Schristos2007-11-14  Thiemo Seufer  <ths@mips.com>
354*75fd0b74Schristos
355*75fd0b74Schristos	* elfxx-mips.c (mips_elf_merge_obj_attributes): Prevent
356*75fd0b74Schristos	unwanted fallthroughs in case statement.
357*75fd0b74Schristos
358*75fd0b74Schristos2007-11-13  H.J. Lu  <hongjiu.lu@intel.com>
359*75fd0b74Schristos
360*75fd0b74Schristos	PR binutils/5307
361*75fd0b74Schristos	* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
362*75fd0b74Schristos	copy input subsystem if output is different from input.
363*75fd0b74Schristos
364*75fd0b74Schristos2007-11-13  Nick Clifton  <nickc@redhat.com>
365*75fd0b74Schristos
366*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_final_link_relocate): Prevent the
367*75fd0b74Schristos	accidental termination of DWARF location list entries.
368*75fd0b74Schristos	(mn10300_elf_relax_delete_bytes): Stop deletion if an align reloc
369*75fd0b74Schristos	is encountered that is larger than or not a mutliple of the number
370*75fd0b74Schristos	of bytes being deleted.
371*75fd0b74Schristos	When adjusting symbols, any symbols inside the region being
372*75fd0b74Schristos	deleted must be moved to the end of the region.
373*75fd0b74Schristos	Move align relocs forward if there is room for them after the
374*75fd0b74Schristos	deletion of the region.
375*75fd0b74Schristos
376*75fd0b74Schristos2007-11-13  Alan Modra  <amodra@bigpond.net.au>
377*75fd0b74Schristos
378*75fd0b74Schristos	PR 5233
379*75fd0b74Schristos	* elf.c (rewrite_elf_program_header): Formatting.  Add
380*75fd0b74Schristos	first_matching_lma and first_suggested_lma booleans and use
381*75fd0b74Schristos	instead of testing matching_lma and suggested_lma for zero.
382*75fd0b74Schristos
383*75fd0b74Schristos2007-11-12  H.J. Lu  <hongjiu.lu@intel.com>
384*75fd0b74Schristos
385*75fd0b74Schristos	PR binutils/5299
386*75fd0b74Schristos	* peicode.h (pe_bfd_object_p): Save and restore previous bfd
387*75fd0b74Schristos	state when calling coff_object_p.
388*75fd0b74Schristos
389*75fd0b74Schristos2007-11-12  Alan Modra  <amodra@bigpond.net.au>
390*75fd0b74Schristos
391*75fd0b74Schristos	* elf.c (_bfd_elf_get_synthetic_symtab): Only bump the symbol
392*75fd0b74Schristos	pointer when we have a valid symbol.  Init udata.p to NULL.
393*75fd0b74Schristos
394*75fd0b74Schristos2007-11-09  Nathan Sidwell  <nathan@codesourcery.com>
395*75fd0b74Schristos
396*75fd0b74Schristos	* elf-vxworks.c (elf_vxworks_emit_relocs): Don't clobber
397*75fd0b74Schristos	rel_hash.  Move loop inside if test.
398*75fd0b74Schristos
399*75fd0b74Schristos2007-11-08  Nathan Sidwell  <nathan@codesourcery.com>
400*75fd0b74Schristos
401*75fd0b74Schristos	* elf-vxworks.h (elf_vxworks_add_dynamic_entries): Declare.
402*75fd0b74Schristos	(elf_vxworks_finish_dynamic_entry): Declare.
403*75fd0b74Schristos	* elf-vxworks.c: Include elf/vxworks.h.
404*75fd0b74Schristos	(elf_vxworks_add_dynamic_entries): New.
405*75fd0b74Schristos	(elf_vxworks_finish_dynamic_entry): New.
406*75fd0b74Schristos	* Makefile.am (elf-vxworks.lo): Add dependency.
407*75fd0b74Schristos	* Makefile.in (elf-vxworks.lo): Add dependency.
408*75fd0b74Schristos	* elf32-i386.c (elf_i386_size_dynamic_sections,
409*75fd0b74Schristos	elf_i386_finish_dynamic_sections): Call
410*75fd0b74Schristos	elf_vxworks_add_dynamic_entries and
411*75fd0b74Schristos	elf_vxworks_finish_dynamic_entry.
412*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_size_dynamic_sections,
413*75fd0b74Schristos	ppc_elf_finish_dynamic_sections): Likewise.
414*75fd0b74Schristos	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections,
415*75fd0b74Schristos	sparc_finish_dyn): Likewise.
416*75fd0b74Schristos	* elf32-sh.c (sh_elf_size_dynamic_sections,
417*75fd0b74Schristos	sh_elf_finish_dynamic_sections): Likewise.
418*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections,
419*75fd0b74Schristos	_bfd_mips_elf_finish_dynamic_sections): Likewise.
420*75fd0b74Schristos	* elf32-arm.c (elf32_arm_size_dynamic_sections,
421*75fd0b74Schristos	elf32_arm_finish_dynamic_sections): Likewise.
422*75fd0b74Schristos
423*75fd0b74Schristos2007-11-07  Olivier Hainque  <hainque@adacore.com>
424*75fd0b74Schristos
425*75fd0b74Schristos	* bfd/elfxx-mips.c (_bfd_mips_elf_fake_sections): Force
426*75fd0b74Schristos	SHF_MIPS_NOSTRIP on .debug_frame for Irix.
427*75fd0b74Schristos
428*75fd0b74Schristos2007-11-06  Alan Modra  <amodra@bigpond.net.au>
429*75fd0b74Schristos
430*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_check_relocs): Don't refcount tlsld_got here..
431*75fd0b74Schristos	(ppc64_elf_gc_sweep_hook): ..or here..
432*75fd0b74Schristos	(ppc64_elf_tls_optimize): ..or here.  Make two passes through the
433*75fd0b74Schristos	relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
434*75fd0b74Schristos	(allocate_dynrelocs): Refcount tlsld_got here.
435*75fd0b74Schristos	(ppc64_elf_size_dynamic_sections): Allocate local got and call
436*75fd0b74Schristos	allocate_dynrelocs before allocating tlsld_got.
437*75fd0b74Schristos	(ppc64_elf_relocate_section): Remove check that a tls_get_addr
438*75fd0b74Schristos	call follows gd and ld relocs.
439*75fd0b74Schristos
440*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Don't refcount tlsld_got here..
441*75fd0b74Schristos	(ppc_elf_gc_sweep_hook): ..or here..
442*75fd0b74Schristos	(ppc_elf_tls_optimize): ..or here.  Make two passes through the
443*75fd0b74Schristos	relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
444*75fd0b74Schristos	(allocate_dynrelocs): Refcount tlsld_got here.
445*75fd0b74Schristos	(ppc_elf_size_dynamic_sections): Call allocate_dynrelocs before
446*75fd0b74Schristos	allocating tlsld_got.
447*75fd0b74Schristos	(ppc_elf_relocate_section): Remove check that a tls_get_addr
448*75fd0b74Schristos	call follows gd and ld relocs.
449*75fd0b74Schristos
450*75fd0b74Schristos2007-11-05  Alan Modra  <amodra@bigpond.net.au>
451*75fd0b74Schristos
452*75fd0b74Schristos	* merge.c (sec_merge_hash_lookup): Revert last change.
453*75fd0b74Schristos	(record_section): Likewise.
454*75fd0b74Schristos	(_bfd_merge_sections): Likewise.
455*75fd0b74Schristos	(_bfd_merged_section_offset): Properly handle NULL secinfo.
456*75fd0b74Schristos	(_bfd_add_merge_section): Allocate extra space for a zero
457*75fd0b74Schristos	terminator on SEC_STRINGS sections.
458*75fd0b74Schristos
459*75fd0b74Schristos2007-11-05  Danny Smith  <dannysmith@users.sourceforge.net>
460*75fd0b74Schristos
461*75fd0b74Schristos	* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Let .data, .text
462*75fd0b74Schristos	 and .bss section use the default.
463*75fd0b74Schristos	* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
464*75fd0b74Schristos
465*75fd0b74Schristos2007-11-01  Joseph Myers  <joseph@codesourcery.com>
466*75fd0b74Schristos
467*75fd0b74Schristos	* merge.c (sec_merge_hash_lookup): Add parameter sec_end.  Check
468*75fd0b74Schristos	for unterminated strings.  All callers changed.
469*75fd0b74Schristos	(record_section): Add parameter abfd.  Give error message for
470*75fd0b74Schristos	unterminated strings.
471*75fd0b74Schristos	(_bfd_merge_sections): Update call to record_section.
472*75fd0b74Schristos	(_bfd_write_merged_section, _bfd_merged_section_offset): Handle
473*75fd0b74Schristos	NULL secinfo from merge failures.
474*75fd0b74Schristos
475*75fd0b74Schristos2007-10-31  Nick Clifton  <nickc@redhat.com>
476*75fd0b74Schristos
477*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_relax_delete_bytes): Do not look for
478*75fd0b74Schristos	align relocs when there are no relocs attached to the section.
479*75fd0b74Schristos
480*75fd0b74Schristos2007-10-31  Alan Modra  <amodra@bigpond.net.au>
481*75fd0b74Schristos
482*75fd0b74Schristos	* elf-bfd.h (bfd_elf_match_symbols_in_sections): Don't declare.
483*75fd0b74Schristos	* elflink.c (bfd_elf_match_symbols_in_sections): Make static.
484*75fd0b74Schristos	Remove section name comparisons.
485*75fd0b74Schristos
486*75fd0b74Schristos2007-10-30  Nick Clifton  <nickc@redhat.com>
487*75fd0b74Schristos
488*75fd0b74Schristos	* reloc.c (BFD_RELOC_MN10300_ALIGN): Add.
489*75fd0b74Schristos	* bfd-in2.h: Regenerate.
490*75fd0b74Schristos	* libbfd.h: Regnerate.
491*75fd0b74Schristos	* elf-m10300.h: Handle R_MN10300_ALIGN relocs.
492*75fd0b74Schristos	(mn10300_elf_relax_delete_bytes): Honour R_MN10300_ALIGN relocs.
493*75fd0b74Schristos	Re-fix off by one error in comparisons.
494*75fd0b74Schristos
495*75fd0b74Schristos2007-10-25  Pedro Alves  <pedro_alves@portugalmail.pt>
496*75fd0b74Schristos
497*75fd0b74Schristos	* bfd-in.h (STRING_COMMA_LEN): Don't handle NULL STR case.
498*75fd0b74Schristos	* bfd-in2.h: Regenerate.
499*75fd0b74Schristos
500*75fd0b74Schristos2007-10-25  Daniel Jacobowitz  <dan@codesourcery.com>
501*75fd0b74Schristos
502*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for
503*75fd0b74Schristos	Tag_GNU_Power_ABI_Vector.
504*75fd0b74Schristos
505*75fd0b74Schristos2007-10-25  Joseph Myers  <joseph@codesourcery.com>
506*75fd0b74Schristos
507*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add
508*75fd0b74Schristos	PT_NULL header when not linking.
509*75fd0b74Schristos
510*75fd0b74Schristos2007-10-25  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>
511*75fd0b74Schristos
512*75fd0b74Schristos	* elf.c (elfcore_grok_ppc_vmx): New function.
513*75fd0b74Schristos	(elfcore_grok_note): Handle NT_PPC_VMX.
514*75fd0b74Schristos	(elfcore_write_ppc_vmx): New function.
515*75fd0b74Schristos	* elf-bfd.h (elfcore_write_ppc_vmx): Declare.
516*75fd0b74Schristos
517*75fd0b74Schristos2007-10-24  Alan Modra  <amodra@bigpond.net.au>
518*75fd0b74Schristos
519*75fd0b74Schristos	* Makefile.am: Run "make dep-am".
520*75fd0b74Schristos	* Makefile.in: Regenerate.
521*75fd0b74Schristos	* po/SRC-POTFILES.in: Regenerate.
522*75fd0b74Schristos
523*75fd0b74Schristos2007-10-23  Alan Modra  <amodra@bigpond.net.au>
524*75fd0b74Schristos
525*75fd0b74Schristos	* elf64-ppc.c (ppc_build_one_stub): Don't duplicate relocs
526*75fd0b74Schristos	emitted for ".brlt" entries.
527*75fd0b74Schristos	(toc_adjusting_stub_needed): Don't treat ".fixup" specially here..
528*75fd0b74Schristos	(ppc64_elf_next_input_section): ..instead do so here.
529*75fd0b74Schristos
530*75fd0b74Schristos2007-10-19  Nick Clifton  <nickc@redhat.com>
531*75fd0b74Schristos
532*75fd0b74Schristos	* config.bfd: Recognise am34-linux-gnu target.
533*75fd0b74Schristos	* reloc.c: Add BFD_RELOC_MN10300_SYM_DIFF relocation.
534*75fd0b74Schristos	* bfd-in2.h: Regenerate.
535*75fd0b74Schristos	* libbfd.h: Regenerate.
536*75fd0b74Schristos	* elf-m10300.c (elf_mn10300_howto): Add R_MN10300_SYM_DIFF.
537*75fd0b74Schristos	(mn10300_reloc_map): Likewise.
538*75fd0b74Schristos	(mn10300_elf_check_relocs): Do not create dynamic relocs for
539*75fd0b74Schristos	symbol differences or relocations against absolute symbols.
540*75fd0b74Schristos	(mn10300_elf_final_link_relocate): Likewise.
541*75fd0b74Schristos	Handle R_MN10300_SYM_DIFF relocs.
542*75fd0b74Schristos	(mn10300_elf_relocate_section): Fix for creating local copys of
543*75fd0b74Schristos	dynamic relocs.
544*75fd0b74Schristos	(mn10300_elf_relax_delete_bytes): Adjust symbols at the end of the
545*75fd0b74Schristos	region.  Adjust the size of function symbols.
546*75fd0b74Schristos	(mn10300_elf_relax_section): Ignore symbols that are in discarded
547*75fd0b74Schristos	sections.
548*75fd0b74Schristos
549*75fd0b74Schristos2007-10-19  Nick Clifton  <nickc@redhat.com>
550*75fd0b74Schristos
551*75fd0b74Schristos	* elf-m10300.c: Convert to ISO C.
552*75fd0b74Schristos
553*75fd0b74Schristos2007-10-18  H.J. Lu  <hongjiu.lu@intel.com>
554*75fd0b74Schristos	    Alan Modra  <amodra@bigpond.net.au>
555*75fd0b74Schristos
556*75fd0b74Schristos	PR ld/4424
557*75fd0b74Schristos	* config.bfd (targ_selvecs): Add bfd_elf64_alpha_vec for
558*75fd0b74Schristos	alpha/FreeBSD.  Add bfd_elf64_sparc_vec for sparc64/FreeBSD.
559*75fd0b74Schristos	Add bfd_elf32_i386_vec and bfd_efi_app_ia32_vec for i386/FreeBSD.
560*75fd0b74Schristos	(targ64_selvecs): Set for i386/FreeBSD.
561*75fd0b74Schristos	* elf-bfd.h (elf_backend_data): Add relocs_compatible.
562*75fd0b74Schristos	(_bfd_elf_default_relocs_compatible): Declare.
563*75fd0b74Schristos	(_bfd_elf_relocs_compatible): Declare.
564*75fd0b74Schristos	* elfxx-target.h (elf_backend_relocs_compatible): Define.
565*75fd0b74Schristos	(elfNN_bed): Init new relocs_compatible field.
566*75fd0b74Schristos	* elflink.c (_bfd_elf_default_relocs_compatible): New function.
567*75fd0b74Schristos	(_bfd_elf_relocs_compatible): New function.
568*75fd0b74Schristos	(elf_link_add_object_symbols): Call bed->relocs_compatible.
569*75fd0b74Schristos	* elf32-i386.c (elf_backend_relocs_compatible): Define.
570*75fd0b74Schristos	* elf64-alpha.c: Likewise.
571*75fd0b74Schristos	* elf64-sparc.c: Likewise.
572*75fd0b74Schristos	* elf64-x86-64.c: Likewise.
573*75fd0b74Schristos
574*75fd0b74Schristos2007-10-16  Bob Wilson  <bob.wilson@acm.org>
575*75fd0b74Schristos
576*75fd0b74Schristos	* elf32-xtensa.c (relax_section): Check for a reference to a discarded
577*75fd0b74Schristos	DWARF section and anticipate its replacement with the kept section.
578*75fd0b74Schristos
579*75fd0b74Schristos2007-10-16  Bob Wilson  <bob.wilson@acm.org>
580*75fd0b74Schristos
581*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_discard_info_for_section): Remove
582*75fd0b74Schristos	unnecessary size variables.  Set sec->rawsize.
583*75fd0b74Schristos	(relax_section, relax_property_section): Likewise.
584*75fd0b74Schristos
585*75fd0b74Schristos2007-10-16  Bob Wilson  <bob.wilson@acm.org>
586*75fd0b74Schristos
587*75fd0b74Schristos	* section.c (struct bfd_section): Clarify comment for rawsize field.
588*75fd0b74Schristos	* bfd-in2.h: Regenerate.
589*75fd0b74Schristos
590*75fd0b74Schristos2007-10-16  Bob Wilson  <bob.wilson@acm.org>
591*75fd0b74Schristos
592*75fd0b74Schristos	* elflink.c (_bfd_elf_check_kept_section): Use the section rawsize
593*75fd0b74Schristos	values if they are set.
594*75fd0b74Schristos
595*75fd0b74Schristos2007-10-16  Nick Clifton  <nickc@redhat.com>
596*75fd0b74Schristos
597*75fd0b74Schristos	PR 5146
598*75fd0b74Schristos	* configure.in (AC_CHECK_HEADERS): Add alloca.h
599*75fd0b74Schristos	* configure: Regenerate.
600*75fd0b74Schristos	* config.in: Regenerate.
601*75fd0b74Schristos	* som.c: Replace alloca-conf.h inclusion with code recommended in
602*75fd0b74Schristos	autoconf documentation.
603*75fd0b74Schristos	* elf64-hppa.c: Likewise.
604*75fd0b74Schristos
605*75fd0b74Schristos2007-10-16  Nick Clifton  <nickc@redhat.com>
606*75fd0b74Schristos
607*75fd0b74Schristos	* configure.in (--enable-elf-stt-common): New configure
608*75fd0b74Schristos	option.  If enabled then the tools can generate symbols with
609*75fd0b74Schristos	the ELF STT_COMMON type.
610*75fd0b74Schristos	* config.in: Regenerate.
611*75fd0b74Schristos	* configure: Regenerate.
612*75fd0b74Schristos	* elf.c (swap_out_syms): If USE_STT_COMMON is defined then set
613*75fd0b74Schristos	the type of emitted common symbols to STT_COMMON.
614*75fd0b74Schristos	* elfcode.h (elf_slurp_symbol_table): Accept STT_COMMON symbol
615*75fd0b74Schristos	types.
616*75fd0b74Schristos
617*75fd0b74Schristos2007-10-15  Alan Modra  <amodra@bigpond.net.au>
618*75fd0b74Schristos
619*75fd0b74Schristos	* coff-arm.c (arm_emit_base_file_entry): Check fwrite return value.
620*75fd0b74Schristos	Return status.  Adjust callers.
621*75fd0b74Schristos	* coff-mcore.c (mcore_emit_base_file_entry): Likewise.
622*75fd0b74Schristos	* coff-ppc.c (write_base_file_entry): New function.
623*75fd0b74Schristos	(coff_ppc_relocate_section): Use it.
624*75fd0b74Schristos	* elf32-arm.c (find_thumb_glue): Check asprintf return status.
625*75fd0b74Schristos	(find_arm_glue): Likewise.
626*75fd0b74Schristos	* vms-misc.c (_bfd_vms_output_flush): Check fwrite return value.
627*75fd0b74Schristos
628*75fd0b74Schristos2007-10-12  Nick Clifton  <nickc@redhat.com>
629*75fd0b74Schristos
630*75fd0b74Schristos	PR 5160
631*75fd0b74Schristos	* elflink.c (eval_symbol): Remove bufsz variable and use
632*75fd0b74Schristos	sizeof(symbuf) where necessary.
633*75fd0b74Schristos
634*75fd0b74Schristos2007-10-12  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
635*75fd0b74Schristos
636*75fd0b74Schristos	* elf32-cr16.c (elf32_cr16_relax_section): Fix condition check typo.
637*75fd0b74Schristos
638*75fd0b74Schristos2007-10-12  Daniel Jacobowitz  <dan@codesourcery.com>
639*75fd0b74Schristos
640*75fd0b74Schristos	* elfxx-mips.c (mips_elf_sort_hash_table_f): Handle forced
641*75fd0b74Schristos	local symbols specially.
642*75fd0b74Schristos	(mips_elf_set_global_got_offset): Skip forced local symbols.
643*75fd0b74Schristos
644*75fd0b74Schristos2007-10-12  Alan Modra  <amodra@bigpond.net.au>
645*75fd0b74Schristos
646*75fd0b74Schristos	* elf.c (elfcore_grok_prxfpreg): Fix comment typo.
647*75fd0b74Schristos
648*75fd0b74Schristos2007-10-10  H.J. Lu  <hongjiu.lu@intel.com>
649*75fd0b74Schristos
650*75fd0b74Schristos	* elf.c (get_program_header_size): Always add a PT_GNU_RELRO
651*75fd0b74Schristos	segment for -z relro.
652*75fd0b74Schristos	(_bfd_elf_map_sections_to_segments): Make a PT_GNU_RELRO
653*75fd0b74Schristos	segment only when needed.
654*75fd0b74Schristos
655*75fd0b74Schristos2007-10-05  Bob Wilson  <bob.wilson@acm.org>
656*75fd0b74Schristos
657*75fd0b74Schristos	* elf32-xtensa.c (relax_section): Call pin_internal_relocs when
658*75fd0b74Schristos	changing a relocation's offset.  Adjust call to translate_reloc.  Do
659*75fd0b74Schristos	not add a fix record for a DIFF reloc.  For other relocs, only add a
660*75fd0b74Schristos	fix record if the translated target is in a different object file;
661*75fd0b74Schristos	otherwise, just update the relocation.  Call pin_internal_relocs when
662*75fd0b74Schristos	updating a reloc but not when adding a fix record.
663*75fd0b74Schristos	(translate_reloc): Get the target section from a new argument, not
664*75fd0b74Schristos	from the relocation.  Change check for relaxable sections to an
665*75fd0b74Schristos	assertion.  Compute separate offset adjustments for the base symbol
666*75fd0b74Schristos	and the addend, and set the new relocation's addend correctly.  Return
667*75fd0b74Schristos	the new target section.
668*75fd0b74Schristos
669*75fd0b74Schristos2007-10-05  Bob Wilson  <bob.wilson@acm.org>
670*75fd0b74Schristos
671*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_relocate_section): Remove updates of
672*75fd0b74Schristos	r_type and howto after calling do_fix_for_relocateable_link and
673*75fd0b74Schristos	do_fix_for_final_link.
674*75fd0b74Schristos
675*75fd0b74Schristos2007-10-05  Bob Wilson  <bob.wilson@acm.org>
676*75fd0b74Schristos
677*75fd0b74Schristos	* elf32-xtensa.c (removed_by_actions): New.
678*75fd0b74Schristos	(offset_with_removed_text): Reimplement using removed_by_actions.
679*75fd0b74Schristos	(offset_with_removed_text_before_fill): Delete.
680*75fd0b74Schristos	(relax_property_section): Use removed_by_actions.  Rearrange logic.
681*75fd0b74Schristos	(relax_section_symbols): Likewise.
682*75fd0b74Schristos
683*75fd0b74Schristos2007-10-04  Bob Wilson  <bob.wilson@acm.org>
684*75fd0b74Schristos
685*75fd0b74Schristos	* elf32-xtensa.c (reloc_bfd_fix_struct): Delete target_abfd field.
686*75fd0b74Schristos	(reloc_bfd_fix_init): Remove target_abfd argument.
687*75fd0b74Schristos	(relax_section, move_literal): Adjust calls to reloc_bfd_fix_init.
688*75fd0b74Schristos
689*75fd0b74Schristos2007-10-04  Nick Clifton  <nickc@redhat.com>
690*75fd0b74Schristos
691*75fd0b74Schristos	PR linker/5099
692*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_check_relocs): Add missing
693*75fd0b74Schristos	apostrophe to error message.
694*75fd0b74Schristos
695*75fd0b74Schristos2007-10-01  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
696*75fd0b74Schristos
697*75fd0b74Schristos	* elf32-cr16.c: Fixed DISP8, DISP20 and IMM20 relocations at
698*75fd0b74Schristos	final relocation phase.
699*75fd0b74Schristos	Added the below relaxations: IMM32 -> IMM20/IM16 -> IMM4.
700*75fd0b74Schristos	* reloc.c: Added 3 new relocations: R_CR16_SWITCH8,
701*75fd0b74Schristos	R_CR16_SWITCH16, R_CR16_SWITCH32.
702*75fd0b74Schristos	* libbfd.h: Regenerate.
703*75fd0b74Schristos	* bfd-in2.h: Regenerate.
704*75fd0b74Schristos
705*75fd0b74Schristos2007-09-30  Alan Modra  <amodra@bigpond.net.au>
706*75fd0b74Schristos
707*75fd0b74Schristos	* elflink.c: Formatting.
708*75fd0b74Schristos
709*75fd0b74Schristos2007-09-29  Alan Modra  <amodra@bigpond.net.au>
710*75fd0b74Schristos
711*75fd0b74Schristos	* elflink.c (resolve_symbol): Handle symbols in SEC_MERGE
712*75fd0b74Schristos	sections.  Don't test symbol st_shndx.  Don't bother with
713*75fd0b74Schristos	bfd_link_hash_common symbols.  Print longs rather than ints
714*75fd0b74Schristos	in debug messages.
715*75fd0b74Schristos	(eval_symbol): Replace "sym" and "advanced" params with "symp".
716*75fd0b74Schristos	Replace "addr" and "section_offset" params with "dot".  Don't
717*75fd0b74Schristos	cast bfd_vma values to signed, cast them to bfd_signed_vma.
718*75fd0b74Schristos	(bfd_elf_perform_complex_relocation): Delete "output_bfd", "info",
719*75fd0b74Schristos	"local_syms" and "local_sections" params.  Add "relocation".
720*75fd0b74Schristos	Delete code calculating relocation value.
721*75fd0b74Schristos	(evaluate_complex_relocation_symbols): Delete function.  Fold into..
722*75fd0b74Schristos	(elf_link_input_bfd): ..existing code examining relocs.
723*75fd0b74Schristos	* elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
724*75fd0b74Schristos	* elf32-mep.c (mep_elf_check_relocs): Delete function.
725*75fd0b74Schristos	(mep_elf_gc_sweep_hook, mep_elf_gc_mark_hook): Likewise.
726*75fd0b74Schristos	(mep_elf_object_p): Don't set elf_bad_symtab.
727*75fd0b74Schristos	(elf_backend_check_relocs): Don't define.
728*75fd0b74Schristos	(elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): Likewise.
729*75fd0b74Schristos	(elf_backend_can_gc_sections, USE_RELA): Likwise.
730*75fd0b74Schristos	(mep_elf_relocate_section): Move bfd_elf_perform_complex_relocation
731*75fd0b74Schristos	call after we have calculated reloc value.  Delete local sym
732*75fd0b74Schristos	debug code.  Use RELOC_FOR_GLOBAL_SYMBOL.  Delete addend
733*75fd0b74Schristos	adjusting code..
734*75fd0b74Schristos	(elf_backend_rela_normal): ..instead define this.
735*75fd0b74Schristos
736*75fd0b74Schristos2007-09-28  Alan Modra  <amodra@bigpond.net.au>
737*75fd0b74Schristos
738*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_check_relocs): Delete dead code.
739*75fd0b74Schristos	* elf32-arm.c (elf32_arm_check_relocs): Likewise.
740*75fd0b74Schristos	* elf32-avr.c (elf32_avr_check_relocs): Likewise.
741*75fd0b74Schristos	* elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
742*75fd0b74Schristos	* elf32-cris.c (cris_elf_check_relocs): Likewise.
743*75fd0b74Schristos	* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
744*75fd0b74Schristos	* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
745*75fd0b74Schristos	* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
746*75fd0b74Schristos	* elf32-frv.c (_frvfdpic_check_discarded_relocs): Likewise.
747*75fd0b74Schristos	(elf32_frv_check_relocs): Likewise.
748*75fd0b74Schristos	* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
749*75fd0b74Schristos	* elf32-m32c.c (m32c_elf_check_relocs): Likewise.
750*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
751*75fd0b74Schristos	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
752*75fd0b74Schristos	* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
753*75fd0b74Schristos	* elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
754*75fd0b74Schristos	* elf32-mt.c (mt_elf_check_relocs): Likewise.
755*75fd0b74Schristos	* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
756*75fd0b74Schristos	* elf32-sh.c (sh_elf_check_relocs): Likewise.
757*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
758*75fd0b74Schristos	* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
759*75fd0b74Schristos	* elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
760*75fd0b74Schristos	(score_elf_local_relocation_p): Likewise.
761*75fd0b74Schristos	(_bfd_score_elf_relocate_section): Likewise.
762*75fd0b74Schristos	(score_elf_final_link_relocate): Likewise.
763*75fd0b74Schristos
764*75fd0b74Schristos2007-09-26  Jan Beulich  <jbeulich@novell.com>
765*75fd0b74Schristos
766*75fd0b74Schristos	* elf32-i386.c (elf_i386_check_relocs): Revert NULL pointer
767*75fd0b74Schristos	check for R_386_GNU_VTINHERIT.
768*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_check_relocs): Check for NULL
769*75fd0b74Schristos	pointer for R_xxx_GNU_VTENTRY.
770*75fd0b74Schristos	* elf32-arm.c (elf32_arm_check_relocs): Likewise.
771*75fd0b74Schristos	* elf32-bfin.c (bfin_check_relocs): Likewise.
772*75fd0b74Schristos	(bfinfdpic_check_relocs): Likewise.
773*75fd0b74Schristos	* elf32-cris.c (cris_elf_check_relocs): Likewise.
774*75fd0b74Schristos	* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
775*75fd0b74Schristos	* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
776*75fd0b74Schristos	* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
777*75fd0b74Schristos	* elf32-frv.c (elf32_frv_check_relocs): Likewise.
778*75fd0b74Schristos	* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
779*75fd0b74Schristos	* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
780*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
781*75fd0b74Schristos	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
782*75fd0b74Schristos	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
783*75fd0b74Schristos	* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
784*75fd0b74Schristos	* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
785*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
786*75fd0b74Schristos	* elf32-s390.c (elf_s390_check_relocs): Likewise.
787*75fd0b74Schristos	* elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
788*75fd0b74Schristos	* elf32-sh.c (sh_elf_check_relocs): Likewise.
789*75fd0b74Schristos	* elf32-v850.c (v850_elf_check_relocs): Likewise.
790*75fd0b74Schristos	* elf32-vax.c (elf_vax_check_relocs): Likewise.
791*75fd0b74Schristos	* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
792*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
793*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
794*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
795*75fd0b74Schristos	* elf64-s390.c (elf_s390_check_relocs): Likewise.
796*75fd0b74Schristos	* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
797*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
798*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
799*75fd0b74Schristos	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
800*75fd0b74Schristos
801*75fd0b74Schristos2007-09-26  Alan Modra  <amodra@bigpond.net.au>
802*75fd0b74Schristos
803*75fd0b74Schristos	* elflink.c (set_symbol_value): Add isymbuf and locsymcount
804*75fd0b74Schristos	params.  Change symidx to a size_t.  Don't access past end
805*75fd0b74Schristos	of symbol buffer.
806*75fd0b74Schristos	(resolve_symbol): Add isymbuf param and use instead of
807*75fd0b74Schristos	finfo->internal_syms.
808*75fd0b74Schristos	(eval_symbol, evaluate_complex_relocation_symbols): Likewise.
809*75fd0b74Schristos	(elf_link_input_bfd): Don't read symbols specially for
810*75fd0b74Schristos	evaluate_complex_relocation_symbols.
811*75fd0b74Schristos
812*75fd0b74Schristos2007-09-26  Tristan Gingold  <gingold@adacore.com>
813*75fd0b74Schristos
814*75fd0b74Schristos	* som.c (som_get_reloc_upper_bound): If there are no relocs return
815*75fd0b74Schristos	enough space to hold a NULL pointer.
816*75fd0b74Schristos
817*75fd0b74Schristos2007-09-26  Alan Modra  <amodra@bigpond.net.au>
818*75fd0b74Schristos
819*75fd0b74Schristos	* elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size.
820*75fd0b74Schristos
821*75fd0b74Schristos2007-09-25  Alan Modra  <amodra@bigpond.net.au>
822*75fd0b74Schristos
823*75fd0b74Schristos	* elf32-spu.c (struct spu_link_hash_table): Add ovly_load_r_symndx.
824*75fd0b74Schristos	(spu_elf_size_stubs): Count stub relocs.
825*75fd0b74Schristos	(write_one_stub): Emit relocs on overlay call stubs.
826*75fd0b74Schristos
827*75fd0b74Schristos	* elf32-spu.c (struct spu_link_hash_table): Add "stubs".
828*75fd0b74Schristos	(spu_elf_link_hash_table_create): Init new field.
829*75fd0b74Schristos	(spu_elf_size_stubs): Store sorted stub syms in new htab field
830*75fd0b74Schristos	rather than local var.
831*75fd0b74Schristos	(spu_elf_build_stubs): Iterate over htab stubs rather than
832*75fd0b74Schristos	hash traversal.
833*75fd0b74Schristos	(struct stubarr): Delete.
834*75fd0b74Schristos	(allocate_spuear_stubs, populate_stubs, write_one_stub): Adjust.
835*75fd0b74Schristos
836*75fd0b74Schristos2007-09-24  Daniel Jacobowitz  <dan@codesourcery.com>
837*75fd0b74Schristos
838*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): Trust
839*75fd0b74Schristos	p_align_valid.
840*75fd0b74Schristos	(copy_elf_program_header): Copy PT_NULL segments.
841*75fd0b74Schristos
842*75fd0b74Schristos2007-09-24  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
843*75fd0b74Schristos
844*75fd0b74Schristos	* elf32-spu.c (is_indirect_branch): New function.
845*75fd0b74Schristos	(find_function_stack_adjust): End scan on hitting indirect branch.
846*75fd0b74Schristos	(sum_stack): Cast %v arg to correct type.
847*75fd0b74Schristos
848*75fd0b74Schristos2007-09-21  H.J. Lu  <hongjiu.lu@intel.com>
849*75fd0b74Schristos
850*75fd0b74Schristos	* Makefile.am: Run "make dep-am".
851*75fd0b74Schristos	* Makefile.in: Regenerated.
852*75fd0b74Schristos
853*75fd0b74Schristos2007-09-21  Doug Kwan  <dougkwan@google.com>
854*75fd0b74Schristos
855*75fd0b74Schristos	* Makefile.am (BFD32_LIBS): Add arange-set.lo.
856*75fd0b74Schristos	(BFD32_LIBS_CFILES): Add arange-set.c.
857*75fd0b74Schristos	(SOURCE_HFILES): Add arange-set.h
858*75fd0b74Schristos	(dwarf2.lo): Add dependency upon arange-set.h.
859*75fd0b74Schristos	(arange-set.lo): New target.
860*75fd0b74Schristos	* Makefile.in: Regenerate.
861*75fd0b74Schristos	* arange-set.c: New file.
862*75fd0b74Schristos	* arange-set.h: New file.
863*75fd0b74Schristos	* dwarf2.c: Include arange-set.h.
864*75fd0b74Schristos	(struct dwarf2_debug) Add new fields comp_unit_count and
865*75fd0b74Schristos	comp_unit_arange_set.
866*75fd0b74Schristos	(struct comp_unit) Replace field arange with a new field arange_set.
867*75fd0b74Schristos	(dwarf2_arange_set_allocate, dwarf2_arange_set_deallocate,
868*75fd0b74Schristos	dwarf2_combine_arange_value, dwarf2_arange_set_new,
869*75fd0b74Schristos	dwarf2_arange_set_with_value_new, dwarf2_comp_unit_arange_add): New
870*75fd0b74Schristos	functions to utilize arange set in dwarf2.c.
871*75fd0b74Schristos	(arange_add): Formatting change for a line longer than 80 characters.
872*75fd0b74Schristos	(decode_line_info): Replace call target arange_add with
873*75fd0b74Schristos	dwarf2_comp_unit_arange_add.
874*75fd0b74Schristos	(read_rangelist_insert_arange_list,
875*75fd0b74Schristos	read_rangelist_comp_unit_arange_add): New functions used as callbacks
876*75fd0b74Schristos	for read_rangelist.
877*75fd0b74Schristos	(read_rangelist): Change interface to accept a callback and data to
878*75fd0b74Schristos	allow caller to select the action peformed on a new range list read.
879*75fd0b74Schristos	(scan_unit_for_symbols): Use new interface of read_rangelist.
880*75fd0b74Schristos	(parse_comp_unit): Create an arange set for each new comp unit.
881*75fd0b74Schristos	Use new interface of read_rangelist.  Replace call to arange_add
882*75fd0b74Schristos	with that to dwarf2_comp_unit_arange_add.
883*75fd0b74Schristos	(comp_unit_contains_address): Replace sequential search with a call to
884*75fd0b74Schristos	arange_set_lookup_address, which can handles large set efficiently.
885*75fd0b74Schristos	(stash_copy_local_aranges, stash_maybe_enable_arange_set,
886*75fd0b74Schristos	stash_find_nearest_line_fast): New functions maintaining and using a
887*75fd0b74Schristos	valued global arange set for all compilation units to speed up
888*75fd0b74Schristos	bfd_dwarf2_find_nearest_line.
889*75fd0b74Schristos	(find_line): Use global arange set.  Replace sequential search over all
890*75fd0b74Schristos	compilation units with a call to stash_find_nearest_line_fast.  Add
891*75fd0b74Schristos	book keeping to count number of compilation units.  Replace empty
892*75fd0b74Schristos	arange list test with a call to arange_set_empty_p.
893*75fd0b74Schristos
894*75fd0b74Schristos2007-09-21  Olivier Hainque  <hainque@adacore.com>
895*75fd0b74Schristos	    Tristan Gingold  <gingold@adacore.com>
896*75fd0b74Schristos
897*75fd0b74Schristos	* syms.c (_bfd_stab_section_find_nearest_line): Look at the
898*75fd0b74Schristos        specific SOM sections for stabs if the regular ones are not found.
899*75fd0b74Schristos	* som.h (struct somdata): Add a line_info field, to be used by
900*75fd0b74Schristos        som_find_nearest_line.
901*75fd0b74Schristos	* som.c (som_find_nearest_line): Implement using the bfd stabs
902*75fd0b74Schristos	function above.
903*75fd0b74Schristos
904*75fd0b74Schristos2007-09-19  Daniel Jacobowitz  <dan@codesourcery.com>
905*75fd0b74Schristos
906*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make sure .got
907*75fd0b74Schristos	will be output.
908*75fd0b74Schristos
909*75fd0b74Schristos2007-09-19  Alan Modra  <amodra@bigpond.net.au>
910*75fd0b74Schristos	    Doug Kwan  <dougkwan@google.com>
911*75fd0b74Schristos
912*75fd0b74Schristos	* bfd-in.h (bfd_hash_insert): Declare.
913*75fd0b74Schristos	* bfd-in2.h: Regenerate.
914*75fd0b74Schristos	* hash.c (bfd_hash_insert): New function.  Split out from..
915*75fd0b74Schristos	(bfd_hash_lookup): ..here.
916*75fd0b74Schristos	* merge.c (sec_merge_hash_lookup): Use bfd_hash_insert.
917*75fd0b74Schristos
918*75fd0b74Schristos2007-09-18  Alan Modra  <amodra@bigpond.net.au>
919*75fd0b74Schristos
920*75fd0b74Schristos	* elf.c (bfd_section_from_shdr): Check bfd_alloc return.
921*75fd0b74Schristos	(elfcore_write_note): Check realloc return.
922*75fd0b74Schristos	* elflink.c (_bfd_elf_link_find_version_dependencies): Check
923*75fd0b74Schristos	bfd_zalloc return.
924*75fd0b74Schristos	(_bfd_elf_link_assign_sym_version): Check bfd_malloc return.
925*75fd0b74Schristos	(elf_link_add_object_symbols): Likewise.
926*75fd0b74Schristos	(struct hash_codes_info): New.
927*75fd0b74Schristos	(elf_collect_hash_codes): Return bfd_malloc error.
928*75fd0b74Schristos	(struct collect_gnu_hash_codes): Add "error".
929*75fd0b74Schristos	(elf_collect_gnu_hash_codes): Return bfd_malloc error.
930*75fd0b74Schristos	(bfd_elf_size_dynamic_sections): Check return status of
931*75fd0b74Schristos	_bfd_elf_link_find_version_dependencies.
932*75fd0b74Schristos	(bfd_elf_size_dynsym_hash_dynstr): Adjust for elf_collect_hash_codes
933*75fd0b74Schristos	and elf_collect_gnu_hash_codes changes.
934*75fd0b74Schristos	(elf_sym_name_compare): Formatting.
935*75fd0b74Schristos	(elf_fixup_link_order): Use bfd_malloc, not xmalloc.
936*75fd0b74Schristos
937*75fd0b74Schristos2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>
938*75fd0b74Schristos
939*75fd0b74Schristos	PR binutils/3281
940*75fd0b74Schristos	PR binutils/5037
941*75fd0b74Schristos	* elf-bfd.h (elf_obj_tdata): Remove relro.
942*75fd0b74Schristos
943*75fd0b74Schristos	* elf.c (get_program_header_size): Check info->relro instead
944*75fd0b74Schristos	of elf_tdata (abfd)->relro.
945*75fd0b74Schristos	(_bfd_elf_map_sections_to_segments): Likewise.
946*75fd0b74Schristos	(assign_file_positions_for_load_sections): Don't set
947*75fd0b74Schristos	PT_GNU_RELRO segment alignment here.
948*75fd0b74Schristos	(assign_file_positions_for_non_load_sections): Properly set up
949*75fd0b74Schristos	PT_GNU_RELRO segment for copying executable/shared library.
950*75fd0b74Schristos	(rewrite_elf_program_header): Remove PT_GNU_RELRO segment.
951*75fd0b74Schristos	(copy_elf_program_header): Set p_size and p_size_valid fields for
952*75fd0b74Schristos	PT_GNU_RELRO segment.
953*75fd0b74Schristos
954*75fd0b74Schristos2007-09-17  Nick Clifton  <nickc@redhat.com>
955*75fd0b74Schristos
956*75fd0b74Schristos	* po/fi.po: New Finnish translation.
957*75fd0b74Schristos	* po/es.po: Updated Spanish translation.
958*75fd0b74Schristos	* configure.in (ALL_LINGUAS): Add fi.
959*75fd0b74Schristos	* configure: Regenerate.
960*75fd0b74Schristos	* po/bfd.pot: Regenerate.
961*75fd0b74Schristos
962*75fd0b74Schristos2007-09-15  Nick Clifton  <nickc@redhat.com>
963*75fd0b74Schristos
964*75fd0b74Schristos	* bfd.c (_bfd_default_error_handler): fflush stdout.
965*75fd0b74Schristos
966*75fd0b74Schristos2007-09-14  Alan Modra  <amodra@bigpond.net.au>
967*75fd0b74Schristos
968*75fd0b74Schristos	* opncls.c (find_separate_debug_file): Ensure bfd_set_error has
969*75fd0b74Schristos	been called on all error return paths.
970*75fd0b74Schristos	(bfd_fill_in_gnu_debuglink_section): Use bfd_malloc, not malloc.
971*75fd0b74Schristos	Clear padding after filename
972*75fd0b74Schristos
973*75fd0b74Schristos2007-09-14  Alan Modra  <amodra@bigpond.net.au>
974*75fd0b74Schristos
975*75fd0b74Schristos	* format.c (bfd_check_format_matches): Record matching targets even
976*75fd0b74Schristos	when "matching" is NULL to allow bfd_associated_vector matches.
977*75fd0b74Schristos	Consolidate error return code.  Consolidate ok return code.  Always
978*75fd0b74Schristos	restore original target and format on error.
979*75fd0b74Schristos
980*75fd0b74Schristos2007-09-14  Alan Modra  <amodra@bigpond.net.au>
981*75fd0b74Schristos
982*75fd0b74Schristos	* configure.in: Delete BFD_HOST_LONG_LONG and bfd checks for
983*75fd0b74Schristos	long long.  Partly revert 2007-07-12 change, so that
984*75fd0b74Schristos	BFD_HOST_64BIT_LONG and BFD_HOST_64BIT_LONG_LONG are set
985*75fd0b74Schristos	independent of "void *" size.
986*75fd0b74Schristos	* configure: Regenerate.
987*75fd0b74Schristos	* config.in: Regenerate.
988*75fd0b74Schristos	* Makefile.in: Regenerate.
989*75fd0b74Schristos
990*75fd0b74Schristos2007-09-12  Alan Modra  <amodra@bigpond.net.au>
991*75fd0b74Schristos
992*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data): Delete elf_backend_sprintf_vma
993*75fd0b74Schristos	and elf_backend_fprintf_vma.
994*75fd0b74Schristos	(_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
995*75fd0b74Schristos	* elf.c (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
996*75fd0b74Schristos	* elfxx-target.h (elf_backend_sprintf_vma): Don't define.
997*75fd0b74Schristos	(elf_backend_fprintf_vma): Likewise.
998*75fd0b74Schristos	(elfNN_bed): Don't init removed fields.
999*75fd0b74Schristos	* bfd.c (is32bit): New function.
1000*75fd0b74Schristos	(bfd_sprintf_vma, bfd_fprintf_vma): Use the above.
1001*75fd0b74Schristos
1002*75fd0b74Schristos2007-09-11  Nathan Sidwell  <nathan@codesourcery.com>
1003*75fd0b74Schristos
1004*75fd0b74Schristos	* archures.c: Add bfd_mach_mcf_isa_c_nodiv,
1005*75fd0b74Schristos	bfd_mach_mcf_isa_c_nodiv_mac & bfd_mach_mcf_isa_c_nodiv_emac.
1006*75fd0b74Schristos	* ieee.c (ieee_write_processor): Update coldfire architecture
1007*75fd0b74Schristos	list.
1008*75fd0b74Schristos	* bfd-in2.h: Rebuilt.
1009*75fd0b74Schristos	* cpu-m68k.c (arch_info_struct): Add isa_c nodiv architectures.
1010*75fd0b74Schristos	(m68k_arch_features): Likewise.
1011*75fd0b74Schristos	* elf32-m68k.c (elf32_m68k_object_p): Add EF_M68K_CF_ISA_C_NODIV.
1012*75fd0b74Schristos	(elf32_m68k_print_private_bfd_data): Likewise.
1013*75fd0b74Schristos
1014*75fd0b74Schristos2007-09-11  Jan Beulich  <jbeulich@novell.com>
1015*75fd0b74Schristos
1016*75fd0b74Schristos	* elf64-i386.c (elf64_i386_tls_transition): Remove redundant 'const'.
1017*75fd0b74Schristos	* elf64-x86_64.c (elf64_x86_64_tls_transition): Likewise.
1018*75fd0b74Schristos
1019*75fd0b74Schristos2007-09-08  Alan Modra  <amodra@bigpond.net.au>
1020*75fd0b74Schristos
1021*75fd0b74Schristos	* elf64-ppc.c (func_desc_adjust): When resolving undefined
1022*75fd0b74Schristos	references to dot-symbols, transfer def_regular and
1023*75fd0b74Schristos	def_dynamic from the descriptor symbol.
1024*75fd0b74Schristos
1025*75fd0b74Schristos2007-09-08  Alan Modra  <amodra@bigpond.net.au>
1026*75fd0b74Schristos
1027*75fd0b74Schristos	* config.bfd: Set want64 for spu-*-elf.
1028*75fd0b74Schristos
1029*75fd0b74Schristos2007-09-08  Alan Modra  <amodra@bigpond.net.au>
1030*75fd0b74Schristos
1031*75fd0b74Schristos	PR ld/2864, ld/5006
1032*75fd0b74Schristos	* elf.c (special_sections): Comment typo.
1033*75fd0b74Schristos	(elf_fake_sections): Force SHT_PROGBITS for sections that are
1034*75fd0b74Schristos	SHT_NOBITS if BFD section flags say they have contents.
1035*75fd0b74Schristos
1036*75fd0b74Schristos2007-09-04  Michael Snyder  <msnyder@access-company.com>
1037*75fd0b74Schristos
1038*75fd0b74Schristos	* elf32-bfin.c (howto_table): Cut and paste error?
1039*75fd0b74Schristos	Name field of reloc is wrong.
1040*75fd0b74Schristos
1041*75fd0b74Schristos2007-09-04  Alan Modra  <amodra@bigpond.net.au>
1042*75fd0b74Schristos
1043*75fd0b74Schristos	* elf32-spu.c (elf_howto_table): Formatting.
1044*75fd0b74Schristos
1045*75fd0b74Schristos2007-09-02  H.J. Lu  <hongjiu.lu@intel.com>
1046*75fd0b74Schristos
1047*75fd0b74Schristos	PR ld/4986
1048*75fd0b74Schristos	* dwarf2.c (new_line_sorts_after): Undo the last change.
1049*75fd0b74Schristos	(add_line_info): Only keep the last entry with the same address
1050*75fd0b74Schristos	and end sequence.
1051*75fd0b74Schristos
1052*75fd0b74Schristos2007-08-31  H.J. Lu  <hongjiu.lu@intel.com>
1053*75fd0b74Schristos
1054*75fd0b74Schristos	PR ld/4986
1055*75fd0b74Schristos	* dwarf2.c (new_line_sorts_after): Also compare line number.
1056*75fd0b74Schristos
1057*75fd0b74Schristos2007-08-31  Jesse Michael  <jmichael@suse.de>
1058*75fd0b74Schristos
1059*75fd0b74Schristos	* mach-o.c (bfd_mach_o_make_bfd_section): Fix test for non
1060*75fd0b74Schristos	zerofill sections.
1061*75fd0b74Schristos
1062*75fd0b74Schristos2007-08-28  David Heine  <dlheine@tensilica.com>
1063*75fd0b74Schristos
1064*75fd0b74Schristos	* elf32-xtensa.c (compute_ebb_actions): Update removed_bytes when
1065*75fd0b74Schristos	narrowing instructions.
1066*75fd0b74Schristos
1067*75fd0b74Schristos2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
1068*75fd0b74Schristos	    Joseph Myers  <joseph@codesourcery.com>
1069*75fd0b74Schristos
1070*75fd0b74Schristos	* elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
1071*75fd0b74Schristos	then on type.
1072*75fd0b74Schristos
1073*75fd0b74Schristos2007-08-28  Robert Sebastian Gerus  <arachnist@gmail.com>
1074*75fd0b74Schristos
1075*75fd0b74Schristos	* config.bfd: Add support for i[3-7]86-*-dragonfly*.
1076*75fd0b74Schristos	* configure.in: Likewise.
1077*75fd0b74Schristos	* configure: Regenerate.
1078*75fd0b74Schristos
1079*75fd0b74Schristos2007-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
1080*75fd0b74Schristos	    Alan Modra  <amodra@bigpond.net.au>
1081*75fd0b74Schristos
1082*75fd0b74Schristos	* elf.c (elfcore_grok_spu_note): New function.
1083*75fd0b74Schristos	(elf_parse_notes): Call it.
1084*75fd0b74Schristos
1085*75fd0b74Schristos2007-08-24  H.J. Lu  <hongjiu.lu@intel.com>
1086*75fd0b74Schristos
1087*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Adjust
1088*75fd0b74Schristos	indentation.
1089*75fd0b74Schristos
1090*75fd0b74Schristos2007-08-24  Pedro Alves  <pedro_alves@portugalmail.pt>
1091*75fd0b74Schristos
1092*75fd0b74Schristos	* elf.c (elfcore_grok_win32pstatus): Remove HAVE_WIN32_PSTATUS_T
1093*75fd0b74Schristos	guard.  Make it host independent.
1094*75fd0b74Schristos	(elfcore_grok_note): Remove HAVE_WIN32_PSTATUS_T guard around
1095*75fd0b74Schristos	NT_WIN32PSTATUS.
1096*75fd0b74Schristos
1097*75fd0b74Schristos2007-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
1098*75fd0b74Schristos
1099*75fd0b74Schristos	* elf-bfd.h (struct elf_obj_tdata): New BUILD_ID_SIZE, BUILD_ID.
1100*75fd0b74Schristos	* elf.c (elfcore_read_notes): Split to ...
1101*75fd0b74Schristos	(elf_read_notes) ... here ...
1102*75fd0b74Schristos	(elf_parse_notes): ... and here.  Check `bfd_get_format (abfd)' with
1103*75fd0b74Schristos	the former subfunctions called only for BFD_CORE.
1104*75fd0b74Schristos	Call ELFOBJ_GROK_GNU_NOTE for BFD_OBJECT files with the owner "GNU".
1105*75fd0b74Schristos	(_bfd_elf_make_section_from_shdr): Call ELF_PARSE_NOTES for SHT_NOTEs.
1106*75fd0b74Schristos	(bfd_section_from_phdr): Update the call for renamed ELFCORE_READ_NOTES.
1107*75fd0b74Schristos	(elfobj_grok_gnu_build_id, elfobj_grok_gnu_note): New functions.
1108*75fd0b74Schristos	Code advisory: Roland McGrath
1109*75fd0b74Schristos
1110*75fd0b74Schristos2007-08-24  Daniel Jacobowitz  <dan@codesourcery.com>
1111*75fd0b74Schristos
1112*75fd0b74Schristos	* elf64-mips.c (elf_backend_sign_extend_vma): Define.
1113*75fd0b74Schristos
1114*75fd0b74Schristos2007-08-24  Alan Modra  <amodra@bigpond.net.au>
1115*75fd0b74Schristos
1116*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix.
1117*75fd0b74Schristos
1118*75fd0b74Schristos2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
1119*75fd0b74Schristos
1120*75fd0b74Schristos	* Makefile.am: Run "make dep-am".
1121*75fd0b74Schristos	* Makefile.in: Regenerated.
1122*75fd0b74Schristos
1123*75fd0b74Schristos2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
1124*75fd0b74Schristos
1125*75fd0b74Schristos	* elf32-i386.c: Include "bfd_stdint.h".
1126*75fd0b74Schristos	(elf_i386_rtype_to_howto): New function.
1127*75fd0b74Schristos	(elf_i386_info_to_howto_rel): Use it.
1128*75fd0b74Schristos	(x86_64_opcode16): New union type.
1129*75fd0b74Schristos	(elf_i386_check_tls_transition): New function.
1130*75fd0b74Schristos	(elf_i386_tls_transition): Updated to check transition and
1131*75fd0b74Schristos	issue an error if a transition isn't supported.
1132*75fd0b74Schristos	(elf_i386_check_relocs): Return FALSE if
1133*75fd0b74Schristos	elf_i386_tls_transition returns FALSE.
1134*75fd0b74Schristos	(elf_i386_gc_sweep_hook): Likewise.
1135*75fd0b74Schristos	(elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
1136*75fd0b74Schristos	on TLS transitions.
1137*75fd0b74Schristos
1138*75fd0b74Schristos	* elf64-x86-64.c: Include "bfd_stdint.h".
1139*75fd0b74Schristos	(x86_64_opcode16): New union type.
1140*75fd0b74Schristos	(x86_64_opcode32): Likewise.
1141*75fd0b74Schristos	(elf64_x86_64_check_tls_transition): New function.
1142*75fd0b74Schristos	(elf64_x86_64_tls_transition): Updated to check transition and
1143*75fd0b74Schristos	issue an error if a transition isn't supported.
1144*75fd0b74Schristos	(elf64_x86_64_check_relocs): Return FALSE if
1145*75fd0b74Schristos	elf64_x86_64_tls_transition returns FALSE.
1146*75fd0b74Schristos	(elf64_x86_64_gc_sweep_hook): Likewise.
1147*75fd0b74Schristos	(elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
1148*75fd0b74Schristos	on TLS transitions.
1149*75fd0b74Schristos
1150*75fd0b74Schristos2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>
1151*75fd0b74Schristos
1152*75fd0b74Schristos	* elfxx-ia64.c: Convert to ISO C90 prototypes.
1153*75fd0b74Schristos	(elfNN_hpux_backend_section_from_bfd_section): Make it static.
1154*75fd0b74Schristos
1155*75fd0b74Schristos2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>
1156*75fd0b74Schristos
1157*75fd0b74Schristos	* elf64-x86-64.c: Remove trailing whitespace.
1158*75fd0b74Schristos	* elfxx-ia64.c: Likewise.
1159*75fd0b74Schristos
1160*75fd0b74Schristos2007-08-21  H.J. Lu  <hongjiu.lu@intel.com>
1161*75fd0b74Schristos
1162*75fd0b74Schristos	* elf32-i386.c (elf_i386_tls_transition): Accept a pointer
1163*75fd0b74Schristos	to ELF hash entry instead of an integer for local test.
1164*75fd0b74Schristos	(elf_i386_check_relocs): Updated.
1165*75fd0b74Schristos	(elf_i386_gc_sweep_hook): Likewise.
1166*75fd0b74Schristos	(elf_i386_relocate_section): Likewise.
1167*75fd0b74Schristos
1168*75fd0b74Schristos	* elf64-x86-64.c  (elf64_x86_64_tls_transition): Accept a
1169*75fd0b74Schristos	pointer to ELF hash entry instead of an integer for local
1170*75fd0b74Schristos	test.
1171*75fd0b74Schristos	(elf64_x86_64_check_relocs): Updated.
1172*75fd0b74Schristos	(elf64_x86_64_gc_sweep_hook): Likewise.
1173*75fd0b74Schristos	(elf64_x86_64_relocate_section): Likewise.
1174*75fd0b74Schristos
1175*75fd0b74Schristos2007-08-20  H.J. Lu  <hongjiu.lu@intel.com>
1176*75fd0b74Schristos
1177*75fd0b74Schristos	* elf32-i386.c (elf_i386_tls_transition): Break long line.
1178*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.
1179*75fd0b74Schristos
1180*75fd0b74Schristos2007-08-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
1181*75fd0b74Schristos
1182*75fd0b74Schristos	* elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
1183*75fd0b74Schristos	(ELF_MINPAGESIZE): Fixed its size guess.  Sanity checked its size.
1184*75fd0b74Schristos	(ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.
1185*75fd0b74Schristos
1186*75fd0b74Schristos2007-08-20  Nick Clifton  <nickc@redhat.com>
1187*75fd0b74Schristos
1188*75fd0b74Schristos	* elflink.c (elf_fixup_link_order): Rewrite conversion of
1189*75fd0b74Schristos	s->alignment_power into an offset mask in order to avoid a gcc
1190*75fd0b74Schristos	error message.
1191*75fd0b74Schristos
1192*75fd0b74Schristos2007-08-17  Jakub Jelinek  <jakub@redhat.com>
1193*75fd0b74Schristos
1194*75fd0b74Schristos	* config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
1195*75fd0b74Schristos	Change sparc64-*-linux-* to sparc64*-*-linux-*.
1196*75fd0b74Schristos
1197*75fd0b74Schristos2007-08-17  Alan Modra  <amodra@bigpond.net.au>
1198*75fd0b74Schristos
1199*75fd0b74Schristos	* po/Make-in: Add --msgid-bugs-address to xgettext invocation.
1200*75fd0b74Schristos
1201*75fd0b74Schristos2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
1202*75fd0b74Schristos
1203*75fd0b74Schristos	* elf.c: Revert last change.
1204*75fd0b74Schristos
1205*75fd0b74Schristos2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
1206*75fd0b74Schristos
1207*75fd0b74Schristos	* elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
1208*75fd0b74Schristos	(bfd_section_from_phdr): Likewise.
1209*75fd0b74Schristos	(get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
1210*75fd0b74Schristos	if there is an attribute section.
1211*75fd0b74Schristos	(_bfd_elf_map_sections_to_segments): Likewise.
1212*75fd0b74Schristos	(IS_SECTION_IN_INPUT_SEGMENT): Likewise.
1213*75fd0b74Schristos
1214*75fd0b74Schristos2007-08-14  H.J. Lu  <hongjiu.lu@intel.com>
1215*75fd0b74Schristos
1216*75fd0b74Schristos	PR ld/4918
1217*75fd0b74Schristos	* elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
1218*75fd0b74Schristos	on ___tls_get_addr for GD->LE/LD->LE transitions when not
1219*75fd0b74Schristos	building shared library.
1220*75fd0b74Schristos
1221*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
1222*75fd0b74Schristos	R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
1223*75fd0b74Schristos	when not building shared library.
1224*75fd0b74Schristos
1225*75fd0b74Schristos2007-08-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
1226*75fd0b74Schristos
1227*75fd0b74Schristos	* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
1228*75fd0b74Schristos	initialized only on the first PT_LOAD.  New variable LOADBASE_SET.
1229*75fd0b74Schristos	Removed PF_R checking for IA-64 vDSOs as redundant now.
1230*75fd0b74Schristos	Code advisory: Roland McGrath
1231*75fd0b74Schristos
1232*75fd0b74Schristos2007-08-13  Richard Sandiford  <richard@codesourcery.com>
1233*75fd0b74Schristos
1234*75fd0b74Schristos	* elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
1235*75fd0b74Schristos	(mips_elf_record_global_got_symbol): Increment local_gotno for
1236*75fd0b74Schristos	each forced-local symbol.
1237*75fd0b74Schristos	(_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
1238*75fd0b74Schristos	mips_elf_record_global_got_symbol for VxWorks too.
1239*75fd0b74Schristos	(_bfd_mips_elf_always_size_sections): Set computed_got_sizes
1240*75fd0b74Schristos	to true after computing the GOT size.
1241*75fd0b74Schristos	(_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
1242*75fd0b74Schristos	got.offset == 1.  Only adjust global_gotno if computed_got_sizes.
1243*75fd0b74Schristos	For VxWorks, add a local entry when hiding a symbol that needs a
1244*75fd0b74Schristos	plt but has not been marked as needing a global got entry.
1245*75fd0b74Schristos	(_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
1246*75fd0b74Schristos	false.
1247*75fd0b74Schristos
1248*75fd0b74Schristos2007-08-12  Daniel Jacobowitz  <dan@codesourcery.com>
1249*75fd0b74Schristos
1250*75fd0b74Schristos	* coffgen.c (coff_get_normalized_symtab): Correct cast.
1251*75fd0b74Schristos
1252*75fd0b74Schristos2007-08-13  Alan Modra  <amodra@bigpond.net.au>
1253*75fd0b74Schristos
1254*75fd0b74Schristos	* elf.c (elf_modify_segment_map): Add remove_empty_load param.
1255*75fd0b74Schristos	Don't remove empty PT_LOAD header if false.
1256*75fd0b74Schristos	(_bfd_elf_map_sections_to_segments): If user phdrs, pass false
1257*75fd0b74Schristos	to elf_modify_segment_map.
1258*75fd0b74Schristos	(assign_file_positions_for_load_sections): Pass false to
1259*75fd0b74Schristos	elf_modify_segment_map.
1260*75fd0b74Schristos
1261*75fd0b74Schristos2007-08-13  Alan Modra  <amodra@bigpond.net.au>
1262*75fd0b74Schristos
1263*75fd0b74Schristos	* elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
1264*75fd0b74Schristos	Update stub comments.
1265*75fd0b74Schristos	(build_plt_stub): Build two variants, one without "addis".
1266*75fd0b74Schristos	(ppc_build_one_stub): Build stubs without "addis" if possible.
1267*75fd0b74Schristos	(ppc_size_one_stub): Size new stubs.
1268*75fd0b74Schristos
1269*75fd0b74Schristos2007-08-11  Richard Sandiford  <richard@codesourcery.com>
1270*75fd0b74Schristos
1271*75fd0b74Schristos	* config.bfd (sh-*-vxworks): Define targ_underscore to "yes".
1272*75fd0b74Schristos
1273*75fd0b74Schristos2007-08-09  Michael Snyder  <msnyder@access-company.com>
1274*75fd0b74Schristos
1275*75fd0b74Schristos	* aoutx.h (aout_get_external_symbols): Return if count is zero.
1276*75fd0b74Schristos
1277*75fd0b74Schristos2007-08-09  H.J. Lu  <hongjiu.lu@intel.com>
1278*75fd0b74Schristos
1279*75fd0b74Schristos	PR ld/4909
1280*75fd0b74Schristos	* elf.c (print_segment_map): New function.
1281*75fd0b74Schristos	(assign_file_positions_for_load_sections): Call print_segment_map
1282*75fd0b74Schristos	when a section can't be allocated in segment.
1283*75fd0b74Schristos
1284*75fd0b74Schristos2007-08-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
1285*75fd0b74Schristos
1286*75fd0b74Schristos	* opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion.
1287*75fd0b74Schristos
1288*75fd0b74Schristos2007-08-07  Nick Clifton  <nickc@redhat.com>
1289*75fd0b74Schristos
1290*75fd0b74Schristos	* po/bfd.pot: Updated template.
1291*75fd0b74Schristos	* po/BLD-POTFILES.in: Regenerate.
1292*75fd0b74Schristos
1293*75fd0b74Schristos2007-08-07  Alan Modra  <amodra@bigpond.net.au>
1294*75fd0b74Schristos
1295*75fd0b74Schristos	* elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
1296*75fd0b74Schristos	bss segments.
1297*75fd0b74Schristos
1298*75fd0b74Schristos2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
1299*75fd0b74Schristos
1300*75fd0b74Schristos	* Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
1301*75fd0b74Schristos	* Makefile.in: Regenerated.
1302*75fd0b74Schristos
1303*75fd0b74Schristos2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
1304*75fd0b74Schristos
1305*75fd0b74Schristos	* configure.in: Update version to 2.18.50.
1306*75fd0b74Schristos	* configure: Regenerated.
1307*75fd0b74Schristos
1308*75fd0b74Schristos2007-08-06  Paul Brook  <paul@codesourcery.com>
1309*75fd0b74Schristos
1310*75fd0b74Schristos	* elf32-arm.c (elf32_arm_link_hash_entry): Add
1311*75fd0b74Schristos	plt_maybe_thumb_refcount.
1312*75fd0b74Schristos	(elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
1313*75fd0b74Schristos	(elf32_arm_copy_indirect_symbol): Ditto.
1314*75fd0b74Schristos	(elf32_arm_adjust_dynamic_symbol): Ditto.
1315*75fd0b74Schristos	(bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
1316*75fd0b74Schristos	(arm_add_to_rel): Ditto.
1317*75fd0b74Schristos	(elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
1318*75fd0b74Schristos	R_ARM_THM_CALL.  Handle R_ARM_THM_JUMP19 against a PLT stub.
1319*75fd0b74Schristos	(elf32_arm_gc_sweep_hook): Call check_use_blx.  Update plt counts
1320*75fd0b74Schristos	for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
1321*75fd0b74Schristos	(elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
1322*75fd0b74Schristos	and R_ARM_THM_JUMP19.
1323*75fd0b74Schristos	(allocate_dynrelocs): Use plt_maybe_thumb_refcount.
1324*75fd0b74Schristos	(elf32_arm_finish_dynamic_symbol): Ditto.
1325*75fd0b74Schristos	(elf32_arm_output_plt_map): Ditto.
1326*75fd0b74Schristos
1327*75fd0b74Schristos2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
1328*75fd0b74Schristos
1329*75fd0b74Schristos	* elf.c (rewrite_elf_program_header): Handle sections not sorted
1330*75fd0b74Schristos	by address.
1331*75fd0b74Schristos	(copy_elf_program_header): Likewise.
1332*75fd0b74Schristos
1333*75fd0b74Schristos2007-08-04  H.J. Lu  <hongjiu.lu@intel.com>
1334*75fd0b74Schristos
1335*75fd0b74Schristos	* elf-bfd.h (xvec_get_elf_backend_data): Add const.
1336*75fd0b74Schristos
1337*75fd0b74Schristos	* elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
1338*75fd0b74Schristos	* elfcore.h (elf_core_file_p): Likewise.
1339*75fd0b74Schristos
1340*75fd0b74Schristos2007-08-02  H.J. Lu  <hongjiu.lu@intel.com>
1341*75fd0b74Schristos
1342*75fd0b74Schristos	* coffcode.h (ALIGN_SET): Removed.
1343*75fd0b74Schristos	(ELIFALIGN_SET): Likewise.
1344*75fd0b74Schristos	(coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
1345*75fd0b74Schristos	IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
1346*75fd0b74Schristos	IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
1347*75fd0b74Schristos	IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
1348*75fd0b74Schristos
1349*75fd0b74Schristos2007-08-01  Michael Snyder  <msnyder@access-company.com>
1350*75fd0b74Schristos
1351*75fd0b74Schristos	* vms-tir.c (new_section): Fix cut and paste error.
1352*75fd0b74Schristos
1353*75fd0b74Schristos	* aoutx.h (aout_link_add_symbols): Return if count is zero.
1354*75fd0b74Schristos
1355*75fd0b74Schristos	* elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
1356*75fd0b74Schristos	pointer must be non-null.
1357*75fd0b74Schristos
1358*75fd0b74Schristos2007-08-01  Tristan Gingold  <gingold@adacore.com>
1359*75fd0b74Schristos
1360*75fd0b74Schristos	* coffcode.h (coff_sort_func_alent): New function.
1361*75fd0b74Schristos	(coff_slurp_line_table): Sort line table if not already sorted.
1362*75fd0b74Schristos
1363*75fd0b74Schristos2007-08-01  Jakub Jelinek  <jakub@redhat.com>
1364*75fd0b74Schristos
1365*75fd0b74Schristos	* elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
1366*75fd0b74Schristos	GCC 3.4.x warning.
1367*75fd0b74Schristos
1368*75fd0b74Schristos2007-08-01  Alan Modra  <amodra@bigpond.net.au>
1369*75fd0b74Schristos
1370*75fd0b74Schristos	* aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
1371*75fd0b74Schristos	r_type.
1372*75fd0b74Schristos	(swap_std_reloc_in): Likewise.
1373*75fd0b74Schristos	(aout_link_input_section_std): Likewise.  Return with an error
1374*75fd0b74Schristos	on unexpected relocation type.
1375*75fd0b74Schristos	(aout_link_input_section_ext): Likewise.
1376*75fd0b74Schristos
1377*75fd0b74Schristos2007-08-01  Alan Modra  <amodra@bigpond.net.au>
1378*75fd0b74Schristos
1379*75fd0b74Schristos	PR4694
1380*75fd0b74Schristos	* aoutx.h (final_link): Write a zero in first word of
1381*75fd0b74Schristos	stringtab if no symbols rather than corrupting last byte
1382*75fd0b74Schristos	of text/data.
1383*75fd0b74Schristos
1384*75fd0b74Schristos2007-07-31  Jakub Jelinek  <jakub@redhat.com>
1385*75fd0b74Schristos
1386*75fd0b74Schristos	* elf.c (get_program_header_size): Adjacent loadable .note*
1387*75fd0b74Schristos	sections need just one PT_NOTE segment.
1388*75fd0b74Schristos	(_bfd_elf_map_sections_to_segments): Likewise.
1389*75fd0b74Schristos
1390*75fd0b74Schristos2007-07-30  Michael Snyder  <msnyder@access-company.com>
1391*75fd0b74Schristos
1392*75fd0b74Schristos	* coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
1393*75fd0b74Schristos	2007-07-26.  Buffer still in use, can't be freed.
1394*75fd0b74Schristos
1395*75fd0b74Schristos2007-07-27  Michael Snyder  <msnyder@access-company.com>
1396*75fd0b74Schristos
1397*75fd0b74Schristos	* cofflink.c (coff_link_add_symbols): Return if count is zero.
1398*75fd0b74Schristos
1399*75fd0b74Schristos	* coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
1400*75fd0b74Schristos
1401*75fd0b74Schristos	* aoutx.h (slurp_symbol_table): Return if count == 0.
1402*75fd0b74Schristos
1403*75fd0b74Schristos	* coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
1404*75fd0b74Schristos
1405*75fd0b74Schristos	* elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
1406*75fd0b74Schristos
1407*75fd0b74Schristos2007-07-27  H.J. Lu  <hongjiu.lu@intel.com>
1408*75fd0b74Schristos
1409*75fd0b74Schristos	* config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
1410*75fd0b74Schristos
1411*75fd0b74Schristos2007-07-26  Michael Snyder  <msnyder@access-company.com>
1412*75fd0b74Schristos
1413*75fd0b74Schristos	* coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
1414*75fd0b74Schristos
1415*75fd0b74Schristos	* linker.c (bfd_section_already_linked_table_insert): Change
1416*75fd0b74Schristos	return type from void to boolean.  Return FALSE on failure.
1417*75fd0b74Schristos	(_bfd_generic_section_already_linked): Test return value of
1418*75fd0b74Schristos	bfd_section_already_linked_table_insert, call fatal on error.
1419*75fd0b74Schristos
1420*75fd0b74Schristos	* elflink.c (_bfd_elf_section_already_linked): Test return value
1421*75fd0b74Schristos	of bfd_section_already_linked_table_insert, call fatal on error.
1422*75fd0b74Schristos
1423*75fd0b74Schristos	* libbfd-in.h (bfd_section_already_linked_table_insert): Update
1424*75fd0b74Schristos	return type to bfd_boolean.
1425*75fd0b74Schristos
1426*75fd0b74Schristos	* libbfd.h: Regenerate.
1427*75fd0b74Schristos
1428*75fd0b74Schristos2007-07-26  Adam Nemet  <anemet@caviumnetworks.com>
1429*75fd0b74Schristos
1430*75fd0b74Schristos	* archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
1431*75fd0b74Schristos	bfd_slurp_armap): Improve function comment.
1432*75fd0b74Schristos
1433*75fd0b74Schristos2007-07-26  Michael Snyder  <msnyder@access-company.com>
1434*75fd0b74Schristos
1435*75fd0b74Schristos	* linker.c (already_linked_newfunc): Check for NULL return from
1436*75fd0b74Schristos	bfd_hash_allocate.
1437*75fd0b74Schristos
1438*75fd0b74Schristos	* coffgen.c (fixup_symbol_value): Guard against null;
1439*75fd0b74Schristos	bfd_is_com_section will dereference the section pointer.
1440*75fd0b74Schristos
1441*75fd0b74Schristos	* syms.c (bfd_decode_symclass): Guard against NULL, since
1442*75fd0b74Schristos	bfd_is_com_section dereferences the pointer.
1443*75fd0b74Schristos
1444*75fd0b74Schristos	* srec.c (srec_scan): Check for EOF (critical because return value
1445*75fd0b74Schristos	will be used as array index).
1446*75fd0b74Schristos
1447*75fd0b74Schristos	* coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
1448*75fd0b74Schristos	are not to be cached, free the temporary buffer.
1449*75fd0b74Schristos
1450*75fd0b74Schristos	* aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
1451*75fd0b74Schristos	or count == zero.
1452*75fd0b74Schristos
1453*75fd0b74Schristos	* tekhex.c (first_phase): Check return value for null.
1454*75fd0b74Schristos
1455*75fd0b74Schristos	* elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless
1456*75fd0b74Schristos	pointer increment.
1457*75fd0b74Schristos
1458*75fd0b74Schristos2007-07-26  Alan Modra  <amodra@bigpond.net.au>
1459*75fd0b74Schristos
1460*75fd0b74Schristos	* elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
1461*75fd0b74Schristos	check on dynobj.  Remove bed shadow.
1462*75fd0b74Schristos
1463*75fd0b74Schristos	* srec.c (srec_get_section_contents): Return immediately on
1464*75fd0b74Schristos	count zero.  Check that offset and count are within section.
1465*75fd0b74Schristos	* libbfd.c (_bfd_generic_get_section_contents): Check that
1466*75fd0b74Schristos	offset + count does not overflow.
1467*75fd0b74Schristos
1468*75fd0b74Schristos	* srec.c (srec_canonicalize_symtab): Don't alloc when symcount
1469*75fd0b74Schristos	is zero.  Correct return value on error.
1470*75fd0b74Schristos	* mmo.c (mmo_canonicalize_symtab): Likewise.
1471*75fd0b74Schristos	* binary.c (binary_canonicalize_symtab) Correct return on error.
1472*75fd0b74Schristos
1473*75fd0b74Schristos2007-07-26  Thiemo Seufer  <ths@mips.com>
1474*75fd0b74Schristos
1475*75fd0b74Schristos	* bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
1476*75fd0b74Schristos
1477*75fd0b74Schristos2007-07-26  Alan Modra  <amodra@bigpond.net.au>
1478*75fd0b74Schristos
1479*75fd0b74Schristos	* reloc.c (bfd_generic_get_relocated_section_contents): Avoid
1480*75fd0b74Schristos	bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
1481*75fd0b74Schristos	says there are no relocs.
1482*75fd0b74Schristos
1483*75fd0b74Schristos2007-07-26  Doug Kwan  <dougkwan@google.com>
1484*75fd0b74Schristos
1485*75fd0b74Schristos	Speed up bfd_dwarf2_find_line.
1486*75fd0b74Schristos	* dwarf2.c (struct dwarf2_debug): Add new fields to support function
1487*75fd0b74Schristos	and variable info hash tables. Add last_comp_unit, info_hash_count,
1488*75fd0b74Schristos	funcinfo_hash_table, varinfo_hash_table, hash_units_head.
1489*75fd0b74Schristos	(struct comp_unit): Add prev_unit, cached.
1490*75fd0b74Schristos	(struct info_list_node, struct info_hash_entry,
1491*75fd0b74Schristos	struct info_hash_table): New.
1492*75fd0b74Schristos	(info_hash_table_newfunc, create_info_hash_table,
1493*75fd0b74Schristos	insert_info_hash_table, lookup_info_hash_table): New functions
1494*75fd0b74Schristos	implementing function and variable info hash tables.
1495*75fd0b74Schristos	(scan_unit_for_symbols): Add checks to make sure hash tables are
1496*75fd0b74Schristos	consistent with compilation units.
1497*75fd0b74Schristos	(comp_unit_maybe_decode_line_info): New function.
1498*75fd0b74Schristos	(comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
1499*75fd0b74Schristos	(reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
1500*75fd0b74Schristos	info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
1501*75fd0b74Schristos	stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
1502*75fd0b74Schristos	stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
1503*75fd0b74Schristos	functions. Make use of info hash tables to speed up
1504*75fd0b74Schristos	bfd_dwarf2_find_line.
1505*75fd0b74Schristos	(find_line): Use hash table for faster lookup if it is turned on.
1506*75fd0b74Schristos	Also add code to maintain bi-directional link in comp units.
1507*75fd0b74Schristos
1508*75fd0b74Schristos2007-07-25  Michael Snyder  <msnyder@access-company.com>
1509*75fd0b74Schristos
1510*75fd0b74Schristos	* coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
1511*75fd0b74Schristos	if size == 0; return and avoid possible null pointer issues.
1512*75fd0b74Schristos
1513*75fd0b74Schristos2007-07-25  Alan Modra  <amodra@bigpond.net.au>
1514*75fd0b74Schristos
1515*75fd0b74Schristos	* linker.c (generic_link_add_symbol_list): Warning fix.
1516*75fd0b74Schristos
1517*75fd0b74Schristos2007-07-24  Michael Snyder  <msnyder@access-company.com>
1518*75fd0b74Schristos
1519*75fd0b74Schristos	* opncls.c (bfd_make_writable): Check return from bfd_malloc.
1520*75fd0b74Schristos
1521*75fd0b74Schristos	* elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
1522*75fd0b74Schristos	on bfd_malloc error rather than goto error_return.
1523*75fd0b74Schristos
1524*75fd0b74Schristos2007-07-24  Alan Modra  <amodra@bigpond.net.au>
1525*75fd0b74Schristos
1526*75fd0b74Schristos	* elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
1527*75fd0b74Schristos	_bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
1528*75fd0b74Schristos	_bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
1529*75fd0b74Schristos	_bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
1530*75fd0b74Schristos	bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
1531*75fd0b74Schristos	bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
1532*75fd0b74Schristos	bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
1533*75fd0b74Schristos	bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
1534*75fd0b74Schristos	struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
1535*75fd0b74Schristos	elf_sym_name_compare, elf_create_symbuf,
1536*75fd0b74Schristos	bfd_elf_match_symbols_in_sections,
1537*75fd0b74Schristos	_bfd_elf_match_sections_by_type): Move to here..
1538*75fd0b74Schristos	* elf.c: ..from here.
1539*75fd0b74Schristos
1540*75fd0b74Schristos2007-07-23  Richard Sandiford  <richard@codesourcery.com>
1541*75fd0b74Schristos
1542*75fd0b74Schristos	* elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
1543*75fd0b74Schristos	of weakdef->root.type if weakdef has no regular definition.
1544*75fd0b74Schristos
1545*75fd0b74Schristos2007-07-22  Adam Nemet  <anemet@caviumnetworks.com>
1546*75fd0b74Schristos
1547*75fd0b74Schristos	* elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
1548*75fd0b74Schristos	small_data_overflow_reported.
1549*75fd0b74Schristos	(_bfd_mips_elf_link_hash_table_create): Initialize it.
1550*75fd0b74Schristos	(_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
1551*75fd0b74Schristos	small-data section overflow.
1552*75fd0b74Schristos
1553*75fd0b74Schristos2007-07-19  Doug Kwan  <dougkwan@google.com>
1554*75fd0b74Schristos
1555*75fd0b74Schristos	PR binutils/4797
1556*75fd0b74Schristos	* dwarf2.c: (find_line) Do not dereference functionname_ptr if
1557*75fd0b74Schristos	do_line is true.
1558*75fd0b74Schristos
1559*75fd0b74Schristos2007-07-18  Bob Wilson  <bob.wilson@acm.org>
1560*75fd0b74Schristos
1561*75fd0b74Schristos	* elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
1562*75fd0b74Schristos	non-ELF sections.
1563*75fd0b74Schristos
1564*75fd0b74Schristos2007-07-18  Bob Wilson  <bob.wilson@acm.org>
1565*75fd0b74Schristos
1566*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
1567*75fd0b74Schristos	vma and size for dynamic tags from the output sections.
1568*75fd0b74Schristos
1569*75fd0b74Schristos2007-07-18  Alan Modra  <amodra@bigpond.net.au>
1570*75fd0b74Schristos
1571*75fd0b74Schristos	* elf-bfd.h (struct sym_sec_cache): Delete "sec".  Add "shndx".
1572*75fd0b74Schristos	* elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
1573*75fd0b74Schristos	symbol.  Instead cache ELF section index.  Remove redundant
1574*75fd0b74Schristos	checks of st_shndx.
1575*75fd0b74Schristos
1576*75fd0b74Schristos2007-07-15  Mike Frysinger  <vapier@gentoo.org>
1577*75fd0b74Schristos
1578*75fd0b74Schristos	* trad-core.c (NBPG): If not defined, set to getpagesize().
1579*75fd0b74Schristos
1580*75fd0b74Schristos2007-07-13  Roland McGrath  <roland@redhat.com>
1581*75fd0b74Schristos
1582*75fd0b74Schristos	* elf-bfd.h (struct elf_obj_tdata): Revert last change.
1583*75fd0b74Schristos	Add after_write_object_contents, after_write_object_contents_info.
1584*75fd0b74Schristos	* elf.c (_bfd_elf_write_object_contents): Revert last change.
1585*75fd0b74Schristos	Instead, call after_write_object_contents if set.
1586*75fd0b74Schristos
1587*75fd0b74Schristos2007-07-12  Kai Tietz   <kai.tietz@onevision.com>
1588*75fd0b74Schristos
1589*75fd0b74Schristos	* bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
1590*75fd0b74Schristos	(BFD_HOSTPTR_T): Host pointer type for casting a
1591*75fd0b74Schristos	pointer to an integer type.
1592*75fd0b74Schristos	(bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
1593*75fd0b74Schristos	(sprintf_vma, fprintf_vma): Add support for long long prints.
1594*75fd0b74Schristos	* bfd-in2.h: Regenerate.
1595*75fd0b74Schristos	* configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
1596*75fd0b74Schristos	(BFD_HOSTPTR_T): Host pointer type for casting a
1597*75fd0b74Schristos	pointer to an integer type. Default is "unsigned long".
1598*75fd0b74Schristos	(AC_CHECK_SIZEOF(void *)): New.
1599*75fd0b74Schristos	(host64): Set it if the pointer size is 8.
1600*75fd0b74Schristos	* configure: Regenerate.
1601*75fd0b74Schristos	* config.in: Add macro SIZEOF_VOID_P.
1602*75fd0b74Schristos	* coffcode.h: Replace host ptr type assuming "long" with
1603*75fd0b74Schristos	bfd_hostptr_t type.
1604*75fd0b74Schristos	* coffgen.c: Likewise.
1605*75fd0b74Schristos	* elf-eh-frame.c: Likewise.
1606*75fd0b74Schristos	* peicode.h: Likewise.
1607*75fd0b74Schristos
1608*75fd0b74Schristos2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
1609*75fd0b74Schristos
1610*75fd0b74Schristos	* Makefile.in: Regenerated.
1611*75fd0b74Schristos
1612*75fd0b74Schristos2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
1613*75fd0b74Schristos
1614*75fd0b74Schristos	PR binutils/4756
1615*75fd0b74Schristos	* simple.c (bfd_simple_get_relocated_section_content): Don't
1616*75fd0b74Schristos	apply relocation on executable and shared library.
1617*75fd0b74Schristos
1618*75fd0b74Schristos2007-07-10  Nathan Sidwell  <nathan@codesourcery.com>
1619*75fd0b74Schristos
1620*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
1621*75fd0b74Schristos	copy relocs on vxworks.
1622*75fd0b74Schristos
1623*75fd0b74Schristos2007-07-10  Alan Modra  <amodra@bigpond.net.au>
1624*75fd0b74Schristos
1625*75fd0b74Schristos	* elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
1626*75fd0b74Schristos	* elf64-alpha.c (alpha_elf_size_info): Likewise.
1627*75fd0b74Schristos	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
1628*75fd0b74Schristos	* elf64-mips.c (mips_elf64_size_info): Likewise.
1629*75fd0b74Schristos	* elf64-s390.c (s390_elf64_size_info): Likewise.
1630*75fd0b74Schristos	* elf64-sparc.c (elf64_sparc_size_info): Likewise.
1631*75fd0b74Schristos
1632*75fd0b74Schristos2007-07-09  H.J. Lu  <hongjiu.lu@intel.com>
1633*75fd0b74Schristos
1634*75fd0b74Schristos	* elflink.c (bfd_elf_record_link_assignment): Handle indirect
1635*75fd0b74Schristos	symbol.
1636*75fd0b74Schristos	(_bfd_elf_merge_symbol): Properly update normal symbol when
1637*75fd0b74Schristos	overriding the versioned symbol from a dynamic library.
1638*75fd0b74Schristos
1639*75fd0b74Schristos2007-07-09  Roland McGrath  <roland@redhat.com>
1640*75fd0b74Schristos
1641*75fd0b74Schristos	* elf-bfd.h (struct elf_obj_tdata): Add members
1642*75fd0b74Schristos	emit_note_gnu_build_id and note_gnu_build_id_sec.
1643*75fd0b74Schristos	* elf.c (_bfd_id_note_section_size): New global function.
1644*75fd0b74Schristos	(read_hex, _bfd_elf_write_build_id_section): New static functions.
1645*75fd0b74Schristos	(_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
1646*75fd0b74Schristos	if emit_note_gnu_build_id is set.
1647*75fd0b74Schristos	* Makefile.am (elf.lo): Update dependencies.
1648*75fd0b74Schristos
1649*75fd0b74Schristos	* elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
1650*75fd0b74Schristos	(bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
1651*75fd0b74Schristos	* elfcode.h (elf_checksum_contents): New macro and function.
1652*75fd0b74Schristos	(NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
1653*75fd0b74Schristos
1654*75fd0b74Schristos2007-07-06  Michael Snyder  <msnyder@access-company.com>
1655*75fd0b74Schristos
1656*75fd0b74Schristos	* elflink.c (elf_link_add_object_symbols): Return via
1657*75fd0b74Schristos	error_free_vers on "notice" failure.
1658*75fd0b74Schristos
1659*75fd0b74Schristos2007-07-04  H.J. Lu  <hongjiu.lu@intel.com>
1660*75fd0b74Schristos
1661*75fd0b74Schristos	* peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
1662*75fd0b74Schristos	if arch is unknown.
1663*75fd0b74Schristos
1664*75fd0b74Schristos2007-07-04  Nick Clifton  <nickc@redhat.com>
1665*75fd0b74Schristos
1666*75fd0b74Schristos	Import this patch from an internal tree:
1667*75fd0b74Schristos
1668*75fd0b74Schristos	2001-07-17  Richard Henderson  <rth@redhat.com>
1669*75fd0b74Schristos
1670*75fd0b74Schristos	* elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
1671*75fd0b74Schristos	compensate for high bit set in R_MEP_LOW16.
1672*75fd0b74Schristos
1673*75fd0b74Schristos2007-07-03  Joseph Myers  <joseph@codesourcery.com>
1674*75fd0b74Schristos
1675*75fd0b74Schristos	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
1676*75fd0b74Schristos	input attributes if value has been copied.
1677*75fd0b74Schristos
1678*75fd0b74Schristos2007-07-03  Nick Clifton  <nickc@redhat.com>
1679*75fd0b74Schristos
1680*75fd0b74Schristos	* COPYING: Replace with GPLv3 text.
1681*75fd0b74Schristos	* aix386-core.c: Update copyright notice to refer to GPLv3.
1682*75fd0b74Schristos	* aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c,
1683*75fd0b74Schristos	aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c,
1684*75fd0b74Schristos	aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c,
1685*75fd0b74Schristos	archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c,
1686*75fd0b74Schristos	binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c,
1687*75fd0b74Schristos	cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c,
1688*75fd0b74Schristos	coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c,
1689*75fd0b74Schristos	coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c,
1690*75fd0b74Schristos	coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
1691*75fd0b74Schristos	coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
1692*75fd0b74Schristos	coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
1693*75fd0b74Schristos	coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c,
1694*75fd0b74Schristos	coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c,
1695*75fd0b74Schristos	coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c,
1696*75fd0b74Schristos	cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c,
1697*75fd0b74Schristos	cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
1698*75fd0b74Schristos	cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
1699*75fd0b74Schristos	cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
1700*75fd0b74Schristos	cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c,
1701*75fd0b74Schristos	cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c,
1702*75fd0b74Schristos	cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
1703*75fd0b74Schristos	cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c,
1704*75fd0b74Schristos	cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c,
1705*75fd0b74Schristos	cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c,
1706*75fd0b74Schristos	cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c,
1707*75fd0b74Schristos	cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c,
1708*75fd0b74Schristos	cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c,
1709*75fd0b74Schristos	demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c,
1710*75fd0b74Schristos	ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c,
1711*75fd0b74Schristos	elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
1712*75fd0b74Schristos	elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c,
1713*75fd0b74Schristos	elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c,
1714*75fd0b74Schristos	elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
1715*75fd0b74Schristos	elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
1716*75fd0b74Schristos	elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
1717*75fd0b74Schristos	elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c,
1718*75fd0b74Schristos	elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c,
1719*75fd0b74Schristos	elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c,
1720*75fd0b74Schristos	elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c,
1721*75fd0b74Schristos	elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c,
1722*75fd0b74Schristos	elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c,
1723*75fd0b74Schristos	elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h,
1724*75fd0b74Schristos	elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c,
1725*75fd0b74Schristos	elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c,
1726*75fd0b74Schristos	elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c,
1727*75fd0b74Schristos	elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
1728*75fd0b74Schristos	elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h,
1729*75fd0b74Schristos	elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c,
1730*75fd0b74Schristos	elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c,
1731*75fd0b74Schristos	elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
1732*75fd0b74Schristos	elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c,
1733*75fd0b74Schristos	epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h,
1734*75fd0b74Schristos	hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c,
1735*75fd0b74Schristos	hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
1736*75fd0b74Schristos	i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
1737*75fd0b74Schristos	i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
1738*75fd0b74Schristos	libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h,
1739*75fd0b74Schristos	libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h,
1740*75fd0b74Schristos	linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c,
1741*75fd0b74Schristos	m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c,
1742*75fd0b74Schristos	mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h,
1743*75fd0b74Schristos	newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c,
1744*75fd0b74Schristos	nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h,
1745*75fd0b74Schristos	ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c,
1746*75fd0b74Schristos	pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h,
1747*75fd0b74Schristos	pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h,
1748*75fd0b74Schristos	pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c,
1749*75fd0b74Schristos	pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c,
1750*75fd0b74Schristos	pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c,
1751*75fd0b74Schristos	reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c,
1752*75fd0b74Schristos	simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c,
1753*75fd0b74Schristos	srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c,
1754*75fd0b74Schristos	sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h,
1755*75fd0b74Schristos	trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c,
1756*75fd0b74Schristos	vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c,
1757*75fd0b74Schristos	xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c,
1758*75fd0b74Schristos	xtensa-modules.c: Likewise.
1759*75fd0b74Schristos	* elf32-sh-relocs.h: Add copyright notice.
1760*75fd0b74Schristos	* hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h,
1761*75fd0b74Schristos	hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h,
1762*75fd0b74Schristos	hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h,
1763*75fd0b74Schristos	hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h,
1764*75fd0b74Schristos	hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h,
1765*75fd0b74Schristos	hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h,
1766*75fd0b74Schristos	hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h,
1767*75fd0b74Schristos	hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise.
1768*75fd0b74Schristos	* bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
1769*75fd0b74Schristos
1770*75fd0b74Schristos2007-07-02  Joseph Myers  <joseph@codesourcery.com>
1771*75fd0b74Schristos
1772*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Handle
1773*75fd0b74Schristos	R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
1774*75fd0b74Schristos	* elf64-mips.c (mips_elf64_howto_table_rela): Support
1775*75fd0b74Schristos	R_MIPS_TLS_DTPREL64.
1776*75fd0b74Schristos
1777*75fd0b74Schristos2007-07-02  Alan Modra  <amodra@bigpond.net.au>
1778*75fd0b74Schristos
1779*75fd0b74Schristos	* Makefile.am: Run "make dep-am".
1780*75fd0b74Schristos	* Makefile.in: Regenerate.
1781*75fd0b74Schristos	* aclocal.m4: Regenerate.
1782*75fd0b74Schristos	* config.in: Regenerate.
1783*75fd0b74Schristos	* po/SRC-POTFILES.in: Regenerate.
1784*75fd0b74Schristos	* po/bfd.pot: Regenerate.
1785*75fd0b74Schristos
1786*75fd0b74Schristos2007-07-02  Alan Modra  <amodra@bigpond.net.au>
1787*75fd0b74Schristos
1788*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
1789*75fd0b74Schristos	symsec != NULL tests.
1790*75fd0b74Schristos
1791*75fd0b74Schristos2007-07-02  Alan Modra  <amodra@bigpond.net.au>
1792*75fd0b74Schristos
1793*75fd0b74Schristos	PR 4712
1794*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): Adjust lma
1795*75fd0b74Schristos	by p_vaddr_offset.
1796*75fd0b74Schristos
1797*75fd0b74Schristos2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>
1798*75fd0b74Schristos
1799*75fd0b74Schristos	* aclocal.m4: Regenerated.
1800*75fd0b74Schristos	* Makefile.in: Likewise.
1801*75fd0b74Schristos
1802*75fd0b74Schristos2007-06-29  Joseph Myers  <joseph@codesourcery.com>
1803*75fd0b74Schristos
1804*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
1805*75fd0b74Schristos	(ppc_elf_merge_private_bfd_data): Call it.
1806*75fd0b74Schristos
1807*75fd0b74Schristos2007-06-29  Joseph Myers  <joseph@codesourcery.com>
1808*75fd0b74Schristos
1809*75fd0b74Schristos	* elfxx-mips.c (mips_elf_merge_obj_attributes): New.
1810*75fd0b74Schristos	(_bfd_mips_elf_merge_private_bfd_data): Call it.
1811*75fd0b74Schristos
1812*75fd0b74Schristos2007-06-29  Joseph Myers  <joseph@codesourcery.com>
1813*75fd0b74Schristos
1814*75fd0b74Schristos	* elf-attrs.c: New.
1815*75fd0b74Schristos	* Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
1816*75fd0b74Schristos	(BFD32_BACKENDS_CFILES): Add elf-attrs.c.
1817*75fd0b74Schristos	(elf-attrs.lo): Generate dependencies.
1818*75fd0b74Schristos	* Makefile.in: Regenerate.
1819*75fd0b74Schristos	* configure.in (elf): Add elf-attrs.lo.
1820*75fd0b74Schristos	* configure: Regenerate.
1821*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data): Add entries for object
1822*75fd0b74Schristos	attributes.
1823*75fd0b74Schristos	(NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
1824*75fd0b74Schristos	OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
1825*75fd0b74Schristos	Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
1826*75fd0b74Schristos	New.
1827*75fd0b74Schristos	(struct elf_obj_tdata): Add entries for object attributes.
1828*75fd0b74Schristos	(elf_known_obj_attributes, elf_other_obj_attributes,
1829*75fd0b74Schristos	elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
1830*75fd0b74Schristos	New.
1831*75fd0b74Schristos	(bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
1832*75fd0b74Schristos	bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
1833*75fd0b74Schristos	bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
1834*75fd0b74Schristos	bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
1835*75fd0b74Schristos	bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
1836*75fd0b74Schristos	_bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
1837*75fd0b74Schristos	_bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
1838*75fd0b74Schristos	* elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
1839*75fd0b74Schristos	(bfd_section_from_shdr): Handle attributes sections.
1840*75fd0b74Schristos	* elflink.c (bfd_elf_final_link): Handle attributes sections.
1841*75fd0b74Schristos	* elfxx-target.h (elf_backend_obj_attrs_vendor,
1842*75fd0b74Schristos	elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
1843*75fd0b74Schristos	elf_backend_obj_attrs_section_type): New.
1844*75fd0b74Schristos	(elfNN_bed): Update.
1845*75fd0b74Schristos	* elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
1846*75fd0b74Schristos	aeabi_attribute_list): Remove.
1847*75fd0b74Schristos	(struct elf32_arm_obj_tdata): Remove object attributes fields.
1848*75fd0b74Schristos	(check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
1849*75fd0b74Schristos	elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
1850*75fd0b74Schristos	Update for new object attributes interfaces.
1851*75fd0b74Schristos	(uleb128_size, is_default_attr, eabi_attr_size,
1852*75fd0b74Schristos	elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
1853*75fd0b74Schristos	elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
1854*75fd0b74Schristos	elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
1855*75fd0b74Schristos	elf32_arm_add_eabi_attr_int, attr_strdup,
1856*75fd0b74Schristos	elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
1857*75fd0b74Schristos	copy_eabi_attributes, elf32_arm_parse_attributes): Remove.  Moved
1858*75fd0b74Schristos	to generic code in elf-attrs.c.
1859*75fd0b74Schristos	(elf32_arm_obj_attrs_arg_type): New.
1860*75fd0b74Schristos	(elf32_arm_fake_sections): Do not handle .ARM.attributes.
1861*75fd0b74Schristos	(elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
1862*75fd0b74Schristos	(bfd_elf32_bfd_final_link): Remove.
1863*75fd0b74Schristos	(elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
1864*75fd0b74Schristos	elf_backend_obj_attrs_arg_type,
1865*75fd0b74Schristos	elf_backend_obj_attrs_section_type): New.
1866*75fd0b74Schristos	* elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
1867*75fd0b74Schristos	attributes.
1868*75fd0b74Schristos	* elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
1869*75fd0b74Schristos	* elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
1870*75fd0b74Schristos	* elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
1871*75fd0b74Schristos	* elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
1872*75fd0b74Schristos	* elf32-sh.c (sh_elf_copy_private_data): Likewise.
1873*75fd0b74Schristos	* elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
1874*75fd0b74Schristos
1875*75fd0b74Schristos2007-06-29  Paul Brook  <paul@codesourcery.com>
1876*75fd0b74Schristos
1877*75fd0b74Schristos	* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
1878*75fd0b74Schristos	call veneers for call relocations against undefined symbols.
1879*75fd0b74Schristos	(elf32_arm_final_link_relocate): Turn call to undefined symbol
1880*75fd0b74Schristos	into a jump to the next instruction.
1881*75fd0b74Schristos
1882*75fd0b74Schristos2007-06-29  Michael Snyder  <msnyder@access-company.com>
1883*75fd0b74Schristos
1884*75fd0b74Schristos	* bfd.c (bfd_demangle): Plug memory leak (Coverity).
1885*75fd0b74Schristos
1886*75fd0b74Schristos2007-06-29  M R Swami Reddy  <MR.Swami.Reddy@nsc.com>
1887*75fd0b74Schristos
1888*75fd0b74Schristos	* Makefile.am: Add cr16 related entry
1889*75fd0b74Schristos	* Makefile.in: Regenerate
1890*75fd0b74Schristos	* archures.c: Add bfd_cr16_arch
1891*75fd0b74Schristos	* bfd-in2.h: Regenerate
1892*75fd0b74Schristos	* config.bfd: Add cr16-elf
1893*75fd0b74Schristos	* configure.in: Add bfd_elf32_cr16_vec
1894*75fd0b74Schristos	* configure: Regenerate.
1895*75fd0b74Schristos	* targets.c: Added cr16 related information
1896*75fd0b74Schristos	* cpu-cr16.c: New file.
1897*75fd0b74Schristos	* elf32-cr16.c: New file.
1898*75fd0b74Schristos	* reloc.c: Added cr16 relocs.
1899*75fd0b74Schristos
1900*75fd0b74Schristos2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1901*75fd0b74Schristos
1902*75fd0b74Schristos	* elflink.c (_bfd_elf_link_assign_sym_version): Improve error
1903*75fd0b74Schristos	message for undefined version nodes.
1904*75fd0b74Schristos	(elf_gc_sweep): Don't warn when zero size sections are
1905*75fd0b74Schristos	removed.
1906*75fd0b74Schristos
1907*75fd0b74Schristos2007-06-29  Nathan Froyd  <froydnj@codesourcery.com>
1908*75fd0b74Schristos
1909*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
1910*75fd0b74Schristos	types.
1911*75fd0b74Schristos
1912*75fd0b74Schristos2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1913*75fd0b74Schristos
1914*75fd0b74Schristos	* elf32-spu.c (spu_elf_fake_sections): New function.
1915*75fd0b74Schristos	(elf_backend_fake_sections): Define.
1916*75fd0b74Schristos
1917*75fd0b74Schristos2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1918*75fd0b74Schristos
1919*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): Use elf
1920*75fd0b74Schristos	section header sh_size rather than bfd section size, simplifying
1921*75fd0b74Schristos	.tbss handling.
1922*75fd0b74Schristos
1923*75fd0b74Schristos2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1924*75fd0b74Schristos
1925*75fd0b74Schristos	PR ld/4701
1926*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): Ensure bss
1927*75fd0b74Schristos	segments meet gABI alignment requirements.  Don't allocate
1928*75fd0b74Schristos	file space for bss sections in a segment also containing file
1929*75fd0b74Schristos	or program headers.
1930*75fd0b74Schristos
1931*75fd0b74Schristos2007-06-27  Alan Modra  <amodra@bigpond.net.au>
1932*75fd0b74Schristos
1933*75fd0b74Schristos	* bfd.c (struct bfd): Rename "next" to "archive_next".
1934*75fd0b74Schristos	* archive.c: Rename uses throughout file.
1935*75fd0b74Schristos	* archive64.c: Likewise.
1936*75fd0b74Schristos	* coff-rs6000.c: Likewise.
1937*75fd0b74Schristos	* ecoff.c: Likewise.
1938*75fd0b74Schristos	* som.c: Likewise.
1939*75fd0b74Schristos	* bfd-in2.h: Regenerate.
1940*75fd0b74Schristos
1941*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
1942*75fd0b74Schristos	input bfds.
1943*75fd0b74Schristos	* elf32-spu.c (spu_elf_create_sections): Likewise.
1944*75fd0b74Schristos
1945*75fd0b74Schristos2007-06-26  H.J. Lu  <hongjiu.lu@intel.com>
1946*75fd0b74Schristos
1947*75fd0b74Schristos	* dwarf2.c (find_line): New.  Contains the duplicated code from:
1948*75fd0b74Schristos	(_bfd_dwarf2_find_nearest_line): Use it.
1949*75fd0b74Schristos	(_bfd_dwarf2_find_line): Use it.
1950*75fd0b74Schristos
1951*75fd0b74Schristos2007-06-26  Joseph Myers  <joseph@codesourcery.com>
1952*75fd0b74Schristos
1953*75fd0b74Schristos	* elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
1954*75fd0b74Schristos
1955*75fd0b74Schristos2007-06-25  Richard Sandiford  <richard@codesourcery.com>
1956*75fd0b74Schristos
1957*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
1958*75fd0b74Schristos	to be used for calls from MIPS16 code.
1959*75fd0b74Schristos
1960*75fd0b74Schristos2007-06-23  Andreas Schwab  <schwab@suse.de>
1961*75fd0b74Schristos
1962*75fd0b74Schristos	* configure.in (--with-separate-debug-dir): New option.
1963*75fd0b74Schristos	* configure: Regenerate.
1964*75fd0b74Schristos	* Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR.
1965*75fd0b74Schristos	* Makefile.in: Regenerate.
1966*75fd0b74Schristos	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to
1967*75fd0b74Schristos	bfd_follow_gnu_debuglink.
1968*75fd0b74Schristos	(_bfd_dwarf2_find_line): Likewise.
1969*75fd0b74Schristos
1970*75fd0b74Schristos2007-06-22  Nick Clifton  <nickc@redhat.com>
1971*75fd0b74Schristos
1972*75fd0b74Schristos	* dwarf2.c: Add support for reading in debug information via a
1973*75fd0b74Schristos	.gnu_debuglink section:
1974*75fd0b74Schristos	(struct dwarf2_debug): Add bfd field to record the bfd containing
1975*75fd0b74Schristos	the debug info.
1976*75fd0b74Schristos	(parse_comp_unit): Remove ABFD parameter.  Instead use the bfd
1977*75fd0b74Schristos	field in the dwarf2_debug structure.
1978*75fd0b74Schristos	(_bfd_dwarf2_find_nearest_line): If a debug info section could not
1979*75fd0b74Schristos	be found in the current bfd call bfd_follow_gnu_debuglink to see
1980*75fd0b74Schristos	if another file contains the debug information.  If it does, open
1981*75fd0b74Schristos	it and continue.
1982*75fd0b74Schristos	(_bfd_dwarf2_find_line): Likewise.
1983*75fd0b74Schristos
1984*75fd0b74Schristos2007-06-19  H.J. Lu  <hongjiu.lu@intel.com>
1985*75fd0b74Schristos
1986*75fd0b74Schristos	PR ld/4590
1987*75fd0b74Schristos	* elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
1988*75fd0b74Schristos	when removing duplicated entries.
1989*75fd0b74Schristos	(get_dyn_sym_info): Initialize the got_offset field to -1.
1990*75fd0b74Schristos	Update call to sort_dyn_sym_info.
1991*75fd0b74Schristos	(elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
1992*75fd0b74Schristos	array of addend and remove duplicates.
1993*75fd0b74Schristos
1994*75fd0b74Schristos2007-06-18  H.J. Lu  <hongjiu.lu@intel.com>
1995*75fd0b74Schristos
1996*75fd0b74Schristos	* libpei.h (_bfd_XXi_final_link_postscript): Remove
1997*75fd0b74Schristos	duplication.
1998*75fd0b74Schristos	(bfd_target_pei_p): New.
1999*75fd0b74Schristos	(bfd_target_pei_arch): New
2000*75fd0b74Schristos	(bfd_target_efi_p): Likewise.
2001*75fd0b74Schristos	(bfd_target_efi_arch): New
2002*75fd0b74Schristos	(bfd_pe_executable_p): Use bfd_target_pei_p and
2003*75fd0b74Schristos	bfd_target_efi_p.
2004*75fd0b74Schristos
2005*75fd0b74Schristos	* peicode.h (arch_type): New enum.
2006*75fd0b74Schristos	(pe_arch): New function.
2007*75fd0b74Schristos	(pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
2008*75fd0b74Schristos	if there is an EFI/PE target.
2009*75fd0b74Schristos
2010*75fd0b74Schristos2007-06-14  H.J. Lu  <hongjiu.lu@intel.com>
2011*75fd0b74Schristos
2012*75fd0b74Schristos	* Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
2013*75fd0b74Schristos
2014*75fd0b74Schristos	* acinclude.m4: Don't include m4 files. Remove libtool
2015*75fd0b74Schristos	kludge.
2016*75fd0b74Schristos
2017*75fd0b74Schristos	* Makefile.in: Regenerated.
2018*75fd0b74Schristos	* aclocal.m4: Likewise.
2019*75fd0b74Schristos	* configure: Likewise.
2020*75fd0b74Schristos
2021*75fd0b74Schristos2007-06-11  Sterling Augustine  <sterling@tensilica.com>
2022*75fd0b74Schristos	    Bob Wilson  <bob.wilson@acm.org>
2023*75fd0b74Schristos
2024*75fd0b74Schristos	* elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
2025*75fd0b74Schristos	XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
2026*75fd0b74Schristos	(extend_ebb_bounds_backward, compute_text_actions): Likewise.
2027*75fd0b74Schristos	(compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
2028*75fd0b74Schristos	(xtensa_get_property_predef_flags): Likewise.
2029*75fd0b74Schristos	(compute_removed_literals): Pass new arguments to is_removable_literal.
2030*75fd0b74Schristos	(is_removable_literal): Add sec, prop_table and ptblsize arguments.
2031*75fd0b74Schristos	Do not remove literal if the NO_TRANSFORM property flag is set.
2032*75fd0b74Schristos
2033*75fd0b74Schristos2007-05-31  Richard Sandiford  <rsandifo@nildram.co.uk>
2034*75fd0b74Schristos
2035*75fd0b74Schristos	* elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
2036*75fd0b74Schristos	type (3) single-GOT entry, read tls_type from the hash table entry
2037*75fd0b74Schristos	rather than the GOT entry.
2038*75fd0b74Schristos
2039*75fd0b74Schristos2007-06-01  Alan Modra  <amodra@bigpond.net.au>
2040*75fd0b74Schristos
2041*75fd0b74Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Init
2042*75fd0b74Schristos	input_bfds_tail.
2043*75fd0b74Schristos
2044*75fd0b74Schristos2007-05-30  Alan Modra  <amodra@bigpond.net.au>
2045*75fd0b74Schristos
2046*75fd0b74Schristos	* elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
2047*75fd0b74Schristos	created by objcopy --only-keep-debug.
2048*75fd0b74Schristos	(_bfd_elf_init_private_section_data): Only change elf_section_type
2049*75fd0b74Schristos	if it is SHT_NULL.
2050*75fd0b74Schristos
2051*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): Correct sh_type
2052*75fd0b74Schristos	to SHT_NOBITS earlier.  Base actions in rest of function on sh_type
2053*75fd0b74Schristos	and sh_flags instead of bfd section flags.  Delete voff and code
2054*75fd0b74Schristos	keeping nobits segments aligned.
2055*75fd0b74Schristos
2056*75fd0b74Schristos2007-05-25  Eric Christopher  <echristo@apple.com>
2057*75fd0b74Schristos
2058*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
2059*75fd0b74Schristos	Check that sym_sec isn't NULL before accessing.
2060*75fd0b74Schristos
2061*75fd0b74Schristos2007-05-24  Steve Ellcey  <sje@cup.hp.com>
2062*75fd0b74Schristos
2063*75fd0b74Schristos	* Makefile.in: Regnerate.
2064*75fd0b74Schristos	* configure: Regenerate.
2065*75fd0b74Schristos	* aclocal.m4: Regenerate.
2066*75fd0b74Schristos	* doc/Makefile.in: Regenerate.
2067*75fd0b74Schristos
2068*75fd0b74Schristos2007-05-22  Paul Brook  <paul@codesourcery.com>
2069*75fd0b74Schristos
2070*75fd0b74Schristos	* elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
2071*75fd0b74Schristos	with sec and sec_shndx.
2072*75fd0b74Schristos	(elf32_arm_ouput_plt_map_sym): Use them.
2073*75fd0b74Schristos	(elf32_arm_output_arch_local_syms): Output mapping symbols for
2074*75fd0b74Schristos	interworking glue.
2075*75fd0b74Schristos
2076*75fd0b74Schristos2007-05-18  Paul Brook  <paul@codesourcery.com>
2077*75fd0b74Schristos
2078*75fd0b74Schristos	* elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
2079*75fd0b74Schristos	(a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
2080*75fd0b74Schristos	(record_arm_to_thumb_glue): Add v5t non-pic glue.
2081*75fd0b74Schristos	(elf32_arm_create_thumb_stub): Ditto.
2082*75fd0b74Schristos
2083*75fd0b74Schristos2007-05-16  H.J. Lu  <hongjiu.lu@intel.com>
2084*75fd0b74Schristos	    Alan Modra  <amodra@bigpond.net.au>
2085*75fd0b74Schristos
2086*75fd0b74Schristos	* elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
2087*75fd0b74Schristos	section to the minimum alignment.
2088*75fd0b74Schristos
2089*75fd0b74Schristos2007-05-15  H.J. Lu  <hongjiu.lu@intel.com>
2090*75fd0b74Schristos	    Alan Modra  <amodra@bigpond.net.au>
2091*75fd0b74Schristos
2092*75fd0b74Schristos	PR ld/4504
2093*75fd0b74Schristos	* elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
2094*75fd0b74Schristos	* elflink.c (_bfd_elf_adjust_dynamic_copy): New.
2095*75fd0b74Schristos
2096*75fd0b74Schristos	* elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
2097*75fd0b74Schristos	_bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
2098*75fd0b74Schristos	bss section.
2099*75fd0b74Schristos	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
2100*75fd0b74Schristos	* elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
2101*75fd0b74Schristos	* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
2102*75fd0b74Schristos	* elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
2103*75fd0b74Schristos	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
2104*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
2105*75fd0b74Schristos	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
2106*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
2107*75fd0b74Schristos	* elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
2108*75fd0b74Schristos	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
2109*75fd0b74Schristos	* elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
2110*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
2111*75fd0b74Schristos	* elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
2112*75fd0b74Schristos	* elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
2113*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
2114*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
2115*75fd0b74Schristos	* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
2116*75fd0b74Schristos
2117*75fd0b74Schristos2007-05-15  Richard Sandiford  <richard@codesourcery.com>
2118*75fd0b74Schristos
2119*75fd0b74Schristos	* elfxx-mips.c (mips_elf_create_local_got_entry): Remove
2120*75fd0b74Schristos	input_section argument.  Create .rela.dyn relocations against
2121*75fd0b74Schristos	symbol 0 rather than the section symbol.
2122*75fd0b74Schristos	(mips_elf_local_got_index): Remove input_section argument.
2123*75fd0b74Schristos	Update call to mips_elf_create_local_got_entry.
2124*75fd0b74Schristos	(mips_elf_got_page, mips_elf_got16_entry): Likewise.
2125*75fd0b74Schristos	(mips_elf_calculate_relocation): Update calls to
2126*75fd0b74Schristos	mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
2127*75fd0b74Schristos
2128*75fd0b74Schristos2007-05-15  Mark Shinwell  <shinwell@codesourcery.com>
2129*75fd0b74Schristos
2130*75fd0b74Schristos	* elf32-arm.c (elf32_arm_final_link_relocate): Correctly
2131*75fd0b74Schristos	handle the Thumb-2 JUMP19 relocation.
2132*75fd0b74Schristos
2133*75fd0b74Schristos2007-05-15  Alan Modra  <amodra@bigpond.net.au>
2134*75fd0b74Schristos
2135*75fd0b74Schristos	PR 4479
2136*75fd0b74Schristos	* elf.c (elf_fake_sections): Don't allow backend to change
2137*75fd0b74Schristos	SHT_NOBITS if called for strip/objcopy --only-keep-debug.
2138*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
2139*75fd0b74Schristos	fix from here.
2140*75fd0b74Schristos
2141*75fd0b74Schristos2007-05-14  Alan Modra  <amodra@bigpond.net.au>
2142*75fd0b74Schristos
2143*75fd0b74Schristos	* elf.c (bfd_elf_string_from_elf_section): Return NULL on
2144*75fd0b74Schristos	invalid shstrndx.
2145*75fd0b74Schristos	(bfd_elf_get_str_section): Likewise.
2146*75fd0b74Schristos
2147*75fd0b74Schristos2007-05-12  Alan Modra  <amodra@bigpond.net.au>
2148*75fd0b74Schristos
2149*75fd0b74Schristos	PR 4497
2150*75fd0b74Schristos	* elf-eh-frame.c (struct cie): Add "local_personality".  Make
2151*75fd0b74Schristos	"personality" a union.
2152*75fd0b74Schristos	(cie_eq): Compare local_personality too.  Adjust personality
2153*75fd0b74Schristos	comparison.
2154*75fd0b74Schristos	(_bfd_elf_discard_section_eh_frame): Check binding on personality
2155*75fd0b74Schristos	reloc sym to allow for bad symtab.  Use stashed local syms rather
2156*75fd0b74Schristos	than reading personality local sym.  Handle discarded sections.
2157*75fd0b74Schristos
2158*75fd0b74Schristos2007-05-12  Alan Modra  <amodra@bigpond.net.au>
2159*75fd0b74Schristos
2160*75fd0b74Schristos	* elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
2161*75fd0b74Schristos
2162*75fd0b74Schristos2007-05-11  Alan Modra  <amodra@bigpond.net.au>
2163*75fd0b74Schristos
2164*75fd0b74Schristos	* elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
2165*75fd0b74Schristos	(enum ppc_elf_plt_type): Move from..
2166*75fd0b74Schristos	* elf32-ppc.c: ..here.
2167*75fd0b74Schristos	(struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
2168*75fd0b74Schristos	(struct ppc_elf_link_hash_table): Reorder.  Add old_bfd.  Delete
2169*75fd0b74Schristos	can_use_new_plt.  Make is_vxworks a bitfield.
2170*75fd0b74Schristos	(ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
2171*75fd0b74Schristos	(ppc_elf_check_relocs): Update setting of reloc flags.  Set old_bfd.
2172*75fd0b74Schristos	(ppc_elf_select_plt_layout): Modify parameters.  Use bfd reloc
2173*75fd0b74Schristos	flags to better detect object files needing old bss-style plt.
2174*75fd0b74Schristos	Allow secure plt to be used without rel16 relocs being detected.
2175*75fd0b74Schristos	Warn if secure plt request cannot be allowed.
2176*75fd0b74Schristos
2177*75fd0b74Schristos2007-05-11  Alan Modra  <amodra@bigpond.net.au>
2178*75fd0b74Schristos
2179*75fd0b74Schristos	* reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
2180*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data): Change return type of
2181*75fd0b74Schristos	elf_backend_relocate_section to int.
2182*75fd0b74Schristos	* elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
2183*75fd0b74Schristos	R_SPU_PPU64.
2184*75fd0b74Schristos	(spu_elf_bfd_to_reloc_type): Convert new relocs.
2185*75fd0b74Schristos	(spu_elf_count_relocs): New function.
2186*75fd0b74Schristos	(elf_backend_count_relocs): Define.
2187*75fd0b74Schristos	(spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
2188*75fd0b74Schristos	R_SPU_PPU64 relocs.
2189*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
2190*75fd0b74Schristos	returns 2.
2191*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2192*75fd0b74Schristos	* libbfd.h: Regenerate.
2193*75fd0b74Schristos
2194*75fd0b74Schristos2007-05-10  Richard Sandiford  <richard@codesourcery.com>
2195*75fd0b74Schristos
2196*75fd0b74Schristos	* elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
2197*75fd0b74Schristos	for R_ARM_ABS12 relocs.
2198*75fd0b74Schristos	(elf32_arm_finish_dynamic_symbol): Fix the loop that creates
2199*75fd0b74Schristos	non-shared VxWorks PLT entries.
2200*75fd0b74Schristos
2201*75fd0b74Schristos2007-05-11  Alan Modra  <amodra@bigpond.net.au>
2202*75fd0b74Schristos
2203*75fd0b74Schristos	PR 4454
2204*75fd0b74Schristos	* elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
2205*75fd0b74Schristos	(_bfd_elf_discard_section_eh_frame): Handle local syms on
2206*75fd0b74Schristos	personality relocation.
2207*75fd0b74Schristos
2208*75fd0b74Schristos2007-05-10  Richard Sandiford  <richard@codesourcery.com>
2209*75fd0b74Schristos
2210*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): Use p_memsz
2211*75fd0b74Schristos	rather than p_filesz to calculate the LMA of the end of a segment.
2212*75fd0b74Schristos
2213*75fd0b74Schristos2007-05-10  Jakub Jelinek  <jakub@redhat.com>
2214*75fd0b74Schristos
2215*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
2216*75fd0b74Schristos	processing if symbol is defined in the executable.
2217*75fd0b74Schristos
2218*75fd0b74Schristos2007-05-10  Alexandre Oliva  <aoliva@redhat.com>
2219*75fd0b74Schristos
2220*75fd0b74Schristos	* elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
2221*75fd0b74Schristos	(frvfdpic_elf_discard_info): New.
2222*75fd0b74Schristos	(elf_backend_discard_info): Define for FDPIC.
2223*75fd0b74Schristos
2224*75fd0b74Schristos2007-05-09  Mark Shinwell  <shinwell@codesourcery.com>
2225*75fd0b74Schristos
2226*75fd0b74Schristos	* elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
2227*75fd0b74Schristos	attempt to scan if the bfd doesn't correspond to an ELF image.
2228*75fd0b74Schristos	(bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
2229*75fd0b74Schristos
2230*75fd0b74Schristos2007-05-08  Alexandre Oliva  <aoliva@redhat.com>
2231*75fd0b74Schristos
2232*75fd0b74Schristos	* elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
2233*75fd0b74Schristos	for which _bfd_elf_section_offset returns -1.
2234*75fd0b74Schristos
2235*75fd0b74Schristos2007-05-08  Alan Modra  <amodra@bigpond.net.au>
2236*75fd0b74Schristos
2237*75fd0b74Schristos	* elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
2238*75fd0b74Schristos	(mark_functions_via_relocs): Likewise.
2239*75fd0b74Schristos
2240*75fd0b74Schristos2007-05-07  Alan Modra  <amodra@bigpond.net.au>
2241*75fd0b74Schristos
2242*75fd0b74Schristos	* elflink.c (bfd_elf_final_link): Correct reloc handling for
2243*75fd0b74Schristos	elf_backend_count_relocs.
2244*75fd0b74Schristos	(bfd_elf_discard_info): Print an error if we can't read syms.
2245*75fd0b74Schristos
2246*75fd0b74Schristos2007-05-07  Alan Modra  <amodra@bigpond.net.au>
2247*75fd0b74Schristos
2248*75fd0b74Schristos	* elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
2249*75fd0b74Schristos	invalid reloc code.
2250*75fd0b74Schristos	(spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
2251*75fd0b74Schristos	(elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
2252*75fd0b74Schristos	define.
2253*75fd0b74Schristos
2254*75fd0b74Schristos2007-05-07  Alan Modra  <amodra@bigpond.net.au>
2255*75fd0b74Schristos
2256*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): Don't check
2257*75fd0b74Schristos	core segment.
2258*75fd0b74Schristos
2259*75fd0b74Schristos2007-05-04  H.J. Lu  <hongjiu.lu@intel.com>
2260*75fd0b74Schristos
2261*75fd0b74Schristos	* elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
2262*75fd0b74Schristos	and .rel.dyn aren't present.
2263*75fd0b74Schristos
2264*75fd0b74Schristos2007-05-04  Nick Clifton  <nickc@redhat.com>
2265*75fd0b74Schristos
2266*75fd0b74Schristos	* elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
2267*75fd0b74Schristos	sections are present examine the indirect sections in an attempt
2268*75fd0b74Schristos	to compute the correct relocation size.  If there is any
2269*75fd0b74Schristos	ambiguity, produce an error and refuse to sort.
2270*75fd0b74Schristos
2271*75fd0b74Schristos2007-05-03  Sandra Loosemore  <sandra@codesourcery.com>
2272*75fd0b74Schristos
2273*75fd0b74Schristos	* elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
2274*75fd0b74Schristos
2275*75fd0b74Schristos2007-05-03  Vincent Riviere  <vincent.riviere@freesbee.fr>
2276*75fd0b74Schristos	    Nick Clifton  <nickc@redhat.com>
2277*75fd0b74Schristos
2278*75fd0b74Schristos	PR gas/3041
2279*75fd0b74Schristos	* aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
2280*75fd0b74Schristos	in the same way as relocs against external symbols.
2281*75fd0b74Schristos
2282*75fd0b74Schristos2007-05-02  Alan Modra  <amodra@bigpond.net.au>
2283*75fd0b74Schristos
2284*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): Set sh_offset
2285*75fd0b74Schristos	here.  Set sh_type to SHT_NOBITS if we won't be allocating
2286*75fd0b74Schristos	file space.  Don't bump p_memsz for non-alloc sections.  Adjust
2287*75fd0b74Schristos	section-in-segment check.
2288*75fd0b74Schristos	(assign_file_positions_for_non_load_sections): Don't set sh_offset
2289*75fd0b74Schristos	here for sections that have already been handled above.
2290*75fd0b74Schristos
2291*75fd0b74Schristos2007-04-30  Alan Modra  <amodra@bigpond.net.au>
2292*75fd0b74Schristos
2293*75fd0b74Schristos	* elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
2294*75fd0b74Schristos	and emit_stack_syms bitfields.
2295*75fd0b74Schristos	(get_sym_h): Read all symbols if stack analysis will be done.
2296*75fd0b74Schristos	(spu_elf_create_sections): Add stack_analysis and emit_stack_syms
2297*75fd0b74Schristos	params, and stash in hash table.
2298*75fd0b74Schristos	(is_hint): Split off from..
2299*75fd0b74Schristos	(is_branch): ..here.  Adjust callers.
2300*75fd0b74Schristos	(spu_elf_size_stubs): Add stack_analysis param.  Arrange to read
2301*75fd0b74Schristos	and keep all syms.
2302*75fd0b74Schristos	(write_one_stub): Fix mem leak.
2303*75fd0b74Schristos	(find_function_stack_adjust): New function.
2304*75fd0b74Schristos	(sort_syms_syms, sort_syms_psecs): New vars.
2305*75fd0b74Schristos	(sort_syms): New function.
2306*75fd0b74Schristos	(struct call_info, struct function_info): New.
2307*75fd0b74Schristos	(struct spu_elf_stack_info): New.
2308*75fd0b74Schristos	(alloc_stack_info, maybe_insert_function, func_name): New functions.
2309*75fd0b74Schristos	(is_nop, insns_at_end, check_function_ranges): Likewise.
2310*75fd0b74Schristos	(find_function, insert_callee, mark_functions_via_relocs): Likewise.
2311*75fd0b74Schristos	(pasted_function, interesting_section, discover_functions): Likewise.
2312*75fd0b74Schristos	(mark_non_root, call_graph_traverse, build_call_tree): Likewise.
2313*75fd0b74Schristos	(sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
2314*75fd0b74Schristos	(bfd_elf32_bfd_final_link): Define.
2315*75fd0b74Schristos	* elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
2316*75fd0b74Schristos	(spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
2317*75fd0b74Schristos
2318*75fd0b74Schristos2007-04-28  Sergey Rogozhkin  <rogozhkin@niisi.msk.ru>
2319*75fd0b74Schristos
2320*75fd0b74Schristos	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
2321*75fd0b74Schristos	memory which we might not own.
2322*75fd0b74Schristos
2323*75fd0b74Schristos2007-04-27  Bob Wilson  <bob.wilson@acm.org>
2324*75fd0b74Schristos
2325*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
2326*75fd0b74Schristos	(elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
2327*75fd0b74Schristos	(elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
2328*75fd0b74Schristos
2329*75fd0b74Schristos2007-04-27  Bob Wilson  <bob.wilson@acm.org>
2330*75fd0b74Schristos
2331*75fd0b74Schristos	* elf32-xtensa.c (xtensa_read_table_entries): Step through table
2332*75fd0b74Schristos	contents and relocs in parallel.
2333*75fd0b74Schristos
2334*75fd0b74Schristos2007-04-27  Bob Wilson  <bob.wilson@acm.org>
2335*75fd0b74Schristos
2336*75fd0b74Schristos	* elf32-xtensa.c (relax_property_section): Remove extra irel increment.
2337*75fd0b74Schristos
2338*75fd0b74Schristos2007-04-27  Alan Modra  <amodra@bigpond.net.au>
2339*75fd0b74Schristos
2340*75fd0b74Schristos	* cpu-rs6000.c: Write Mimi's name in ASCII.
2341*75fd0b74Schristos	* coff-rs6000.c: Likewise.
2342*75fd0b74Schristos	* rs6000-core.c: Likewise.
2343*75fd0b74Schristos
2344*75fd0b74Schristos2007-04-27  Alan Modra  <amodra@bigpond.net.au>
2345*75fd0b74Schristos
2346*75fd0b74Schristos	* sysdep.h: Include config.h first.
2347*75fd0b74Schristos	Many files: Include sysdep.h before bfd.h.
2348*75fd0b74Schristos	* Makefile.am: Run "make dep-am".
2349*75fd0b74Schristos	* Makefile.in: Regenerate.
2350*75fd0b74Schristos
2351*75fd0b74Schristos2007-04-25  Alan Modra  <amodra@bigpond.net.au>
2352*75fd0b74Schristos
2353*75fd0b74Schristos	* sysdep.h: Revert last change.
2354*75fd0b74Schristos
2355*75fd0b74Schristos2007-04-24  Nick Clifton  <nickc@redhat.com>
2356*75fd0b74Schristos
2357*75fd0b74Schristos	* coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
2358*75fd0b74Schristos	* coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
2359*75fd0b74Schristos
2360*75fd0b74Schristos2007-04-24  Alan Modra  <amodra@bigpond.net.au>
2361*75fd0b74Schristos
2362*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
2363*75fd0b74Schristos	eh_frame_hdr table won't be created.
2364*75fd0b74Schristos
2365*75fd0b74Schristos2007-04-24  Alan Modra  <amodra@bigpond.net.au>
2366*75fd0b74Schristos
2367*75fd0b74Schristos	* acinclude.m4: Include config/stdint.m4.
2368*75fd0b74Schristos	* configure.in: Invoke GCC_HEADER_STDINT.
2369*75fd0b74Schristos	* sysdep.h: Don't include ansidecl.h here.
2370*75fd0b74Schristos	* configure: Regenerate.
2371*75fd0b74Schristos	* config.in: Regenerate.
2372*75fd0b74Schristos	* Makefile.in: Regenerate.
2373*75fd0b74Schristos
2374*75fd0b74Schristos2007-04-23  Nathan Sidwell  <nathan@codesourcery.com>
2375*75fd0b74Schristos
2376*75fd0b74Schristos	* archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
2377*75fd0b74Schristos	bfd_mach_mcf_isa_c_emac): New.
2378*75fd0b74Schristos	* elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
2379*75fd0b74Schristos	elf_isac_plt_entry, elf_isac_plt_info): New.
2380*75fd0b74Schristos	(elf32_m68k_object_p): Add ISA_C.
2381*75fd0b74Schristos	(elf32_m68k_print_private_bfd_data): Print ISA_C.
2382*75fd0b74Schristos	(elf32_m68k_get_plt_info): Detect ISA_C.
2383*75fd0b74Schristos	* cpu-m68k.c (arch_info): Add ISAC.
2384*75fd0b74Schristos	(m68k_arch_features): Likewise,
2385*75fd0b74Schristos	(bfd_m68k_compatible): ISAs B & C are not compatible.
2386*75fd0b74Schristos
2387*75fd0b74Schristos2007-04-21  Nick Clifton  <nickc@redhat.com>
2388*75fd0b74Schristos
2389*75fd0b74Schristos	* ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
2390*75fd0b74Schristos	(ecoff_link_add_archive_symbols): Likewise.
2391*75fd0b74Schristos	* coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
2392*75fd0b74Schristos	relent.howto.
2393*75fd0b74Schristos	* ieee.c (parse_int): Initialise x.
2394*75fd0b74Schristos	(must_parse_int): Initialise result.
2395*75fd0b74Schristos	(ieee_slurp_external_symbols): Initialise value.
2396*75fd0b74Schristos
2397*75fd0b74Schristos2007-04-21  Alan Modra  <amodra@bigpond.net.au>
2398*75fd0b74Schristos
2399*75fd0b74Schristos	* config.bfd (spu-*-elf): Delete targ_selvecs.
2400*75fd0b74Schristos
2401*75fd0b74Schristos2007-04-19  Nick Clifton  <nickc@redhat.com>
2402*75fd0b74Schristos
2403*75fd0b74Schristos	* coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
2404*75fd0b74Schristos
2405*75fd0b74Schristos2007-04-19  Alan Modra  <amodra@bigpond.net.au>
2406*75fd0b74Schristos
2407*75fd0b74Schristos	* bfd.c (bfd_demangle): New function.
2408*75fd0b74Schristos	* Makefile.am: Run "make dep-am".
2409*75fd0b74Schristos	* Makefile.in: Regenerate.
2410*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2411*75fd0b74Schristos
2412*75fd0b74Schristos2007-04-18  Matthias Klose  <doko@ubuntu.com>
2413*75fd0b74Schristos
2414*75fd0b74Schristos	* Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
2415*75fd0b74Schristos	(bfdver.h): Use the date in non-release builds for the soversion.
2416*75fd0b74Schristos	* Makefile.in: Regenerate.
2417*75fd0b74Schristos
2418*75fd0b74Schristos2007-04-17  Paul Brook  <paul@codesourcery.com>
2419*75fd0b74Schristos
2420*75fd0b74Schristos	* elf.c (_bfd_elf_is_function_type): New function.
2421*75fd0b74Schristos	* elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
2422*75fd0b74Schristos	(_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
2423*75fd0b74Schristos	is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
2424*75fd0b74Schristos	* elf-bfd.h (elf_backend_data): Add is_function_type.
2425*75fd0b74Schristos	(_bfd_elf_is_function_type): Add prototype.
2426*75fd0b74Schristos	* elfxx-target.h (elf_backend_is_function_type): Add default
2427*75fd0b74Schristos	definition.
2428*75fd0b74Schristos	(elfNN_bed): Add elf_backend_is_function_type.
2429*75fd0b74Schristos	* elf32-arm.c (elf32_arm_is_function_type): New function.
2430*75fd0b74Schristos	(elf_backend_is_function_type): Define.
2431*75fd0b74Schristos
2432*75fd0b74Schristos2007-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
2433*75fd0b74Schristos
2434*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
2435*75fd0b74Schristos	DT_MIPS_RLD_MAP before DT_DEBUG again.
2436*75fd0b74Schristos
2437*75fd0b74Schristos2007-04-14  Steve Ellcey  <sje@cup.hp.com>
2438*75fd0b74Schristos
2439*75fd0b74Schristos	* Makefile.am: Add ACLOCAL_AMFLAGS.
2440*75fd0b74Schristos	* configure.in: Change macro call order.
2441*75fd0b74Schristos	* Makefile.in: Regnerate.
2442*75fd0b74Schristos	* doc/Makefile.in: Regenerate.
2443*75fd0b74Schristos	* configure: Regenerate.
2444*75fd0b74Schristos
2445*75fd0b74Schristos2007-04-14  Jakub Jelinek  <jakub@redhat.com>
2446*75fd0b74Schristos
2447*75fd0b74Schristos	* elflink.c (bfd_elf_final_link): Don't free symbuf for
2448*75fd0b74Schristos	non-elf input bfds.
2449*75fd0b74Schristos	(bfd_elf_size_dynamic_sections): Don't access elf_section_data
2450*75fd0b74Schristos	for non-elf input bfds.
2451*75fd0b74Schristos
2452*75fd0b74Schristos2007-04-12  Richard Sandiford  <richard@codesourcery.com>
2453*75fd0b74Schristos
2454*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
2455*75fd0b74Schristos	DT_MIPS_RTLD_MAP for PIEs.
2456*75fd0b74Schristos
2457*75fd0b74Schristos2007-04-12  Richard Sandiford  <richard@codesourcery.com>
2458*75fd0b74Schristos
2459*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
2460*75fd0b74Schristos	when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
2461*75fd0b74Schristos	in a read-only section.
2462*75fd0b74Schristos	(_bfd_mips_elf_check_relocs): Likewise.
2463*75fd0b74Schristos
2464*75fd0b74Schristos2007-04-12  Bob Wilson  <bob.wilson@acm.org>
2465*75fd0b74Schristos
2466*75fd0b74Schristos	* elf32-xtensa.c (xtensa_is_insntable_section): New.
2467*75fd0b74Schristos	(xtensa_is_proptable_section): New.
2468*75fd0b74Schristos	(elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
2469*75fd0b74Schristos	tables with 12-byte entries, as well as tables with 8-byte entries.
2470*75fd0b74Schristos	Sort the relocations before examining them.
2471*75fd0b74Schristos	(relax_property_section): Use xtensa_is_proptable_section and
2472*75fd0b74Schristos	xtensa_is_littable_section.  Rewrite code for combining table entries
2473*75fd0b74Schristos	to be more robust in case of unexpected relocations.  Do not set offset
2474*75fd0b74Schristos	of unused relocations to less than zero.
2475*75fd0b74Schristos	(xtensa_is_property_section): Use other functions instead of
2476*75fd0b74Schristos	duplicating section name comparisons.
2477*75fd0b74Schristos	(xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
2478*75fd0b74Schristos	(xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
2479*75fd0b74Schristos
2480*75fd0b74Schristos2007-04-12  Bob Wilson  <bob.wilson@acm.org>
2481*75fd0b74Schristos
2482*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
2483*75fd0b74Schristos	from Xtensa property sections.
2484*75fd0b74Schristos
2485*75fd0b74Schristos2007-04-12  Alan Modra  <amodra@bigpond.net.au>
2486*75fd0b74Schristos
2487*75fd0b74Schristos	* elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
2488*75fd0b74Schristos	is non-NULL before dereferencing.
2489*75fd0b74Schristos
2490*75fd0b74Schristos2007-04-11  Nathan Sidwell  <nathan@codesourcery.com>
2491*75fd0b74Schristos
2492*75fd0b74Schristos	* elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
2493*75fd0b74Schristos	relocs too.
2494*75fd0b74Schristos
2495*75fd0b74Schristos2007-04-10  Richard Henderson  <rth@redhat.com>
2496*75fd0b74Schristos
2497*75fd0b74Schristos	* elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
2498*75fd0b74Schristos	(elf64_alpha_size_got_sections): Remove unused something_changed local.
2499*75fd0b74Schristos	(elf64_alpha_size_plt_section): Return void.
2500*75fd0b74Schristos	(elf64_alpha_size_rela_got_section): Likewise.
2501*75fd0b74Schristos	(elf64_alpha_relax_section): Only regenerate got+plt if the
2502*75fd0b74Schristos	relax_trip counter has changed.
2503*75fd0b74Schristos
2504*75fd0b74Schristos2007-04-09  Daniel Jacobowitz  <dan@codesourcery.com>
2505*75fd0b74Schristos
2506*75fd0b74Schristos	* Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
2507*75fd0b74Schristos	* doc/Makefile.am (DOCFILES): Add bfdver.texi.
2508*75fd0b74Schristos	(bfdver.texi): New rule.
2509*75fd0b74Schristos	* Makefile.in, doc/Makefile.in: Regenerated.
2510*75fd0b74Schristos
2511*75fd0b74Schristos2007-04-03  Matt Thomas  <matt@netbsd.org>
2512*75fd0b74Schristos
2513*75fd0b74Schristos	* elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
2514*75fd0b74Schristos	in a shared object if it is not in a CODE section or if it is against
2515*75fd0b74Schristos	a section symbol.  This allows DWARF2 to use pcrel format.
2516*75fd0b74Schristos
2517*75fd0b74Schristos2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
2518*75fd0b74Schristos
2519*75fd0b74Schristos	PR ld/4304
2520*75fd0b74Schristos	* elflink.c (bfd_elf_final_link): Call einfo callback in
2521*75fd0b74Schristos	bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
2522*75fd0b74Schristos	warning.
2523*75fd0b74Schristos
2524*75fd0b74Schristos2007-04-05  Alan Modra  <amodra@bigpond.net.au>
2525*75fd0b74Schristos
2526*75fd0b74Schristos	* elf32-spu.c (spu_elf_output_symbol_hook): New function.
2527*75fd0b74Schristos	(elf_backend_link_output_symbol_hook): Define.
2528*75fd0b74Schristos
2529*75fd0b74Schristos2007-04-02  Nick Clifton  <nickc@redhat.com>
2530*75fd0b74Schristos
2531*75fd0b74Schristos	PR binutils/4292
2532*75fd0b74Schristos	* bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
2533*75fd0b74Schristos	targets as 64-bit values, even if running on a 64-bit host.
2534*75fd0b74Schristos	* coffgen.c (coff_print_symbol): Likewise.
2535*75fd0b74Schristos
2536*75fd0b74Schristos2007-03-29  Nick Clifton  <nickc@redhat.com>
2537*75fd0b74Schristos
2538*75fd0b74Schristos	PR binutils/4110
2539*75fd0b74Schristos	* elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
2540*75fd0b74Schristos	(setup_group): Use it.  Report corrupt group section headers.
2541*75fd0b74Schristos	(bfd_section_from_shdr): Use new macro.  Replace constant 4 with
2542*75fd0b74Schristos	GRP_ENTRY_SIZE.  Cope with NULLs in the group section table.
2543*75fd0b74Schristos	(elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
2544*75fd0b74Schristos
2545*75fd0b74Schristos2007-03-29  Alan Modra  <amodra@bigpond.net.au>
2546*75fd0b74Schristos
2547*75fd0b74Schristos	PR ld/4267
2548*75fd0b74Schristos	* elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
2549*75fd0b74Schristos	for rel->r_info values.
2550*75fd0b74Schristos	(bfd_elf_perform_complex_relocation): Likewise.
2551*75fd0b74Schristos	* elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
2552*75fd0b74Schristos	unused entries.  Don't clear plt.plist in loop.
2553*75fd0b74Schristos
2554*75fd0b74Schristos2007-03-28  Richard Sandiford  <richard@codesourcery.com>
2555*75fd0b74Schristos
2556*75fd0b74Schristos	* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
2557*75fd0b74Schristos	* elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
2558*75fd0b74Schristos	Merge into...
2559*75fd0b74Schristos	(sparc_elf_append_rela): ...this new function.
2560*75fd0b74Schristos	(SPARC_ELF_APPEND_RELA): Delete.
2561*75fd0b74Schristos	(_bfd_sparc_elf_link_hash_table_create): Don't initialize
2562*75fd0b74Schristos	the deleted append_rela field.
2563*75fd0b74Schristos	(_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
2564*75fd0b74Schristos	instead of SPARC_ELF_APPEND_RELA.
2565*75fd0b74Schristos	(_bfd_sparc_elf_finish_dynamic_symbol): Likewise.  Use the
2566*75fd0b74Schristos	elf_size_info structure to find the size of a RELA entry and
2567*75fd0b74Schristos	the associated swap-out function.
2568*75fd0b74Schristos	(sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
2569*75fd0b74Schristos	(sparc_finish_dyn): ...this new function.
2570*75fd0b74Schristos	(_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
2571*75fd0b74Schristos
2572*75fd0b74Schristos2007-03-28  Richard Sandiford  <richard@codesourcery.com>
2573*75fd0b74Schristos	    Phil Edwards  <phil@codesourcery.com>
2574*75fd0b74Schristos
2575*75fd0b74Schristos	* doc/bfd.texinfo: Put the contents after the title page rather
2576*75fd0b74Schristos	than at the end of the document.
2577*75fd0b74Schristos
2578*75fd0b74Schristos2007-03-27  Andreas Schwab  <schwab@suse.de>
2579*75fd0b74Schristos
2580*75fd0b74Schristos	* elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
2581*75fd0b74Schristos
2582*75fd0b74Schristos2007-03-26  H.J. Lu  <hongjiu.lu@intel.com>
2583*75fd0b74Schristos
2584*75fd0b74Schristos	* configure: Regenerated.
2585*75fd0b74Schristos
2586*75fd0b74Schristos2007-03-26  Alan Modra  <amodra@bigpond.net.au>
2587*75fd0b74Schristos
2588*75fd0b74Schristos	* elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
2589*75fd0b74Schristos	(allocate_spuear_stubs): New function.
2590*75fd0b74Schristos	(spu_elf_size_stubs): Call allocate_spuear_stubs.
2591*75fd0b74Schristos
2592*75fd0b74Schristos2007-03-26  Alan Modra  <amodra@bigpond.net.au>
2593*75fd0b74Schristos
2594*75fd0b74Schristos	* aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
2595*75fd0b74Schristos	* aout-arm.c (MY_bfd_reloc_name_lookup): Define.
2596*75fd0b74Schristos	(MY (bfd_reloc_name_lookup)): New function.
2597*75fd0b74Schristos	* aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
2598*75fd0b74Schristos	* aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
2599*75fd0b74Schristos	(MY_bfd_reloc_name_lookup): Define.
2600*75fd0b74Schristos	* aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
2601*75fd0b74Schristos	(MY_bfd_reloc_name_lookup): Define.
2602*75fd0b74Schristos	* aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
2603*75fd0b74Schristos	(NAME (aout, reloc_name_lookup)): New function.
2604*75fd0b74Schristos	* bout.c (b_out_bfd_reloc_name_lookup): New function.
2605*75fd0b74Schristos	* coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
2606*75fd0b74Schristos	(_bfd_ecoff_bfd_reloc_name_lookup): Define.
2607*75fd0b74Schristos	* coff-arm.c (coff_arm_reloc_name_lookup): New function.
2608*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2609*75fd0b74Schristos	* coff-i386.c (coff_bfd_reloc_name_lookup): Define.
2610*75fd0b74Schristos	(coff_i386_reloc_name_lookup): New function.
2611*75fd0b74Schristos	* coff-i860.c (coff_i860_reloc_name_lookup): New function.
2612*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2613*75fd0b74Schristos	* coff-i960.c (coff_i960_reloc_name_lookup): New function.
2614*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2615*75fd0b74Schristos	* coff-m68k.c (m68k_reloc_name_lookup): New function.
2616*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2617*75fd0b74Schristos	* coff-maxq.c (maxq_reloc_name_lookup): New function.
2618*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2619*75fd0b74Schristos	* coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
2620*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2621*75fd0b74Schristos	* coff-mips.c (mips_bfd_reloc_name_lookup): New function.
2622*75fd0b74Schristos	(_bfd_ecoff_bfd_reloc_name_lookup): Define.
2623*75fd0b74Schristos	* coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
2624*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2625*75fd0b74Schristos	* coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
2626*75fd0b74Schristos	(_bfd_xcoff_reloc_name_lookup): New function.
2627*75fd0b74Schristos	(rs6000coff_vec, pmac_xcoff_vec): Init new field.
2628*75fd0b74Schristos	* coff-sh.c (coff_bfd_reloc_name_lookup): Define.
2629*75fd0b74Schristos	(sh_coff_reloc_name_lookup): New function.
2630*75fd0b74Schristos	* coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
2631*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2632*75fd0b74Schristos	* coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
2633*75fd0b74Schristos	(tic30_coff_reloc_name_lookup): New function.
2634*75fd0b74Schristos	* coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
2635*75fd0b74Schristos	(tic4x_coff_reloc_name_lookup): New function.
2636*75fd0b74Schristos	* coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
2637*75fd0b74Schristos	(tic54x_coff_reloc_name_lookup): New function.
2638*75fd0b74Schristos	* coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
2639*75fd0b74Schristos	(coff_amd64_reloc_name_lookup): New function.
2640*75fd0b74Schristos	* coff-z80.c (coff_z80_reloc_name_lookup): New function.
2641*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2642*75fd0b74Schristos	* coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
2643*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2644*75fd0b74Schristos	* coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
2645*75fd0b74Schristos	(xcoff64_reloc_name_lookup): New function.
2646*75fd0b74Schristos	(rs6000coff64_vec, aix5coff64_vec): Init new field.
2647*75fd0b74Schristos	* coffcode.h (coff_bfd_reloc_name_lookup): Define.
2648*75fd0b74Schristos	* elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
2649*75fd0b74Schristos	* elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2650*75fd0b74Schristos	* elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2651*75fd0b74Schristos	* elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2652*75fd0b74Schristos	* elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
2653*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2654*75fd0b74Schristos	* elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2655*75fd0b74Schristos	* elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
2656*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2657*75fd0b74Schristos	* elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
2658*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2659*75fd0b74Schristos	* elf32-cris.c (cris_reloc_name_lookup): New function.
2660*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2661*75fd0b74Schristos	* elf32-crx.c (elf_crx_reloc_name_lookup): New function.
2662*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2663*75fd0b74Schristos	* elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2664*75fd0b74Schristos	* elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2665*75fd0b74Schristos	* elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
2666*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2667*75fd0b74Schristos	* elf32-fr30.c (fr30_reloc_name_lookup): New function.
2668*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2669*75fd0b74Schristos	* elf32-frv.c (frv_reloc_name_lookup): New function.
2670*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2671*75fd0b74Schristos	* elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2672*75fd0b74Schristos	* elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
2673*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2674*75fd0b74Schristos	* elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2675*75fd0b74Schristos	* elf32-i370.c (i370_elf_reloc_name_lookup): New function.
2676*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2677*75fd0b74Schristos	* elf32-i386.c (elf_i386_reloc_name_lookup): New function.
2678*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2679*75fd0b74Schristos	* elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
2680*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2681*75fd0b74Schristos	* elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
2682*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2683*75fd0b74Schristos	* elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
2684*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2685*75fd0b74Schristos	* elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
2686*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2687*75fd0b74Schristos	* elf32-m32c.c (m32c_reloc_name_lookup): New function.
2688*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2689*75fd0b74Schristos	* elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2690*75fd0b74Schristos	* elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2691*75fd0b74Schristos	* elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2692*75fd0b74Schristos	* elf32-m68k.c (reloc_name_lookup): New function.
2693*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2694*75fd0b74Schristos	* elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2695*75fd0b74Schristos	* elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
2696*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2697*75fd0b74Schristos	* elf32-mep.c (mep_reloc_name_lookup): New function.
2698*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2699*75fd0b74Schristos	* elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2700*75fd0b74Schristos	(mips_vxworks_bfd_reloc_name_lookup): Likewise.
2701*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2702*75fd0b74Schristos	* elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2703*75fd0b74Schristos	* elf32-mt.c (mt_reloc_name_lookup): New function.
2704*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2705*75fd0b74Schristos	* elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
2706*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2707*75fd0b74Schristos	* elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2708*75fd0b74Schristos	* elf32-pj.c (pj_elf_reloc_name_lookup): New function.
2709*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2710*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
2711*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2712*75fd0b74Schristos	* elf32-s390.c (elf_s390_reloc_name_lookup): New function.
2713*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2714*75fd0b74Schristos	* elf32-score.c (elf32_score_reloc_name_lookup): New function.
2715*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2716*75fd0b74Schristos	* elf32-sh.c (sh_elf_reloc_name_lookup): New function.
2717*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2718*75fd0b74Schristos	* elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2719*75fd0b74Schristos	* elf32-spu.c (spu_elf_reloc_name_lookup): New function.
2720*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2721*75fd0b74Schristos	* elf32-v850.c (v850_elf_reloc_name_lookup): New function.
2722*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2723*75fd0b74Schristos	* elf32-vax.c (reloc_name_lookup): New function.
2724*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2725*75fd0b74Schristos	* elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
2726*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2727*75fd0b74Schristos	* elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
2728*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2729*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
2730*75fd0b74Schristos	(bfd_elf32_bfd_reloc_name_lookup): Define.
2731*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
2732*75fd0b74Schristos	(bfd_elf64_bfd_reloc_name_lookup): Define.
2733*75fd0b74Schristos	* elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
2734*75fd0b74Schristos	* elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
2735*75fd0b74Schristos	* elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
2736*75fd0b74Schristos	* elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
2737*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
2738*75fd0b74Schristos	(bfd_elf64_bfd_reloc_name_lookup): Define.
2739*75fd0b74Schristos	* elf64-s390.c (elf_s390_reloc_name_lookup): New function.
2740*75fd0b74Schristos	(bfd_elf64_bfd_reloc_name_lookup): Define.
2741*75fd0b74Schristos	* elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
2742*75fd0b74Schristos	(bfd_elf64_bfd_reloc_name_lookup): Define.
2743*75fd0b74Schristos	* elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
2744*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
2745*75fd0b74Schristos	(bfd_elf64_bfd_reloc_name_lookup): Define.
2746*75fd0b74Schristos	* elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2747*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
2748*75fd0b74Schristos	(bfd_elfNN_bfd_reloc_name_lookup): Define.
2749*75fd0b74Schristos	* elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
2750*75fd0b74Schristos	* elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
2751*75fd0b74Schristos	* i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
2752*75fd0b74Schristos	* i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
2753*75fd0b74Schristos	* ieee.c (ieee_bfd_reloc_name_lookup): Define.
2754*75fd0b74Schristos	* libaout.h (NAME (aout, reloc_name_lookup)): Declare.
2755*75fd0b74Schristos	* libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
2756*75fd0b74Schristos	* mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
2757*75fd0b74Schristos	(MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
2758*75fd0b74Schristos	(MY(reloc_name_lookup)): New function.
2759*75fd0b74Schristos	* nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
2760*75fd0b74Schristos	* oasys.c (oasys_bfd_reloc_name_lookup): Define.
2761*75fd0b74Schristos	* pdp11.c (NAME (aout, reloc_name_lookup)): New function.
2762*75fd0b74Schristos	* pe-mips.c (coff_mips_reloc_name_lookup): New function.
2763*75fd0b74Schristos	(coff_bfd_reloc_name_lookup): Define.
2764*75fd0b74Schristos	* reloc.c (bfd_reloc_name_lookup): New function.
2765*75fd0b74Schristos	* riscix.c (riscix_reloc_name_lookup): New function.
2766*75fd0b74Schristos	(MY_bfd_reloc_name_lookup): Define.
2767*75fd0b74Schristos	* som.c (som_bfd_reloc_name_lookup): New function.
2768*75fd0b74Schristos	* targets.c (struct bfd_target): Add reloc_name_lookup.
2769*75fd0b74Schristos	(BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
2770*75fd0b74Schristos	* versados.c (versados_bfd_reloc_name_lookup): Define.
2771*75fd0b74Schristos	* vms.c (vms_bfd_reloc_name_lookup): New function.
2772*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2773*75fd0b74Schristos	* libbfd.h: Regenerate.
2774*75fd0b74Schristos
2775*75fd0b74Schristos2007-03-26  Thiemo Seufer  <ths@mips.com>
2776*75fd0b74Schristos
2777*75fd0b74Schristos	PR ld/4208
2778*75fd0b74Schristos	* elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
2779*75fd0b74Schristos	matching relocation is found.
2780*75fd0b74Schristos	(_bfd_mips_elf_relocate_section): Only warn about missing relocations.
2781*75fd0b74Schristos
2782*75fd0b74Schristos2007-03-23  H.J. Lu  <hongjiu.lu@intel.com>
2783*75fd0b74Schristos
2784*75fd0b74Schristos	* configure: Regenerated.
2785*75fd0b74Schristos
2786*75fd0b74Schristos2007-03-23  Joseph Myers  <joseph@codesourcery.com>
2787*75fd0b74Schristos
2788*75fd0b74Schristos	* configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
2789*75fd0b74Schristos	* configure: Regenerate.
2790*75fd0b74Schristos
2791*75fd0b74Schristos2007-03-23  Alan Modra  <amodra@bigpond.net.au>
2792*75fd0b74Schristos
2793*75fd0b74Schristos	* elf32-spu.c (spu_stub_name): Don't put input section in stub name.
2794*75fd0b74Schristos	Remove input_sec param.  Adjust all calls.
2795*75fd0b74Schristos	(write_one_stub): Adjust stub symbol.
2796*75fd0b74Schristos	(needs_ovl_stub): New function, extracted from..
2797*75fd0b74Schristos	(spu_elf_size_stubs): ..here.
2798*75fd0b74Schristos	(spu_elf_relocate_section): Use needs_ovl_stub.
2799*75fd0b74Schristos
2800*75fd0b74Schristos2007-03-22  Joseph Myers  <joseph@codesourcery.com>
2801*75fd0b74Schristos
2802*75fd0b74Schristos	* Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
2803*75fd0b74Schristos	if nonempty.
2804*75fd0b74Schristos	* configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
2805*75fd0b74Schristos	* Makefile.in, configure, doc/Makefile.in: Regenerate.
2806*75fd0b74Schristos
2807*75fd0b74Schristos2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
2808*75fd0b74Schristos
2809*75fd0b74Schristos	PR ld/4210
2810*75fd0b74Schristos	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
2811*75fd0b74Schristos	address and virtual size of the last section for the image
2812*75fd0b74Schristos	size.
2813*75fd0b74Schristos
2814*75fd0b74Schristos2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
2815*75fd0b74Schristos
2816*75fd0b74Schristos	PR ld/4007
2817*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): Check if
2818*75fd0b74Schristos	all sections are in the segment.
2819*75fd0b74Schristos
2820*75fd0b74Schristos2007-03-20  H.J. Lu  <hongjiu.lu@intel.com>
2821*75fd0b74Schristos
2822*75fd0b74Schristos	PR ld/4208
2823*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
2824*75fd0b74Schristos	matching LO16 relocation for HI16 relocation.
2825*75fd0b74Schristos
2826*75fd0b74Schristos2007-03-20  Paul Brook  <paul@codesourcery.com>
2827*75fd0b74Schristos
2828*75fd0b74Schristos	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
2829*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2830*75fd0b74Schristos	* elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
2831*75fd0b74Schristos	(record_arm_to_thumb_glue): Use globals->pic_veneer.
2832*75fd0b74Schristos	(elf32_arm_create_thumb_stub): Ditto.
2833*75fd0b74Schristos	(bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
2834*75fd0b74Schristos
2835*75fd0b74Schristos2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>
2836*75fd0b74Schristos
2837*75fd0b74Schristos	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
2838*75fd0b74Schristos	argument and extra last argument.
2839*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2840*75fd0b74Schristos	* elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
2841*75fd0b74Schristos	member.
2842*75fd0b74Schristos	(bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
2843*75fd0b74Schristos	extra last argument.  Set no_enum_size_warning appropriately.
2844*75fd0b74Schristos	(elf32_arm_merge_eabi_attributes): Improve enum sizes
2845*75fd0b74Schristos	diagnostic, suppressing it when no_enum_size_warning dictates.
2846*75fd0b74Schristos
2847*75fd0b74Schristos2007-03-20  Nick Clifton  <nickc@redhat.com>
2848*75fd0b74Schristos
2849*75fd0b74Schristos	PR binutils/3535
2850*75fd0b74Schristos	* elf.c (copy_private_bfd_data): Widen the scope of Solaris
2851*75fd0b74Schristos	specific conditions that need the program headers to be
2852*75fd0b74Schristos	rewritten.
2853*75fd0b74Schristos
2854*75fd0b74Schristos2007-03-19  H.J. Lu  <hongjiu.lu@intel.com>
2855*75fd0b74Schristos
2856*75fd0b74Schristos	* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
2857*75fd0b74Schristos	MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
2858*75fd0b74Schristos	SizeOfInitializedData, SizeOfUninitializedData,
2859*75fd0b74Schristos	AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
2860*75fd0b74Schristos	extra PE a.out header.
2861*75fd0b74Schristos	(IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
2862*75fd0b74Schristos	(IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
2863*75fd0b74Schristos	defined.
2864*75fd0b74Schristos	(IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
2865*75fd0b74Schristos	defined.
2866*75fd0b74Schristos	(_bfd_XX_print_private_bfd_data_common): Also print Magic,
2867*75fd0b74Schristos	MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
2868*75fd0b74Schristos	SizeOfInitializedData, SizeOfUninitializedData,
2869*75fd0b74Schristos	AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
2870*75fd0b74Schristos	extra PE a.out header.
2871*75fd0b74Schristos
2872*75fd0b74Schristos2007-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2873*75fd0b74Schristos
2874*75fd0b74Schristos	* targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
2875*75fd0b74Schristos	only if BFD64 is defined.
2876*75fd0b74Schristos
2877*75fd0b74Schristos2007-03-17  Alan Modra  <amodra@bigpond.net.au>
2878*75fd0b74Schristos
2879*75fd0b74Schristos	* elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
2880*75fd0b74Schristos	on setjmp calls.
2881*75fd0b74Schristos
2882*75fd0b74Schristos2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2883*75fd0b74Schristos
2884*75fd0b74Schristos	* doc/Makefile.in: Regenerated.
2885*75fd0b74Schristos
2886*75fd0b74Schristos2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2887*75fd0b74Schristos
2888*75fd0b74Schristos	* Makefile.am (bfdver.h): Substitute report_bugs_to.  Also
2889*75fd0b74Schristos	create doc/bfdver.texi.
2890*75fd0b74Schristos	* Makefile.in: Regenerated.
2891*75fd0b74Schristos
2892*75fd0b74Schristos	* configure.in (--with-bugurl): New option.
2893*75fd0b74Schristos	* configure: Regenerated.
2894*75fd0b74Schristos
2895*75fd0b74Schristos	* version.h (REPORT_BUGS_TO): New.
2896*75fd0b74Schristos
2897*75fd0b74Schristos2007-03-13  H.J. Lu  <hongjiu.lu@intel.com>
2898*75fd0b74Schristos
2899*75fd0b74Schristos	PR binutils/3826
2900*75fd0b74Schristos	* elf-bfd.h (elf_backend_data): Add elf_osabi.
2901*75fd0b74Schristos	(_bfd_elf_set_osabi): New.
2902*75fd0b74Schristos
2903*75fd0b74Schristos	* elf.c (_bfd_elf_set_osabi): New.
2904*75fd0b74Schristos
2905*75fd0b74Schristos	* elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
2906*75fd0b74Schristos	(elf_backend_post_process_headers): Defined with
2907*75fd0b74Schristos	_bfd_elf_set_osabi.
2908*75fd0b74Schristos	(ELF_OSABI): Properly defined for each target.
2909*75fd0b74Schristos
2910*75fd0b74Schristos	* elf32-i370.c (i370_elf_post_process_headers): Removed.
2911*75fd0b74Schristos	(ELF_OSABI): Defined.
2912*75fd0b74Schristos	(elf_backend_post_process_headers): Defined with
2913*75fd0b74Schristos	_bfd_elf_set_osabi.
2914*75fd0b74Schristos
2915*75fd0b74Schristos	* elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
2916*75fd0b74Schristos	freebsd.
2917*75fd0b74Schristos	(elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
2918*75fd0b74Schristos
2919*75fd0b74Schristos	* elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
2920*75fd0b74Schristos	(ELF_OSABI): Defined.
2921*75fd0b74Schristos	(elf_backend_post_process_headers): Defined with
2922*75fd0b74Schristos	_bfd_elf_set_osabi.
2923*75fd0b74Schristos
2924*75fd0b74Schristos	* elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
2925*75fd0b74Schristos	freebsd.
2926*75fd0b74Schristos	(elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
2927*75fd0b74Schristos	elf_osabi.
2928*75fd0b74Schristos
2929*75fd0b74Schristos	* elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
2930*75fd0b74Schristos	with elf_osabi.
2931*75fd0b74Schristos	(ELF_OSABI): Properly defined for each target.
2932*75fd0b74Schristos	(elf_backend_post_process_headers): Defined with
2933*75fd0b74Schristos	_bfd_elf_set_osabi for Linux.
2934*75fd0b74Schristos
2935*75fd0b74Schristos	* elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
2936*75fd0b74Schristos	(ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
2937*75fd0b74Schristos	(elf_backend_post_process_headers): Defined with
2938*75fd0b74Schristos	_bfd_elf_set_osabi.
2939*75fd0b74Schristos
2940*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
2941*75fd0b74Schristos	(ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
2942*75fd0b74Schristos	(elf_backend_post_process_headers): Defined with
2943*75fd0b74Schristos	_bfd_elf_set_osabi.
2944*75fd0b74Schristos
2945*75fd0b74Schristos	* elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
2946*75fd0b74Schristos	with any ELF target of the compatible machine for which we do not
2947*75fd0b74Schristos	have a specific backend.
2948*75fd0b74Schristos
2949*75fd0b74Schristos	* elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
2950*75fd0b74Schristos	with elf_osabi.
2951*75fd0b74Schristos
2952*75fd0b74Schristos	* elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
2953*75fd0b74Schristos	(elfNN_bed): Initialize elf_osabi with ELF_OSABI.
2954*75fd0b74Schristos
2955*75fd0b74Schristos2007-03-08  Alan Modra  <amodra@bigpond.net.au>
2956*75fd0b74Schristos
2957*75fd0b74Schristos	* elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
2958*75fd0b74Schristos	V850_OTHER_* bits.
2959*75fd0b74Schristos
2960*75fd0b74Schristos2007-03-08  Alan Modra  <amodra@bigpond.net.au>
2961*75fd0b74Schristos
2962*75fd0b74Schristos	* Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
2963*75fd0b74Schristos	(BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
2964*75fd0b74Schristos	Run "make dep-am".
2965*75fd0b74Schristos	* Makefile.in: Regenerate.
2966*75fd0b74Schristos	* po/SRC-POTFILES.in: Regenerate.
2967*75fd0b74Schristos
2968*75fd0b74Schristos2007-03-07  H.J. Lu  <hongjiu.lu@intel.com>
2969*75fd0b74Schristos
2970*75fd0b74Schristos	* config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
2971*75fd0b74Schristos	(x86_64-*-kfreebsd*-gnu): Likewise.
2972*75fd0b74Schristos	(x86_64-*-netbsd*): Likewise.
2973*75fd0b74Schristos	(x86_64-*-openbsd*): Likewise.
2974*75fd0b74Schristos	(x86_64-*-linux-*): Likewise.
2975*75fd0b74Schristos
2976*75fd0b74Schristos	* configure.in: Support bfd_efi_app_x86_64_vec.
2977*75fd0b74Schristos	* configure: Regenerated.
2978*75fd0b74Schristos
2979*75fd0b74Schristos	* efi-app-x86_64.c: New file.
2980*75fd0b74Schristos
2981*75fd0b74Schristos	* targets.c (bfd_efi_app_x86_64_vec): New.
2982*75fd0b74Schristos	(_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
2983*75fd0b74Schristos
2984*75fd0b74Schristos2007-03-07  Kai Tietz   <kai.tietz@onevision.com>
2985*75fd0b74Schristos
2986*75fd0b74Schristos	* reloc.c (bfd_generic_get_relocated_section_contents): Remove
2987*75fd0b74Schristos	const for type reloc_howto_type.
2988*75fd0b74Schristos
2989*75fd0b74Schristos2007-03-07  Alan Modra  <amodra@bigpond.net.au>
2990*75fd0b74Schristos
2991*75fd0b74Schristos	PR 3958
2992*75fd0b74Schristos	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
2993*75fd0b74Schristos	(elf_discarded_section): Move..
2994*75fd0b74Schristos	* bfd-in.h: ..to here.
2995*75fd0b74Schristos	* bfd-in2.h: Regenerate.
2996*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
2997*75fd0b74Schristos	from discarded sections before relocate_section has done its job.
2998*75fd0b74Schristos	* reloc.c (bfd_generic_get_relocated_section_contents): Handle
2999*75fd0b74Schristos	relocs against symbols from discarded sections.
3000*75fd0b74Schristos	* elf-hppa.h (elf_hppa_howto_table): Set size.  Set dst_mask on
3001*75fd0b74Schristos	SECREL32.
3002*75fd0b74Schristos	(elf_hppa_relocate_section): Handle relocatable link after setting
3003*75fd0b74Schristos	sec, sym, h etc. for final link.  Squash error messages for
3004*75fd0b74Schristos	relocatable link.  Clear section contents for relocs against
3005*75fd0b74Schristos	symbols in discarded sections, and zero reloc.  Remove existing
3006*75fd0b74Schristos	zero r_symndx code.
3007*75fd0b74Schristos	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
3008*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
3009*75fd0b74Schristos	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
3010*75fd0b74Schristos	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
3011*75fd0b74Schristos	* elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
3012*75fd0b74Schristos	(bfin_relocate_section): Likewise.
3013*75fd0b74Schristos	* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
3014*75fd0b74Schristos	* elf32-cris.c (cris_elf_relocate_section): Likewise.
3015*75fd0b74Schristos	* elf32-crx.c (elf32_crx_relocate_section): Likewise.
3016*75fd0b74Schristos	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
3017*75fd0b74Schristos	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
3018*75fd0b74Schristos	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
3019*75fd0b74Schristos	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
3020*75fd0b74Schristos	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
3021*75fd0b74Schristos	* elf32-i370.c (i370_elf_relocate_section): Likewise.
3022*75fd0b74Schristos	* elf32-i386.c (elf_i386_relocate_section): Likewise.
3023*75fd0b74Schristos	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
3024*75fd0b74Schristos	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
3025*75fd0b74Schristos	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
3026*75fd0b74Schristos	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
3027*75fd0b74Schristos	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
3028*75fd0b74Schristos	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
3029*75fd0b74Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3030*75fd0b74Schristos	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
3031*75fd0b74Schristos	* elf32-mep.c (mep_elf_relocate_section): Likewise.
3032*75fd0b74Schristos	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
3033*75fd0b74Schristos	* elf32-mt.c (mt_elf_relocate_section): Likewise.
3034*75fd0b74Schristos	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
3035*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3036*75fd0b74Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
3037*75fd0b74Schristos	* elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
3038*75fd0b74Schristos	* elf32-sh.c (sh_elf_relocate_section): Likewise.
3039*75fd0b74Schristos	* elf32-spu.c (spu_elf_relocate_section): Likewise.
3040*75fd0b74Schristos	* elf32-v850.c (v850_elf_relocate_section): Likewise.
3041*75fd0b74Schristos	* elf32-vax.c (elf_vax_relocate_section): Likewise.
3042*75fd0b74Schristos	* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
3043*75fd0b74Schristos	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
3044*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
3045*75fd0b74Schristos	* elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
3046*75fd0b74Schristos	(elf64_alpha_relocate_section): Likewise.
3047*75fd0b74Schristos	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
3048*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3049*75fd0b74Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
3050*75fd0b74Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
3051*75fd0b74Schristos	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
3052*75fd0b74Schristos	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
3053*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
3054*75fd0b74Schristos	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
3055*75fd0b74Schristos
3056*75fd0b74Schristos	* elf32-arm.c (elf32_arm_relocate_section): Always adjust section
3057*75fd0b74Schristos	symbols for relocatable link.  Don't use always-zero st_value.
3058*75fd0b74Schristos	(elf_backend_rela_normal): Don't define.
3059*75fd0b74Schristos	* elf32-bfin.c (bfinfdpic_relocate_section): Use
3060*75fd0b74Schristos	RELOC_FOR_GLOBAL_SYMBOL.
3061*75fd0b74Schristos	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
3062*75fd0b74Schristos	* elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
3063*75fd0b74Schristos	section symbol adjustments with same for relocatable link.
3064*75fd0b74Schristos	* elf32-i386.c (elf_i386_relocate_section): Likewise.
3065*75fd0b74Schristos	* elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
3066*75fd0b74Schristos	(elf32_m68hc11_check_relocs): ..to here.
3067*75fd0b74Schristos	* elf32-score.c (score_elf_final_link_relocate): Remove zero
3068*75fd0b74Schristos	r_symndx code.
3069*75fd0b74Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
3070*75fd0b74Schristos
3071*75fd0b74Schristos2007-03-07  Alan Modra  <amodra@bigpond.net.au>
3072*75fd0b74Schristos
3073*75fd0b74Schristos	PR 4144
3074*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): Don't
3075*75fd0b74Schristos	adjust p_memsz for !SEC_LOAD section vma modulo page size.
3076*75fd0b74Schristos	Instead, use the same lma based adjustment for SEC_LOAD
3077*75fd0b74Schristos	sections.
3078*75fd0b74Schristos
3079*75fd0b74Schristos2007-03-01  Bob Wilson  <bob.wilson@acm.org>
3080*75fd0b74Schristos
3081*75fd0b74Schristos	* elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
3082*75fd0b74Schristos	(find_relaxable_sections): Do not increment src_count for unknown
3083*75fd0b74Schristos	opcodes.  Decode only once instead of calling is_l32r_relocation.
3084*75fd0b74Schristos	(compute_text_actions): Remove unused no_insn_move flag.  Assert that
3085*75fd0b74Schristos	src_next matches src_count in relax_info.
3086*75fd0b74Schristos
3087*75fd0b74Schristos2007-03-01  Joseph Myers  <joseph@codesourcery.com>
3088*75fd0b74Schristos
3089*75fd0b74Schristos	* Makefile.am (bfdver.h): Use "." not " " between version number
3090*75fd0b74Schristos	and date.
3091*75fd0b74Schristos	* Makefile.in: Regenerate.
3092*75fd0b74Schristos	* configure.in (PKGVERSION): Default to "(GNU Binutils) ".
3093*75fd0b74Schristos	* configure: Regenerate.
3094*75fd0b74Schristos
3095*75fd0b74Schristos2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>
3096*75fd0b74Schristos
3097*75fd0b74Schristos	* config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
3098*75fd0b74Schristos
3099*75fd0b74Schristos2007-02-27  Alan Modra  <amodra@bigpond.net.au>
3100*75fd0b74Schristos
3101*75fd0b74Schristos	* elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
3102*75fd0b74Schristos	* elf32-spu.c (ovl_mgr_pread): Add const to casts.
3103*75fd0b74Schristos
3104*75fd0b74Schristos2007-02-23  Carlos O'Donell  <carlos@codesourcery.com>
3105*75fd0b74Schristos
3106*75fd0b74Schristos	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
3107*75fd0b74Schristos	DWARF even with 64-bit addresses.
3108*75fd0b74Schristos	(_bfd_dwarf2_find_nearest_line): Likewise.
3109*75fd0b74Schristos
3110*75fd0b74Schristos2007-02-23  Nick Clifton  <nickc@redhat.com>
3111*75fd0b74Schristos
3112*75fd0b74Schristos	PR binutils/3535
3113*75fd0b74Schristos	* elf.c (copy_private_bfd_data): Always rewrite the program
3114*75fd0b74Schristos	headers when a Solaris interpreter segment is involved.
3115*75fd0b74Schristos
3116*75fd0b74Schristos2007-02-22  Paul Brook  <paul@codesourcery.com>
3117*75fd0b74Schristos
3118*75fd0b74Schristos	* elflink.c (gc_mark_hook_fn): Remove.
3119*75fd0b74Schristos	(_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
3120*75fd0b74Schristos	(bfd_elf_gc_sections): Ditto.  Call gc_mark_extra_sections.
3121*75fd0b74Schristos	* elf-bfd.h (elf_gc_mark_hook_fn): Define.
3122*75fd0b74Schristos	(elf_backend_data): Add gc_mark_extra_sections.
3123*75fd0b74Schristos	* elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
3124*75fd0b74Schristos	definition.
3125*75fd0b74Schristos	(elfNN_bed): Add elf_backend_gc_mark_extra_sections.
3126*75fd0b74Schristos	* elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
3127*75fd0b74Schristos	(elf_backend_gc_mark_extra_sections): Define.
3128*75fd0b74Schristos
3129*75fd0b74Schristos2007-02-21  Nick Clifton  <nickc@redhat.com>
3130*75fd0b74Schristos
3131*75fd0b74Schristos	* elf.c (_bfd_elf_map_sections_to_segments): If the
3132*75fd0b74Schristos	override_segment_assignment callback is defined then call it.
3133*75fd0b74Schristos
3134*75fd0b74Schristos2007-02-21  Alan Modra  <amodra@bigpond.net.au>
3135*75fd0b74Schristos
3136*75fd0b74Schristos	* elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
3137*75fd0b74Schristos
3138*75fd0b74Schristos2007-02-19  Thiemo Seufer  <ths@mips.com>
3139*75fd0b74Schristos
3140*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
3141*75fd0b74Schristos	translation marker from untranslatable strings.
3142*75fd0b74Schristos
3143*75fd0b74Schristos2007-02-19  Alan Modra  <amodra@bigpond.net.au>
3144*75fd0b74Schristos
3145*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data): Add default_execstack.
3146*75fd0b74Schristos	* elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
3147*75fd0b74Schristos	* elfxx-target.h (elf_backend_default_execstack): Define to 1.
3148*75fd0b74Schristos	(elfNN_bed): Init new field.
3149*75fd0b74Schristos	* elf64-ppc.c (elf_backend_default_execstack): Define to 0.
3150*75fd0b74Schristos
3151*75fd0b74Schristos2007-02-17  Mark Mitchell  <mark@codesourcery.com>
3152*75fd0b74Schristos            Nathan Sidwell  <nathan@codesourcery.com>
3153*75fd0b74Schristos            Vladimir Prus  <vladimir@codesourcery.com
3154*75fd0b74Schristos            Joseph Myers  <joseph@codesourcery.com>
3155*75fd0b74Schristos
3156*75fd0b74Schristos	* configure.in (--with-pkgversion): New option.
3157*75fd0b74Schristos	* configure: Regenerate.
3158*75fd0b74Schristos	* Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
3159*75fd0b74Schristos	* Makefile.in: Regenerate.
3160*75fd0b74Schristos	* version.h (BFD_VERSION_STRING): Define using
3161*75fd0b74Schristos	@bfd_version_package@.
3162*75fd0b74Schristos
3163*75fd0b74Schristos2007-02-16  Carlos O'Donell  <carlos@codesourcery.com>
3164*75fd0b74Schristos
3165*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
3166*75fd0b74Schristos	Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
3167*75fd0b74Schristos	and EF_MIPS_UCODE.
3168*75fd0b74Schristos
3169*75fd0b74Schristos2007-02-15  Alan Modra  <amodra@bigpond.net.au>
3170*75fd0b74Schristos
3171*75fd0b74Schristos	* libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
3172*75fd0b74Schristos	declare.
3173*75fd0b74Schristos	(_bfd_norelocs_canonicalize_reloc): Likewise.
3174*75fd0b74Schristos	* libbfd.h: Regenerate.
3175*75fd0b74Schristos	* libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
3176*75fd0b74Schristos	(_bfd_norelocs_canonicalize_reloc): Likewise.
3177*75fd0b74Schristos	* binary.c (binary_bfd_reloc_type_lookup): Don't define.
3178*75fd0b74Schristos	(binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
3179*75fd0b74Schristos	(binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
3180*75fd0b74Schristos	* ihex.c: Similarly.
3181*75fd0b74Schristos	* mach-o-target.c: Similarly.
3182*75fd0b74Schristos	* mach-o.c: Similarly.
3183*75fd0b74Schristos	* mmo.c: Similarly.
3184*75fd0b74Schristos	* pef.c: Similarly.
3185*75fd0b74Schristos	* ppcboot.c: Similarly.
3186*75fd0b74Schristos	* srec.c: Similarly.
3187*75fd0b74Schristos	* xsym.c: Similarly.
3188*75fd0b74Schristos
3189*75fd0b74Schristos2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>
3190*75fd0b74Schristos
3191*75fd0b74Schristos	PR ld/3953
3192*75fd0b74Schristos	* elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
3193*75fd0b74Schristos	when adding default symbol.
3194*75fd0b74Schristos
3195*75fd0b74Schristos2007-02-13  Alan Modra  <amodra@bigpond.net.au>
3196*75fd0b74Schristos
3197*75fd0b74Schristos	* elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
3198*75fd0b74Schristos	for branch lookup table.
3199*75fd0b74Schristos
3200*75fd0b74Schristos2007-02-12  Alan Modra  <amodra@bigpond.net.au>
3201*75fd0b74Schristos
3202*75fd0b74Schristos	* elf64-ppc.c (create_linkage_sections): Don't create
3203*75fd0b74Schristos	.rela.rodata.brlt for --emit-relocs.
3204*75fd0b74Schristos	(ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
3205*75fd0b74Schristos	(ppc_size_one_stub): Count them.  Simplify test of stub type
3206*75fd0b74Schristos	when counting stub relocs.  Set SEC_RELOC too.
3207*75fd0b74Schristos	(ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
3208*75fd0b74Schristos	(ppc64_elf_finish_dynamic_sections): Output brlt relocs.
3209*75fd0b74Schristos
3210*75fd0b74Schristos2007-02-12  Alan Modra  <amodra@bigpond.net.au>
3211*75fd0b74Schristos
3212*75fd0b74Schristos	* elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
3213*75fd0b74Schristos	with a zero symbol index.
3214*75fd0b74Schristos
3215*75fd0b74Schristos2007-02-12  Alan Modra  <amodra@bigpond.net.au>
3216*75fd0b74Schristos
3217*75fd0b74Schristos	* elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
3218*75fd0b74Schristos
3219*75fd0b74Schristos2007-02-05  Dave Brolley  <brolley@redhat.com>
3220*75fd0b74Schristos            Stan Cox  <scox@redhat.com>
3221*75fd0b74Schristos
3222*75fd0b74Schristos	PR ld/3972
3223*75fd0b74Schristos	* elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
3224*75fd0b74Schristos
3225*75fd0b74Schristos2007-02-05  Dave Brolley  <brolley@redhat.com>
3226*75fd0b74Schristos	    Richard Sandiford  <rsandifo@redhat.com>
3227*75fd0b74Schristos	    Stan Cox  <scox@redhat.com>
3228*75fd0b74Schristos	    Nick Clifton  <nickc@redhat.com>
3229*75fd0b74Schristos	    DJ Delorie  <dj@redhat.com>
3230*75fd0b74Schristos	    Frank Ch. Eigler  <fche@redhat.com>
3231*75fd0b74Schristos	    Ben Elliston  <bje@redhat.com>
3232*75fd0b74Schristos	    Richard Henderson  <rth@redhat.com>
3233*75fd0b74Schristos
3234*75fd0b74Schristos	* Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
3235*75fd0b74Schristos	(ALL_MACHINES_CFILES): Add CPU_MEP.c.
3236*75fd0b74Schristos	(BFD32_BACKENDS): Add elf32-mep.lo.
3237*75fd0b74Schristos	(BFD32_BACKENDS_CFILES): Add elf32-mep.c.
3238*75fd0b74Schristos	(cpu-mep.lo,elf32-mep.lo): New targets.
3239*75fd0b74Schristos	* archures.c (bfd_arch_mep): New enumerator.
3240*75fd0b74Schristos	(bfd_mach_mep, bfd_mach_mep_h1): New macros.
3241*75fd0b74Schristos	(bfd_mep_arch): New external variable.
3242*75fd0b74Schristos	(bfd_archures_list): Add bfd_mep_arch.
3243*75fd0b74Schristos	* config.bfd: Support mep-*-elf.
3244*75fd0b74Schristos	* configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
3245*75fd0b74Schristos	* reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
3246*75fd0b74Schristos	* targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
3247*75fd0b74Schristos	declarations.
3248*75fd0b74Schristos	(_bfd_target_vector): Add bfd_elf32_mep_vec and
3249*75fd0b74Schristos	bfd_elf32_mep_little_vec.
3250*75fd0b74Schristos	* mep-relocs.pl: New file.
3251*75fd0b74Schristos	* cpu-mep.c: New file.
3252*75fd0b74Schristos	* elf32-mep.c: New file.
3253*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3254*75fd0b74Schristos	* po/POTFILES.in: Regenerate.
3255*75fd0b74Schristos	* libbfd.h: Regenerate.
3256*75fd0b74Schristos	* Makefile.in: Regenerate.
3257*75fd0b74Schristos	* configure: Regenerate.
3258*75fd0b74Schristos
3259*75fd0b74Schristos2007-02-05  Dave Brolley  <brolley@redhat.com>
3260*75fd0b74Schristos
3261*75fd0b74Schristos	* elflink.c (evaluate_complex_relocation_symbols): Check for
3262*75fd0b74Schristos	STT_SRELC for global symbols.
3263*75fd0b74Schristos	(perform_complex_relocations): Renamed to
3264*75fd0b74Schristos	perform_complex_relocation and now examines only one relocation.
3265*75fd0b74Schristos	(elf_link_input_bfd): Don't call perform_complex_relocations.
3266*75fd0b74Schristos	* elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
3267*75fd0b74Schristos	* elf32-mep.c (mep_elf_howto_table): Add R_RELC.
3268*75fd0b74Schristos	(OD,OS,OU): #undefs corrected to N, S and U repectively.
3269*75fd0b74Schristos	(mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
3270*75fd0b74Schristos	(complex_reloc_installation_howto): Removed.
3271*75fd0b74Schristos	(mep_info_to_howto_rela): Remove special case for r_type==0xff.
3272*75fd0b74Schristos	(mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
3273*75fd0b74Schristos
3274*75fd0b74Schristos2007-02-05  Dave Brolley  <brolley@redhat.com>
3275*75fd0b74Schristos	    Richard Sandiford  <rsandifo@redhat.com>
3276*75fd0b74Schristos	    DJ Delorie  <dj@redhat.com>
3277*75fd0b74Schristos	    Graydon Hoare  <graydon@redhat.com>
3278*75fd0b74Schristos	    Nick Clifton  <nickc@cambridge.redhat.com>
3279*75fd0b74Schristos	    Jeff Holcomb  <jeffh@redhat.com>
3280*75fd0b74Schristos	    Frank Ch. Eigler  <fche@redhat.com>
3281*75fd0b74Schristos
3282*75fd0b74Schristos	* elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
3283*75fd0b74Schristos	* elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
3284*75fd0b74Schristos	* elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
3285*75fd0b74Schristos	* elflink.c (set_symbolValue): New static function.
3286*75fd0b74Schristos	(resolve_symbol): Likewise.
3287*75fd0b74Schristos	(resolve_section): Likewise.
3288*75fd0b74Schristos	(undefined_reference): Likewise.
3289*75fd0b74Schristos	(eval_symbol): Likewise.
3290*75fd0b74Schristos	(evaluate_complex_relocation_symbols): Likewise.
3291*75fd0b74Schristos	(put_value): Likewise.
3292*75fd0b74Schristos	(get_value): Likewise.
3293*75fd0b74Schristos	(decode_complex_addend):
3294*75fd0b74Schristos	(bfd_elf_perform_complex_relocation): New function.
3295*75fd0b74Schristos	(elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
3296*75fd0b74Schristos	* reloc.c (BFD_RELOC_RELC): New relocation number.
3297*75fd0b74Schristos	* syms.c (BSF_RELC,BSF_SRELC): New macros.
3298*75fd0b74Schristos
3299*75fd0b74Schristos2007-02-05  Bob Wilson  <bob.wilson@acm.org>
3300*75fd0b74Schristos
3301*75fd0b74Schristos	* elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
3302*75fd0b74Schristos	(elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
3303*75fd0b74Schristos	(elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
3304*75fd0b74Schristos	(elf_xtensa_allocate_got_size): Replace these with...
3305*75fd0b74Schristos	(elf_xtensa_allocate_dynrelocs): ...this new function.
3306*75fd0b74Schristos	(elf_xtensa_size_dynamic_sections): Use it.
3307*75fd0b74Schristos
3308*75fd0b74Schristos2007-02-05  Bob Wilson  <bob.wilson@acm.org>
3309*75fd0b74Schristos
3310*75fd0b74Schristos	* elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
3311*75fd0b74Schristos	<R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
3312*75fd0b74Schristos	Set src_mask to zero.
3313*75fd0b74Schristos	<R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise.  Also fix dst_mask.
3314*75fd0b74Schristos	<R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
3315*75fd0b74Schristos
3316*75fd0b74Schristos2007-02-02  Bob Wilson  <bob.wilson@acm.org>
3317*75fd0b74Schristos
3318*75fd0b74Schristos	* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
3319*75fd0b74Schristos	(elf_xtensa_dynamic_symbol_p): ...this.
3320*75fd0b74Schristos
3321*75fd0b74Schristos2007-02-02  Bob Wilson  <bob.wilson@acm.org>
3322*75fd0b74Schristos
3323*75fd0b74Schristos	* elf32-xtensa.c (plt_reloc_count): Move into link hash table.
3324*75fd0b74Schristos	(struct elf_xtensa_link_hash_table): New.
3325*75fd0b74Schristos	(elf_xtensa_hash_table): New.
3326*75fd0b74Schristos	(elf_xtensa_link_hash_table_create): New.
3327*75fd0b74Schristos	(elf_xtensa_check_relocs): Update plt_reloc_count references.
3328*75fd0b74Schristos	Update arguments to add_extra_plt_sections.
3329*75fd0b74Schristos	(elf_xtensa_create_dynamic_sections): Record new sections in the hash
3330*75fd0b74Schristos	table.  Update for plt_reloc_count and add_extra_plt_sections.
3331*75fd0b74Schristos	(add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
3332*75fd0b74Schristos	argument with link info.  Update calls to elf_xtensa_get_plt_section
3333*75fd0b74Schristos	and elf_xtensa_get_gotplt_section.
3334*75fd0b74Schristos	(elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
3335*75fd0b74Schristos	(elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
3336*75fd0b74Schristos	(elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
3337*75fd0b74Schristos	(relax_property_section): Get sections from the hash table and update
3338*75fd0b74Schristos	function calls.
3339*75fd0b74Schristos	(elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
3340*75fd0b74Schristos	dynobj argument with link info.  Get sections for first plt chunk from
3341*75fd0b74Schristos	the hash table.
3342*75fd0b74Schristos	(bfd_elf32_bfd_link_hash_table_create): Define.
3343*75fd0b74Schristos
3344*75fd0b74Schristos2007-02-02  Jakub Jelinek  <jakub@redhat.com>
3345*75fd0b74Schristos
3346*75fd0b74Schristos	* elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
3347*75fd0b74Schristos	* elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
3348*75fd0b74Schristos	(struct elf_symbol): Change first member into union.
3349*75fd0b74Schristos	(elf_sort_elf_symbol): Compare pointers to internal syms rather than
3350*75fd0b74Schristos	internal syms.  Only compare st_shndx fields.
3351*75fd0b74Schristos	(elf_create_symbuf): New function.
3352*75fd0b74Schristos	(bfd_elf_match_symbols_in_sections): Use it.  If symbufs are available
3353*75fd0b74Schristos	for bfds, use a binary search, otherwise don't qsort symbols
3354*75fd0b74Schristos	unnecessarily only to select which symbols are for the particular
3355*75fd0b74Schristos	shndx.
3356*75fd0b74Schristos
3357*75fd0b74Schristos2007-02-01  Nick Clifton  <nickc@redhat.com>
3358*75fd0b74Schristos
3359*75fd0b74Schristos	PR ld/3852
3360*75fd0b74Schristos	* elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
3361*75fd0b74Schristos	in the elf_link_hash_table structure.
3362*75fd0b74Schristos
3363*75fd0b74Schristos2007-02-01  Alan Modra  <amodra@bigpond.net.au>
3364*75fd0b74Schristos
3365*75fd0b74Schristos	* elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
3366*75fd0b74Schristos	* elfxx-target.h (elf_backend_write_core_note): Define and use.
3367*75fd0b74Schristos	* elf.c (elfcore_write_prpsinfo): Call the above.  Add support for
3368*75fd0b74Schristos	32-bit core note on 64-bit target.
3369*75fd0b74Schristos	(elfcore_write_prstatus): Likewise.
3370*75fd0b74Schristos	(elfcore_write_lwpstatus): Make note_name const.
3371*75fd0b74Schristos	(elfcore_write_prfpreg): Likewise.
3372*75fd0b74Schristos	(elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
3373*75fd0b74Schristos	target.
3374*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_write_core_note): New function.
3375*75fd0b74Schristos	(elf_backend_write_core_note): Define.
3376*75fd0b74Schristos	* elf64-ppc.c (ppc64_elf_write_core_note): New function.
3377*75fd0b74Schristos	(elf_backend_write_core_note): Define.
3378*75fd0b74Schristos
3379*75fd0b74Schristos2007-01-31  H.J. Lu  <hongjiu.lu@intel.com>
3380*75fd0b74Schristos
3381*75fd0b74Schristos	* elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
3382*75fd0b74Schristos	(elf32_bed): Defined for elf32-us-cris.
3383*75fd0b74Schristos
3384*75fd0b74Schristos	* elf64-sh64.c (elf64_bed): Defined for Linux.
3385*75fd0b74Schristos	(INCLUDED_TARGET_FILE): Removed.
3386*75fd0b74Schristos
3387*75fd0b74Schristos	* elfxx-target.h (elfNN_bed): Always define. Don't check
3388*75fd0b74Schristos	INCLUDED_TARGET_FILE.
3389*75fd0b74Schristos
3390*75fd0b74Schristos2007-01-31  DJ Delorie  <dj@redhat.com>
3391*75fd0b74Schristos
3392*75fd0b74Schristos	* elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
3393*75fd0b74Schristos	message for dangerous relocs, special case the common user error.
3394*75fd0b74Schristos
3395*75fd0b74Schristos2007-01-30  H.J. Lu  <hongjiu.lu@intel.com>
3396*75fd0b74Schristos
3397*75fd0b74Schristos	* elf.c (copy_elf_program_header): Start from the first section
3398*75fd0b74Schristos	in a segment and stop when all sections in a segment are
3399*75fd0b74Schristos	accounted for.
3400*75fd0b74Schristos
3401*75fd0b74Schristos2007-01-29  Julian Brown  <julian@codesourcery.com>
3402*75fd0b74Schristos
3403*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3404*75fd0b74Schristos	* bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
3405*75fd0b74Schristos	instruction scanning should be done.
3406*75fd0b74Schristos	(bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
3407*75fd0b74Schristos	(bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
3408*75fd0b74Schristos	(bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
3409*75fd0b74Schristos	prototype.
3410*75fd0b74Schristos	* elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
3411*75fd0b74Schristos	argument.
3412*75fd0b74Schristos	* elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
3413*75fd0b74Schristos	(VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
3414*75fd0b74Schristos	(elf32_vfp11_erratum_type): New enum.
3415*75fd0b74Schristos	(elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
3416*75fd0b74Schristos	veneers.
3417*75fd0b74Schristos	(_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
3418*75fd0b74Schristos	(elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
3419*75fd0b74Schristos	vfp11_fix and num_vfp11_fixes fields.
3420*75fd0b74Schristos	(elf32_arm_link_hash_table_create): Initialise vfp11_fix,
3421*75fd0b74Schristos	vfp11_erratum_glue_size, num_vfp11_fixes fields.
3422*75fd0b74Schristos	(VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
3423*75fd0b74Schristos	(bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
3424*75fd0b74Schristos	glue section.
3425*75fd0b74Schristos	(elf32_arm_section_map_add): Add an code/data mapping symbol entry
3426*75fd0b74Schristos	to a section's map.
3427*75fd0b74Schristos	(record_vfp11_erratum_veneer): Create a single veneer, and its
3428*75fd0b74Schristos	associated symbols.
3429*75fd0b74Schristos	(bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
3430*75fd0b74Schristos	(bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
3431*75fd0b74Schristos	BFDs.
3432*75fd0b74Schristos	(bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
3433*75fd0b74Schristos	required.
3434*75fd0b74Schristos	(bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
3435*75fd0b74Schristos	(bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
3436*75fd0b74Schristos	(bfd_arm_vfp11_write_mask): Update write mask according to coded
3437*75fd0b74Schristos	register number.
3438*75fd0b74Schristos	(bfd_arm_vfp11_antidependency): New function.
3439*75fd0b74Schristos	(bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
3440*75fd0b74Schristos	(elf32_arm_compare_mapping): Declare.
3441*75fd0b74Schristos	(bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
3442*75fd0b74Schristos	BFD for potential erratum-triggering insns. Record results.
3443*75fd0b74Schristos	(bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
3444*75fd0b74Schristos	and branches to veneers have been placed in virtual memory after
3445*75fd0b74Schristos	layout.
3446*75fd0b74Schristos	(bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
3447*75fd0b74Schristos	hash table.
3448*75fd0b74Schristos	(elf32_arm_output_symbol_hook): Remove.
3449*75fd0b74Schristos	(elf32_arm_write_section): Output veneers, and branches to veneers.
3450*75fd0b74Schristos	Use maps from input sections, not output sections, for code
3451*75fd0b74Schristos	byte-swapping.
3452*75fd0b74Schristos	* elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
3453*75fd0b74Schristos	* elf32-score.c (_bfd_score_elf_write_section): Likewise.
3454*75fd0b74Schristos	* elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
3455*75fd0b74Schristos	* elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
3456*75fd0b74Schristos
3457*75fd0b74Schristos2007-01-27  H.J. Lu  <hongjiu.lu@intel.com>
3458*75fd0b74Schristos
3459*75fd0b74Schristos	* elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
3460*75fd0b74Schristos	(INCLUDED_TARGET_FILE): Removed.
3461*75fd0b74Schristos
3462*75fd0b74Schristos2007-01-27  Mike Frysinger  <vapier@gentoo.org>
3463*75fd0b74Schristos
3464*75fd0b74Schristos	* elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
3465*75fd0b74Schristos	(INCLUDED_TARGET_FILE): Remove.
3466*75fd0b74Schristos
3467*75fd0b74Schristos2007-01-25  DJ Delorie  <dj@redhat.com>
3468*75fd0b74Schristos
3469*75fd0b74Schristos	* elf32-m32c.c (m32c_elf_howto_table): Don't complain about
3470*75fd0b74Schristos	R_M32C_16 or R_M32C_24 relocs.
3471*75fd0b74Schristos
3472*75fd0b74Schristos2007-01-25  Nick Clifton  <nickc@redhat.com>
3473*75fd0b74Schristos
3474*75fd0b74Schristos	PR binutils/3874
3475*75fd0b74Schristos	* elf32-avr.c (avr_link_hash_table): Check to make sure that the
3476*75fd0b74Schristos	hash table was created by elf32_avr_link_hash_table_create before
3477*75fd0b74Schristos	using it.
3478*75fd0b74Schristos	(elf32_avr_link_hash_newfunc): New function.  Just pass the call
3479*75fd0b74Schristos	through to _bfd_elf_link_hash_newfunc.
3480*75fd0b74Schristos	(elf32_avr_link_hash_table_create): Use
3481*75fd0b74Schristos	elf32_avr_link_hash_newfunc instead of
3482*75fd0b74Schristos	_bfd_elf_link_hash_newfunc.
3483*75fd0b74Schristos	(elf32_avr_relocate_section): Check for the hash table pointer
3484*75fd0b74Schristos	being NULL.
3485*75fd0b74Schristos	(elf32_avr_relax_section, avr_build_one_stub,
3486*75fd0b74Schristos	elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
3487*75fd0b74Schristos	elf32_avr_build_stubs): Likewise.
3488*75fd0b74Schristos
3489*75fd0b74Schristos2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>
3490*75fd0b74Schristos
3491*75fd0b74Schristos	PR ld/3831
3492*75fd0b74Schristos	* elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
3493*75fd0b74Schristos	argument, Elf_Internal_Sym *.
3494*75fd0b74Schristos
3495*75fd0b74Schristos	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
3496*75fd0b74Schristos	symbol dynamic if info->dynamic_data is TRUE.
3497*75fd0b74Schristos	(bfd_elf_record_link_assignment): Updated call to
3498*75fd0b74Schristos	bfd_elf_record_link_assignment.
3499*75fd0b74Schristos	(_bfd_elf_merge_symbol): Likewise.  Always call
3500*75fd0b74Schristos	bfd_elf_link_mark_dynamic_symbol.
3501*75fd0b74Schristos
3502*75fd0b74Schristos2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>
3503*75fd0b74Schristos
3504*75fd0b74Schristos	* Makefile.am (BFD_LIBS): Removed.
3505*75fd0b74Schristos	* Makefile.in: Regenerated.
3506*75fd0b74Schristos
3507*75fd0b74Schristos2007-01-11  H.J. Lu  <hongjiu.lu@intel.com>
3508*75fd0b74Schristos
3509*75fd0b74Schristos	PR binutils/3631
3510*75fd0b74Schristos	* Makefile.am (OFILES): Add @bfd64_libs@.
3511*75fd0b74Schristos	(libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
3512*75fd0b74Schristos	* Makefile.in: Regenerated.
3513*75fd0b74Schristos
3514*75fd0b74Schristos	* configure.in (bfd_libs): Replaced by ...
3515*75fd0b74Schristos	(bfd64_libs): This.
3516*75fd0b74Schristos	* configure: Regenerated.
3517*75fd0b74Schristos
3518*75fd0b74Schristos2007-01-11  Nathan Sidwell  <nathan@codesourcery.com>
3519*75fd0b74Schristos
3520*75fd0b74Schristos	* elf.c (assign_file_positions_for_load_sections): We can
3521*75fd0b74Schristos	require fewer phdrs than expected.
3522*75fd0b74Schristos
3523*75fd0b74Schristos2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
3524*75fd0b74Schristos
3525*75fd0b74Schristos	* archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
3526*75fd0b74Schristos	* bfd-in2.h: Regenerate.
3527*75fd0b74Schristos	* cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
3528*75fd0b74Schristos	bfd_mach_cpu32_fido.
3529*75fd0b74Schristos	(m68k_arch_features): Use fido_a instead of cpu32.
3530*75fd0b74Schristos	(bfd_m68k_compatible): Reject the combination of Fido and
3531*75fd0b74Schristos	ColdFire.  Accept the combination of CPU32 and Fido with a
3532*75fd0b74Schristos	warning.
3533*75fd0b74Schristos	* elf32-m68k.c (elf32_m68k_object_p,
3534*75fd0b74Schristos	elf32_m68k_merge_private_bfd_data,
3535*75fd0b74Schristos	elf32_m68k_print_private_bfd_data): Treat Fido as an
3536*75fd0b74Schristos	architecture by itself.
3537*75fd0b74Schristos
3538*75fd0b74Schristos2007-01-08  Kai Tietz	<kai.tietz@onevision.com>
3539*75fd0b74Schristos
3540*75fd0b74Schristos	* config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
3541*75fd0b74Schristos
3542*75fd0b74Schristos2007-01-05  Jakub Jelinek  <jakub@redhat.com>
3543*75fd0b74Schristos
3544*75fd0b74Schristos	* texhex.c (first_phase): Don't fall through into the default
3545*75fd0b74Schristos	case.
3546*75fd0b74Schristos	(pass_over): Replace abort () calls with return FALSE.  Fix
3547*75fd0b74Schristos	buffer overflow.
3548*75fd0b74Schristos
3549*75fd0b74Schristos2007-01-04  Jie Zhang  <jie.zhang@analog.com>
3550*75fd0b74Schristos
3551*75fd0b74Schristos	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
3552*75fd0b74Schristos	SEC_EXCLUDE on zero size .eh_frame.
3553*75fd0b74Schristos
3554*75fd0b74SchristosFor older changes see ChangeLog-2006
3555*75fd0b74Schristos
3556*75fd0b74SchristosCopyright (C) 2007 Free Software Foundation, Inc.
3557*75fd0b74Schristos
3558*75fd0b74SchristosCopying and distribution of this file, with or without modification,
3559*75fd0b74Schristosare permitted in any medium without royalty provided the copyright
3560*75fd0b74Schristosnotice and this notice are preserved.
3561*75fd0b74Schristos
3562*75fd0b74SchristosLocal Variables:
3563*75fd0b74Schristosmode: change-log
3564*75fd0b74Schristosleft-margin: 8
3565*75fd0b74Schristosfill-column: 74
3566*75fd0b74Schristosversion-control: never
3567*75fd0b74SchristosEnd:
3568