1*ed0d50c3Schristos2011-12-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
2*ed0d50c3Schristos
3*ed0d50c3Schristos	* elf32-rl78.c (rl78_elf_relocate_section, rl78_dump_symtab)
4*ed0d50c3Schristos	(rl78_elf_relax_section): Remove debug prints.
5*ed0d50c3Schristos
6*ed0d50c3Schristos2011-12-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
7*ed0d50c3Schristos
8*ed0d50c3Schristos	* elf32-rl78.c (rl78_elf_relocate_section, rl78_elf_relax_section): Use
9*ed0d50c3Schristos	BFD_VMA_FMT.
10*ed0d50c3Schristos
11*ed0d50c3Schristos2011-12-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
12*ed0d50c3Schristos
13*ed0d50c3Schristos	* elf32-rl78.c (prev_alignment, sec_start): Remove unused variables.
14*ed0d50c3Schristos
15*ed0d50c3Schristos2011-12-23  Tristan Gingold  <gingold@adacore.com>
16*ed0d50c3Schristos
17*ed0d50c3Schristos	* vms-lib.c (vms_traverse_index): Move pointer update code.
18*ed0d50c3Schristos
19*ed0d50c3Schristos2011-12-22  DJ Delorie  <dj@redhat.com>
20*ed0d50c3Schristos
21*ed0d50c3Schristos	* elf32-rl78.c (rl78_elf_howto_table): Add R_RL78_RH_RELAX.
22*ed0d50c3Schristos	(rl78_reloc_map): Add BFD_RELOC_RL78_RELAX.
23*ed0d50c3Schristos	(rl78_elf_relocate_section): Add R_RL78_RH_RELAX, R_RL78_RH_SFR,
24*ed0d50c3Schristos	and R_RL78_RH_SADDR.
25*ed0d50c3Schristos	(rl78_elf_finish_dynamic_sections): Only validate PLT section if
26*ed0d50c3Schristos	we didn't relax anything, as relaxing might remove a PLT reference
27*ed0d50c3Schristos	after we've set up the table.
28*ed0d50c3Schristos	(elf32_rl78_relax_delete_bytes): New.
29*ed0d50c3Schristos	(reloc_bubblesort): New.
30*ed0d50c3Schristos	(rl78_offset_for_reloc): New.
31*ed0d50c3Schristos	(relax_addr16): New.
32*ed0d50c3Schristos	(rl78_elf_relax_section): Add support for relaxing long
33*ed0d50c3Schristos	instructions into short ones.
34*ed0d50c3Schristos
35*ed0d50c3Schristos2011-12-22  Martin Schwidefsky  <schwidefsky@de.ibm.com>
36*ed0d50c3Schristos
37*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Add check for debugging
38*ed0d50c3Schristos	section in LD to LE linker relaxation for R_390_TLS_LDO32.
39*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise for
40*ed0d50c3Schristos	R_390_TLS_LDO64.
41*ed0d50c3Schristos
42*ed0d50c3Schristos2011-12-21  Ulrich Weigand  <ulrich.weigand@linaro.org>
43*ed0d50c3Schristos
44*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_nabi_grok_psinfo): Fill in core_pid.
45*ed0d50c3Schristos
46*ed0d50c3Schristos2011-12-19  Iain Sandoe  <idsandoe@googlemail.com>
47*ed0d50c3Schristos
48*ed0d50c3Schristos	* mach-o-i386.c (bfd_mach_o_section_type_valid_for_tgt): Define NULL.
49*ed0d50c3Schristos	* mach-o-target.c (bfd_mach_o_backend_data): Initialize
50*ed0d50c3Schristos	bfd_mach_o_section_type_valid_for_tgt
51*ed0d50c3Schristos	* mach-o-x86-64.c (bfd_mach_o_section_type_valid_for_x86_64): New.
52*ed0d50c3Schristos	(bfd_mach_o_section_type_valid_for_tgt): Set to
53*ed0d50c3Schristos	bfd_mach_o_section_type_valid_for_x86_64.
54*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_section_type_name): Reorder and eliminate dup.
55*ed0d50c3Schristos	(bfd_mach_o_section_attribute_name): Reorder.
56*ed0d50c3Schristos	(bfd_mach_o_get_section_type_from_name): If the target has defined a
57*ed0d50c3Schristos	validator for section types, then use it.
58*ed0d50c3Schristos	* mach-o.h (bfd_mach_o_get_section_type_from_name): Alter declaration
59*ed0d50c3Schristos	to include the bfd.
60*ed0d50c3Schristos
61*ed0d50c3Schristos2011-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
62*ed0d50c3Schristos
63*ed0d50c3Schristos	* reloc.c (BFD_RELOC_MIPS16_TLS_GD,BFD_RELOC_MIPS16_TLS_LDM,
64*ed0d50c3Schristos	BFD_RELOC_MIPS16_TLS_DTPREL_HI16,BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
65*ed0d50c3Schristos	BFD_RELOC_MIPS16_TLS_GOTTPREL,BFD_RELOC_MIPS16_TLS_TPREL_HI16,
66*ed0d50c3Schristos	BFD_RELOC_MIPS16_TLS_TPREL_LO16): New relocations for MIPS16 TLS.
67*ed0d50c3Schristos	* bfd-in2.h (bfd_reloc_code_real): Regenerate.
68*ed0d50c3Schristos	* libbfd.h (bfd_reloc_code_real_names): Regenerate.
69*ed0d50c3Schristos	* elf32-mips.c (elf_mips16_howto_table_rel): Add R_MIPS16_TLS_*
70*ed0d50c3Schristos	entries.
71*ed0d50c3Schristos	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
72*ed0d50c3Schristos	mappings.
73*ed0d50c3Schristos	* elfn32-mips.c (elf_mips16_howto_table_rel,
74*ed0d50c3Schristos	elf_mips16_howto_table_rela): Add R_MIPS16_TLS_* entries.
75*ed0d50c3Schristos	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
76*ed0d50c3Schristos	mappings.
77*ed0d50c3Schristos	* elf64-mips.c (mips16_elf64_howto_table_rel,
78*ed0d50c3Schristos	mips16_elf64_howto_table_rela): Add R_MIPS16_TLS_* entries.
79*ed0d50c3Schristos	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
80*ed0d50c3Schristos	mappings.
81*ed0d50c3Schristos	* elfxx-mips.c (TLS_RELOC_P,mips16_reloc_p,
82*ed0d50c3Schristos	_bfd_mips_elf_check_relocs): Add cases for R_MIPS16_TLS_* relocations.
83*ed0d50c3Schristos	(tls_gd_reloc_p): Add R_MIPS16_TLS_GD case.
84*ed0d50c3Schristos	(tls_ldm_reloc_p): Add R_MIPS16_TLS_LDM case.
85*ed0d50c3Schristos	(tls_gottprel_reloc_p): Add R_MIPS16_TLS_GOTTPREL case.
86*ed0d50c3Schristos	(mips_elf_calculate_relocation): Add cases for R_MIPS16_TLS_*,
87*ed0d50c3Schristos	R_MIPS_TLS_DTPREL32/64, and R_MIPS_TLS_TPREL32/64 relocations.
88*ed0d50c3Schristos
89*ed0d50c3Schristos2011-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
90*ed0d50c3Schristos	    Catherine Moore  <clm@codesourcery.com>
91*ed0d50c3Schristos	    Sandra Loosemore  <sandra@codesourcery.com>
92*ed0d50c3Schristos	    Richard Sandiford  <rdsandiford@googlemail.com>
93*ed0d50c3Schristos
94*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_local_pic_function_p): Return true when
95*ed0d50c3Schristos	H is a MIPS16 function with a kept 32-bit stub. Update comments.
96*ed0d50c3Schristos	(mips_elf_get_la25_target): New function.
97*ed0d50c3Schristos	(mips_elf_add_la25_intro): Change to use mips_elf_get_la25_target().
98*ed0d50c3Schristos	(mips_elf_add_la25_stub): Move compute of use_trampoline_p down,
99*ed0d50c3Schristos	change to use mips_elf_get_la25_target().
100*ed0d50c3Schristos	(mips_elf_relocation_needs_la25_stub): Add target_is_16_bit_code_p
101*ed0d50c3Schristos	parameter, add switch case for R_MIPS16_26.
102*ed0d50c3Schristos	(mips_elf_calculate_relocation): Redirect relocation to point to the
103*ed0d50c3Schristos	LA25 stub if it exists, instead of the MIPS16 stub. Update arguments
104*ed0d50c3Schristos	of call to mips_elf_relocation_needs_la25_stub(), don't use la25 stub
105*ed0d50c3Schristos	for mips16->mips16 calls.
106*ed0d50c3Schristos	(_bfd_mips_elf_check_relocs): Update arguments of call to
107*ed0d50c3Schristos	mips_elf_relocation_needs_la25_stub().
108*ed0d50c3Schristos	(mips_elf_create_la25_stub): Change to use mips_elf_get_la25_target().
109*ed0d50c3Schristos
110*ed0d50c3Schristos2011-12-16  Shinichiro Hamaji  <shinichiro.hamaji@gmail.com>
111*ed0d50c3Schristos
112*ed0d50c3Schristos	* mach-o-i386.c (TARGET_PRIORITY): Define as 0 (top priority)
113*ed0d50c3Schristos	* mach-o-target.c (TARGET_NAME): Use TARGET_PRIORITY
114*ed0d50c3Schristos	* mach-o-x86-64.c (TARGET_PRIORITY): Define as 0 (top priority)
115*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_header_p): Remove special handling for
116*ed0d50c3Schristos	mach-o-i386.
117*ed0d50c3Schristos	(TARGET_PRIORITY) Set 1 for mach-o-be and mach-o-le, and set 0 for
118*ed0d50c3Schristos	mach-o-fat.
119*ed0d50c3Schristos
120*ed0d50c3Schristos2011-12-15  Kevin Buettner  <kevinb@redhat.com>
121*ed0d50c3Schristos
122*ed0d50c3Schristos	* elf32-am33lin.c (elf32_am33lin_grok_prstatus): Add case
123*ed0d50c3Schristos	to correspond to a smaller ELF_NGREG defined by the kernel.
124*ed0d50c3Schristos
125*ed0d50c3Schristos2011-12-15  H.J. Lu  <hongjiu.lu@intel.com>
126*ed0d50c3Schristos
127*ed0d50c3Schristos	* elf64-x86-64.c (ELF32_DYNAMIC_INTERPRETER): Set to
128*ed0d50c3Schristos	 "/lib/ldx32.so.1".
129*ed0d50c3Schristos
130*ed0d50c3Schristos2011-12-15  Iain Sandoe  <iains@gcc.gnu.org>
131*ed0d50c3Schristos
132*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_mkobject_init): Initialize dyn_reloc_cache.
133*ed0d50c3Schristos	(bfd_mach_o_close_and_cleanup): Only cleanup Mach-O private data
134*ed0d50c3Schristos	for object files.
135*ed0d50c3Schristos
136*ed0d50c3Schristos2011-12-15  Shinichiro Hamaji  <shinichiro.hamaji@gmail.com>
137*ed0d50c3Schristos
138*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_canonicalize_reloc): Update relocation
139*ed0d50c3Schristos	table only when there isn't the cahce.
140*ed0d50c3Schristos	(bfd_mach_o_get_dynamic_reloc_upper_bound): Need one more space
141*ed0d50c3Schristos	for a pointer for the watchdog.
142*ed0d50c3Schristos	(bfd_mach_o_canonicalize_dynamic_reloc): Utilize cache like
143*ed0d50c3Schristos	bfd_mach_o_canonicalize_reloc.
144*ed0d50c3Schristos	(bfd_mach_o_close_and_cleanup): Call bfd_mach_o_free_cached_info.
145*ed0d50c3Schristos	(bfd_mach_o_free_cached_info): Free up cache data.
146*ed0d50c3Schristos	* mach-o.h (reloc_cache): A place to store cache of dynamic relocs.
147*ed0d50c3Schristos	(bfd_mach_o_free_cached_info): Add declaration.
148*ed0d50c3Schristos
149*ed0d50c3Schristos2011-12-15  Iain Sandoe  <iains@gcc.gnu.org>
150*ed0d50c3Schristos
151*ed0d50c3Schristos	* mach-o-target.c (bfd_mach_o_bfd_set_private_flags): Use
152*ed0d50c3Schristos	bfd_mach_o_bfd_set_private_flags.
153*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_bfd_set_private_flags): New.
154*ed0d50c3Schristos	* mach-o.h (bfd_mach_o_bfd_set_private_flags): Declare.
155*ed0d50c3Schristos
156*ed0d50c3Schristos2011-12-14  Nick Clifton  <nickc@redhat.com>
157*ed0d50c3Schristos
158*ed0d50c3Schristos	PR ld/12451
159*ed0d50c3Schristos	* elfcode.h (elf_checksum_contents): Read in the section's
160*ed0d50c3Schristos	contents if they are not already available, and the section
161*ed0d50c3Schristos	actually has some contents.
162*ed0d50c3Schristos
163*ed0d50c3Schristos	* compress.c (bfd_get_full_section_contents): Use zmalloc to
164*ed0d50c3Schristos	allocate the buffers so that excess bytes are guaranteed to be
165*ed0d50c3Schristos	zero.
166*ed0d50c3Schristos
167*ed0d50c3Schristos2011-12-14  Iain Sandoe  <iains@gcc.gnu.org>
168*ed0d50c3Schristos
169*ed0d50c3Schristos	* mach-o-i386.c (text_section_names_xlat): New table.
170*ed0d50c3Schristos	(data_section_names_xlat): Likewise.
171*ed0d50c3Schristos	(import_section_names_xlat): Likewise.
172*ed0d50c3Schristos	(mach_o_i386_segsec_names_xlat): Likewise.
173*ed0d50c3Schristos	(bfd_mach_o_tgt_seg_table): Use new tables.
174*ed0d50c3Schristos	* mach-o-x86-64.c (bfd_mach_o_tgt_seg_table): Set NULL.
175*ed0d50c3Schristos	* mach-o.c (mach_o_section_name_xlat, mach_o_segment_name_xlat):
176*ed0d50c3Schristos	Move to mach-o.h as   typedefs.
177*ed0d50c3Schristos	(text_section_names_xlat): Update for current GCC usage.
178*ed0d50c3Schristos	(data_section_names_xlat): Likewise.
179*ed0d50c3Schristos	(dwarf_section_names_xlat): Likewise.
180*ed0d50c3Schristos	(objc_section_names_xlat): New table.
181*ed0d50c3Schristos	(segsec_names_xlat): Add objc table.
182*ed0d50c3Schristos	(bfd_mach_o_normalize_section_name):  Replace with...
183*ed0d50c3Schristos	(bfd_mach_o_section_data_for_mach_sect): New.
184*ed0d50c3Schristos	(bfd_mach_o_section_data_for_bfd_name): New.
185*ed0d50c3Schristos	(bfd_mach_o_section_data_for_bfd_name): Update to use additional data.
186*ed0d50c3Schristos	(bfd_mach_o_convert_section_name_to_mach_o): Likewise.
187*ed0d50c3Schristos	(bfd_mach_o_bfd_copy_private_section_data): Implement.
188*ed0d50c3Schristos	(bfd_mach_o_write_symtab): Write a zero-length string as the first entry
189*ed0d50c3Schristos	for compatibility with system tools.
190*ed0d50c3Schristos	(bfd_mach_o_build_commands): Update section alignment info.
191*ed0d50c3Schristos	(bfd_mach_o_new_section_hook): Use translation table data to define
192*ed0d50c3Schristos	default section flags, type, attributes and alignment, when available.
193*ed0d50c3Schristos	(bfd_mach_o_init_section_from_mach_o): Add TODO comment.
194*ed0d50c3Schristos	(bfd_mach_o_section_type_name): Add 'symbol_stubs'.
195*ed0d50c3Schristos	(bfd_mach_o_section_attribute_name): Add 'self_modifying_code'.
196*ed0d50c3Schristos	(bfd_mach_o_get_section_type_from_name): Change "not-found" return
197*ed0d50c3Schristos	value.
198*ed0d50c3Schristos	(bfd_mach_o_tgt_seg_table): Set default NULL.
199*ed0d50c3Schristos	* mach-o.h (bfd_mach_o_segment_command):  Use define for name length.
200*ed0d50c3Schristos	(bfd_mach_o_backend_data): Move until after contents are defined.
201*ed0d50c3Schristos	(bfd_mach_o_normalize_section_name): Remove.
202*ed0d50c3Schristos	(bfd_mach_o_convert_section_name_to_bfd): Declare.
203*ed0d50c3Schristos	(mach_o_section_name_xlat): Declare.
204*ed0d50c3Schristos	(mach_o_segment_name_xlat): Declare.
205*ed0d50c3Schristos	(bfd_mach_o_section_data_for_mach_sect): Declare.
206*ed0d50c3Schristos	(bfd_mach_o_section_data_for_bfd_name): Declare.
207*ed0d50c3Schristos
208*ed0d50c3Schristos2011-12-13  Shinichiro Hamaji  <shinichiro.hamaji@gmail.com>
209*ed0d50c3Schristos
210*ed0d50c3Schristos	* dwarf2.c (bfd_dwarf2_cleanup_debug_info): Accept stash as an
211*ed0d50c3Schristos	argument like other functions to support formats other than ELF.
212*ed0d50c3Schristos	* elf-bfd.h (bfd_dwarf2_cleanup_debug_info): Move to bfd-in.h.
213*ed0d50c3Schristos	* elf.c (_bfd_elf_close_and_cleanup): Pass dwarf2_find_line_info
214*ed0d50c3Schristos	in tdata as a parameter.
215*ed0d50c3Schristos	* libbfd-in.h (bfd_dwarf2_cleanup_debug_info): Move from
216*ed0d50c3Schristos	elf-bfd.h.
217*ed0d50c3Schristos	* libbfd.h (bfd_dwarf2_cleanup_debug_info): Regenerate.
218*ed0d50c3Schristos	* mach-o-target.c (bfd_mach_o_close_and_cleanup): Remove the
219*ed0d50c3Schristos	fallback macro.
220*ed0d50c3Schristos	(bfd_mach_o_find_nearest_line): Likewise.
221*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_find_nearest_line): Add the definition
222*ed0d50c3Schristos	which calls _bfd_dwarf2_find_nearest_line.
223*ed0d50c3Schristos	(bfd_mach_o_close_and_cleanup): Likewise.
224*ed0d50c3Schristos	* mach-o.h (mach_o_data_struct): Add dwarf2_find_line_info.
225*ed0d50c3Schristos	(bfd_mach_o_find_nearest_line): Add declaration.
226*ed0d50c3Schristos	(bfd_mach_o_close_and_cleanup): Add declaration.
227*ed0d50c3Schristos
228*ed0d50c3Schristos2011-12-13  Tristan Gingold  <gingold@adacore.com>
229*ed0d50c3Schristos
230*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_read_symtab_symbols): Make global.  Remove
231*ed0d50c3Schristos	prototype.
232*ed0d50c3Schristos	(bfd_mach_o_section_get_entry_size): Make global.
233*ed0d50c3Schristos	(bfd_mach_o_section_get_nbr_indirect): Likewise.
234*ed0d50c3Schristos	(bfd_mach_o_read_symtab_strtab): Likewise.
235*ed0d50c3Schristos	(struct bfd_mach_o_xlat_name): Move to mach-o.h
236*ed0d50c3Schristos	(bfd_mach_o_print_flags): Move to binutils/od-macho.c
237*ed0d50c3Schristos	(bfd_mach_o_get_name_of_null, bfd_mach_o_get_name): Likewise.
238*ed0d50c3Schristos	(bfd_mach_o_cpu_name, bfd_mach_o_filetype_name): Likewise.
239*ed0d50c3Schristos	(bfd_mach_o_header_flags_name): Likewise.
240*ed0d50c3Schristos	(bfd_mach_o_load_command_name): Likewise.
241*ed0d50c3Schristos	(bfd_mach_o_print_private_header): Likewise.
242*ed0d50c3Schristos	(bfd_mach_o_print_section_map, bfd_mach_o_print_section): Likwise.
243*ed0d50c3Schristos	(bfd_mach_o_print_segment, bfd_mach_o_print_dysymtab): Likewise.
244*ed0d50c3Schristos	(bfd_mach_o_print_dyld_info): Likewise.
245*ed0d50c3Schristos	(bfd_mach_o_print_private_bfd_data): Remove.
246*ed0d50c3Schristos	(bfd_mach_o_type_name): Make global.
247*ed0d50c3Schristos	(bfd_mach_o_section_attribute_name): Likewise.
248*ed0d50c3Schristos	* mach-o.h (bfd_mach_o_xlat_name): Added.
249*ed0d50c3Schristos	(bfd_mach_o_section_get_nbr_indirect)
250*ed0d50c3Schristos	(bfd_mach_o_section_get_entry_size)
251*ed0d50c3Schristos	(bfd_mach_o_read_symtab_symbols)
252*ed0d50c3Schristos	(bfd_mach_o_read_symtab_strtab)
253*ed0d50c3Schristos	(bfd_mach_o_section_attribute_name)
254*ed0d50c3Schristos	(bfd_mach_o_section_type_name): Likewise.
255*ed0d50c3Schristos	* mach-o-target.c (bfd_mach_o_bfd_print_private_bfd_data): Define.
256*ed0d50c3Schristos
257*ed0d50c3Schristos2011-12-13  Chung-Lin Tang  <cltang@codesourcery.com>
258*ed0d50c3Schristos
259*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Correct
260*ed0d50c3Schristos	R_MIPS16_HI16/R_MIPS16_LO16 handling of two cleared lower bits,
261*ed0d50c3Schristos	update comments.
262*ed0d50c3Schristos
263*ed0d50c3Schristos2011-12-12  Iain Sandoe  <iains@gcc.gnu.org>
264*ed0d50c3Schristos
265*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_read_section_32): Null-terminate sectname.
266*ed0d50c3Schristos	(bfd_mach_o_read_section_64): Likewise.
267*ed0d50c3Schristos
268*ed0d50c3Schristos2011-12-11  John Davis Anglin  <dave.anglin@nrc-cnrc.gc.ca>
269*ed0d50c3Schristos
270*ed0d50c3Schristos	PR binutils/13476
271*ed0d50c3Schristos	* elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L,
272*ed0d50c3Schristos	R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations to
273*ed0d50c3Schristos	R_PARISC_DPREL21L when not doing a shared link.  Likewise convert
274*ed0d50c3Schristos	R_PARISC_TLS_GD14R, R_PARISC_TLS_LDM14R and R_PARISC_TLS_IE14R to
275*ed0d50c3Schristos	R_PARISC_DPREL14R.  Handle R_PARISC_TLS_GD21L, R_PARISC_TLS_LDM21L
276*ed0d50c3Schristos	and R_PARISC_TLS_IE21L with R_PARISC_DLTIND21L.
277*ed0d50c3Schristos
278*ed0d50c3Schristos2011-12-10  David Daney  <david.daney@cavium.com>
279*ed0d50c3Schristos
280*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_link_hash_table.rld_value): Remove.
281*ed0d50c3Schristos	(mips_elf_link_hash_table.rld_symbol): New field;
282*ed0d50c3Schristos	(MIPS_ELF_RLD_MAP_SIZE): New macro.
283*ed0d50c3Schristos	(_bfd_mips_elf_add_symbol_hook): Remember __rld_obj_head symbol
284*ed0d50c3Schristos	in rld_symbol.
285*ed0d50c3Schristos	(_bfd_mips_elf_create_dynamic_sections): Remember __rld_map symbol
286*ed0d50c3Schristos	in rld_symbol.
287*ed0d50c3Schristos	(_bfd_mips_elf_size_dynamic_sections): Set correct size for .rld_map.
288*ed0d50c3Schristos	(_bfd_mips_elf_finish_dynamic_symbol): Remove .rld_map handling.
289*ed0d50c3Schristos	(_bfd_mips_elf_finish_dynamic_sections): Use rld_symbol to
290*ed0d50c3Schristos	calculate DT_MIPS_RLD_MAP value.
291*ed0d50c3Schristos	(_bfd_mips_elf_link_hash_table_create): Initialize rld_symbol,
292*ed0d50c3Schristos	quit initializing rld_value.
293*ed0d50c3Schristos
294*ed0d50c3Schristos2011-12-08  Andrew Pinski  <apinski@cavium.com>
295*ed0d50c3Schristos            Adam Nemet  <anemet@caviumnetworks.com>
296*ed0d50c3Schristos
297*ed0d50c3Schristos	* archures.c (bfd_mach_mips_octeon2): New macro
298*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
299*ed0d50c3Schristos	* cpu-mips.c (I_mipsocteon2): New enum value.
300*ed0d50c3Schristos	(arch_info_struct): Add bfd_mach_mips_octeon2.
301*ed0d50c3Schristos	* elfxx-mips.c (_bfd_elf_mips_mach): Support E_MIPS_MACH_OCTEON2.
302*ed0d50c3Schristos	(mips_set_isa_flags): Add bfd_mach_mips_octeon2.
303*ed0d50c3Schristos	(mips_mach_extensions): Add bfd_mach_mips_octeon2.
304*ed0d50c3Schristos
305*ed0d50c3Schristos2011-12-07  Alan Modra  <amodra@gmail.com>
306*ed0d50c3Schristos
307*ed0d50c3Schristos	PR ld/12772
308*ed0d50c3Schristos	* elflink.c (elf_gc_sweep_symbol): Discard unmarked symbols
309*ed0d50c3Schristos	defined in shared libraries.
310*ed0d50c3Schristos
311*ed0d50c3Schristos2011-12-07  Tristan Gingold  <gingold@adacore.com>
312*ed0d50c3Schristos
313*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_canonicalize_symtab): Fix indentation.
314*ed0d50c3Schristos	Adjust the condition.
315*ed0d50c3Schristos	(bfd_mach_o_read_symtab_symbol): Now returns a bfd_boolean.
316*ed0d50c3Schristos	Adjust return statements.
317*ed0d50c3Schristos	(bfd_mach_o_read_symtab_strtab): Likewise.
318*ed0d50c3Schristos	(bfd_mach_o_read_symtab_symbols): Likewise.
319*ed0d50c3Schristos	(bfd_mach_o_scan_start_address): Likewise.  Make it static.
320*ed0d50c3Schristos	(bfd_mach_o_scan): Likewise.
321*ed0d50c3Schristos	(bfd_mach_o_read_dysymtab_symbol): Remove unused function.
322*ed0d50c3Schristos	(bfd_mach_o_header_p): Adjust call.
323*ed0d50c3Schristos	(bfd_mach_o_cpu_name): Make it const.
324*ed0d50c3Schristos	(bfd_mach_o_filetype_name): Likewise.
325*ed0d50c3Schristos	(bfd_mach_o_header_flags_name): Likewise.
326*ed0d50c3Schristos	(bfd_mach_o_section_type_name): Likewise.
327*ed0d50c3Schristos	(bfd_mach_o_section_attribute_name): Likewise.
328*ed0d50c3Schristos	(bfd_mach_o_load_command_name): Likewise.
329*ed0d50c3Schristos	(bfd_mach_o_get_section_type_from_name): Add a const qualifier
330*ed0d50c3Schristos	after above change.
331*ed0d50c3Schristos	(bfd_mach_o_get_section_attribute_from_name): Likewise.
332*ed0d50c3Schristos	* mach-o.h (bfd_mach_o_read_dysymtab_symbol)
333*ed0d50c3Schristos	(bfd_mach_o_scan_start_address, bfd_mach_o_scan): Remove.
334*ed0d50c3Schristos
335*ed0d50c3Schristos2011-12-06  Ulrich Weigand  <uweigand@de.ibm.com>
336*ed0d50c3Schristos
337*ed0d50c3Schristos	* elf-bfd.h (elfcore_write_s390_last_break): Add prototype.
338*ed0d50c3Schristos	(elfcore_write_s390_system_call): Likewise.
339*ed0d50c3Schristos	* elf.c (elfcore_write_s390_last_break): New function.
340*ed0d50c3Schristos	(elfcore_write_s390_system_call): Likewise.
341*ed0d50c3Schristos	(elfcore_write_register_note): Call them.
342*ed0d50c3Schristos	(elfcore_grok_s390_last_break): New function.
343*ed0d50c3Schristos	(elfcore_grok_s390_system_call): Likewise.
344*ed0d50c3Schristos	(elfcore_grok_note): Call them.
345*ed0d50c3Schristos
346*ed0d50c3Schristos2011-12-05  Tristan Gingold  <gingold@adacore.com>
347*ed0d50c3Schristos
348*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_read_symtab_symbol): Accept indirect symbols.
349*ed0d50c3Schristos
350*ed0d50c3Schristos2011-12-05  Tristan Gingold  <gingold@adacore.com>
351*ed0d50c3Schristos
352*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_write_contents): Handle LC_LOAD_UPWARD_DYLIB.
353*ed0d50c3Schristos	(bfd_mach_o_read_dylib): Likewise.
354*ed0d50c3Schristos	(bfd_mach_o_read_command): Likewise.
355*ed0d50c3Schristos	(bfd_mach_o_bfd_print_private_bfd_data): Likewise.
356*ed0d50c3Schristos
357*ed0d50c3Schristos2011-12-05  Tristan Gingold  <gingold@adacore.com>
358*ed0d50c3Schristos
359*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_read_command): Add the bfd in the error
360*ed0d50c3Schristos	message.
361*ed0d50c3Schristos	(bfd_mach_o_openr_next_archived_file): Use arch name as member name.
362*ed0d50c3Schristos	(bfd_mach_o_fat_extract): Ditto.
363*ed0d50c3Schristos
364*ed0d50c3Schristos2011-12-03  Alan Modra  <amodra@gmail.com>
365*ed0d50c3Schristos
366*ed0d50c3Schristos	PR ld/13468
367*ed0d50c3Schristos	* elflink.c (bfd_elf_final_link): Don't segfault when checking
368*ed0d50c3Schristos	for DT_TEXTREL and .dynamic does not exist.
369*ed0d50c3Schristos
370*ed0d50c3Schristos2011-12-03  Alan Modra  <amodra@gmail.com>
371*ed0d50c3Schristos
372*ed0d50c3Schristos	PR ld/13470
373*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Revert substantive
374*ed0d50c3Schristos	change in 2011-07-01 commit.  Comment.
375*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
376*ed0d50c3Schristos
377*ed0d50c3Schristos2011-12-01  Mikael Pettersson  <mikpe@it.uu.se>
378*ed0d50c3Schristos
379*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_check_relocs) <R_68K_8, R68K_16, R_68K_32>: For
380*ed0d50c3Schristos	non-SEC_ALLOC sections break before GOT and PLT accounting.
381*ed0d50c3Schristos
382*ed0d50c3Schristos2011-12-01  Hans-Peter Nilsson  <hp@axis.com>
383*ed0d50c3Schristos
384*ed0d50c3Schristos	* elf32-cris.c (cris_elf_check_relocs) <plt accounting for
385*ed0d50c3Schristos	R_CRIS_8, R_CRIS_16, and R_CRIS_32>: Move early break for
386*ed0d50c3Schristos	non-SEC_ALLOC sections before GOT and PLT accounting.
387*ed0d50c3Schristos
388*ed0d50c3Schristos2011-11-29  Andrew Pinski  <apinski@cavium.com>
389*ed0d50c3Schristos
390*ed0d50c3Schristos	* archures.c (bfd_mach_mips_octeonp): New macro.
391*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
392*ed0d50c3Schristos	* bfd/cpu-mips.c (I_mipsocteonp): New enum value.
393*ed0d50c3Schristos	(arch_info_struct): Add bfd_mach_mips_octeonp.
394*ed0d50c3Schristos	* elfxx-mips.c (mips_set_isa_flags): Add bfd_mach_mips_octeonp.
395*ed0d50c3Schristos	(mips_mach_extensions): Add bfd_mach_mips_octeonp.
396*ed0d50c3Schristos
397*ed0d50c3Schristos2011-11-23  Tristan Gingold  <gingold@adacore.com>
398*ed0d50c3Schristos
399*ed0d50c3Schristos	* vms-lib.c (get_idxlen): Add comments.  Fix type in sizeof.
400*ed0d50c3Schristos	(vms_write_index): Add comments.
401*ed0d50c3Schristos
402*ed0d50c3Schristos2011-11-22  DJ Delorie  <dj@redhat.com>
403*ed0d50c3Schristos
404*ed0d50c3Schristos	* elf32-rx.c (rx_elf_object_p): Add more checks for "scanning" to
405*ed0d50c3Schristos	avoid using the special non-swapping target when not explicitly
406*ed0d50c3Schristos	requested.
407*ed0d50c3Schristos
408*ed0d50c3Schristos2011-11-22  Daniel Calcoen  <Daniel.Calcoen@cern.ch>
409*ed0d50c3Schristos
410*ed0d50c3Schristos	* elf32-rx.c (rx_elf_object_p): Correct typo: lma->vma.
411*ed0d50c3Schristos
412*ed0d50c3Schristos2011-11-22  Tristan Gingold  <gingold@adacore.com>
413*ed0d50c3Schristos
414*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_print_symbol): Display COM for common
415*ed0d50c3Schristos	symbols.  Print section name in brackets.
416*ed0d50c3Schristos
417*ed0d50c3Schristos2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
418*ed0d50c3Schristos
419*ed0d50c3Schristos	* config.bfd: Add vectors for powerpc and powerpc64-freebsd.
420*ed0d50c3Schristos	* configure.in (TDEFINES): Add rules for powerpc*-freebsd.
421*ed0d50c3Schristos	* configure: Regenerate.
422*ed0d50c3Schristos	* elf32-ppc.c: Add powerpc-freebsd definitions.
423*ed0d50c3Schristos	* elf64-ppc.c: Add powerpc64-freebsd definitions.
424*ed0d50c3Schristos	* targets.c: Add bits for powerpc and powerpc64-freebsd.
425*ed0d50c3Schristos
426*ed0d50c3Schristos2011-11-17  Philipp Thomas  <philipp@thogro.org>
427*ed0d50c3Schristos
428*ed0d50c3Schristos	* elf32-arm.c (elf32_thumb_to_arm_stub): Sync message so that it
429*ed0d50c3Schristos	needs to be translated only once.
430*ed0d50c3Schristos
431*ed0d50c3Schristos2011-11-16  Maciej W. Rozycki  <macro@codesourcery.com>
432*ed0d50c3Schristos
433*ed0d50c3Schristos	* elf64-mips.c (mips_elf64_howto_table_rela): Set src_mask to
434*ed0d50c3Schristos	zero throughout.
435*ed0d50c3Schristos	(mips16_elf64_howto_table_rela): Likewise.
436*ed0d50c3Schristos	(micromips_elf64_howto_table_rela): Likewise.
437*ed0d50c3Schristos	* elfn32-mips.c (elf_mips_howto_table_rela): Likewise.
438*ed0d50c3Schristos	(elf_mips16_howto_table_rela): Likewise.
439*ed0d50c3Schristos	(elf_micromips_howto_table_rela): Likewise.
440*ed0d50c3Schristos
441*ed0d50c3Schristos2011-11-15  Alan Modra  <amodra@gmail.com>
442*ed0d50c3Schristos	    Andreas Tobler  <andreast@fgznet.ch>
443*ed0d50c3Schristos
444*ed0d50c3Schristos	* elflink.c (_bfd_elf_create_got_section): Replace
445*ed0d50c3Schristos	bfd_make_section_with_flags with bfd_make_section_anyway_with_flags.
446*ed0d50c3Schristos	(_bfd_elf_link_create_dynamic_sections): Likewise.
447*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_create_glink): Likewise.
448*ed0d50c3Schristos	(ppc_elf_create_dynamic_sections): Likewise.
449*ed0d50c3Schristos
450*ed0d50c3Schristos2011-11-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
451*ed0d50c3Schristos
452*ed0d50c3Schristos	* elfxx-mips.c (mips_n64_exec_plt0_entry): Use 64-bit move.
453*ed0d50c3Schristos
454*ed0d50c3Schristos2011-11-08  Nick Clifton  <nickc@redhat.com>
455*ed0d50c3Schristos
456*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relax_section): Fix check for an
457*ed0d50c3Schristos	immediate move into an address register.
458*ed0d50c3Schristos
459*ed0d50c3Schristos2011-11-09  Alan Modra  <amodra@gmail.com>
460*ed0d50c3Schristos
461*ed0d50c3Schristos	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark syms in
462*ed0d50c3Schristos	executables when export_dynamic.
463*ed0d50c3Schristos
464*ed0d50c3Schristos2011-11-08  Alan Modra  <amodra@gmail.com>
465*ed0d50c3Schristos
466*ed0d50c3Schristos	* elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename
467*ed0d50c3Schristos	ha_relocs_not_using_r2 to unexpected_toc_insn.
468*ed0d50c3Schristos	(ok_lo_toc_insn): New function.
469*ed0d50c3Schristos	(ppc64_elf_edit_toc): Check insn on lo toc reloc.  Emit warning.
470*ed0d50c3Schristos	(ppc64_elf_relocate_section): Don't check insn on lo toc reloc here.
471*ed0d50c3Schristos	Handle addic on lo toc reloc.
472*ed0d50c3Schristos
473*ed0d50c3Schristos2011-11-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
474*ed0d50c3Schristos
475*ed0d50c3Schristos	PR ld/13387
476*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_hide_symbol): Make STT_GNU_IFUNC symbol
477*ed0d50c3Schristos	go through PLT.  Reset plt field with init_plt_offset.
478*ed0d50c3Schristos	(elf32_hppa_adjust_dynamic_symbol): Ensure that a PLT slot is
479*ed0d50c3Schristos	allocated for symbols referenced by a plabel.
480*ed0d50c3Schristos
481*ed0d50c3Schristos2011-11-02  DJ Delorie  <dj@redhat.com>
482*ed0d50c3Schristos
483*ed0d50c3Schristos	* elf32-rl78.c (rl78_elf_merge_private_bfd_data): Delete unused
484*ed0d50c3Schristos	variable.
485*ed0d50c3Schristos
486*ed0d50c3Schristos2011-11-02  Jan Beulich  <jbeulich@suse.com>
487*ed0d50c3Schristos
488*ed0d50c3Schristos	* coffgen.c (coff_write_alien_symbol): Make public. Add 'struct
489*ed0d50c3Schristos	internal_syment *' parameter. Extend 'dummy' to an array with two
490*ed0d50c3Schristos	elements. Set n_numaux early. Handle BSF_FILE.
491*ed0d50c3Schristos	(coff_write_symbols): Pass NULL as new third argument to
492*ed0d50c3Schristos	coff_write_alien_symbol().
493*ed0d50c3Schristos	* cofflink.c (_bfd_coff_final_link): Don't use COFF-specific
494*ed0d50c3Schristos	obj_raw_syment_count() on non-COFF input BFD. Insert local symbols
495*ed0d50c3Schristos	from non-COFF input BFDs.
496*ed0d50c3Schristos	* libcoff-in.h (coff_write_alien_symbol): Declare.
497*ed0d50c3Schristos	* libcoff.h (coff_write_alien_symbol): Re-generate.
498*ed0d50c3Schristos
499*ed0d50c3Schristos2011-11-01  DJ Delorie  <dj@redhat.com>
500*ed0d50c3Schristos
501*ed0d50c3Schristos	* Makefile.am (ALL_MACHINES): Add cpu-rl78.lo.
502*ed0d50c3Schristos	(ALL_MACHINES_CFILES): Add cpu-rl78.c.
503*ed0d50c3Schristos	(BFD32_BACKENDS): Add elf32-rl78.lo.
504*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-rl78.c.
505*ed0d50c3Schristos	(Makefile.in): Regenerate.
506*ed0d50c3Schristos	* archures.c (bfd_architecture): Define bfd_arch_rl78.
507*ed0d50c3Schristos	(bfd_archures_list): Add bfd_rl78_arch.
508*ed0d50c3Schristos	* config.bfd: Add rl78-*-elf.
509*ed0d50c3Schristos	* configure.in: Add bfd_elf32_rl78_vec.
510*ed0d50c3Schristos	* reloc.c (bfd_reloc_code_type): Add BFD_RELOC_RL78_* relocations.
511*ed0d50c3Schristos	* targets.c (bfd_target_vector): Add bfd_elf32_rl78_vec.
512*ed0d50c3Schristos	* Makefile.in: Regenerate.
513*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
514*ed0d50c3Schristos	* configure: Regenerate.
515*ed0d50c3Schristos	* libbfd.h: Regenerate.
516*ed0d50c3Schristos	* cpu-rl78.c: New file.
517*ed0d50c3Schristos	* elf32-rl78.c: New file.
518*ed0d50c3Schristos
519*ed0d50c3Schristos2011-10-26  Nick Clifton  <nickc@redhat.com>
520*ed0d50c3Schristos
521*ed0d50c3Schristos	PR ld/13049
522*ed0d50c3Schristos	* elf64-ppc.c (STUB_SUFFIX): Revert previous delta.
523*ed0d50c3Schristos	* elf32-hppa.c (STUB_SUFFIX): Likewise.
524*ed0d50c3Schristos
525*ed0d50c3Schristos2011-10-25  Joern Rennecke  <joern.rennecke@embecosm.com>
526*ed0d50c3Schristos
527*ed0d50c3Schristos	* Makefile.am (ALL_MACHINES): Add cpu-epiphany.lo.
528*ed0d50c3Schristos	(ALL_MACHINES_CFILES): Add cpu-epiphany.c.
529*ed0d50c3Schristos	(BFD32_BACKENDS): Add elf32-epiphany.lo.
530*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-epiphany.c.
531*ed0d50c3Schristos	* archures.c (bfd_arch_epiphany): Add.
532*ed0d50c3Schristos	(bfd_mach_epiphany16, bfd_mach_epiphany32): Define.
533*ed0d50c3Schristos	(bfd_epiphany_arch): Declare.
534*ed0d50c3Schristos	(bfd_archures_list): Add &bfd_epiphany_arch.
535*ed0d50c3Schristos	* config.bfd (epiphany-*-elf): New target case.
536*ed0d50c3Schristos	* configure.in (bfd_elf32_epiphany_vec): New target vector case.
537*ed0d50c3Schristos	* reloc.c (BFD_RELOC_EPIPHANY_SIMM8): New relocation.
538*ed0d50c3Schristos	(BFD_RELOC_EPIPHANY_SIMM24, BFD_RELOC_EPIPHANY_HIGH): Likewise.
539*ed0d50c3Schristos	(BFD_RELOC_EPIPHANY_LOW, BFD_RELOC_EPIPHANY_SIMM11): Likewise.
540*ed0d50c3Schristos	(BFD_RELOC_EPIPHANY_IMM11, BFD_RELOC_EPIPHANY_IMM8): Likewise.
541*ed0d50c3Schristos	* targets.c (bfd_elf32_epiphany_vec): Declare.
542*ed0d50c3Schristos	(_bfd_target_vector): Add bfd_elf32_epiphany_vec.
543*ed0d50c3Schristos	* Makefile.in: Regenerate.
544*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
545*ed0d50c3Schristos	* configure: Regenerate.
546*ed0d50c3Schristos	* libbfd.h: Regenerate.
547*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
548*ed0d50c3Schristos	* po/bfd.pot: Regenerate.
549*ed0d50c3Schristos	* cpu-epiphany.c: New file.
550*ed0d50c3Schristos	* elf32-epiphany.c: New file.
551*ed0d50c3Schristos
552*ed0d50c3Schristos2011-10-24  Maciej W. Rozycki  <macro@codesourcery.com>
553*ed0d50c3Schristos
554*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_symbol_processing): Remove
555*ed0d50c3Schristos	assertions.
556*ed0d50c3Schristos
557*ed0d50c3Schristos2011-10-24  Eugeniy Meshcheryakov  <eugen@debian.org>
558*ed0d50c3Schristos
559*ed0d50c3Schristos	PR ld/13273
560*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Do not warn about
561*ed0d50c3Schristos	identical TAG_PCS_config attributes.
562*ed0d50c3Schristos
563*ed0d50c3Schristos2011-10-24  Nick Clifton  <nickc@redhat.com>
564*ed0d50c3Schristos
565*ed0d50c3Schristos	* po/ja.po: Updated Japanese translation.
566*ed0d50c3Schristos
567*ed0d50c3Schristos2011-10-24  Pau Garcia i Quiles  <pgquiles@elpauer.org>
568*ed0d50c3Schristos
569*ed0d50c3Schristos	PR binutils/13292
570*ed0d50c3Schristos	* bfd-in.h: Include <sys/stat.h> rather than forward defining
571*ed0d50c3Schristos	struct stat.
572*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
573*ed0d50c3Schristos
574*ed0d50c3Schristos2011-10-21  H.J. Lu  <hongjiu.lu@intel.com>
575*ed0d50c3Schristos
576*ed0d50c3Schristos	PR ld/13302
577*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Replace
578*ed0d50c3Schristos	R_386_IRELATIVE with R_386_RELATIVE.
579*ed0d50c3Schristos
580*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_relocate_section): Replace
581*ed0d50c3Schristos	R_X86_64_IRELATIVE with R_X86_64_RELATIVE.
582*ed0d50c3Schristos
583*ed0d50c3Schristos2011-10-21  H.J. Lu  <hongjiu.lu@intel.com>.
584*ed0d50c3Schristos
585*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Fix a typo in
586*ed0d50c3Schristos	comments.
587*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
588*ed0d50c3Schristos
589*ed0d50c3Schristos2011-10-21  H.J. Lu  <hongjiu.lu@intel.com>
590*ed0d50c3Schristos
591*ed0d50c3Schristos	PR ld/13302
592*ed0d50c3Schristos	* elf32-i386.c (elf_i386_link_hash_table): Add next_jump_slot_index
593*ed0d50c3Schristos	and next_irelative_index.
594*ed0d50c3Schristos	(elf_i386_link_hash_table_create): Initialize next_jump_slot_index
595*ed0d50c3Schristos	and next_irelative_index.
596*ed0d50c3Schristos	(elf_i386_allocate_dynrelocs): Increment reloc_count instead of
597*ed0d50c3Schristos	next_tls_desc_index.
598*ed0d50c3Schristos	(elf_i386_size_dynamic_sections): Set next_tls_desc_index and
599*ed0d50c3Schristos	next_irelative_index from reloc_count.
600*ed0d50c3Schristos	(elf_i386_finish_dynamic_symbol): Put R_386_IRELATIVE after
601*ed0d50c3Schristos	R_386_JUMP_SLOT.
602*ed0d50c3Schristos
603*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_link_hash_table): Add
604*ed0d50c3Schristos	next_jump_slot_index and next_irelative_index.
605*ed0d50c3Schristos	(elf_x86_64_link_hash_table_create): Initialize
606*ed0d50c3Schristos	next_jump_slot_index and next_irelative_index.
607*ed0d50c3Schristos	(elf_x86_64_size_dynamic_sections): Set next_irelative_index
608*ed0d50c3Schristos	from reloc_count.
609*ed0d50c3Schristos	(elf_x86_64_finish_dynamic_symbol): Put R_X86_64_IRELATIVE after
610*ed0d50c3Schristos	R_X86_64_JUMP_SLOT.
611*ed0d50c3Schristos
612*ed0d50c3Schristos2011-10-20  Nick Clifton  <nickc@redhat.com>
613*ed0d50c3Schristos
614*ed0d50c3Schristos	PR ld/13049
615*ed0d50c3Schristos	* elf32-arm.c (STUB_SUFFIX): Avoid collision with user namespace
616*ed0d50c3Schristos	symbol names.
617*ed0d50c3Schristos	* elf64-ppc.c (STUB_SUFFIX): Likewise.
618*ed0d50c3Schristos	* elf32-hppa.c (STUB_SUFFIX): Likewise.
619*ed0d50c3Schristos
620*ed0d50c3Schristos2011-10-20  Alan Modra  <amodra@gmail.com>
621*ed0d50c3Schristos
622*ed0d50c3Schristos	* elf32-i386.c (i386_opcode16): Delete.
623*ed0d50c3Schristos	(elf_i386_check_tls_transition): Use memcmp to compare contents.
624*ed0d50c3Schristos	* elf64-x86-64.c (x86_64_opcode16, x86_64_opcode32): Delete.
625*ed0d50c3Schristos	(elf_x86_64_check_tls_transition): Use memcmp to compare contents.
626*ed0d50c3Schristos
627*ed0d50c3Schristos2011-10-19  Alan Modra  <amodra@gmail.com>
628*ed0d50c3Schristos
629*ed0d50c3Schristos	PR ld/13177
630*ed0d50c3Schristos	* elflink.c (_bfd_elf_gc_mark_rsec): Set symbol "mark".
631*ed0d50c3Schristos	(elf_gc_sweep_symbol): Don't test plt/got refcounts, instead test
632*ed0d50c3Schristos	"mark".  Hide undefweak too.  Clear def_regular and ref_regular.
633*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_relocate_section): Ignore unresolved
634*ed0d50c3Schristos	reloc errors from garbage-collected code.
635*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
636*ed0d50c3Schristos	* elf32-bfin.c (bfin_relocate_section): Likewise.
637*ed0d50c3Schristos	(bfinfdpic_relocate_section): Likewise.
638*ed0d50c3Schristos	* elf32-cris.c (cris_elf_relocate_section): Likewise.
639*ed0d50c3Schristos	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
640*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Likewise.
641*ed0d50c3Schristos	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
642*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
643*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
644*ed0d50c3Schristos	* elf32-s390.c (elf_s390_relocate_section): Likewise.
645*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section): Likewise.
646*ed0d50c3Schristos	* elf32-spu.c (spu_elf_relocate_section): Likewise.
647*ed0d50c3Schristos	* elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
648*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
649*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
650*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
651*ed0d50c3Schristos	* elf64-s390.c (elf_s390_relocate_section): Likewise.
652*ed0d50c3Schristos	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
653*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
654*ed0d50c3Schristos	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
655*ed0d50c3Schristos	* elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
656*ed0d50c3Schristos
657*ed0d50c3Schristos2011-10-19  Alan Modra  <amodra@gmail.com>
658*ed0d50c3Schristos
659*ed0d50c3Schristos	PR ld/13311
660*ed0d50c3Schristos	* elflink.c (elf_link_output_extsym): Correct test for warning when
661*ed0d50c3Schristos	forced local executable syms are referenced from shared libraries.
662*ed0d50c3Schristos
663*ed0d50c3Schristos2011-10-19  Alan Modra  <amodra@gmail.com>
664*ed0d50c3Schristos
665*ed0d50c3Schristos	PR ld/13254
666*ed0d50c3Schristos	* elflink.c (bfd_elf_final_link): Emit error_textrel error.
667*ed0d50c3Schristos
668*ed0d50c3Schristos2011-10-18  David S. Miller  <davem@davemloft.net>
669*ed0d50c3Schristos
670*ed0d50c3Schristos	PR binutils/13301
671*ed0d50c3Schristos	* elfxx-sparc.c (sparc_elf_find_reloc_at_ofs): New function.
672*ed0d50c3Schristos	(_bfd_sparc_elf_relocate_section): Always move the __tls_get_addr
673*ed0d50c3Schristos	call delay slot instruction forward 4 bytes when performing
674*ed0d50c3Schristos	relaxation.
675*ed0d50c3Schristos
676*ed0d50c3Schristos2011-10-17  Alan Modra  <amodra@gmail.com>
677*ed0d50c3Schristos
678*ed0d50c3Schristos	PR ld/12975
679*ed0d50c3Schristos	PR ld/13195
680*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Apply 2011-09-15
681*ed0d50c3Schristos	and 2011-09-29 bfd_elf_gc_mark_dynamic_ref_symbol changes here too.
682*ed0d50c3Schristos
683*ed0d50c3Schristos2011-10-14  Hans-Peter Nilsson  <hp@axis.com>
684*ed0d50c3Schristos
685*ed0d50c3Schristos	* elf32-cris.c (cris_elf_gc_sweep_hook) <R_CRIS_16_GOTPLT>
686*ed0d50c3Schristos	<R_CRIS_32_GOTPLT>: Fix missing update of gotplt refcount for
687*ed0d50c3Schristos	global symbols.
688*ed0d50c3Schristos	<R_CRIS_8, R_CRIS_16, R_CRIS_32>: New cases for similar missing
689*ed0d50c3Schristos	updates of the plt refcount.
690*ed0d50c3Schristos	(elf_cris_adjust_gotplt_to_got): Assert integrity of the gotplt
691*ed0d50c3Schristos	refcount in relation to the plt refcount.
692*ed0d50c3Schristos
693*ed0d50c3Schristos2011-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
694*ed0d50c3Schristos
695*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_final_link_relocate): Mark PLT calls via
696*ed0d50c3Schristos	stubs as resolved.
697*ed0d50c3Schristos
698*ed0d50c3Schristos2011-10-11  Alan Modra  <amodra@gmail.com>
699*ed0d50c3Schristos
700*ed0d50c3Schristos	PR binutils/13278
701*ed0d50c3Schristos	* archive.c (bfd_generic_archive_p): Only check first element
702*ed0d50c3Schristos	when target_defaulted.
703*ed0d50c3Schristos	(_bfd_construct_extended_name_table): Use ar_maxnamelen.
704*ed0d50c3Schristos	(_bfd_archive_bsd44_construct_extended_name_table): Likewise.
705*ed0d50c3Schristos
706*ed0d50c3Schristos2011-10-11  Alan Modra  <amodra@gmail.com>
707*ed0d50c3Schristos
708*ed0d50c3Schristos	PR binutils/13257
709*ed0d50c3Schristos	* archive.c (_bfd_find_nested_archive, _bfd_get_elt_at_filepos): Open
710*ed0d50c3Schristos	thin archive element using container target if not defaulted.
711*ed0d50c3Schristos
712*ed0d50c3Schristos2011-10-10  Nick Clifton  <nickc@redhat.com>
713*ed0d50c3Schristos
714*ed0d50c3Schristos	* po/es.po: Updated Spanish translation.
715*ed0d50c3Schristos	* po/fi.po: Updated Finnish translation.
716*ed0d50c3Schristos	* po/fr.po: Updated French translation.
717*ed0d50c3Schristos	* po/ru.po: Updated Russian translation.
718*ed0d50c3Schristos
719*ed0d50c3Schristos2011-10-10  Alan Modra  <amodra@gmail.com>
720*ed0d50c3Schristos
721*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_howto_table): Add R_PPC64_TOCSAVE entry.
722*ed0d50c3Schristos	(struct ppc_link_hash_table): Add tocsave_htab.
723*ed0d50c3Schristos	(struct tocsave_entry): New.
724*ed0d50c3Schristos	(tocsave_htab_hash, tocsave_htab_eq, tocsave_find): New functions.
725*ed0d50c3Schristos	(ppc64_elf_link_hash_table_create): Create tocsave_htab..
726*ed0d50c3Schristos	(ppc64_elf_link_hash_table_free): ..and delete it.
727*ed0d50c3Schristos	(build_plt_stub): Always put STD_R2_40R1 first.
728*ed0d50c3Schristos	(ppc64_elf_size_stubs): Check for R_PPC64_TOCSAVE following reloc
729*ed0d50c3Schristos	on plt call.  If present add prologue nop location to tocsave_htab.
730*ed0d50c3Schristos	(ppc64_elf_relocate_section): Convert prologue nop to std.  Skip
731*ed0d50c3Schristos	first insn of plt call stub when R_PPC64_TOCSAVE present.
732*ed0d50c3Schristos
733*ed0d50c3Schristos2011-10-08  H.J. Lu  <hongjiu.lu@intel.com>
734*ed0d50c3Schristos
735*ed0d50c3Schristos	PR ld/13250
736*ed0d50c3Schristos	* elflink.c (elf_link_add_object_symbols): Preserve the maximum
737*ed0d50c3Schristos	alignment and size for common symbols.
738*ed0d50c3Schristos
739*ed0d50c3Schristos2011-10-08  Alan Modra  <amodra@gmail.com>
740*ed0d50c3Schristos
741*ed0d50c3Schristos	PR ld/13229
742*ed0d50c3Schristos	PR ld/13244
743*ed0d50c3Schristos	* elflink.c (elf_link_add_object_symbols): Don't make IR symbols
744*ed0d50c3Schristos	dynamic.
745*ed0d50c3Schristos
746*ed0d50c3Schristos2011-10-08  Alan Modra  <amodra@gmail.com>
747*ed0d50c3Schristos
748*ed0d50c3Schristos	PR ld/13229
749*ed0d50c3Schristos	* elflink.c (elf_link_output_extsym): Strip defined plugin symbols
750*ed0d50c3Schristos	even when strip_discarded is false.
751*ed0d50c3Schristos
752*ed0d50c3Schristos2011-10-05  Kai Tietz  <ktietz@redhat.com>
753*ed0d50c3Schristos
754*ed0d50c3Schristos	* coffgen.c (coff_write_alien_symbol): Don't write
755*ed0d50c3Schristos	symbol for discarded sections, if strip_discarded isn't
756*ed0d50c3Schristos	explicit set to false.
757*ed0d50c3Schristos	(coff_write_native_symbol): Likewise.
758*ed0d50c3Schristos
759*ed0d50c3Schristos2011-10-05  DJ Delorie  <dj@redhat.com>
760*ed0d50c3Schristos	    Nick Clifton  <nickc@redhat.com>
761*ed0d50c3Schristos
762*ed0d50c3Schristos	* elf32-rx.c: Add support for PID mode.
763*ed0d50c3Schristos	(rx_elf_relocate_section): Add checks for unsafe PID relocations.
764*ed0d50c3Schristos	Include addend in R_RX_SYM relocations.
765*ed0d50c3Schristos
766*ed0d50c3Schristos2011-09-30  Tristan Gingold  <gingold@adacore.com>
767*ed0d50c3Schristos
768*ed0d50c3Schristos	* dwarf2.c (struct dwarf2_debug): Add field debug_sections.
769*ed0d50c3Schristos	(read_section): Add sec argument. Adjust the code to get section
770*ed0d50c3Schristos	names from it.
771*ed0d50c3Schristos	(read_indirect_string): Adjust call to read_section.
772*ed0d50c3Schristos	(read_abbrevs): Ditto.
773*ed0d50c3Schristos	(decode_line_info): Ditto.
774*ed0d50c3Schristos	(read_debug_ranges): Ditto.
775*ed0d50c3Schristos	(DWARF2_DEBUG_INFO, DWARF2_COMPRESSED_DEBUG_INFO): Remove.
776*ed0d50c3Schristos	(find_debug_info): Add debug_sections parameter.  Use it instead
777*ed0d50c3Schristos	the above macros.
778*ed0d50c3Schristos	(place_sections): Get section names from stash.
779*ed0d50c3Schristos	(find_line): Add debug_sections argument.  Initialize
780*ed0d50c3Schristos	debug_sections field of stash from it.
781*ed0d50c3Schristos	Adjust calls to find_debug_info.
782*ed0d50c3Schristos	(_bfd_dwarf2_find_nearest_line): Add debug_sections argument.
783*ed0d50c3Schristos	Adjust call to find_line.
784*ed0d50c3Schristos	(_bfd_dwarf2_find_line): Adjust call to find_line.
785*ed0d50c3Schristos	* libcoff-in.h (struct dwarf_debug_section): New declaration.
786*ed0d50c3Schristos	(coff_find_nearest_line_with_names): Likewise.
787*ed0d50c3Schristos	* libcoff.h: Regenerate.
788*ed0d50c3Schristos	* libbfd-in.h (struct dwarf_debug_section): Move declaration.
789*ed0d50c3Schristos	(dwarf_debug_sections): Likewise.
790*ed0d50c3Schristos	(_bfd_dwarf2_find_nearest_line): Add debug_sections argument.
791*ed0d50c3Schristos	* libbfd.h: Regenerate.
792*ed0d50c3Schristos	* elf.c (_bfd_elf_find_nearest_line): Adjust call to
793*ed0d50c3Schristos	_bfd_dwarf2_find_nearest_line.
794*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Ditto.
795*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_find_nearest_line): Ditto.
796*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_find_nearest_line): Ditto.
797*ed0d50c3Schristos	* coffgen.c (coff_find_nearest_line_with_names): New function.
798*ed0d50c3Schristos	(coff_find_nearest_line): Calls coff_find_nearest_line_with_names.
799*ed0d50c3Schristos	* coff-rs6000.c (xcoff_debug_sections): New constant.
800*ed0d50c3Schristos	(xcoff_find_nearest_line): New function.
801*ed0d50c3Schristos	(rs6000coff_vec): Use xcoff_find_nearest_line.
802*ed0d50c3Schristos	(pmac_xcoff_vec): Ditto.
803*ed0d50c3Schristos
804*ed0d50c3Schristos2011-09-30  Alan Modra  <amodra@gmail.com>
805*ed0d50c3Schristos
806*ed0d50c3Schristos	PR ld/13235
807*ed0d50c3Schristos	* elf64-ppc.c (struct ppc64_elf_obj_tdata): Add ha_relocs_not_using_r2.
808*ed0d50c3Schristos	(ppc64_elf_edit_toc): Check HA relocs.
809*ed0d50c3Schristos	(ha_reloc_match): Delete function.
810*ed0d50c3Schristos	(ppc64_elf_relocate_section): Remove delayed HA nop optimization.
811*ed0d50c3Schristos	Instead do it and low part optimization based on
812*ed0d50c3Schristos	ha_relocs_not_using_r2.
813*ed0d50c3Schristos
814*ed0d50c3Schristos2011-09-29  Alan Modra  <amodra@gmail.com>
815*ed0d50c3Schristos
816*ed0d50c3Schristos	PR ld/13233
817*ed0d50c3Schristos	* elflink.c (_bfd_elf_gc_mark_extra_sections): Mark single member
818*ed0d50c3Schristos	debug and special section groups.
819*ed0d50c3Schristos
820*ed0d50c3Schristos2011-09-29  H.J. Lu  <hongjiu.lu@intel.com>
821*ed0d50c3Schristos
822*ed0d50c3Schristos	PR ld/13195
823*ed0d50c3Schristos	* elflink.c (_bfd_elf_merge_symbol): Don't set dynamic_def when
824*ed0d50c3Schristos	clearing def_dynamic.
825*ed0d50c3Schristos	(elf_link_add_object_symbols): Likewise.  Set dynamic_def when
826*ed0d50c3Schristos	setting def_dynamic.
827*ed0d50c3Schristos	(bfd_elf_gc_mark_dynamic_ref_symbol): Check if a symbol is
828*ed0d50c3Schristos	versioned.
829*ed0d50c3Schristos
830*ed0d50c3Schristos2011-09-27  Kai Tietz  <ktietz@redhat.com>
831*ed0d50c3Schristos
832*ed0d50c3Schristos	* coffcode.h (sec_to_styp_flags): Handle
833*ed0d50c3Schristos	SEC_LINK_DUPLICATES_SAME_CONTENTS, and
834*ed0d50c3Schristos	SEC_LINK_DUPLICATES_SAME_SIZE.
835*ed0d50c3Schristos
836*ed0d50c3Schristos2011-09-22  Tristan Gingold  <gingold@adacore.com>
837*ed0d50c3Schristos
838*ed0d50c3Schristos	* configure.in: Bump version to 2.22.51
839*ed0d50c3Schristos	* configure: Regenerate.
840*ed0d50c3Schristos
841*ed0d50c3Schristos2011-09-21  David S. Miller  <davem@davemloft.net>
842*ed0d50c3Schristos
843*ed0d50c3Schristos	* elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): New.
844*ed0d50c3Schristos	* elfxx-sparc.h: Declare it.
845*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Call it.
846*ed0d50c3Schristos	* elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
847*ed0d50c3Schristos
848*ed0d50c3Schristos2011-09-21  Tristan Gingold  <gingold@adacore.com>
849*ed0d50c3Schristos
850*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_convert_section_name_to_bfd): Add comment.
851*ed0d50c3Schristos	Deals with size limited strings.
852*ed0d50c3Schristos	(bfd_mach_o_build_commands): Initialize more fields.
853*ed0d50c3Schristos
854*ed0d50c3Schristos2011-09-15  H.J. Lu  <hongjiu.lu@intel.com>
855*ed0d50c3Schristos
856*ed0d50c3Schristos	PR ld/13177
857*ed0d50c3Schristos	* elflink.c (elf_gc_sweep_symbol): Also hide symbols without PLT
858*ed0d50c3Schristos	nor GOT references.
859*ed0d50c3Schristos
860*ed0d50c3Schristos2011-09-15  H.J. Lu  <hongjiu.lu@intel.com>
861*ed0d50c3Schristos
862*ed0d50c3Schristos	PR ld/12975
863*ed0d50c3Schristos	* bfd-in.h (bfd_elf_size_dynamic_sections): Remove pointer
864*ed0d50c3Schristos	to struct bfd_elf_version_tree.
865*ed0d50c3Schristos
866*ed0d50c3Schristos	* elflink.c (elf_info_failed): Remove verdefs.
867*ed0d50c3Schristos	(_bfd_elf_export_symbol): Updated.
868*ed0d50c3Schristos	_bfd_elf_link_assign_sym_version): Likewise.
869*ed0d50c3Schristos	(bfd_elf_size_dynamic_sections): Remove pointer to struct
870*ed0d50c3Schristos	bfd_elf_version_tree.  Updated.
871*ed0d50c3Schristos	(bfd_elf_gc_mark_dynamic_ref_symbol): Check if a symbol is hidden
872*ed0d50c3Schristos	by linker script.
873*ed0d50c3Schristos
874*ed0d50c3Schristos	* linker.c (bfd_hide_sym_by_version): New.
875*ed0d50c3Schristos
876*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
877*ed0d50c3Schristos
878*ed0d50c3Schristos2011-09-12  H.J. Lu  <hongjiu.lu@intel.com>
879*ed0d50c3Schristos
880*ed0d50c3Schristos	PR ld/13178
881*ed0d50c3Schristos	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Use .got.plt
882*ed0d50c3Schristos	if there are no GOT relocations.
883*ed0d50c3Schristos
884*ed0d50c3Schristos2011-09-09  Kai Tietz  <ktietz@redhat.com>
885*ed0d50c3Schristos
886*ed0d50c3Schristos	* peicode.h (pe_ILF_build_a_bfd): Don't remove leading underscore
887*ed0d50c3Schristos	for targets without symbol_leading_char.
888*ed0d50c3Schristos
889*ed0d50c3Schristos2011-09-08  Bernd Jendrissek  <bernd.jendrissek@gmail.com>
890*ed0d50c3Schristos
891*ed0d50c3Schristos	* bfdwin.c (bfd_get_file_window): Fix memory leak.
892*ed0d50c3Schristos
893*ed0d50c3Schristos2011-09-07  Alan Modra  <amodra@gmail.com>
894*ed0d50c3Schristos
895*ed0d50c3Schristos	PR ld/13131
896*ed0d50c3Schristos	* bfd/elf64-ppc.c (adjust_toc_syms): Ensure ppc64_elf_howto_table
897*ed0d50c3Schristos	is initialized.
898*ed0d50c3Schristos
899*ed0d50c3Schristos2011-09-06  Alan Modra  <amodra@gmail.com>
900*ed0d50c3Schristos
901*ed0d50c3Schristos	PR ld/13131
902*ed0d50c3Schristos	* elf64-ppc.c (adjust_toc_syms): Delete redundant code.
903*ed0d50c3Schristos	(ppc64_elf_edit_toc): Fix style nit.  Report some details
904*ed0d50c3Schristos	on linker failure due to reference in debug or non-alloc
905*ed0d50c3Schristos	sections to optimized away toc entry, and don't abort.
906*ed0d50c3Schristos
907*ed0d50c3Schristos2011-09-01  Christophe Lyon  <christophe.lyon@st.com>
908*ed0d50c3Schristos
909*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_output_arch_local_syms): Skip excluded
910*ed0d50c3Schristos	sections.
911*ed0d50c3Schristos
912*ed0d50c3Schristos2011-08-26  Nick Clifton  <nickc@redhat.com>
913*ed0d50c3Schristos
914*ed0d50c3Schristos	* po/es.po: Updated Spanish translation.
915*ed0d50c3Schristos
916*ed0d50c3Schristos2011-08-19  Alan Modra  <amodra@gmail.com>
917*ed0d50c3Schristos
918*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_edit_toc): Ignore can_optimize bit if
919*ed0d50c3Schristos	we haven't seen expected -mcmodel=medium/large code relocs.
920*ed0d50c3Schristos
921*ed0d50c3Schristos2011-08-18  Tristan Gingold  <gingold@adacore.com>
922*ed0d50c3Schristos
923*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_read_segment): Initialize list.
924*ed0d50c3Schristos
925*ed0d50c3Schristos2011-08-17  Tristan Gingold  <gingold@adacore.com>
926*ed0d50c3Schristos
927*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_write_section_32): Fix typo.
928*ed0d50c3Schristos
929*ed0d50c3Schristos2011-08-17  Alan Modra  <amodra@gmail.com>
930*ed0d50c3Schristos
931*ed0d50c3Schristos	PR ld/12762
932*ed0d50c3Schristos	* bfd-in.h (struct bfd_section_already_linked): Forward declare.
933*ed0d50c3Schristos	(_bfd_handle_already_linked): Declare.
934*ed0d50c3Schristos	* coff-alpha.c (_bfd_ecoff_section_already_linked): Define as
935*ed0d50c3Schristos	_bfd_coff_section_already_linked.
936*ed0d50c3Schristos	* coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
937*ed0d50c3Schristos	* coffcode.h (coff_section_already_linked): Likewise.
938*ed0d50c3Schristos	* cofflink.c (coff_link_add_symbols): Revert 2011-07-09 changes.
939*ed0d50c3Schristos	* elf-bfd.h: Likewise.
940*ed0d50c3Schristos	* libbfd-in.h: Likewise.
941*ed0d50c3Schristos	* targets.c: Likewise.
942*ed0d50c3Schristos	* linker.c (bfd_section_already_linked): Likewise.
943*ed0d50c3Schristos	(bfd_section_already_linked_table_lookup): Likewise.
944*ed0d50c3Schristos	(bfd_section_already_linked_table_insert): Likewise.
945*ed0d50c3Schristos	(_bfd_generic_section_already_linked): Likewise.  Call
946*ed0d50c3Schristos	_bfd_handle_already_linked.
947*ed0d50c3Schristos	(_bfd_handle_already_linked): New function, split out from..
948*ed0d50c3Schristos	* elflink.c (_bfd_elf_section_already_linked): ..here.  Revert
949*ed0d50c3Schristos	2011-07-09 changes.  Avoid unnecessary strcmp when matching
950*ed0d50c3Schristos	already_linked_list entries.  Match plugin linkonce section.
951*ed0d50c3Schristos	(section_signature): Delete.
952*ed0d50c3Schristos	* coffgen.c (_bfd_coff_section_already_linked): New function.
953*ed0d50c3Schristos	* libcoff-in.h (_bfd_coff_section_already_linked): Declare.
954*ed0d50c3Schristos	* libbfd.h: Regenerate.
955*ed0d50c3Schristos	* libcoff.h: Regenerate.
956*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
957*ed0d50c3Schristos
958*ed0d50c3Schristos2011-08-14  Alan Modra  <amodra@gmail.com>
959*ed0d50c3Schristos
960*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_select_plt_layout): Force bss-plt when
961*ed0d50c3Schristos	shared and call to _mcount will go via plt.
962*ed0d50c3Schristos
963*ed0d50c3Schristos2011-08-14  Alan Modra  <amodra@gmail.com>
964*ed0d50c3Schristos
965*ed0d50c3Schristos	* elf64-ppc.c: Prefix all einfo error strings with "%P: ".
966*ed0d50c3Schristos	* elf32-ppc.c: Likewise.
967*ed0d50c3Schristos	(ppc_elf_select_plt_layout): Use einfo rather than info to report
968*ed0d50c3Schristos	forced bss-plt.
969*ed0d50c3Schristos
970*ed0d50c3Schristos2011-08-12  H.J. Lu  <hongjiu.lu@intel.com>
971*ed0d50c3Schristos
972*ed0d50c3Schristos	PR ld/13082
973*ed0d50c3Schristos	* elf64-x86-64.c (x86_64_elf_howto_table): Add R_X86_64_RELATIVE64.
974*ed0d50c3Schristos	(elf_x86_64_relocate_section): Treat R_X86_64_64 like R_X86_64_32
975*ed0d50c3Schristos	and zero-extend it to 64bit if addend is zero for x32.  Generate
976*ed0d50c3Schristos	R_X86_64_RELATIVE64 for x32.
977*ed0d50c3Schristos
978*ed0d50c3Schristos2011-08-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
979*ed0d50c3Schristos
980*ed0d50c3Schristos	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
981*ed0d50c3Schristos	* bfd-in2.h (bfd_elf32_arm_set_target_relocs): Likewise.
982*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_link_hash_table): New field.
983*ed0d50c3Schristos	(elf232_arm_link_hash_table_create): Initialise new field.
984*ed0d50c3Schristos	(check_use_blx): Change test depending on fix_arm1176.
985*ed0d50c3Schristos	(bfd_elf32_arm_set_target_relocs): Set fix_arm1176 from
986*ed0d50c3Schristos	command line options.
987*ed0d50c3Schristos
988*ed0d50c3Schristos2011-08-08  Tristan Gingold  <gingold@adacore.com>
989*ed0d50c3Schristos
990*ed0d50c3Schristos	* mach-o.c (struct mach_o_segment_name_xlat): Add comments.
991*ed0d50c3Schristos	(segsec_names_xlat): Reorder elements.
992*ed0d50c3Schristos	(bfd_mach_o_read_section_32): Fix typo.
993*ed0d50c3Schristos	(bfd_mach_o_read_section_64): Fix typo.
994*ed0d50c3Schristos
995*ed0d50c3Schristos2011-08-08  Tristan Gingold  <gingold@adacore.com>
996*ed0d50c3Schristos
997*ed0d50c3Schristos	* mach-o.h (BFD_MACH_O_SEGNAME_SIZE): New macro.
998*ed0d50c3Schristos	(BFD_MACH_O_SECTNAME_SIZE): Ditto.
999*ed0d50c3Schristos	(bfd_mach_o_section): Use them.  Add next field.
1000*ed0d50c3Schristos	(bfd_mach_o_segment_command): Replace sections array by
1001*ed0d50c3Schristos	sect_head and sect_tail.
1002*ed0d50c3Schristos	(bfd_mach_o_get_mach_o_section): New macro.
1003*ed0d50c3Schristos	(bfd_mach_o_lookup_section): Remove.
1004*ed0d50c3Schristos	(bfd_mach_o_new_section_hook): New function.
1005*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_normalize_section_name): Use strncmp
1006*ed0d50c3Schristos	instead of strcmp.
1007*ed0d50c3Schristos	(bfd_mach_o_convert_section_name_to_bfd): Replaces section
1008*ed0d50c3Schristos	parameter with segname and sectname parameters.  Adjust.
1009*ed0d50c3Schristos	(bfd_mach_o_append_section_to_segment): New function.  Use a
1010*ed0d50c3Schristos	linked list for Mach-O sections.
1011*ed0d50c3Schristos	(bfd_mach_o_write_segment_32): Adjust.
1012*ed0d50c3Schristos	(bfd_mach_o_write_segment_64): Ditto.
1013*ed0d50c3Schristos	(bfd_mach_o_build_commands): Fix comment.  Adjust.
1014*ed0d50c3Schristos	(bfd_mach_o_flatten_sections): Adjust.
1015*ed0d50c3Schristos	(bfd_mach_o_print_section_map): Adjust.
1016*ed0d50c3Schristos	(bfd_mach_o_set_section_flags_from_bfd): Ditto.
1017*ed0d50c3Schristos	(bfd_mach_o_new_section_hook): New function.
1018*ed0d50c3Schristos	(bfd_mach_o_init_section_from_mach_o): Ditto.
1019*ed0d50c3Schristos	(bfd_mach_o_read_section_32): Remove section parameter.
1020*ed0d50c3Schristos	Return a section instead.
1021*ed0d50c3Schristos	(bfd_mach_o_read_section_64): Ditto.
1022*ed0d50c3Schristos	(bfd_mach_o_read_section): Ditto.
1023*ed0d50c3Schristos	(bfd_mach_o_make_bfd_section): Adjust.
1024*ed0d50c3Schristos	(bfd_mach_o_read_segment): Adjust for new profile of
1025*ed0d50c3Schristos	bfd_mach_o_read_section.
1026*ed0d50c3Schristos	(bfd_mach_o_lookup_section): Remove.
1027*ed0d50c3Schristos	* mach-o-target.c (bfd_mach_o_new_section_hook): Remove.
1028*ed0d50c3Schristos
1029*ed0d50c3Schristos2011-08-08  Tristan Gingold  <gingold@adacore.com>
1030*ed0d50c3Schristos
1031*ed0d50c3Schristos	* mach-o.h (bfd_mach_o_version_min_command): New structure.
1032*ed0d50c3Schristos	(bfd_mach_o_load_command): Add version_min.
1033*ed0d50c3Schristos	(mach_o_data_struct): Fix comment.
1034*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_read_version_min): New function.
1035*ed0d50c3Schristos	(bfd_mach_o_read_command): Handle BFD_MACH_O_LC_FUNCTION_STARTS,
1036*ed0d50c3Schristos	BFD_MACH_O_LC_VERSION_MIN_MACOSX and
1037*ed0d50c3Schristos	BFD_MACH_O_LC_VERSION_MIN_IPHONEOS.
1038*ed0d50c3Schristos	(bfd_mach_o_get_name_or_null): New function.
1039*ed0d50c3Schristos	(bfd_mach_o_get_name): Use the above new one.
1040*ed0d50c3Schristos	(bfd_mach_o_load_command_name): Add the above new commands.
1041*ed0d50c3Schristos	(bfd_mach_o_bfd_print_private_bfd_data): Display numerically
1042*ed0d50c3Schristos	unknown commands.  Handle BFD_MACH_O_LC_FUNCTION_STARTS,
1043*ed0d50c3Schristos	BFD_MACH_O_LC_VERSION_MIN_MACOSX and
1044*ed0d50c3Schristos	BFD_MACH_O_LC_VERSION_MIN_IPHONEOS.
1045*ed0d50c3Schristos
1046*ed0d50c3Schristos2011-08-08  Tristan Gingold  <gingold@adacore.com>
1047*ed0d50c3Schristos
1048*ed0d50c3Schristos	* mach-o.h: Move size macros to external.h
1049*ed0d50c3Schristos	Move reloc macros to reloc.h and x86-64.h.
1050*ed0d50c3Schristos	* mach-o-i386.c: Includes mach-o/reloc.h
1051*ed0d50c3Schristos	* mach-o-x86-64.c: Ditto and includes mach-o/x86-64.h
1052*ed0d50c3Schristos	* mach-o.c: Add includes.
1053*ed0d50c3Schristos	(bfd_mach_o_write_header): Use structure from external.h to convert.
1054*ed0d50c3Schristos	(bfd_mach_o_write_thread): Ditto.
1055*ed0d50c3Schristos	(bfd_mach_o_write_relocs): Ditto.
1056*ed0d50c3Schristos	(bfd_mach_o_write_section_32): Ditto.
1057*ed0d50c3Schristos	(bfd_mach_o_write_section_64): Ditto.
1058*ed0d50c3Schristos	(bfd_mach_o_write_segment_32): Ditto.
1059*ed0d50c3Schristos	(bfd_mach_o_write_segment_64): Ditto.
1060*ed0d50c3Schristos	(bfd_mach_o_write_symtab): Ditto.
1061*ed0d50c3Schristos	(bfd_mach_o_write_contents): Ditto.
1062*ed0d50c3Schristos	(bfd_mach_o_read_header): Ditto.
1063*ed0d50c3Schristos	(bfd_mach_o_read_section_32): Ditto.
1064*ed0d50c3Schristos	(bfd_mach_o_read_section_64): Ditto.
1065*ed0d50c3Schristos	(bfd_mach_o_read_symtab_symbol): Ditto.
1066*ed0d50c3Schristos	(bfd_mach_o_read_dylinker): Ditto.
1067*ed0d50c3Schristos	(bfd_mach_o_read_dylib): Ditto.
1068*ed0d50c3Schristos	(bfd_mach_o_read_dysymtab): Ditto.
1069*ed0d50c3Schristos	(bfd_mach_o_read_symtab): Ditto.
1070*ed0d50c3Schristos	(bfd_mach_o_read_linkedit): Ditto.
1071*ed0d50c3Schristos	(bfd_mach_o_read_str): Ditto.
1072*ed0d50c3Schristos	(bfd_mach_o_read_dyld_info): Ditto.
1073*ed0d50c3Schristos	(bfd_mach_o_read_segment): Ditto.
1074*ed0d50c3Schristos	(bfd_mach_o_read_command): Ditto.
1075*ed0d50c3Schristos	(bfd_mach_o_archive_p): Ditto.
1076*ed0d50c3Schristos	(bfd_mach_o_canonicalize_one_reloc): Ditto. Change the BUF parameter.
1077*ed0d50c3Schristos	(bfd_mach_o_canonicalize_relocs): Adjust to call the above function.
1078*ed0d50c3Schristos	(bfd_mach_o_read_dysymtab_symbol): Rename BUF variable.
1079*ed0d50c3Schristos	(bfd_mach_o_read_uuid): Remove useless cast.  Use a macro instead
1080*ed0d50c3Schristos	of an hard-coded value.
1081*ed0d50c3Schristos
1082*ed0d50c3Schristos2011-08-08  Tristan Gingold  <gingold@adacore.com>
1083*ed0d50c3Schristos
1084*ed0d50c3Schristos	* mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Fix cut-and-past typos.
1085*ed0d50c3Schristos	(bfd_mach_o_x86_64_swap_reloc_out): Handle BFD_RELOC_32_PCREL,
1086*ed0d50c3Schristos	BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64 and
1087*ed0d50c3Schristos	BFD_RELOC_MACH_O_X86_64_GOT_LOAD.  Share common code.
1088*ed0d50c3Schristos
1089*ed0d50c3Schristos2011-08-08  Tristan Gingold  <gingold@adacore.com>
1090*ed0d50c3Schristos
1091*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_normalize_section_name): New function.
1092*ed0d50c3Schristos	(bfd_mach_o_convert_section_name_to_bfd): Use it.
1093*ed0d50c3Schristos	(bfd_mach_o_get_section_type_from_name): New function.
1094*ed0d50c3Schristos	(bfd_mach_o_get_section_attribute_from_name): Ditto.
1095*ed0d50c3Schristos	* mach-o.h (bfd_mach_o_section): Move bfdsection field at the end.
1096*ed0d50c3Schristos	Add comments.  Add prototypes for the above new functions.
1097*ed0d50c3Schristos
1098*ed0d50c3Schristos2011-08-05  Mark Kettenis  <kettenis@gnu.org>
1099*ed0d50c3Schristos
1100*ed0d50c3Schristos	* netbsd-core.c (netbsd_core_vec): Init match_priority field.
1101*ed0d50c3Schristos
1102*ed0d50c3Schristos2011-08-05  Alan Modra  <amodra@gmail.com>
1103*ed0d50c3Schristos
1104*ed0d50c3Schristos	* elf64-ppc.c (maybe_strip_output): New function.
1105*ed0d50c3Schristos	(ppc64_elf_size_stubs): Use it to strip .branch_lt and .eh_frame.
1106*ed0d50c3Schristos
1107*ed0d50c3Schristos2011-08-05  Alan Modra  <amodra@gmail.com>
1108*ed0d50c3Schristos
1109*ed0d50c3Schristos	PR ld/12762
1110*ed0d50c3Schristos	* elflink.c (_bfd_elf_section_already_linked): Return matched
1111*ed0d50c3Schristos	status.  Remove COFF comdat section handling.
1112*ed0d50c3Schristos	* linker.c (_bfd_generic_section_already_linked): Return matched
1113*ed0d50c3Schristos	status.  Don't set SEC_GROUP in l_flags for plugin entries.
1114*ed0d50c3Schristos	(bfd_section_already_linked): Update prototype.
1115*ed0d50c3Schristos	* targets.c (_section_already_linked): Likewise.
1116*ed0d50c3Schristos	* elf-bfd.h (_bfd_elf_section_already_linked): Likewise.
1117*ed0d50c3Schristos	* libbfd-in.h (_bfd_generic_section_already_linked): Likewise.
1118*ed0d50c3Schristos	(_bfd_nolink_section_already_linked): Update.
1119*ed0d50c3Schristos	* libbfd.h: Regenerate.
1120*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1121*ed0d50c3Schristos
1122*ed0d50c3Schristos2011-08-05  Alan Modra  <amodra@gmail.com>
1123*ed0d50c3Schristos
1124*ed0d50c3Schristos	* elf32-ppc.c: Include dwarf2.h.
1125*ed0d50c3Schristos	(struct ppc_elf_link_hash_table): Add glink_eh_frame.
1126*ed0d50c3Schristos	(ppc_elf_create_glink): Create .eh_frame section.
1127*ed0d50c3Schristos	(glink_eh_frame_cie): New array.
1128*ed0d50c3Schristos	(ppc_elf_size_dynamic_sections): Size glink_eh_frame.
1129*ed0d50c3Schristos	(ppc_elf_finish_dynamic_sections): Write glink_eh_frame.
1130*ed0d50c3Schristos
1131*ed0d50c3Schristos2011-08-04  Tristan Gingold  <gingold@adacore.com>
1132*ed0d50c3Schristos
1133*ed0d50c3Schristos	* vms-alpha.c (_bfd_vms_write_eeom): Round vms_linkage_index.
1134*ed0d50c3Schristos	(_bfd_vms_write_etir): Initialize vms_linkage_index to 0.
1135*ed0d50c3Schristos
1136*ed0d50c3Schristos2011-08-03  Tristan Gingold  <gingold@adacore.com>
1137*ed0d50c3Schristos
1138*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_canonicalize_symtab): Handle no symbols case.
1139*ed0d50c3Schristos	(bfd_mach_o_read_symtab_symbols): Return if no symbols.
1140*ed0d50c3Schristos
1141*ed0d50c3Schristos2011-08-02  Maciej W. Rozycki  <macro@codesourcery.com>
1142*ed0d50c3Schristos
1143*ed0d50c3Schristos	* elfxx-mips.c (check_4byte_branch): Remove function.
1144*ed0d50c3Schristos	(check_relocated_bzc): New function.
1145*ed0d50c3Schristos	(_bfd_mips_elf_relax_section): Permit the relaxation of LUI
1146*ed0d50c3Schristos	instructions that immediately follow a compact branch
1147*ed0d50c3Schristos	instruction.
1148*ed0d50c3Schristos
1149*ed0d50c3Schristos2011-08-02  Alan Modra  <amodra@gmail.com>
1150*ed0d50c3Schristos
1151*ed0d50c3Schristos	* elf64-ppc.c (build_plt_stub): Correct emitted relocs when no
1152*ed0d50c3Schristos	plt_static_chain.
1153*ed0d50c3Schristos	(ppc_build_one_stub): Adjust get_relocs call to suit..
1154*ed0d50c3Schristos	(ppc_size_one_stub): ..and reloc sizing.  Correct plt size corner case.
1155*ed0d50c3Schristos
1156*ed0d50c3Schristos2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>
1157*ed0d50c3Schristos
1158*ed0d50c3Schristos	PR ld/13048
1159*ed0d50c3Schristos	* archures.c (bfd_mach_i386_intel_syntax): New.
1160*ed0d50c3Schristos	(bfd_mach_i386_i8086): Updated.
1161*ed0d50c3Schristos	(bfd_mach_i386_i386): Likewise.
1162*ed0d50c3Schristos	(bfd_mach_x86_64): Likewise.
1163*ed0d50c3Schristos	(bfd_mach_x64_32): Likewise.
1164*ed0d50c3Schristos	(bfd_mach_i386_i386_intel_syntax): Likewise.
1165*ed0d50c3Schristos	(bfd_mach_x86_64_intel_syntax): Likewise.
1166*ed0d50c3Schristos	(bfd_mach_x64_32_intel_syntax): Likewise.
1167*ed0d50c3Schristos	(bfd_mach_l1om): Likewise.
1168*ed0d50c3Schristos	(bfd_mach_l1om_intel_syntax): Likewise.
1169*ed0d50c3Schristos	(bfd_mach_k1om): Likewise.
1170*ed0d50c3Schristos	(bfd_mach_k1om_intel_syntax): Likewise.
1171*ed0d50c3Schristos
1172*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
1173*ed0d50c3Schristos
1174*ed0d50c3Schristos	* cpu-i386.c (bfd_i386_compatible): Check mach instead of
1175*ed0d50c3Schristos	bits_per_address.
1176*ed0d50c3Schristos	(bfd_x64_32_arch_intel_syntax): Set bits_per_address to 64.
1177*ed0d50c3Schristos	(bfd_x64_32_arch): Likewise.
1178*ed0d50c3Schristos
1179*ed0d50c3Schristos	* elf64-x86-64.c: Include "libiberty.h".
1180*ed0d50c3Schristos	(x86_64_elf_howto_table): Append x32 R_X86_64_32.
1181*ed0d50c3Schristos	(elf_x86_64_rtype_to_howto): Support x32 R_X86_64_32.
1182*ed0d50c3Schristos	(elf_x86_64_reloc_type_lookup): Likewise.
1183*ed0d50c3Schristos	(elf_x86_64_reloc_name_lookup): Likewise.
1184*ed0d50c3Schristos	(elf_x86_64_relocate_section): Likewise.
1185*ed0d50c3Schristos	(elf_x86_64_check_relocs): Allow R_X86_64_64 relocations for x32.
1186*ed0d50c3Schristos
1187*ed0d50c3Schristos2011-07-29  Maciej W. Rozycki  <macro@codesourcery.com>
1188*ed0d50c3Schristos
1189*ed0d50c3Schristos	* elfxx-mips.c (check_br32): Fix return type.
1190*ed0d50c3Schristos
1191*ed0d50c3Schristos2011-07-29  Maciej W. Rozycki  <macro@codesourcery.com>
1192*ed0d50c3Schristos
1193*ed0d50c3Schristos	* elfxx-mips.c (bz_insn_16): Correct opcode mask.
1194*ed0d50c3Schristos
1195*ed0d50c3Schristos2011-07-29  Maciej W. Rozycki  <macro@codesourcery.com>
1196*ed0d50c3Schristos
1197*ed0d50c3Schristos	* elfxx-mips.c: Adjust comments throughout.
1198*ed0d50c3Schristos	(mips_elf_relax_delete_bytes): Reshape code.
1199*ed0d50c3Schristos	(_bfd_mips_elf_relax_section): Remove check for
1200*ed0d50c3Schristos	R_MICROMIPS_GPREL16 relocations.  Reshape code.
1201*ed0d50c3Schristos
1202*ed0d50c3Schristos2011-07-28  Roland McGrath  <mcgrathr@google.com>
1203*ed0d50c3Schristos
1204*ed0d50c3Schristos	* elf32-i386.c (NACL_PLT_ENTRY_SIZE, NACLMASK): New macros.
1205*ed0d50c3Schristos	(elf_i386_nacl_plt0_entry): New variable.
1206*ed0d50c3Schristos	(elf_i386_plt_entry): New variable.
1207*ed0d50c3Schristos	(elf_i386_nacl_pic_plt0_entry): New variable.
1208*ed0d50c3Schristos	(elf_i386_nacl_pic_plt_entry): New variable.
1209*ed0d50c3Schristos	(elf_i386_nacl_plt, elf_i386_nacl_arch_bed): New variables.
1210*ed0d50c3Schristos	(elf_backend_arch_data): New macro setting for elf_i386_nacl_vec stanza.
1211*ed0d50c3Schristos	(elf_backend_plt_alignment): Likewise.
1212*ed0d50c3Schristos
1213*ed0d50c3Schristos	* config.bfd: Handle i[3-7]86-*-nacl*.
1214*ed0d50c3Schristos	* elf32-i386.c (bfd_elf32_i386_nacl_vec): New backend vector stanza.
1215*ed0d50c3Schristos	* targets.c: Support bfd_elf32_i386_nacl_vec.
1216*ed0d50c3Schristos	* configure.in: Likewise.
1217*ed0d50c3Schristos	* configure: Regenerated.
1218*ed0d50c3Schristos
1219*ed0d50c3Schristos	* elf32-i386.c (struct elf_i386_plt_layout): New type.
1220*ed0d50c3Schristos	(GET_PLT_ENTRY_SIZE): New macro.
1221*ed0d50c3Schristos	(elf_i386_plt): New variable.
1222*ed0d50c3Schristos	(struct elf_i386_backend_data): New member `plt'.
1223*ed0d50c3Schristos	(elf_i386_arch_bed): Add initializer for it.
1224*ed0d50c3Schristos	(elf_i386_vxworks_arch_bed): Likewise.
1225*ed0d50c3Schristos	(elf_i386_allocate_dynrelocs): Use GET_PLT_ENTRY_SIZE.
1226*ed0d50c3Schristos	(elf_i386_plt_sym_val): Likewise.
1227*ed0d50c3Schristos	(elf_i386_relocate_section): Likewise.
1228*ed0d50c3Schristos	(elf_i386_finish_dynamic_symbol): Likewise.
1229*ed0d50c3Schristos	Also use other elf_i386_plt_layout members for PLT details.
1230*ed0d50c3Schristos	(elf_i386_finish_dynamic_sections): Likewise.
1231*ed0d50c3Schristos
1232*ed0d50c3Schristos	* elf32-i386.c (struct elf_i386_backend_data): New type.
1233*ed0d50c3Schristos	(get_elf_i386_backend_data): New macro.
1234*ed0d50c3Schristos	(elf_i386_arch_bed): New variable.
1235*ed0d50c3Schristos	(elf_backend_arch_data): New macro.
1236*ed0d50c3Schristos	(struct elf_i386_link_hash_table): Remove plt0_pad_byte and is_vxworks.
1237*ed0d50c3Schristos	(elf_i386_link_hash_table_create): Don't initialize them.
1238*ed0d50c3Schristos	(elf_i386_create_dynamic_sections): Find is_vxworks flags in
1239*ed0d50c3Schristos	elf_i386_backend_data, not elf_i386_link_hash_table.
1240*ed0d50c3Schristos	(elf_i386_adjust_dynamic_symbol): Likewise.
1241*ed0d50c3Schristos	(elf_i386_allocate_dynrelocs): Likewise.
1242*ed0d50c3Schristos	(elf_i386_readonly_dynrelocs): Likewise.
1243*ed0d50c3Schristos	(elf_i386_size_dynamic_sections): Likewise.
1244*ed0d50c3Schristos	(elf_i386_relocate_section): Likewise.
1245*ed0d50c3Schristos	(elf_i386_finish_dynamic_symbol): Likewise.
1246*ed0d50c3Schristos	(elf_i386_finish_dynamic_sections): Likewise.  Same for plt0_pad_byte.
1247*ed0d50c3Schristos	(elf_i386_vxworks_link_hash_table_create): Function removed.
1248*ed0d50c3Schristos	(elf_i386_vxworks_arch_bed): New variable.
1249*ed0d50c3Schristos	(elf_backend_arch_data): New macro in elf32-i386-vxworks stanza.
1250*ed0d50c3Schristos
1251*ed0d50c3Schristos	* elf-bfd.h (elf_backend_data): New member arch_backend_data.
1252*ed0d50c3Schristos	* elfxx-target.h (elf_backend_arch_data): New macro.
1253*ed0d50c3Schristos	(elfNN_bed): Use it as initializer for the new member.
1254*ed0d50c3Schristos
1255*ed0d50c3Schristos2011-07-28  Mikulas Patocka  <mikulas@artax.karlin.mff.cuni.cz>
1256*ed0d50c3Schristos
1257*ed0d50c3Schristos	* elf64-hppa.c (elf_hppa_final_link_relocate): Fix handling of out
1258*ed0d50c3Schristos	of range branches.
1259*ed0d50c3Schristos
1260*ed0d50c3Schristos2011-07-26  Jakub Jelinek  <jakub@redhat.com>
1261*ed0d50c3Schristos
1262*ed0d50c3Schristos	* dwarf2.c (dwarf_debug_sections): Add .debug_macro
1263*ed0d50c3Schristos	and .zdebug_macro entry.
1264*ed0d50c3Schristos	(dwarf_debug_section_enum): Add debug_macro.
1265*ed0d50c3Schristos
1266*ed0d50c3Schristos2011-07-26  Alan Modra  <amodra@gmail.com>
1267*ed0d50c3Schristos
1268*ed0d50c3Schristos	* elf64-ppc.c: Include dwarf2.h.
1269*ed0d50c3Schristos	(struct ppc_link_hash_table): Add glink_eh_frame.
1270*ed0d50c3Schristos	(create_linkage_sections): Create .eh_frame section.
1271*ed0d50c3Schristos	(ppc64_elf_size_dynamic_sections): Arrange to drop unneeded
1272*ed0d50c3Schristos	glink_eh_frame.
1273*ed0d50c3Schristos	(glink_eh_frame_cie): New array.
1274*ed0d50c3Schristos	(ppc64_elf_size_stubs): Size glink_eh_frame.
1275*ed0d50c3Schristos	(ppc64_elf_build_stubs): Init glink_eh_frame contents.
1276*ed0d50c3Schristos	(ppc64_elf_finish_dynamic_sections): Write glink_eh_frame.
1277*ed0d50c3Schristos
1278*ed0d50c3Schristos2011-07-25  Hans-Peter Nilsson  <hp@bitrange.com>
1279*ed0d50c3Schristos
1280*ed0d50c3Schristos	PR ld/12815
1281*ed0d50c3Schristos	* elf64-mmix.c (struct _mmix_elf_section_data): New members
1282*ed0d50c3Schristos	has_warned_bpo and has_warned_pushj.
1283*ed0d50c3Schristos	(mmix_final_link_relocate): Remove PARAMS and PTR macros,
1284*ed0d50c3Schristos	converting to ISO C.  Add new parameter error_message.  All
1285*ed0d50c3Schristos	callers changed.
1286*ed0d50c3Schristos	(mmix_elf_perform_relocation): Ditto.
1287*ed0d50c3Schristos	<case R_MMIX_PUSHJ_STUBBABLE, case R_MMIX_BASE_PLUS_OFFSET>:
1288*ed0d50c3Schristos	Handle the case where mmix_elf_check_common_relocs has not been
1289*ed0d50c3Schristos	called, missing preparations for relocs of the respective type.
1290*ed0d50c3Schristos
1291*ed0d50c3Schristos2011-07-24  Chao-ying Fu  <fu@mips.com>
1292*ed0d50c3Schristos	    Ilie Garbacea  <ilie@mips.com>
1293*ed0d50c3Schristos	    Maciej W. Rozycki  <macro@codesourcery.com>
1294*ed0d50c3Schristos	    Joseph Myers  <joseph@codesourcery.com>
1295*ed0d50c3Schristos	    Catherine Moore  <clm@codesourcery.com>
1296*ed0d50c3Schristos	    Richard Sandiford  <rdsandiford@googlemail.com>
1297*ed0d50c3Schristos
1298*ed0d50c3Schristos	* archures.c (bfd_mach_mips_micromips): New macro.
1299*ed0d50c3Schristos	* cpu-mips.c (I_micromips): New enum value.
1300*ed0d50c3Schristos	(arch_info_struct): Add bfd_mach_mips_micromips.
1301*ed0d50c3Schristos	* elfxx-mips.h (_bfd_mips_elf_is_target_special_symbol): New
1302*ed0d50c3Schristos	prototype.
1303*ed0d50c3Schristos	(_bfd_mips_elf_relax_section): Likewise.
1304*ed0d50c3Schristos	(_bfd_mips16_elf_reloc_unshuffle): Rename to...
1305*ed0d50c3Schristos	(_bfd_mips_elf_reloc_unshuffle): ... this.  Handle microMIPS
1306*ed0d50c3Schristos	ASE.
1307*ed0d50c3Schristos	(_bfd_mips16_elf_reloc_shuffle): Rename to...
1308*ed0d50c3Schristos	(_bfd_mips_elf_reloc_shuffle): ... this.  Handle microMIPS ASE.
1309*ed0d50c3Schristos	(gprel16_reloc_p): Handle microMIPS ASE.
1310*ed0d50c3Schristos	(literal_reloc_p): New function.
1311*ed0d50c3Schristos	* elf32-mips.c (elf_micromips_howto_table_rel): New variable.
1312*ed0d50c3Schristos	(_bfd_mips_elf32_gprel16_reloc): Handle microMIPS ASE.
1313*ed0d50c3Schristos	(mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
1314*ed0d50c3Schristos	and _bfd_mips_elf_reloc_shuffle changes.
1315*ed0d50c3Schristos	(mips_elf_gprel32_reloc): Update comment.
1316*ed0d50c3Schristos	(micromips_reloc_map): New variable.
1317*ed0d50c3Schristos	(bfd_elf32_bfd_reloc_type_lookup): Handle microMIPS ASE.
1318*ed0d50c3Schristos	(mips_elf32_rtype_to_howto): Likewise.
1319*ed0d50c3Schristos	(mips_info_to_howto_rel): Likewise.
1320*ed0d50c3Schristos	(bfd_elf32_bfd_is_target_special_symbol): Define.
1321*ed0d50c3Schristos	(bfd_elf32_bfd_relax_section): Likewise.
1322*ed0d50c3Schristos	* elf64-mips.c (micromips_elf64_howto_table_rel): New variable.
1323*ed0d50c3Schristos	(micromips_elf64_howto_table_rela): Likewise.
1324*ed0d50c3Schristos	(mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
1325*ed0d50c3Schristos	and _bfd_mips_elf_reloc_shuffle changes.
1326*ed0d50c3Schristos	(micromips_reloc_map): Likewise.
1327*ed0d50c3Schristos	(bfd_elf64_bfd_reloc_type_lookup): Handle microMIPS ASE.
1328*ed0d50c3Schristos	(bfd_elf64_bfd_reloc_name_lookup): Likewise.
1329*ed0d50c3Schristos	(mips_elf64_rtype_to_howto): Likewise.
1330*ed0d50c3Schristos	(bfd_elf64_bfd_is_target_special_symbol): Define.
1331*ed0d50c3Schristos	* elfn32-mips.c (elf_micromips_howto_table_rel): New variable.
1332*ed0d50c3Schristos	(elf_micromips_howto_table_rela): Likewise.
1333*ed0d50c3Schristos	(mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
1334*ed0d50c3Schristos	and _bfd_mips_elf_reloc_shuffle changes.
1335*ed0d50c3Schristos	(micromips_reloc_map): Likewise.
1336*ed0d50c3Schristos	(bfd_elf32_bfd_reloc_type_lookup): Handle microMIPS ASE.
1337*ed0d50c3Schristos	(bfd_elf32_bfd_reloc_name_lookup): Likewise.
1338*ed0d50c3Schristos	(mips_elf_n32_rtype_to_howto): Likewise.
1339*ed0d50c3Schristos	(bfd_elf32_bfd_is_target_special_symbol): Define.
1340*ed0d50c3Schristos	* elfxx-mips.c (LA25_LUI_MICROMIPS_1): New macro.
1341*ed0d50c3Schristos	(LA25_LUI_MICROMIPS_2): Likewise.
1342*ed0d50c3Schristos	(LA25_J_MICROMIPS_1, LA25_J_MICROMIPS_2): Likewise.
1343*ed0d50c3Schristos	(LA25_ADDIU_MICROMIPS_1, LA25_ADDIU_MICROMIPS_2): Likewise.
1344*ed0d50c3Schristos	(TLS_RELOC_P): Handle microMIPS ASE.
1345*ed0d50c3Schristos	(mips_elf_create_stub_symbol): Adjust value of stub symbol if
1346*ed0d50c3Schristos	target is a microMIPS function.
1347*ed0d50c3Schristos	(micromips_reloc_p): New function.
1348*ed0d50c3Schristos	(micromips_reloc_shuffle_p): Likewise.
1349*ed0d50c3Schristos	(got16_reloc_p, call16_reloc_p): Handle microMIPS ASE.
1350*ed0d50c3Schristos	(got_disp_reloc_p, got_page_reloc_p): New functions.
1351*ed0d50c3Schristos	(got_ofst_reloc_p): Likewise.
1352*ed0d50c3Schristos	(got_hi16_reloc_p, got_lo16_reloc_p): Likewise.
1353*ed0d50c3Schristos	(call_hi16_reloc_p, call_lo16_reloc_p): Likewise.
1354*ed0d50c3Schristos	(hi16_reloc_p, lo16_reloc_p, jal_reloc_p): Handle microMIPS ASE.
1355*ed0d50c3Schristos	(micromips_branch_reloc_p): New function.
1356*ed0d50c3Schristos	(tls_gd_reloc_p, tls_ldm_reloc_p): Likewise.
1357*ed0d50c3Schristos	(tls_gottprel_reloc_p): Likewise.
1358*ed0d50c3Schristos	(_bfd_mips16_elf_reloc_unshuffle): Rename to...
1359*ed0d50c3Schristos	(_bfd_mips_elf_reloc_unshuffle): ... this.  Handle microMIPS
1360*ed0d50c3Schristos	ASE.
1361*ed0d50c3Schristos	(_bfd_mips16_elf_reloc_shuffle): Rename to...
1362*ed0d50c3Schristos	(_bfd_mips_elf_reloc_shuffle): ... this.  Handle microMIPS ASE.
1363*ed0d50c3Schristos	(_bfd_mips_elf_lo16_reloc): Handle microMIPS ASE.
1364*ed0d50c3Schristos	(mips_tls_got_index, mips_elf_got_page): Likewise.
1365*ed0d50c3Schristos	(mips_elf_create_local_got_entry): Likewise.
1366*ed0d50c3Schristos	(mips_elf_relocation_needs_la25_stub): Likewise.
1367*ed0d50c3Schristos	(mips_elf_calculate_relocation): Likewise.
1368*ed0d50c3Schristos	(mips_elf_perform_relocation): Likewise.
1369*ed0d50c3Schristos	(_bfd_mips_elf_symbol_processing): Likewise.
1370*ed0d50c3Schristos	(_bfd_mips_elf_add_symbol_hook): Likewise.
1371*ed0d50c3Schristos	(_bfd_mips_elf_link_output_symbol_hook): Likewise.
1372*ed0d50c3Schristos	(mips_elf_add_lo16_rel_addend): Likewise.
1373*ed0d50c3Schristos	(_bfd_mips_elf_check_relocs): Likewise.
1374*ed0d50c3Schristos	(mips_elf_adjust_addend): Likewise.
1375*ed0d50c3Schristos	(_bfd_mips_elf_relocate_section): Likewise.
1376*ed0d50c3Schristos	(mips_elf_create_la25_stub): Likewise.
1377*ed0d50c3Schristos	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
1378*ed0d50c3Schristos	(_bfd_mips_elf_gc_sweep_hook): Likewise.
1379*ed0d50c3Schristos	(_bfd_mips_elf_is_target_special_symbol): New function.
1380*ed0d50c3Schristos	(mips_elf_relax_delete_bytes): Likewise.
1381*ed0d50c3Schristos	(opcode_descriptor): New structure.
1382*ed0d50c3Schristos	(RA): New macro.
1383*ed0d50c3Schristos	(OP32_SREG, OP32_TREG, OP16_VALID_REG): Likewise.
1384*ed0d50c3Schristos	(b_insns_32, bc_insn_32, bz_insn_32, bzal_insn_32): New variables.
1385*ed0d50c3Schristos	(beq_insn_32): Likewise.
1386*ed0d50c3Schristos	(b_insn_16, bz_insn_16): New variables.
1387*ed0d50c3Schristos	(BZC32_REG_FIELD): New macro.
1388*ed0d50c3Schristos	(bz_rs_insns_32, bz_rt_insns_32): New variables.
1389*ed0d50c3Schristos	(bzc_insns_32, bz_insns_16):Likewise.
1390*ed0d50c3Schristos	(BZ16_REG, BZ16_REG_FIELD): New macros.
1391*ed0d50c3Schristos	(jal_insn_32_bd16, jal_insn_32_bd32): New variables.
1392*ed0d50c3Schristos	(jal_x_insn_32_bd32): Likewise.
1393*ed0d50c3Schristos	(j_insn_32, jalr_insn_32): Likewise.
1394*ed0d50c3Schristos	(ds_insns_32_bd16, ds_insns_32_bd32): Likewise.
1395*ed0d50c3Schristos	(jalr_insn_16_bd16, jalr_insn_16_bd32, jr_insn_16): Likewise.
1396*ed0d50c3Schristos	(JR16_REG): New macro.
1397*ed0d50c3Schristos	(ds_insns_16_bd16): New variable.
1398*ed0d50c3Schristos	(lui_insn): Likewise.
1399*ed0d50c3Schristos	(addiu_insn, addiupc_insn): Likewise.
1400*ed0d50c3Schristos	(ADDIUPC_REG_FIELD): New macro.
1401*ed0d50c3Schristos	(MOVE32_RD, MOVE32_RS): Likewise.
1402*ed0d50c3Schristos	(MOVE16_RD_FIELD, MOVE16_RS_FIELD): Likewise.
1403*ed0d50c3Schristos	(move_insns_32, move_insns_16): New variables.
1404*ed0d50c3Schristos	(nop_insn_32, nop_insn_16): Likewise.
1405*ed0d50c3Schristos	(MATCH): New macro.
1406*ed0d50c3Schristos	(find_match): New function.
1407*ed0d50c3Schristos	(check_br16_dslot, check_br32_dslot): Likewise.
1408*ed0d50c3Schristos	(check_br16, check_br32): Likewise.
1409*ed0d50c3Schristos	(IS_BITSIZE): New macro.
1410*ed0d50c3Schristos	(check_4byte_branch): New function.
1411*ed0d50c3Schristos	(_bfd_mips_elf_relax_section): Likewise.
1412*ed0d50c3Schristos	(_bfd_mips_elf_merge_private_bfd_data): Disallow linking MIPS16
1413*ed0d50c3Schristos	and microMIPS modules together.
1414*ed0d50c3Schristos	(_bfd_mips_elf_print_private_bfd_data):	Handle microMIPS ASE.
1415*ed0d50c3Schristos	* reloc.c (BFD_RELOC_MICROMIPS_7_PCREL_S1): New relocation.
1416*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_10_PCREL_S1): Likewise.
1417*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_16_PCREL_S1): Likewise.
1418*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_GPREL16): Likewise.
1419*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_JMP, BFD_RELOC_MICROMIPS_HI16): Likewise.
1420*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_HI16_S): Likewise.
1421*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_LO16): Likewise.
1422*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_LITERAL): Likewise.
1423*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_GOT16): Likewise.
1424*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_CALL16): Likewise.
1425*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_GOT_HI16): Likewise.
1426*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_GOT_LO16): Likewise.
1427*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_CALL_HI16): Likewise.
1428*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_CALL_LO16): Likewise.
1429*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_SUB): Likewise.
1430*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_GOT_PAGE): Likewise.
1431*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_GOT_OFST): Likewise.
1432*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_GOT_DISP): Likewise.
1433*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_HIGHEST): Likewise.
1434*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_HIGHER): Likewise.
1435*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_SCN_DISP): Likewise.
1436*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_JALR): Likewise.
1437*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_TLS_GD): Likewise.
1438*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_TLS_LDM): Likewise.
1439*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16): Likewise.
1440*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16): Likewise.
1441*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_TLS_GOTTPREL): Likewise.
1442*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_TLS_TPREL_HI16): Likewise.
1443*ed0d50c3Schristos	(BFD_RELOC_MICROMIPS_TLS_TPREL_LO16): Likewise.
1444*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1445*ed0d50c3Schristos	* libbfd.h: Regenerate.
1446*ed0d50c3Schristos
1447*ed0d50c3Schristos2011-07-22  H.J. Lu  <hongjiu.lu@intel.com>
1448*ed0d50c3Schristos
1449*ed0d50c3Schristos	* Makefile.am (ALL_MACHINES): Add cpu-k1om.lo.
1450*ed0d50c3Schristos	(ALL_MACHINES_CFILES): Add cpu-k1om.c.
1451*ed0d50c3Schristos	* Makefile.in: Regenerated.
1452*ed0d50c3Schristos
1453*ed0d50c3Schristos	* archures.c (bfd_architecture): Add bfd_arch_k1om.
1454*ed0d50c3Schristos	(bfd_k1om_arch): New.
1455*ed0d50c3Schristos	(bfd_archures_list): Add &bfd_k1om_arch.
1456*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
1457*ed0d50c3Schristos
1458*ed0d50c3Schristos	* config.bfd (targ64_selvecs): Add bfd_elf64_k1om_vec if
1459*ed0d50c3Schristos	bfd_elf64_x86_64_vec is supported.  Add bfd_elf64_k1om_freebsd_vec
1460*ed0d50c3Schristos	if bfd_elf64_x86_64_freebsd_vec is supported.
1461*ed0d50c3Schristos	(targ_selvecs): Likewise.
1462*ed0d50c3Schristos
1463*ed0d50c3Schristos	* configure.in: Support bfd_elf64_k1om_vec and
1464*ed0d50c3Schristos	bfd_elf64_k1om_freebsd_vec.
1465*ed0d50c3Schristos	* configure: Regenerated.
1466*ed0d50c3Schristos
1467*ed0d50c3Schristos	* cpu-k1om.c: New.
1468*ed0d50c3Schristos
1469*ed0d50c3Schristos	* elf64-x86-64.c (elf64_k1om_elf_object_p): New.
1470*ed0d50c3Schristos	(bfd_elf64_k1om_vec): Likewise.
1471*ed0d50c3Schristos	(bfd_elf64_k1om_freebsd_vec): Likewise.
1472*ed0d50c3Schristos
1473*ed0d50c3Schristos	* targets.c (bfd_elf64_k1om_vec): New.
1474*ed0d50c3Schristos	(bfd_elf64_k1om_freebsd_vec): Likewise.
1475*ed0d50c3Schristos	(_bfd_target_vector): Add bfd_elf64_k1om_vec and
1476*ed0d50c3Schristos	bfd_elf64_k1om_freebsd_vec.
1477*ed0d50c3Schristos
1478*ed0d50c3Schristos2011-07-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
1479*ed0d50c3Schristos
1480*ed0d50c3Schristos	Fix false coff-go32-exe matches.
1481*ed0d50c3Schristos	* coff-i386.c (TARGET_SYM) <_bfd_check_format>: Conditionally use
1482*ed0d50c3Schristos	COFF_CHECK_FORMAT.
1483*ed0d50c3Schristos	* coff-stgo32.c (go32_check_format): New forward declaration.
1484*ed0d50c3Schristos	(COFF_CHECK_FORMAT): New defintion.
1485*ed0d50c3Schristos	(go32_check_format): New function.
1486*ed0d50c3Schristos
1487*ed0d50c3Schristos2011-07-15  Alan Modra  <amodra@gmail.com>
1488*ed0d50c3Schristos
1489*ed0d50c3Schristos	* configure.in: Bump version.
1490*ed0d50c3Schristos	* configure: Regenerate.
1491*ed0d50c3Schristos
1492*ed0d50c3Schristos2011-07-14  Alan Modra  <amodra@gmail.com>
1493*ed0d50c3Schristos
1494*ed0d50c3Schristos	* linker.c (_bfd_generic_section_already_linked): Set l_flags.
1495*ed0d50c3Schristos	* elf-bfd.h (struct already_linked): Forward declare.
1496*ed0d50c3Schristos
1497*ed0d50c3Schristos2011-07-14  Alan Modra  <amodra@gmail.com>
1498*ed0d50c3Schristos
1499*ed0d50c3Schristos	* elflink.c (_bfd_elf_fix_symbol_flags): Loop on indirect syms.
1500*ed0d50c3Schristos	(_bfd_elf_adjust_dynamic_symbol): Remove FIXME.
1501*ed0d50c3Schristos
1502*ed0d50c3Schristos2011-07-14  Alan Modra  <amodra@gmail.com>
1503*ed0d50c3Schristos
1504*ed0d50c3Schristos	* elf64-ppc.c (struct ppc_link_hash_table): Add plt_static_chain.
1505*ed0d50c3Schristos	(build_plt_stub): Add plt_static_chain param, don't load r11 if false.
1506*ed0d50c3Schristos	(build_tls_get_addr_stub): Likewise.
1507*ed0d50c3Schristos	(ppc_build_one_stub): Update calls to above.
1508*ed0d50c3Schristos	(ppc_size_one_stub): Adjust stub size.
1509*ed0d50c3Schristos	(ppc64_elf_size_stubs): Add plt_static_chain param, save to htab.
1510*ed0d50c3Schristos	* elf64-ppc.h (ppc64_elf_size_stubs): Update prototype.
1511*ed0d50c3Schristos
1512*ed0d50c3Schristos2011-07-12  Nick Clifton  <nickc@redhat.com>
1513*ed0d50c3Schristos
1514*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_section_flags): Delete.
1515*ed0d50c3Schristos	(elf_backend_section_flags): Remove.
1516*ed0d50c3Schristos
1517*ed0d50c3Schristos2011-07-11  H.J. Lu  <hongjiu.lu@intel.com>
1518*ed0d50c3Schristos
1519*ed0d50c3Schristos	PR ld/12982
1520*ed0d50c3Schristos	* elflink.c (bfd_elf_size_dynamic_sections): Also skip BFD_PLUGIN
1521*ed0d50c3Schristos	when setting stack_flags.
1522*ed0d50c3Schristos
1523*ed0d50c3Schristos2011-07-11  Catherine Moore  <clm@codesourcery.com>
1524*ed0d50c3Schristos
1525*ed0d50c3Schristos	* aout-adobe.c (aout_32_bfd_lookup_section_flags): New definition.
1526*ed0d50c3Schristos	* aout-target.h (MY_bfd_lookup_section_flags): New definition.
1527*ed0d50c3Schristos	* aout-tic30.c (MY_bfd_lookup_section_flags): New definition.
1528*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
1529*ed0d50c3Schristos	* bfd.c (bfd_lookup_section_flags): New definition.
1530*ed0d50c3Schristos	* binary.c (binary_bfd_lookup_section_flags): New definition.
1531*ed0d50c3Schristos	* bout.c (b_out_bfd_lookup_section_flags): New definition.
1532*ed0d50c3Schristos	* coff-alpha.c (_bfd_ecoff_bfd_lookup_section_flags): New definition.
1533*ed0d50c3Schristos	* coff-mips.c (_bfd_ecoff_bfd_lookup_section_flags): New definition.
1534*ed0d50c3Schristos	* coff-rs6000.c (rs6000coff_vec): Include
1535*ed0d50c3Schristos	bfd_generic_lookup_section_flags.
1536*ed0d50c3Schristos	(pmac_xcoff_vec): Likewise.
1537*ed0d50c3Schristos	* coffcode.h (coff_bfd_lookup_section_flags): New definition.
1538*ed0d50c3Schristos	* coff64-rs6000.c (rs6000coff64_vec): Include
1539*ed0d50c3Schristos	bfd_generic_lookup_section_flags.
1540*ed0d50c3Schristos	(aix5coff64_vec): Likewise.
1541*ed0d50c3Schristos	* ecoff.c (bfd_debug_section): Initialize flag_info field.
1542*ed0d50c3Schristos	* elf-bfd.h (elf_backend_lookup_section_flags_hook): Declare.
1543*ed0d50c3Schristos	(bfd_elf_lookup_section_flags): Declare.
1544*ed0d50c3Schristos	* elflink.c (bfd_elf_lookup_section_flags): New function.
1545*ed0d50c3Schristos	* elfxx-target.h (bfd_elfNN_bfd_lookup_section_flags): Define.
1546*ed0d50c3Schristos	(elf_backend_lookup_section_flags_hook): Define.
1547*ed0d50c3Schristos	(elf_backend_data): Add elf_backend_lookup_section_flags_hook.
1548*ed0d50c3Schristos	* i386msdos.c (msdos_bfd_lookup_section_flags): New define.
1549*ed0d50c3Schristos	* i386os9k.c (os9k_bfd_lookup_section_flags): New define.
1550*ed0d50c3Schristos	* ieee.c (ieee_bfd_lookup_section_flags): New define.
1551*ed0d50c3Schristos	* ihex.c (ihex_bfd_lookup_section_flags): New define.
1552*ed0d50c3Schristos	* libbfd-in.h (_bfd_nolink_bfd_lookup_section_flags): Declare.
1553*ed0d50c3Schristos	(bfd_generic_lookup_section_flags): Declare.
1554*ed0d50c3Schristos	* libbfd.h: Regenerated.
1555*ed0d50c3Schristos	* mach-o-target.c (bfd_mach_o_bfd_lookup_section_flags): New.
1556*ed0d50c3Schristos	* mmo.c (mmo_bfd_lookup_section_flags): New definition.
1557*ed0d50c3Schristos	* nlm-target.h (nlm_bfd_lookup_section_flags): New definition.
1558*ed0d50c3Schristos	* oasys.c (oasys_bfd_lookup_section_flags): New definition.
1559*ed0d50c3Schristos	* pef.c (bfd_pef_bfd_lookup_section_flags): New definition.
1560*ed0d50c3Schristos	* plugin.c (bfd_plugin_bfd_lookup_section_flags): New definition.
1561*ed0d50c3Schristos	* ppcboot.c (ppcboot_bfd_lookup_section_flags): New definition.
1562*ed0d50c3Schristos	* reloc.c (bfd_generic_lookup_section_flags): New function.
1563*ed0d50c3Schristos	* som.c (som_bfd_lookup_section_flags): New definition.
1564*ed0d50c3Schristos	* srec.c (srec_bfd_lookup_section_flags): New definition.
1565*ed0d50c3Schristos	* targets.c (flag_info): Declare.
1566*ed0d50c3Schristos	(NAME##_bfd_lookup_section_flags): Add to LINK jump table.
1567*ed0d50c3Schristos	(_bfd_lookup_section_flags): New.
1568*ed0d50c3Schristos	* tekhex.c (tekhex_bfd_lookup_section_flags): New definition.
1569*ed0d50c3Schristos	* versados.c (versados_bfd_lookup_section_flags): New definition.
1570*ed0d50c3Schristos	* vms-alpha.c (alpha_vms_bfd_lookup_section_flag): New definition.
1571*ed0d50c3Schristos	* xsym.c (bfd_sym_bfd_lookup_section_flags): New definition.
1572*ed0d50c3Schristos
1573*ed0d50c3Schristos2011-07-11  H.J. Lu  <hongjiu.lu@intel.com>
1574*ed0d50c3Schristos
1575*ed0d50c3Schristos	PR ld/12978
1576*ed0d50c3Schristos	* elfnn-ia64.c (count_dyn_reloc): Fix a typo.
1577*ed0d50c3Schristos
1578*ed0d50c3Schristos2011-07-09  Alan Modra  <amodra@gmail.com>
1579*ed0d50c3Schristos
1580*ed0d50c3Schristos	PR ld/12942
1581*ed0d50c3Schristos	* elflink.c (elf_link_add_object_symbols): Use elf_discarded_section
1582*ed0d50c3Schristos	rather than kept_section to determine whether a symbol is from
1583*ed0d50c3Schristos	a discarded section.
1584*ed0d50c3Schristos	* cofflink.c (coff_link_add_symbols): Make symbols from discarded
1585*ed0d50c3Schristos	sections appear undefined.
1586*ed0d50c3Schristos
1587*ed0d50c3Schristos2011-07-09  H.J. Lu  <hongjiu.lu@intel.com>
1588*ed0d50c3Schristos
1589*ed0d50c3Schristos	PR ld/12942
1590*ed0d50c3Schristos	* elf-bfd.h (_bfd_elf_section_already_linked): Replace
1591*ed0d50c3Schristos	"asection *" with "struct already_linked *".
1592*ed0d50c3Schristos	* libbfd-in.h (_bfd_nolink_section_already_linked): Likewise.
1593*ed0d50c3Schristos	(_bfd_generic_section_already_linked): Likewise.
1594*ed0d50c3Schristos	(bfd_section_already_linked_table_insert): Likewise.
1595*ed0d50c3Schristos	(struct already_linked): New.
1596*ed0d50c3Schristos	(struct bfd_section_already_linked): Use it.
1597*ed0d50c3Schristos	* elflink.c (_bfd_elf_section_already_linked): Replace.
1598*ed0d50c3Schristos	"asection *" with "struct already_linked *".  Replace the plugin
1599*ed0d50c3Schristos	dummy with the LTO output.
1600*ed0d50c3Schristos	* linker.c (_bfd_generic_section_already_linked): Likewise.
1601*ed0d50c3Schristos	* targets.c (struct already_linked): Add forward declaration.
1602*ed0d50c3Schristos	(bfd_target): Replace "struct bfd_section *" with
1603*ed0d50c3Schristos	"struct already_linked *" in _section_already_linked.
1604*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1605*ed0d50c3Schristos	* libbfd.h: Regenerate.
1606*ed0d50c3Schristos
1607*ed0d50c3Schristos2011-07-06  Tristan Gingold  <gingold@adacore.com>
1608*ed0d50c3Schristos
1609*ed0d50c3Schristos	* mach-o.h: Move loader related definitions to
1610*ed0d50c3Schristos	include/mach-o/loader.h.  Include it.
1611*ed0d50c3Schristos
1612*ed0d50c3Schristos2011-07-05  H.J. Lu  <hongjiu.lu@intel.com>
1613*ed0d50c3Schristos
1614*ed0d50c3Schristos	* elf64-x86-64.c (elf_backend_post_process_headers): Always
1615*ed0d50c3Schristos	define to _bfd_elf_set_osabi.
1616*ed0d50c3Schristos
1617*ed0d50c3Schristos2011-07-03  Samuel Thibault  <samuel.thibault@gnu.org>
1618*ed0d50c3Schristos	    Thomas Schwinge  <thomas@schwinge.name>
1619*ed0d50c3Schristos
1620*ed0d50c3Schristos	PR binutils/12913
1621*ed0d50c3Schristos	* elf.c (_bfd_elf_set_osabi): Use ELFOSABI_GNU name instead of
1622*ed0d50c3Schristos	ELFOSABI_LINUX alias.
1623*ed0d50c3Schristos	* elf32-hppa.c: Likewise.
1624*ed0d50c3Schristos	* elf32-i370.c: Likewise.
1625*ed0d50c3Schristos	* elf64-hppa.c: Likewise.
1626*ed0d50c3Schristos
1627*ed0d50c3Schristos2011-07-01  Ian Lance Taylor  <iant@google.com>
1628*ed0d50c3Schristos
1629*ed0d50c3Schristos	* elf32-i386.c (elf_i386_eh_frame_plt): Correct expression: change
1630*ed0d50c3Schristos	DW_OP_lit3 to DW_OP_lit2.
1631*ed0d50c3Schristos
1632*ed0d50c3Schristos2011-07-01  Alan Modra  <amodra@gmail.com>
1633*ed0d50c3Schristos
1634*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Don't look at
1635*ed0d50c3Schristos	dyn relocs when called to copy flags for a weak sym.
1636*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
1637*ed0d50c3Schristos	(ppc64_elf_merge_private_bfd_data): Delete.
1638*ed0d50c3Schristos	(bfd_elf64_bfd_merge_private_bfd_data): Define as
1639*ed0d50c3Schristos	_bfd_generic_verify_endian_match.
1640*ed0d50c3Schristos
1641*ed0d50c3Schristos2011-06-30  Bernd Schmidt  <bernds@codesourcery.com>
1642*ed0d50c3Schristos
1643*ed0d50c3Schristos	* bfd/elf32-tic6x.c (elf32_tic6x_set_osabi): Also set it if
1644*ed0d50c3Schristos	link_info is NULL.
1645*ed0d50c3Schristos
1646*ed0d50c3Schristos2011-06-28  Tristan Gingold  <gingold@adacore.com>
1647*ed0d50c3Schristos
1648*ed0d50c3Schristos	* vms-alpha.c (vms_private_data_struct): Make vms_linkage_index
1649*ed0d50c3Schristos	unsigned int.
1650*ed0d50c3Schristos	(_bfd_vms_write_etir): Write linkage index from reloc.
1651*ed0d50c3Schristos
1652*ed0d50c3Schristos2011-06-28  Fawzi Mohamed <fawzi.mohamed@nokia.com>
1653*ed0d50c3Schristos
1654*ed0d50c3Schristos	* mach-o.c (bfd_mach_o_read_command): Also ignore
1655*ed0d50c3Schristos	BFD_MACH_O_LC_ROUTINES_64.
1656*ed0d50c3Schristos
1657*ed0d50c3Schristos2011-06-27  Tristan Gingold  <gingold@adacore.com>
1658*ed0d50c3Schristos
1659*ed0d50c3Schristos	* vms-alpha.c (_bfd_vms_write_etir): Use 'section' to get current
1660*ed0d50c3Schristos	section target index.
1661*ed0d50c3Schristos
1662*ed0d50c3Schristos2011-06-27  Nick Clifton  <nickc@redhat.com>
1663*ed0d50c3Schristos
1664*ed0d50c3Schristos	* cisco-core.c (cisco_core_little_vec): Add initialization of
1665*ed0d50c3Schristos	match_priority field.
1666*ed0d50c3Schristos
1667*ed0d50c3Schristos2011-06-27  Tristan Gingold  <gingold@adacore.com>
1668*ed0d50c3Schristos
1669*ed0d50c3Schristos	* cache.c: Include bfd_stdint.h.
1670*ed0d50c3Schristos	(cache_bmmap): Change profile.  Return region start and size.
1671*ed0d50c3Schristos	* bfdio.c (struct bfd_iovec): Change bmmap profile.
1672*ed0d50c3Schristos	(bfd_mmap): Change profile and adjust.   Update comment.
1673*ed0d50c3Schristos	(memory_bmmap): Change profile.
1674*ed0d50c3Schristos	* opncls.c (opncls_bmmap): Change profile.
1675*ed0d50c3Schristos	* vms-lib.c (vms_lib_bmmap): Likewise.
1676*ed0d50c3Schristos	* libbfd.h: Regenerate.
1677*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
1678*ed0d50c3Schristos
1679*ed0d50c3Schristos2011-06-27  Tristan Gingold  <gingold@adacore.com>
1680*ed0d50c3Schristos
1681*ed0d50c3Schristos	* vms-misc.c (vms_time_to_time_t): Adjust overflow detection.
1682*ed0d50c3Schristos	Add comment.
1683*ed0d50c3Schristos
1684*ed0d50c3Schristos2011-06-25  H.J. Lu  <hongjiu.lu@intel.com>
1685*ed0d50c3Schristos
1686*ed0d50c3Schristos	* elf64-x86-64.c (elf_backend_post_process_headers): Don't
1687*ed0d50c3Schristos	define for FreeBSD/x86-64 nor FreeBSD/L1OM.  Define for L1OM.
1688*ed0d50c3Schristos
1689*ed0d50c3Schristos2011-06-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
1690*ed0d50c3Schristos
1691*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_link_hash_table_create): Initialize
1692*ed0d50c3Schristos	PLT_EH_FRAME.
1693*ed0d50c3Schristos	* elf32-i386.c (elf_i386_link_hash_table): Likewise.
1694*ed0d50c3Schristos
1695*ed0d50c3Schristos2011-06-24  Richard Henderson  <rth@redhat.com>
1696*ed0d50c3Schristos
1697*ed0d50c3Schristos	PR ld/12928
1698*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Recover the
1699*ed0d50c3Schristos	tlsgd insn before swapping adjacent insns.
1700*ed0d50c3Schristos
1701*ed0d50c3Schristos2011-06-24  Tristan Gingold  <gingold@adacore.com>
1702*ed0d50c3Schristos
1703*ed0d50c3Schristos	* vms-alpha.c (alpha_vms_slurp_relocs): Add a guard for relocs in the
1704*ed0d50c3Schristos	absolute section.
1705*ed0d50c3Schristos
1706*ed0d50c3Schristos2011-06-24  Alan Modra  <amodra@gmail.com>
1707*ed0d50c3Schristos
1708*ed0d50c3Schristos	PR ld/12921
1709*ed0d50c3Schristos	* elf.c (assign_file_positions_for_load_sections): Don't align
1710*ed0d50c3Schristos	sh_offset for all SHT_NOBITS sections here, just .tbss sections
1711*ed0d50c3Schristos	that don't get a PT_LOAD.
1712*ed0d50c3Schristos
1713*ed0d50c3Schristos2011-06-22  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1714*ed0d50c3Schristos
1715*ed0d50c3Schristos	* elf32-sh.c (sh_elf_relocate_section): Allow R_SH_TLS_LE_32 for PIE.
1716*ed0d50c3Schristos	(sh_elf_check_relocs): Likewise.
1717*ed0d50c3Schristos
1718*ed0d50c3Schristos2011-06-22  Richard Henderson  <rth@redhat.com>
1719*ed0d50c3Schristos
1720*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_check_relocs): No dynamic reloc for
1721*ed0d50c3Schristos	TPREL in a PIE image.
1722*ed0d50c3Schristos	(alpha_dynamic_entries_for_reloc): Likewise.
1723*ed0d50c3Schristos	(elf64_alpha_relocate_section): Allow TPREL in PIE images.
1724*ed0d50c3Schristos	(elf64_alpha_relax_got_load): Likewise.
1725*ed0d50c3Schristos
1726*ed0d50c3Schristos2011-06-22  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1727*ed0d50c3Schristos
1728*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_final_link_relocate): Allow R_ARM_TLS_LE32
1729*ed0d50c3Schristos	for PIE.
1730*ed0d50c3Schristos
1731*ed0d50c3Schristos2011-06-22  Alan Modra  <amodra@gmail.com>
1732*ed0d50c3Schristos
1733*ed0d50c3Schristos	* elflink.c (_bfd_elf_merge_symbol): Allow type changes for
1734*ed0d50c3Schristos	plugin symbols.  Fix segfault on linker scrip defined syms.
1735*ed0d50c3Schristos
1736*ed0d50c3Schristos2011-06-20  Jakub Jelinek  <jakub@redhat.com>
1737*ed0d50c3Schristos
1738*ed0d50c3Schristos	PR ld/12570
1739*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Allow no relocations
1740*ed0d50c3Schristos	at all for linker created .eh_frame sections.
1741*ed0d50c3Schristos	(_bfd_elf_discard_section_eh_frame): Handle linker created
1742*ed0d50c3Schristos	.eh_frame sections with no relocations.
1743*ed0d50c3Schristos	* elf64-x86-64.c: Include dwarf2.h.
1744*ed0d50c3Schristos	(elf_x86_64_eh_frame_plt): New variable.
1745*ed0d50c3Schristos	(PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
1746*ed0d50c3Schristos	PLT_FDE_LEN_OFFSET): Define.
1747*ed0d50c3Schristos	(struct elf_x86_64_link_hash_table): Add plt_eh_frame field.
1748*ed0d50c3Schristos	(elf_x86_64_create_dynamic_sections): Create and fill in
1749*ed0d50c3Schristos	.eh_frame section for .plt section.
1750*ed0d50c3Schristos	(elf_x86_64_size_dynamic_sections): Write .plt section size
1751*ed0d50c3Schristos	into .eh_frame FDE covering .plt section.
1752*ed0d50c3Schristos	(elf_x86_64_finish_dynamic_sections): Write .plt section
1753*ed0d50c3Schristos	start into .eh_frame FDE covering .plt section.  Call
1754*ed0d50c3Schristos	_bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
1755*ed0d50c3Schristos	(elf_backend_plt_alignment): Define to 4.
1756*ed0d50c3Schristos	* elf32-i386.c: Include dwarf2.h.
1757*ed0d50c3Schristos	(elf_i386_eh_frame_plt): New variable.
1758*ed0d50c3Schristos	(PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
1759*ed0d50c3Schristos	PLT_FDE_LEN_OFFSET): Define.
1760*ed0d50c3Schristos	(struct elf_i386_link_hash_table): Add plt_eh_frame field.
1761*ed0d50c3Schristos	(elf_i386_create_dynamic_sections): Create and fill in
1762*ed0d50c3Schristos	.eh_frame section for .plt section.
1763*ed0d50c3Schristos	(elf_i386_size_dynamic_sections): Write .plt section size
1764*ed0d50c3Schristos	into .eh_frame FDE covering .plt section.
1765*ed0d50c3Schristos	(elf_i386_finish_dynamic_sections): Write .plt section
1766*ed0d50c3Schristos	start into .eh_frame FDE covering .plt section.  Call
1767*ed0d50c3Schristos	_bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
1768*ed0d50c3Schristos	(elf_backend_plt_alignment): Define to 4.
1769*ed0d50c3Schristos
1770*ed0d50c3Schristos2011-06-19  H.J. Lu  <hongjiu.lu@intel.com>
1771*ed0d50c3Schristos
1772*ed0d50c3Schristos	* elf64-x86-64.c (elf_backend_post_process_headers): Defined
1773*ed0d50c3Schristos	for x32.
1774*ed0d50c3Schristos
1775*ed0d50c3Schristos2011-06-16  H.J. Lu  <hongjiu.lu@intel.com>
1776*ed0d50c3Schristos
1777*ed0d50c3Schristos	* elf64-x86-64.c: Include <stdarg.h> and CORE_HEADER if
1778*ed0d50c3Schristos	CORE_HEADER is defined.
1779*ed0d50c3Schristos	(elf_x86_64_write_core_note): New.
1780*ed0d50c3Schristos	(elf_backend_write_core_note): Likewise.
1781*ed0d50c3Schristos
1782*ed0d50c3Schristos	* hosts/x86-64linux.h (uint64_t): New.
1783*ed0d50c3Schristos	(user_regsx32_struct): Likewise.
1784*ed0d50c3Schristos	(elf_gregx32_t): Likewise.
1785*ed0d50c3Schristos	(ELF_NGREGX32): Likewise.
1786*ed0d50c3Schristos	(elf_gregsetx32_t): Likewise.
1787*ed0d50c3Schristos	(elf_prstatusx32): Likewise.
1788*ed0d50c3Schristos	(prstatusx32_t): Likewise.
1789*ed0d50c3Schristos	(user_fpregs32_struct): Removed.
1790*ed0d50c3Schristos	(user_fpxregs32_struct): Likewise.
1791*ed0d50c3Schristos	(user32): Likewise.
1792*ed0d50c3Schristos	(elf_fpregset32_t): Likewise.
1793*ed0d50c3Schristos	(elf_fpxregset32_t): Likewise.
1794*ed0d50c3Schristos	(prgregset32_t): Likewise.
1795*ed0d50c3Schristos	(prfpregset32_t): Likewise.
1796*ed0d50c3Schristos
1797*ed0d50c3Schristos2011-06-16  H.J. Lu  <hongjiu.lu@intel.com>
1798*ed0d50c3Schristos
1799*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_grok_prstatus): Support x32.
1800*ed0d50c3Schristos	(elf_x86_64_grok_psinfo): Likewise.
1801*ed0d50c3Schristos
1802*ed0d50c3Schristos2011-06-16  Nick Clifton  <nickc@redhat.com>
1803*ed0d50c3Schristos
1804*ed0d50c3Schristos	* elf.c (elf_find_function): Fail if not provided with a symbol
1805*ed0d50c3Schristos	table.
1806*ed0d50c3Schristos
1807*ed0d50c3Schristos2011-06-15  Ulrich Weigand  <ulrich.weigand@linaro.org>
1808*ed0d50c3Schristos
1809*ed0d50c3Schristos	* elf-bfd.h (elfcore_write_arm_vfp): Add prototype.
1810*ed0d50c3Schristos	* elf.c (elfcore_grok_arm_vfp): New function.
1811*ed0d50c3Schristos	(elfcore_grok_note): Call it to handle NT_ARM_VFP notes.
1812*ed0d50c3Schristos	(elfcore_write_arm_vfp): New function.
1813*ed0d50c3Schristos	(elfcore_write_register_note): Call it to handle .reg-arm-vfp.
1814*ed0d50c3Schristos
1815*ed0d50c3Schristos2011-06-14  Richard Henderson  <rth@redhat.com>
1816*ed0d50c3Schristos
1817*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Rename from
1818*ed0d50c3Schristos	elf64_alpha_merge_ind_symbols; adjust for the generic interface.
1819*ed0d50c3Schristos	(elf64_alpha_always_size_sections): Don't call
1820*ed0d50c3Schristos	elf64_alpha_merge_ind_symbols.
1821*ed0d50c3Schristos	(elf_backend_copy_indirect_symbol): New.
1822*ed0d50c3Schristos
1823*ed0d50c3Schristos2011-06-14  Alan Modra  <amodra@gmail.com>
1824*ed0d50c3Schristos
1825*ed0d50c3Schristos	PR ld/12887
1826*ed0d50c3Schristos	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Check sec_info_type
1827*ed0d50c3Schristos	before doing anything.
1828*ed0d50c3Schristos	(_bfd_elf_discard_section_eh_frame): Likewise.
1829*ed0d50c3Schristos
1830*ed0d50c3Schristos2011-06-14  Alan Modra  <amodra@gmail.com>
1831*ed0d50c3Schristos
1832*ed0d50c3Schristos	* Makefile.am: Formatting.
1833*ed0d50c3Schristos	* Makefile.in: Regenerate.
1834*ed0d50c3Schristos	* configure.in (bfd_elf64_tilegx_vec): Add elfxx-tilegx.lo.
1835*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regnerate.
1836*ed0d50c3Schristos
1837*ed0d50c3Schristos2011-06-14  Alan Modra  <amodra@gmail.com>
1838*ed0d50c3Schristos
1839*ed0d50c3Schristos	* elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Don't use PTR.
1840*ed0d50c3Schristos	(allocate_dynrelocs, readonly_dynrelocs): Replace PTR with void *.
1841*ed0d50c3Schristos	Don't handle warning symbols here.
1842*ed0d50c3Schristos	* elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): As above.
1843*ed0d50c3Schristos	(allocate_dynrelocs, readonly_dynrelocs): As above.
1844*ed0d50c3Schristos
1845*ed0d50c3Schristos2011-06-14  Alan Modra  <amodra@gmail.com>
1846*ed0d50c3Schristos
1847*ed0d50c3Schristos	PR ld/12851
1848*ed0d50c3Schristos	* elflink.c (_bfd_elf_gc_mark_extra_sections): New function.
1849*ed0d50c3Schristos	(elf_gc_sweep): Don't treat debug and sections like .comment
1850*ed0d50c3Schristos	specially here.
1851*ed0d50c3Schristos	(bfd_elf_gc_sections): Treat note sections as gc roots only when
1852*ed0d50c3Schristos	not part of a group.  Always call gc_mark_extra_sections.
1853*ed0d50c3Schristos	* elf-bfd.h (_bfd_elf_gc_mark_extra_sections): Declare.
1854*ed0d50c3Schristos	* elfxx-target.h (elf_backend_gc_mark_extra_sections): Default to
1855*ed0d50c3Schristos	_bfd_elf_gc_mark_extra_sections.
1856*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_gc_mark_extra_sections): Call
1857*ed0d50c3Schristos	_bfd_elf_gc_mark_extra_sections.
1858*ed0d50c3Schristos	* elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): Likewise.
1859*ed0d50c3Schristos
1860*ed0d50c3Schristos2011-06-13  Nick Clifton  <nickc@redhat.com>
1861*ed0d50c3Schristos
1862*ed0d50c3Schristos	* elf32-tilepro.c (tilepro_elf_check_relocs): Delete unused local
1863*ed0d50c3Schristos	variable 'local_got_offsets'.
1864*ed0d50c3Schristos	* elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
1865*ed0d50c3Schristos	(tilegx_finish_dyn): Delete unused local variable 'abi_64_p'.
1866*ed0d50c3Schristos
1867*ed0d50c3Schristos2011-06-13  Walter Lee  <walt@tilera.com>
1868*ed0d50c3Schristos
1869*ed0d50c3Schristos	* Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo.
1870*ed0d50c3Schristos	(ALL_MACHINE_CFILES): Add cpu-tilegx.c and cpu-tilepro.c.
1871*ed0d50c3Schristos	(BFD32_BACKENDS): Add elf32-tilegx.lo, elf32-tilepro.lo,
1872*ed0d50c3Schristos	and elfxx-tilegx.lo.
1873*ed0d50c3Schristos	(BFD32_BACKENDS_CFILES): Add elf32-tilegx.c elf32-tilepro.c, and
1874*ed0d50c3Schristos	elfxx-tilegx.c.
1875*ed0d50c3Schristos	(BFD64_BACKENDS): Add elf64-tilegx.lo.
1876*ed0d50c3Schristos	(BFD64_BACKENDS_CFILES): Add elf64-tilegx.c.
1877*ed0d50c3Schristos	* Makefile.in: Regenerate.
1878*ed0d50c3Schristos	* arctures.c (bfd_architecture): Define bfd_arch_tilepro,
1879*ed0d50c3Schristos	bfd_arch_tilegx, bfd_mach_tilepro, bfd_mach_tilegx.
1880*ed0d50c3Schristos	(bfd_arch_info): Add bfd_tilegx_arch, bfd_tilepro_arch.
1881*ed0d50c3Schristos	(bfd_archures_list): Add bfd_tilegx_arch, bfd_tilepro_arch.
1882*ed0d50c3Schristos	bfd-in2.h: Regenerate.
1883*ed0d50c3Schristos	* config.bfd: Handle tilegx-*-* and tilepro-*-*.
1884*ed0d50c3Schristos	* configure.in: Handle bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
1885*ed0d50c3Schristos	and bfd_elf64_tilegx_vec.
1886*ed0d50c3Schristos	* configure: Regenerate.
1887*ed0d50c3Schristos	* elf-bfd.h (enum elf_target_id): Define TILEGX_ELF_DATA and
1888*ed0d50c3Schristos	TILEPRO_ELF_DATA.
1889*ed0d50c3Schristos	* libbfd.h: Regenerate.
1890*ed0d50c3Schristos	* reloc.c: Add BFD_RELOC_TILEPRO_{COPY, GLOB_DAT, JMP_SLOT,
1891*ed0d50c3Schristos	RELATIVE, BROFF_X1, JOFFLONG_X1, JOFFLONG_X1_PLT, IMM8_X0,
1892*ed0d50c3Schristos	IMM8_Y0, IMM8_X1, IMM8_Y1, DEST_IMM8_X1, MT_IMM15_X1, MF_IMM15_X1,
1893*ed0d50c3Schristos	IMM16_X0, IMM16_X1, IMM16_X0_LO, IMM16_X1_LO, IMM16_X0_HI,
1894*ed0d50c3Schristos	IMM16_X1_HI, IMM16_X0_HA, IMM16_X1_HA, IMM16_X0_PCREL,
1895*ed0d50c3Schristos	IMM16_X1_PCREL, IMM16_X0_LO_PCREL, IMM16_X1_LO_PCREL,
1896*ed0d50c3Schristos	IMM16_X0_HI_PCREL, IMM16_X1_HI_PCREL, IMM16_X0_HA_PCREL,
1897*ed0d50c3Schristos	IMM16_X1_HA_PCREL, IMM16_X0_GOT, IMM16_X1_GOT, IMM16_X0_GOT_LO,
1898*ed0d50c3Schristos	IMM16_X1_GOT_LO, IMM16_X0_GOT_HI, IMM16_X1_GOT_HI,
1899*ed0d50c3Schristos	IMM16_X0_GOT_HA, IMM16_X1_GOT_HA, MMSTART_X0, MMEND_X0,
1900*ed0d50c3Schristos	MMSTART_X1, MMEND_X1, SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1,
1901*ed0d50c3Schristos	IMM16_X0_TLS_GD, IMM16_X1_TLS_GD, IMM16_X0_TLS_GD_LO,
1902*ed0d50c3Schristos	IMM16_X1_TLS_GD_LO, IMM16_X0_TLS_GD_HI, IMM16_X1_TLS_GD_HI,
1903*ed0d50c3Schristos	IMM16_X0_TLS_GD_HA, IMM16_X1_TLS_GD_HA, IMM16_X0_TLS_IE,
1904*ed0d50c3Schristos	IMM16_X1_TLS_IE, IMM16_X0_TLS_IE_LO, IMM16_X1_TLS_IE_LO,
1905*ed0d50c3Schristos	IMM16_X0_TLS_IE_HI, IMM16_X1_TLS_IE_HI, IMM16_X0_TLS_IE_HA,
1906*ed0d50c3Schristos	IMM16_X1_TLS_IE_HA, TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
1907*ed0d50c3Schristos	Add BFD_RELOC_TILEGX_{HW0, HW1, HW2, HW3, HW0_LAST, HW1_LAST,
1908*ed0d50c3Schristos	HW2_LAST, COPY, GLOB_DAT, JMP_SLOT, RELATIVE, BROFF_X1,
1909*ed0d50c3Schristos	JUMPOFF_X1, JUMPOFF_X1_PLT, IMM8_X0, IMM8_Y0, IMM8_X1, IMM8_Y1,
1910*ed0d50c3Schristos	DEST_IMM8_X1, MT_IMM14_X1, MF_IMM14_X1, MMSTART_X0, MMEND_X0,
1911*ed0d50c3Schristos	SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, IMM16_X0_HW0,
1912*ed0d50c3Schristos	IMM16_X1_HW0, IMM16_X0_HW1, IMM16_X1_HW1, IMM16_X0_HW2,
1913*ed0d50c3Schristos	IMM16_X1_HW2, IMM16_X0_HW3, IMM16_X1_HW3, IMM16_X0_HW0_LAST,
1914*ed0d50c3Schristos	IMM16_X1_HW0_LAST, IMM16_X0_HW1_LAST, IMM16_X1_HW1_LAST,
1915*ed0d50c3Schristos	IMM16_X0_HW2_LAST, IMM16_X1_HW2_LAST, IMM16_X0_HW0_PCREL,
1916*ed0d50c3Schristos	IMM16_X1_HW0_PCREL, IMM16_X0_HW1_PCREL, IMM16_X1_HW1_PCREL,
1917*ed0d50c3Schristos	IMM16_X0_HW2_PCREL, IMM16_X1_HW2_PCREL, IMM16_X0_HW3_PCREL,
1918*ed0d50c3Schristos	IMM16_X1_HW3_PCREL, IMM16_X0_HW0_LAST_PCREL,
1919*ed0d50c3Schristos	IMM16_X1_HW0_LAST_PCREL, IMM16_X0_HW1_LAST_PCREL,
1920*ed0d50c3Schristos	IMM16_X1_HW1_LAST_PCREL, IMM16_X0_HW2_LAST_PCREL,
1921*ed0d50c3Schristos	IMM16_X1_HW2_LAST_PCREL, IMM16_X0_HW0_GOT, IMM16_X1_HW0_GOT,
1922*ed0d50c3Schristos	IMM16_X0_HW1_GOT, IMM16_X1_HW1_GOT, IMM16_X0_HW2_GOT,
1923*ed0d50c3Schristos	IMM16_X1_HW2_GOT, IMM16_X0_HW3_GOT, IMM16_X1_HW3_GOT,
1924*ed0d50c3Schristos	IMM16_X0_HW0_LAST_GOT, IMM16_X1_HW0_LAST_GOT,
1925*ed0d50c3Schristos	IMM16_X0_HW1_LAST_GOT, IMM16_X1_HW1_LAST_GOT,
1926*ed0d50c3Schristos	IMM16_X0_HW2_LAST_GOT, IMM16_X1_HW2_LAST_GOT, IMM16_X0_HW0_TLS_GD,
1927*ed0d50c3Schristos	IMM16_X1_HW0_TLS_GD, IMM16_X0_HW1_TLS_GD, IMM16_X1_HW1_TLS_GD,
1928*ed0d50c3Schristos	IMM16_X0_HW2_TLS_GD, IMM16_X1_HW2_TLS_GD, IMM16_X0_HW3_TLS_GD,
1929*ed0d50c3Schristos	IMM16_X1_HW3_TLS_GD, IMM16_X0_HW0_LAST_TLS_GD,
1930*ed0d50c3Schristos	IMM16_X1_HW0_LAST_TLS_GD, IMM16_X0_HW1_LAST_TLS_GD,
1931*ed0d50c3Schristos	IMM16_X1_HW1_LAST_TLS_GD, IMM16_X0_HW2_LAST_TLS_GD,
1932*ed0d50c3Schristos	IMM16_X1_HW2_LAST_TLS_GD, IMM16_X0_HW0_TLS_IE,
1933*ed0d50c3Schristos	IMM16_X1_HW0_TLS_IE, IMM16_X0_HW1_TLS_IE, IMM16_X1_HW1_TLS_IE,
1934*ed0d50c3Schristos	IMM16_X0_HW2_TLS_IE, IMM16_X1_HW2_TLS_IE, IMM16_X0_HW3_TLS_IE,
1935*ed0d50c3Schristos	IMM16_X1_HW3_TLS_IE, IMM16_X0_HW0_LAST_TLS_IE,
1936*ed0d50c3Schristos	IMM16_X1_HW0_LAST_TLS_IE, IMM16_X0_HW1_LAST_TLS_IE,
1937*ed0d50c3Schristos	IMM16_X1_HW1_LAST_TLS_IE, IMM16_X0_HW2_LAST_TLS_IE,
1938*ed0d50c3Schristos	IMM16_X1_HW2_LAST_TLS_IE, TLS_DTPMOD64, TLS_DTPOFF64, TLS_TPOFF64,
1939*ed0d50c3Schristos	TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
1940*ed0d50c3Schristos	* targets.c (bfd_elf32_tilegx_vec): Declare.
1941*ed0d50c3Schristos	(bfd_elf32_tilepro_vec): Declare.
1942*ed0d50c3Schristos	(bfd_elf64_tilegx_vec): Declare.
1943*ed0d50c3Schristos	(bfd_target_vector): Add bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
1944*ed0d50c3Schristos	and bfd_elf64_tilegx_vec.
1945*ed0d50c3Schristos	* cpu-tilegx.c: New file.
1946*ed0d50c3Schristos	* cpu-tilepro.c: New file.
1947*ed0d50c3Schristos	* elf32-tilepro.h: New file.
1948*ed0d50c3Schristos	* elf32-tilepro.c: New file.
1949*ed0d50c3Schristos	* elf32-tilegx.c: New file.
1950*ed0d50c3Schristos	* elf32-tilegx.h: New file.
1951*ed0d50c3Schristos	* elf64-tilegx.c: New file.
1952*ed0d50c3Schristos	* elf64-tilegx.h: New file.
1953*ed0d50c3Schristos	* elfxx-tilegx.c: New file.
1954*ed0d50c3Schristos	* elfxx-tilegx.h: New file.
1955*ed0d50c3Schristos
1956*ed0d50c3Schristos2011-06-13  Alan Modra  <amodra@gmail.com>
1957*ed0d50c3Schristos
1958*ed0d50c3Schristos	* linker.c (bfd_link_hash_traverse): Follow warning symbol link.
1959*ed0d50c3Schristos	(_bfd_generic_link_write_global_symbol, fix_syms): Don't handle
1960*ed0d50c3Schristos	warning symbols here.
1961*ed0d50c3Schristos	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
1962*ed0d50c3Schristos	* elf32-arm.c (allocate_dynrelocs_for_symbol,
1963*ed0d50c3Schristos	elf32_arm_readonly_dynrelocs): Likewise.
1964*ed0d50c3Schristos	* elf32-bfin.c (bfin_discard_copies): Likewise.
1965*ed0d50c3Schristos	* elf32-cris.c (elf_cris_adjust_gotplt_to_got,
1966*ed0d50c3Schristos	elf_cris_discard_excess_dso_dynamics,
1967*ed0d50c3Schristos	elf_cris_discard_excess_program_dynamics): Likewise.
1968*ed0d50c3Schristos	* elf32-hppa.c (allocate_plt_static, allocate_dynrelocs,
1969*ed0d50c3Schristos	clobber_millicode_symbols, readonly_dynrelocs): Likewise.
1970*ed0d50c3Schristos	* elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
1971*ed0d50c3Schristos	* elf32-i386.c (elf_i386_allocate_dynrelocs,
1972*ed0d50c3Schristos	elf_i386_readonly_dynrelocs): Likewise.
1973*ed0d50c3Schristos	* elf32-lm32.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1974*ed0d50c3Schristos	* elf32-m32c.c (m32c_relax_plt_check, m32c_relax_plt_realloc): Likewise.
1975*ed0d50c3Schristos	* elf32-m32r.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1976*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_discard_copies): Likewise.
1977*ed0d50c3Schristos	* elf32-microblaze.c (allocate_dynrelocs): Likewise.
1978*ed0d50c3Schristos	* elf32-ppc.c (allocate_dynrelocs, maybe_set_textrel): Likewise.
1979*ed0d50c3Schristos	* elf32-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1980*ed0d50c3Schristos	* elf32-score.c (score_elf_sort_hash_table_f): Likewise.
1981*ed0d50c3Schristos	* elf32-score7.c (score_elf_sort_hash_table_f): Likewise.
1982*ed0d50c3Schristos	* elf32-sh.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1983*ed0d50c3Schristos	* elf32-tic6x.c (elf32_tic6x_allocate_dynrelocs,
1984*ed0d50c3Schristos	elf32_tic6x_readonly_dynrelocs): Likewise.
1985*ed0d50c3Schristos	* elf32-vax.c (elf_vax_discard_copies): Likewise.
1986*ed0d50c3Schristos	* elf32-xstormy16.c (xstormy16_relax_plt_check,
1987*ed0d50c3Schristos	xstormy16_relax_plt_realloc): Likewise.
1988*ed0d50c3Schristos	* elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Likewise.
1989*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_output_extsym,
1990*ed0d50c3Schristos	elf64_alpha_calc_got_offsets_for_symbol,
1991*ed0d50c3Schristos	elf64_alpha_calc_dynrel_sizes, elf64_alpha_size_rela_got_1): Likewise.
1992*ed0d50c3Schristos	* elf64-hppa.c (elf64_hppa_mark_exported_functions,
1993*ed0d50c3Schristos	allocate_global_data_opd, elf64_hppa_mark_milli_and_exported_functions,
1994*ed0d50c3Schristos	elf_hppa_unmark_useless_dynamic_symbols,
1995*ed0d50c3Schristos	elf_hppa_remark_useless_dynamic_symbols): Likewise.
1996*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref, func_desc_adjust,
1997*ed0d50c3Schristos	adjust_opd_syms, adjust_toc_syms, allocate_dynrelocs,
1998*ed0d50c3Schristos	readonly_dynrelocs, merge_global_got, reallocate_got,
1999*ed0d50c3Schristos	undo_symbol_twiddle): Likewise.
2000*ed0d50c3Schristos	* elf64-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
2001*ed0d50c3Schristos	* elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
2002*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs,
2003*ed0d50c3Schristos	elf_x86_64_readonly_dynrelocs): Likewise.
2004*ed0d50c3Schristos	* elflink.c (elf_link_renumber_hash_table_dynsyms,
2005*ed0d50c3Schristos	elf_link_renumber_local_hash_table_dynsyms, _bfd_elf_export_symbol,
2006*ed0d50c3Schristos	_bfd_elf_link_find_version_dependencies,
2007*ed0d50c3Schristos	_bfd_elf_link_assign_sym_version, _bfd_elf_adjust_dynamic_symbol,
2008*ed0d50c3Schristos	_bfd_elf_link_sec_merge_syms, elf_adjust_dynstr_offsets,
2009*ed0d50c3Schristos	elf_collect_hash_codes, elf_collect_gnu_hash_codes,
2010*ed0d50c3Schristos	elf_renumber_gnu_hash_syms, elf_gc_sweep_symbol,
2011*ed0d50c3Schristos	elf_gc_propagate_vtable_entries_used,
2012*ed0d50c3Schristos	elf_gc_smash_unused_vtentry_relocs, bfd_elf_gc_mark_dynamic_ref_symbol,
2013*ed0d50c3Schristos	elf_gc_allocate_got_offsets): Likewise.
2014*ed0d50c3Schristos	* elfnn-ia64.c (elfNN_ia64_global_dyn_info_free,
2015*ed0d50c3Schristos	elfNN_ia64_global_dyn_sym_thunk): Likewise.
2016*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_check_symbols, mips_elf_output_extsym,
2017*ed0d50c3Schristos	mips_elf_sort_hash_table_f, allocate_dynrelocs): Likewise.
2018*ed0d50c3Schristos	* elfxx-sparc.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
2019*ed0d50c3Schristos	* i386linux.c (linux_tally_symbols): Likewise.
2020*ed0d50c3Schristos	* m68klinux.c (linux_tally_symbols): Likewise.
2021*ed0d50c3Schristos	* sparclinux.c (linux_tally_symbols): Likewise.
2022*ed0d50c3Schristos	* sunos.c (sunos_scan_dynamic_symbol): Likewise.
2023*ed0d50c3Schristos	* xcofflink.c (xcoff_post_gc_symbol): Likewise.
2024*ed0d50c3Schristos
2025*ed0d50c3Schristos	* elflink.c (elf_link_output_extsym): Make it a bfd_hash_traverse
2026*ed0d50c3Schristos	function.  Update all callers.
2027*ed0d50c3Schristos	* aoutx.h (aout_link_write_other_symbol): Likewise.
2028*ed0d50c3Schristos	* pdp11.c (aout_link_write_other_symbol): Likewise.
2029*ed0d50c3Schristos	* cofflink.c (_bfd_coff_write_global_sym): Likewise.
2030*ed0d50c3Schristos	* ecoff.c (ecoff_link_write_external): Likewise.
2031*ed0d50c3Schristos	* xcofflink.c (xcoff_write_global_symbol): Likewise.
2032*ed0d50c3Schristos	* vms-alpha.c (alpha_vms_link_output_symbol): Likewise.  Handle
2033*ed0d50c3Schristos	warning symbols.
2034*ed0d50c3Schristos	* ecoff.c (ecoff_link_hash_traverse): Delete.
2035*ed0d50c3Schristos	* coff-ppc.c (ppc_bfd_coff_final_link): Use bfd_hash_traverse for
2036*ed0d50c3Schristos	_bfd_coff_write_global_sym.
2037*ed0d50c3Schristos	* libcoff-in.h (_bfd_coff_write_global_sym): Update prototype.
2038*ed0d50c3Schristos	* libcoff.h: Regenerate.
2039*ed0d50c3Schristos
2040*ed0d50c3Schristos2011-06-10  Nick Clifton  <nickc@redhat.com>
2041*ed0d50c3Schristos
2042*ed0d50c3Schristos	* elflink.c (_bfd_elf_link_create_dynamic_sections): If the
2043*ed0d50c3Schristos	backend does not provide a function for creating dynamic sections
2044*ed0d50c3Schristos	then fail.
2045*ed0d50c3Schristos	(bfd_elf_final_link): Issue a warning message if a dynamic section
2046*ed0d50c3Schristos	has the SHT_NOTE type.
2047*ed0d50c3Schristos	(bfd_elf_final_link): Do not look for dynamic strings in a section
2048*ed0d50c3Schristos	that does not have the SHT_STRTAB type or the name .dynstr.
2049*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_finish_dynamic_sections): Fail if the got
2050*ed0d50c3Schristos	section is not in the output binary.
2051*ed0d50c3Schristos	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Likewise.
2052*ed0d50c3Schristos
2053*ed0d50c3Schristos2011-06-09  Tristan Gingold  <gingold@adacore.com>
2054*ed0d50c3Schristos
2055*ed0d50c3Schristos	* elfnn-ia64.c (elfNN_ia64_relax_section, elfNN_ia64_choose_gp)
2056*ed0d50c3Schristos	(elfNN_ia64_relocate_section, elfNN_vms_object_p): Remove trailing
2057*ed0d50c3Schristos	spaces.
2058*ed0d50c3Schristos
2059*ed0d50c3Schristos2011-06-09  Tristan Gingold  <gingold@adacore.com>
2060*ed0d50c3Schristos
2061*ed0d50c3Schristos	* bfd.c (bfd_get_sign_extend_vma): Handle aixcoff.
2062*ed0d50c3Schristos
2063*ed0d50c3Schristos2011-06-09  Nick Clifton  <nickc@redhat.com>
2064*ed0d50c3Schristos
2065*ed0d50c3Schristos	PR ld/12845
2066*ed0d50c3Schristos	* elf.c (_bfd_elf_init_private_section_data): Add an assertion
2067*ed0d50c3Schristos	that the output section has an allocated bfd_elf_section_data
2068*ed0d50c3Schristos	structure.
2069*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_check_symbols): Do not create a stub for
2070*ed0d50c3Schristos	symbols in sections that have been removed by garbage collection.
2071*ed0d50c3Schristos
2072*ed0d50c3Schristos2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
2073*ed0d50c3Schristos
2074*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_check_relocs): Allow R_X86_64_64
2075*ed0d50c3Schristos	relocations in SEC_DEBUGGING sections when building shared
2076*ed0d50c3Schristos	libraries.
2077*ed0d50c3Schristos
2078*ed0d50c3Schristos2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
2079*ed0d50c3Schristos
2080*ed0d50c3Schristos	PR ld/12851
2081*ed0d50c3Schristos	* elflink.c (elf_gc_sweep): Don't check SHT_NOTE sections here.
2082*ed0d50c3Schristos	(bfd_elf_gc_sections): Also check SHT_NOTE sections.
2083*ed0d50c3Schristos
2084*ed0d50c3Schristos2011-06-08  Tristan Gingold  <gingold@adacore.com>
2085*ed0d50c3Schristos
2086*ed0d50c3Schristos	* makefile.vms (OBJS): Add elfxx-ia64.obj
2087*ed0d50c3Schristos	Remove vax case.
2088*ed0d50c3Schristos
2089*ed0d50c3Schristos2011-06-08  Alan Modra  <amodra@gmail.com>
2090*ed0d50c3Schristos
2091*ed0d50c3Schristos	* aix386-core.c, * cisco-core.c, * hpux-core.c, * osf-core.c,
2092*ed0d50c3Schristos	* sco5-core.c: Init match_priority field.
2093*ed0d50c3Schristos
2094*ed0d50c3Schristos2011-06-08  Alan Modra  <amodra@gmail.com>
2095*ed0d50c3Schristos
2096*ed0d50c3Schristos	* elflink.c (_bfd_elf_archive_symbol_lookup): Follow warning and
2097*ed0d50c3Schristos	indirect links here.
2098*ed0d50c3Schristos
2099*ed0d50c3Schristos2011-06-07  Joel Brobecker  <brobecker@adacore.com>
2100*ed0d50c3Schristos
2101*ed0d50c3Schristos	* irix-core.c (irix_core_vec): Add match_priority field.
2102*ed0d50c3Schristos
2103*ed0d50c3Schristos2011-06-06  Alan Modra  <amodra@gmail.com>
2104*ed0d50c3Schristos
2105*ed0d50c3Schristos	* targets.c (bfd_target): Make ar_max_namelen an unsigned char.
2106*ed0d50c3Schristos	Add match_priority.
2107*ed0d50c3Schristos	* configure.in: Bump bfd version.
2108*ed0d50c3Schristos	* elfcode.h (elf_object_p): Delete hacks preventing match of
2109*ed0d50c3Schristos	EM_NONE and ELFOSABI_NONE targets when a better match exists.
2110*ed0d50c3Schristos	* elfxx-target.h (elf_match_priority): Define and use.
2111*ed0d50c3Schristos	* format.c (bfd_check_format_matches): Use target match_priority
2112*ed0d50c3Schristos	to choose best of multiple matching targets.  In cases with multiple
2113*ed0d50c3Schristos	matches rerun _bfd_check_format if we don't choose the last match.
2114*ed0d50c3Schristos	* aout-adobe.c, * aout-arm.c, * aout-target.h, * aout-tic30.c,
2115*ed0d50c3Schristos	* binary.c, * bout.c, * coff-alpha.c, * coff-i386.c, * coff-i860.c,
2116*ed0d50c3Schristos	* coff-i960.c, * coff-ia64.c, * coff-mips.c, * coff-or32.c,
2117*ed0d50c3Schristos	* coff-ppc.c, * coff-rs6000.c, * coff-sh.c, * coff-tic30.c,
2118*ed0d50c3Schristos	* coff-tic54x.c, * coff-x86_64.c, * coff64-rs6000.c, * coffcode.h,
2119*ed0d50c3Schristos	* i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, * mach-o-target.c,
2120*ed0d50c3Schristos	* mipsbsd.c, * mmo.c, * nlm-target.h, * oasys.c, * pdp11.c,
2121*ed0d50c3Schristos	* pe-mips.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, * srec.c,
2122*ed0d50c3Schristos	* tekhex.c, * trad-core.c, * verilog.c, * versados.c, * vms-alpha.c,
2123*ed0d50c3Schristos	* vms-lib.c, * xsym.c: Init match_priority field.
2124*ed0d50c3Schristos	* configure: Regenerate.
2125*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2126*ed0d50c3Schristos
2127*ed0d50c3Schristos2011-06-04  H.J. Lu  <hongjiu.lu@intel.com>
2128*ed0d50c3Schristos
2129*ed0d50c3Schristos	PR ld/12842
2130*ed0d50c3Schristos	* elfcode.h (elf_object_p): Revert the last change.
2131*ed0d50c3Schristos
2132*ed0d50c3Schristos2011-06-04  Alan Modra  <amodra@gmail.com>
2133*ed0d50c3Schristos
2134*ed0d50c3Schristos	* archures.c (bfd_arch_get_compatible): If one arch is unknown,
2135*ed0d50c3Schristos	return the other arch.
2136*ed0d50c3Schristos	* elfcode.h (elf_object_p): Allow explicit match to generic ELF
2137*ed0d50c3Schristos	target.
2138*ed0d50c3Schristos
2139*ed0d50c3Schristos2011-06-03  Bertram Felgenhauer  <bertram.felgenhauer@gmail.com>
2140*ed0d50c3Schristos
2141*ed0d50c3Schristos	PR ld/12682
2142*ed0d50c3Schristos	* hash.c (higher_primer_number): Add more, small, prime numbers.
2143*ed0d50c3Schristos	(bfd_hash_set_default_size): Likewise.
2144*ed0d50c3Schristos
2145*ed0d50c3Schristos2011-06-02  Nick Clifton  <nickc@redhat.com>
2146*ed0d50c3Schristos
2147*ed0d50c3Schristos	* coff-mcore.c: Fix spelling typo.
2148*ed0d50c3Schristos	* coff-stgo32.c: Likewise.
2149*ed0d50c3Schristos	* elf32-arm.c: Likewise.
2150*ed0d50c3Schristos	* elf32-avr.c: Likewise.
2151*ed0d50c3Schristos	* elf-m68hc1x.c: Likewise.
2152*ed0d50c3Schristos	* elf32-mcore.c: Likewise.
2153*ed0d50c3Schristos	* elf32-mep.c: Likewise.
2154*ed0d50c3Schristos	* elf32-mt.c: Likewise.
2155*ed0d50c3Schristos	* elf32-ppc.c: Likewise.
2156*ed0d50c3Schristos	* elf32-xtensa.c: Likewise.
2157*ed0d50c3Schristos	* elf64-ppc.c: Likewise.
2158*ed0d50c3Schristos	* elfxx-mips.c: Likewise.
2159*ed0d50c3Schristos	* netbsd.h: Likewise.
2160*ed0d50c3Schristos	* nlmcode.h: Likewise.
2161*ed0d50c3Schristos	* vms-alpha.c: Likewise.
2162*ed0d50c3Schristos	* po/bfd.pot: Regenerate.
2163*ed0d50c3Schristos	* po/SRC-POTFILES.in: Regenerate.
2164*ed0d50c3Schristos
2165*ed0d50c3Schristos2011-06-01  DJ Delorie  <dj@redhat.com>
2166*ed0d50c3Schristos
2167*ed0d50c3Schristos	* config.bfd: Add bfd_elf32_rx_be_ns_vec.
2168*ed0d50c3Schristos	* target.c: Likewise.
2169*ed0d50c3Schristos	* configure.in: Likewise.
2170*ed0d50c3Schristos	* configure.in: Regenerate.
2171*ed0d50c3Schristos	* elf32-rx.c: Add elf32-rx-be-ns target.
2172*ed0d50c3Schristos	(rx_elf_object_p): Never allow the be-ns target by default,
2173*ed0d50c3Schristos	only allow it if the user requests it.
2174*ed0d50c3Schristos
2175*ed0d50c3Schristos2011-06-01  H.J. Lu  <hongjiu.lu@intel.com>
2176*ed0d50c3Schristos
2177*ed0d50c3Schristos	* elf32-i386.c (elf_i386_size_dynamic_sections): Properly warn
2178*ed0d50c3Schristos	relocation in readonly section in a shared object.
2179*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
2180*ed0d50c3Schristos
2181*ed0d50c3Schristos2011-05-31  Nick Clifton  <nickc@redhat.com>
2182*ed0d50c3Schristos
2183*ed0d50c3Schristos	* archive.c (adjust_relative_path): Fix comment to prevent it
2184*ed0d50c3Schristos	corrupting the auto-generated bfd.h.
2185*ed0d50c3Schristos
2186*ed0d50c3Schristos2011-05-31  Paul Brook  <paul@codesourcery.com>
2187*ed0d50c3Schristos
2188*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_final_link_relocate): Only do bl conversion
2189*ed0d50c3Schristos	for known functions.
2190*ed0d50c3Schristos	(elf32_arm_swap_symbol_in): Only set ST_BRANCH_TO_ARM for function
2191*ed0d50c3Schristos	symbols.
2192*ed0d50c3Schristos
2193*ed0d50c3Schristos2011-05-31  Paul Brook  <paul@codesourcery.com>
2194*ed0d50c3Schristos
2195*ed0d50c3Schristos	* elf32-arm.c (arm_stub_is_thumb): Add
2196*ed0d50c3Schristos	arm_stub_long_branch_v4t_thumb_tls_pic.
2197*ed0d50c3Schristos	(elf32_arm_final_link_relocate): TLS stubs are always ARM.
2198*ed0d50c3Schristos	Handle Thumb stubs.
2199*ed0d50c3Schristos
2200*ed0d50c3Schristos2011-05-27  Nick Clifton  <nickc@redhat.com>
2201*ed0d50c3Schristos
2202*ed0d50c3Schristos	PR binutils/12710
2203*ed0d50c3Schristos	* archive.c (_bfd_get_elt_at_filepos): Set correct error value if
2204*ed0d50c3Schristos	unable to read a file pointed to by an entry in a thin archive.
2205*ed0d50c3Schristos	(adjust_relative_path): Use lrealpath to canonicalize paths.
2206*ed0d50c3Schristos	Handle the case where the reference path is above the current
2207*ed0d50c3Schristos	path in the directory tree.
2208*ed0d50c3Schristos
2209*ed0d50c3Schristos2011-05-26  H.J. Lu  <hongjiu.lu@intel.com>
2210*ed0d50c3Schristos
2211*ed0d50c3Schristos	PR ld/12809
2212*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_relocate_section): Handle
2213*ed0d50c3Schristos	R_X86_64_TPOFF64 in executable.
2214*ed0d50c3Schristos
2215*ed0d50c3Schristos2011-05-26  Alan Modra  <amodra@gmail.com>
2216*ed0d50c3Schristos
2217*ed0d50c3Schristos	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment.
2218*ed0d50c3Schristos	* elflink.c (_bfd_elf_symbol_refs_local_p): Expand
2219*ed0d50c3Schristos	local_protected comment.
2220*ed0d50c3Schristos
2221*ed0d50c3Schristos2011-05-25  Tristan Gingold  <gingold@adacore.com>
2222*ed0d50c3Schristos
2223*ed0d50c3Schristos	* configure.in (bfd_elf32_ia64_big_vec, bfd_elf32_ia64_hpux_big_vec)
2224*ed0d50c3Schristos	(bfd_elf64_ia64_big_vec, bfd_elf64_ia64_hpux_big_vec)
2225*ed0d50c3Schristos	(bfd_elf64_ia64_little_vec, bfd_elf64_ia64_vms_vec): Add elfxx-ia64.lo
2226*ed0d50c3Schristos	* Makefile.am (BFD64_BACKENDS): Add elfxx-ia64.lo
2227*ed0d50c3Schristos	(BFD64_BACKENDS_CFILES): Add elfxx-ia64.c
2228*ed0d50c3Schristos	(elf32-ia64.c): Created from elfnn-ia64.c
2229*ed0d50c3Schristos	(elf64-ia64.c): Likewise.
2230*ed0d50c3Schristos	* elfxx-ia64.h: New file.
2231*ed0d50c3Schristos	* elfxx-ia64.c: Split with elfnn-ia64.c.  Keep only the following
2232*ed0d50c3Schristos	functions.Includes elfxx-ia64.h.
2233*ed0d50c3Schristos	(elfNN_ia64_reloc): Renames to ia64_elf_reloc.  Adjust error message.
2234*ed0d50c3Schristos	(IA64_HOWTO): Adjust.
2235*ed0d50c3Schristos	(lookup_howto): Renames to ia64_elf_lookup_howto.  Make it public.
2236*ed0d50c3Schristos	(elfNN_ia64_reloc_type_lookup): Renames to
2237*ed0d50c3Schristos	ia64_elf_reloc_type_lookup. Make it public. Adjust calls.
2238*ed0d50c3Schristos	(elfNN_ia64_reloc_name_lookup): Renames to
2239*ed0d50c3Schristos	ia64_elf_reloc_name_lookup. Make it public.
2240*ed0d50c3Schristos	(elfNN_ia64_relax_br): Renames to ia64_elf_relax_br.  Make it public.
2241*ed0d50c3Schristos	(elfNN_ia64_relax_brl): Renames to ia64_elf_relax_brl. Make it
2242*ed0d50c3Schristos	public.
2243*ed0d50c3Schristos	(elfNN_ia64_relax_ldxmov): Renames to ia64_elf_relax_ldxmov.
2244*ed0d50c3Schristos	Move it and make it public.  Move prototype to elfxx-ia64.h
2245*ed0d50c3Schristos	(elfNN_ia64_install_value): Renames to ia64_elf_install_value.
2246*ed0d50c3Schristos	Move prototype to elfxx-ia64.h
2247*ed0d50c3Schristos	* elfnn-ia64.c: New file, split from elfxx-ia64.c.
2248*ed0d50c3Schristos	(elfNN_ia64_info_to_howto): Adjust calls.
2249*ed0d50c3Schristos	(elfNN_ia64_relax_section): Adjust calls.
2250*ed0d50c3Schristos	(count_dyn_reloc): Fix typo.
2251*ed0d50c3Schristos	(elfNN_ia64_relocate_section): Adjust calls.
2252*ed0d50c3Schristos	(elfNN_ia64_finish_dynamic_symbol): Likewise.
2253*ed0d50c3Schristos	(bfd_elfNN_bfd_reloc_type_lookup)
2254*ed0d50c3Schristos	(bfd_elfNN_bfd_reloc_name_lookup): Adjust macros.
2255*ed0d50c3Schristos	* configure: Regenerate.
2256*ed0d50c3Schristos	* Makefile.in: Regenerate.
2257*ed0d50c3Schristos
2258*ed0d50c3Schristos2011-05-23  DJ Delorie  <dj@redhat.com>
2259*ed0d50c3Schristos
2260*ed0d50c3Schristos	* elf32-rx.c (rx_elf_object_p): When reading an RX object in, undo
2261*ed0d50c3Schristos	the vma/lma swapping done in elf32_rx_modify_program_headers.
2262*ed0d50c3Schristos
2263*ed0d50c3Schristos2011-05-23  Nick Clifton  <nickc@redhat.com>
2264*ed0d50c3Schristos
2265*ed0d50c3Schristos	* elf-m10300.c (mn10300_elf_mkobject): New function.
2266*ed0d50c3Schristos	(bfd_elf32_mkobject): Define.
2267*ed0d50c3Schristos
2268*ed0d50c3Schristos2011-05-23  Alan Modra  <amodra@gmail.com>
2269*ed0d50c3Schristos
2270*ed0d50c3Schristos	* elf-bfd.h: Comment typo fix.
2271*ed0d50c3Schristos	* elf32-ppc.c (struct ppc_elf_dyn_relocs): Delete.  Replace with
2272*ed0d50c3Schristos	struct elf_dyn_relocs throughout.
2273*ed0d50c3Schristos	* elf64-ppc.c (struct ppc_dyn_relocs): Likewise.
2274*ed0d50c3Schristos
2275*ed0d50c3Schristos2011-05-23  Alan Modra  <amodra@gmail.com>
2276*ed0d50c3Schristos
2277*ed0d50c3Schristos	* elf32-frv.c: Use info->callbacks->einfo throughout file in linker
2278*ed0d50c3Schristos	functions rather than warning callback or _bfd_error_handler.
2279*ed0d50c3Schristos	* elf32-ppc.c: Likewise.
2280*ed0d50c3Schristos	* elf64-ppc.c: Likewise.
2281*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_tls_optimize): Use %H in __tls_get_addr lost
2282*ed0d50c3Schristos	arg error.
2283*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
2284*ed0d50c3Schristos
2285*ed0d50c3Schristos2011-05-23  Alan Modra  <amodra@gmail.com>
2286*ed0d50c3Schristos
2287*ed0d50c3Schristos	PR 12763
2288*ed0d50c3Schristos	* elf.c (assign_file_positions_for_load_sections): Set sh_offset for
2289*ed0d50c3Schristos	.tbss, and page align same for all SHT_NOBITS sections.
2290*ed0d50c3Schristos
2291*ed0d50c3Schristos2011-05-21  Alan Modra  <amodra@gmail.com>
2292*ed0d50c3Schristos
2293*ed0d50c3Schristos	PR 12763
2294*ed0d50c3Schristos	* elf.c (_bfd_elf_make_section_from_shdr): Set up TLS section LMAs
2295*ed0d50c3Schristos	from PT_TLS header.
2296*ed0d50c3Schristos	(_bfd_elf_map_sections_to_segments): Don't create a final PT_LOAD
2297*ed0d50c3Schristos	segment if just for .tbss.
2298*ed0d50c3Schristos	(assign_file_positions_for_load_sections): Don't report "can't
2299*ed0d50c3Schristos	allocate in segment" errors for .tbss.
2300*ed0d50c3Schristos	(assign_file_positions_for_non_load_sections): Don't set p_filesz
2301*ed0d50c3Schristos	from SHT_NOBITS section filepos.
2302*ed0d50c3Schristos
2303*ed0d50c3Schristos2011-05-20  Bernd Schmidt  <bernds@codesourcery.com>
2304*ed0d50c3Schristos
2305*ed0d50c3Schristos	* elf32-tic6x.c (elf32_tic6x_howto_table): Add entries for
2306*ed0d50c3Schristos	R_C6000_PCR_H16 and R_C6000_PCR_L16.
2307*ed0d50c3Schristos	(elf32_tic6x_relocate_section): Handle them.
2308*ed0d50c3Schristos
2309*ed0d50c3Schristos2011-05-18  Nick Clifton  <nickc@redhat.com>
2310*ed0d50c3Schristos
2311*ed0d50c3Schristos	PR ld/12761
2312*ed0d50c3Schristos	* elflink.c (elf_link_add_object_symbols): Process .gnu.warning
2313*ed0d50c3Schristos	sections when building shared libraries.
2314*ed0d50c3Schristos
2315*ed0d50c3Schristos2011-05-18  Rafał Krypa  <r.krypa@samsung.com>
2316*ed0d50c3Schristos
2317*ed0d50c3Schristos	PR ld/12778
2318*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_gc_sweep_hook): Use the computed dynamic
2319*ed0d50c3Schristos	reloc pointer.
2320*ed0d50c3Schristos
2321*ed0d50c3Schristos2011-05-18  Tristan Gingold  <gingold@adacore.com>
2322*ed0d50c3Schristos
2323*ed0d50c3Schristos	* xcofflink.c (xcoff_link_add_symbols): Handle C_DWARF symbols.
2324*ed0d50c3Schristos	(xcoff_sweep): Always keep dwarf sections.
2325*ed0d50c3Schristos	(xcoff_link_input_bfd): Handle dwarf symbols and sections.
2326*ed0d50c3Schristos
2327*ed0d50c3Schristos2011-05-18  Tristan Gingold  <gingold@adacore.com>
2328*ed0d50c3Schristos
2329*ed0d50c3Schristos	* libxcoff.h (struct xcoff_dwsect_name): New type.
2330*ed0d50c3Schristos	(XCOFF_DWSECT_NBR_NAMES): New macro.
2331*ed0d50c3Schristos	(xcoff_dwsect_names): Declare.
2332*ed0d50c3Schristos	* coffcode.h (sec_to_styp_flags): Handle xcoff dwarf sections.
2333*ed0d50c3Schristos	(styp_to_sec_flags): Ditto.
2334*ed0d50c3Schristos	(coff_new_section_hook): Ditto.
2335*ed0d50c3Schristos	(coff_slurp_symbol_table): Handle C_DWARF and C_INFO.
2336*ed0d50c3Schristos	* coff-rs6000.c (xcoff_dwsect_name): New variable.
2337*ed0d50c3Schristos
2338*ed0d50c3Schristos2011-05-17  Tomohiro Kashiwada  <kikairoya@gmail.com>
2339*ed0d50c3Schristos
2340*ed0d50c3Schristos	PR ld/12759
2341*ed0d50c3Schristos	* elf32-rx.c (ignore_lma): New variable.
2342*ed0d50c3Schristos	(bfd_elf32_rx_set_target_flags): Add ignore_lma parameter.
2343*ed0d50c3Schristos	(rx_modify_program_headers): Only copy the LMA into the VMA if
2344*ed0d50c3Schristos	ignore_lma is true.
2345*ed0d50c3Schristos
2346*ed0d50c3Schristos2011-05-17  Alan Modra  <amodra@gmail.com>
2347*ed0d50c3Schristos
2348*ed0d50c3Schristos	PR ld/12760
2349*ed0d50c3Schristos	* coff-aux.c (coff_m68k_aux_link_add_one_symbol): Adjust "notice" call.
2350*ed0d50c3Schristos	* elflink.c (elf_link_add_object_symbols): Likewise.
2351*ed0d50c3Schristos	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
2352*ed0d50c3Schristos
2353*ed0d50c3Schristos2011-05-16  Alan Modra  <amodra@gmail.com>
2354*ed0d50c3Schristos
2355*ed0d50c3Schristos	* linker.c (_bfd_generic_link_add_one_symbol): Don't init u.undef.weak.
2356*ed0d50c3Schristos
2357*ed0d50c3Schristos2011-05-15  Richard Sandiford  <rdsandiford@googlemail.com>
2358*ed0d50c3Schristos
2359*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Record both local and
2360*ed0d50c3Schristos	global GOT entries for GOT_PAGE relocations against global symbols.
2361*ed0d50c3Schristos
2362*ed0d50c3Schristos2011-05-13  Bernd Schmidt  <bernds@codesourcery.com>
2363*ed0d50c3Schristos
2364*ed0d50c3Schristos	* config.bfd (tic6x-*-elf, tic6x-*-uclinux): New.
2365*ed0d50c3Schristos	(tic6x-*-*): Replaced by these.
2366*ed0d50c3Schristos	* elf32-tic6x.c (elf32_tic6x_set_osabi): New static function.
2367*ed0d50c3Schristos	(elf32_tic6x_check_relocs): Create dynamic sections if -shared.
2368*ed0d50c3Schristos	(elf_backend_relocs_compatible, elf_backend_post_process_headers):
2369*ed0d50c3Schristos	Define.
2370*ed0d50c3Schristos	(elf32_bed, TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM,
2371*ed0d50c3Schristos	TARGET_BIG_NAME, ELF_OSABI): Redefine twice, and include
2372*ed0d50c3Schristos	"elf32-target.h" two more times.
2373*ed0d50c3Schristos	* configure.in: Handle bfd_elf32_tic6x_linux_be_vec,
2374*ed0d50c3Schristos	bfd_elf32_tic6x_linux_le_vec, bfd_elf32_tic6x_elf_be_vec and
2375*ed0d50c3Schristos	bfd_elf32_tic6x_elf_le_vec.
2376*ed0d50c3Schristos	* configure: Regenerate.
2377*ed0d50c3Schristos
2378*ed0d50c3Schristos2011-05-13  Jan Beulich  <jbeulich@novell.com>
2379*ed0d50c3Schristos
2380*ed0d50c3Schristos	* config.bfd: Add targets x86_64-*-pe and x86_64-*-pep.
2381*ed0d50c3Schristos
2382*ed0d50c3Schristos2011-05-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
2383*ed0d50c3Schristos
2384*ed0d50c3Schristos	* config.in: Regenerated.
2385*ed0d50c3Schristos	* configure: Regenerated.
2386*ed0d50c3Schristos	* configure.in: New tests for HAVE_PRPSINFO_T_PR_PID,
2387*ed0d50c3Schristos	HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and
2388*ed0d50c3Schristos	HAVE_PSINFO32_T_PR_PID.
2389*ed0d50c3Schristos	* elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by
2390*ed0d50c3Schristos	HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID
2391*ed0d50c3Schristos	and HAVE_PSINFO32_T_PR_PID.
2392*ed0d50c3Schristos	* hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition.
2393*ed0d50c3Schristos
2394*ed0d50c3Schristos2011-05-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
2395*ed0d50c3Schristos
2396*ed0d50c3Schristos	* elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and
2397*ed0d50c3Schristos	32bit psinfo.
2398*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid.
2399*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise.
2400*ed0d50c3Schristos
2401*ed0d50c3Schristos2011-05-09  Paul Brook  <paul@codesourcery.com>
2402*ed0d50c3Schristos
2403*ed0d50c3Schristos	* bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype.
2404*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2405*ed0d50c3Schristos	* elf32-tic6x.c: Include limits.h.
2406*ed0d50c3Schristos	(tic6x_unwind_edit_type, tic6x_unwind_table_edit,
2407*ed0d50c3Schristos	_tic6x_elf_section_data): New.
2408*ed0d50c3Schristos	(elf32_tic6x_section_data): Define.
2409*ed0d50c3Schristos	(elf32_tic6x_new_section_hook): Allocate target specific data.
2410*ed0d50c3Schristos	(elf32_tic6x_add_unwind_table_edit): New function.
2411*ed0d50c3Schristos	(get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size,
2412*ed0d50c3Schristos	elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31,
2413*ed0d50c3Schristos	elf32_tic6x_copy_exidx_entry): New functions.
2414*ed0d50c3Schristos	(elf_backend_write_section): Define.
2415*ed0d50c3Schristos
2416*ed0d50c3Schristos2011-05-09  Paul Brook  <paul@codesourcery.com>
2417*ed0d50c3Schristos
2418*ed0d50c3Schristos	* elf32-tic6x.c (is_tic6x_elf_unwind_section_name,
2419*ed0d50c3Schristos	elf32_tic6x_fake_sections): New functions.
2420*ed0d50c3Schristos	(elf_backend_fake_sections): Define.
2421*ed0d50c3Schristos
2422*ed0d50c3Schristos2011-05-09  Paul Brook  <paul@codesourcery.com>
2423*ed0d50c3Schristos
2424*ed0d50c3Schristos	* elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): New function.
2425*ed0d50c3Schristos	(elf_backend_gc_mark_extra_sections): Define.
2426*ed0d50c3Schristos
2427*ed0d50c3Schristos2011-05-07  Dave Korn  <dave.korn.cygwin@gmail.com>
2428*ed0d50c3Schristos
2429*ed0d50c3Schristos	PR ld/12365
2430*ed0d50c3Schristos	* cofflink.c (bfd_coff_link_input_bfd): Check for and warn about
2431*ed0d50c3Schristos	references to symbols defined in discarded sections.
2432*ed0d50c3Schristos
2433*ed0d50c3Schristos2011-05-07  Dave Korn  <dave.korn.cygwin@gmail.com>
2434*ed0d50c3Schristos
2435*ed0d50c3Schristos	PR ld/12365
2436*ed0d50c3Schristos	* coffgen.c (coff_write_symbol): Assume input section is its own
2437*ed0d50c3Schristos	output section if output_section member not set.
2438*ed0d50c3Schristos	(coff_write_alien_symbol): Likewise.
2439*ed0d50c3Schristos
2440*ed0d50c3Schristos2011-05-07  H.J. Lu  <hongjiu.lu@intel.com>
2441*ed0d50c3Schristos
2442*ed0d50c3Schristos	PR ld/12730
2443*ed0d50c3Schristos	* elf.c (_bfd_elf_section_offset): Check SEC_ELF_REVERSE_COPY.
2444*ed0d50c3Schristos
2445*ed0d50c3Schristos	* elflink.c (elf_link_input_bfd): Reverse copy .ctors/.dtors
2446*ed0d50c3Schristos	sections if needed.
2447*ed0d50c3Schristos
2448*ed0d50c3Schristos	* section.c (SEC_ELF_REVERSE_COPY): New.
2449*ed0d50c3Schristos	* bfd-in2.h: Regenerated.
2450*ed0d50c3Schristos
2451*ed0d50c3Schristos2011-05-07  Anders Kaseorg  <andersk@ksplice.com>
2452*ed0d50c3Schristos
2453*ed0d50c3Schristos	PR 12739
2454*ed0d50c3Schristos	* libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast.
2455*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2456*ed0d50c3Schristos
2457*ed0d50c3Schristos2011-05-06  Tristan Gingold  <gingold@adacore.com>
2458*ed0d50c3Schristos
2459*ed0d50c3Schristos	* vms-alpha.c (evax_section_flags): Remove SEC_IN_MEMORY.
2460*ed0d50c3Schristos	(_bfd_vms_slurp_egsd): Rename old_flags to vms_flags.  Handle
2461*ed0d50c3Schristos	any code section.  Add comments.
2462*ed0d50c3Schristos	(alpha_vms_object_p): Use void * instead of PTR.
2463*ed0d50c3Schristos	(alpha_vms_create_eisd_for_section): Fix test for setting DZRO.
2464*ed0d50c3Schristos	(build_module_list): Guard against no DST section.  Add comments.
2465*ed0d50c3Schristos	(alpha_vms_link_output_symbol): Discard undefined symbols.
2466*ed0d50c3Schristos	(alpha_vms_get_section_contents): Simply memcpy if the section was
2467*ed0d50c3Schristos	already loaded.  Fix typo.
2468*ed0d50c3Schristos	(vms_new_section_hook): Use void * instead of PTR.
2469*ed0d50c3Schristos	(vms_alpha_vec): Ditto.
2470*ed0d50c3Schristos
2471*ed0d50c3Schristos2011-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
2472*ed0d50c3Schristos
2473*ed0d50c3Schristos	* elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb
2474*ed0d50c3Schristos	branch to a PLT entry, redirect it to the PLT's Thumb entry point.
2475*ed0d50c3Schristos
2476*ed0d50c3Schristos2011-05-05  Bernd Schmidt  <bernds@codesourcery.com>
2477*ed0d50c3Schristos
2478*ed0d50c3Schristos	* elf32-tic6x.c (elf32_tic6x_final_link): New function.
2479*ed0d50c3Schristos	(elf32_tic6x_merge_attributes): Do not warn for PID or PIC
2480*ed0d50c3Schristos	mismatch.  Choose the lower of the two values.
2481*ed0d50c3Schristos	(bfd_elf32_bfd_final_link): New macro.
2482*ed0d50c3Schristos
2483*ed0d50c3Schristos2011-04-28  Tristan Gingold  <gingold@adacore.com>
2484*ed0d50c3Schristos
2485*ed0d50c3Schristos	* coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file.
2486*ed0d50c3Schristos	(bfd_xcoff_swap_aux_out): Ditto.
2487*ed0d50c3Schristos	* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto.
2488*ed0d50c3Schristos	(bfd_xcoff64_swap_aux_out): Ditto.
2489*ed0d50c3Schristos
2490*ed0d50c3Schristos2011-05-04  Alan Modra  <amodra@gmail.com>
2491*ed0d50c3Schristos
2492*ed0d50c3Schristos	PR ld/12727
2493*ed0d50c3Schristos	* elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear
2494*ed0d50c3Schristos	was_undefined on dot-symbols.
2495*ed0d50c3Schristos
2496*ed0d50c3Schristos2011-05-03  Paul Brook  <paul@codesourcery.com>
2497*ed0d50c3Schristos
2498*ed0d50c3Schristos
2499*ed0d50c3Schristos	* elf32-tic6x.c (elf32_tic6x_howto_table,
2500*ed0d50c3Schristos	elf32_tic6x_howto_table_rel, (elf32_tic6x_gc_sweep_hook,
2501*ed0d50c3Schristos	elf32_tic6x_relocate_section, elf32_tic6x_check_relocs):
2502*ed0d50c3Schristos	Add R_C6000_EHTYPE.
2503*ed0d50c3Schristos
2504*ed0d50c3Schristos2011-05-01  Alan Modra  <amodra@gmail.com>
2505*ed0d50c3Schristos
2506*ed0d50c3Schristos	PR ld/12718
2507*ed0d50c3Schristos	* elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before
2508*ed0d50c3Schristos	creating ifunc sections.
2509*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2510*ed0d50c3Schristos
2511*ed0d50c3Schristos2011-04-30  H.J. Lu  <hongjiu.lu@intel.com>
2512*ed0d50c3Schristos
2513*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter
2514*ed0d50c3Schristos	names.
2515*ed0d50c3Schristos
2516*ed0d50c3Schristos2011-04-28  Tom Tromey  <tromey@redhat.com>
2517*ed0d50c3Schristos
2518*ed0d50c3Schristos	* bfdio.c (memory_bstat): Pass correct size to memset.
2519*ed0d50c3Schristos
2520*ed0d50c3Schristos2011-04-28  Mike Frysinger  <vapier@gentoo.org>
2521*ed0d50c3Schristos
2522*ed0d50c3Schristos	* dwarf2.c (dwarf_debug_sections): Mark const.
2523*ed0d50c3Schristos	* elf.c (special_sections): Likewise.
2524*ed0d50c3Schristos	* libbfd-in.h (dwarf_debug_sections): Likewise.
2525*ed0d50c3Schristos	* libbfd.h: Regenerate.
2526*ed0d50c3Schristos
2527*ed0d50c3Schristos2011-04-26  Kai Tietz  <ktietz@redhat.com>
2528*ed0d50c3Schristos
2529*ed0d50c3Schristos	* coffcode.h (sec_to_styp_flags): Allow linkonce for
2530*ed0d50c3Schristos	debugging sections.
2531*ed0d50c3Schristos
2532*ed0d50c3Schristos2011-04-26  Tristan Gingold  <gingold@adacore.com>
2533*ed0d50c3Schristos
2534*ed0d50c3Schristos	* coff64-rs6000.c: Convert to ISO-C.  Remove PARAMS and PTR macros.
2535*ed0d50c3Schristos
2536*ed0d50c3Schristos2011-04-24  Alan Modra  <amodra@gmail.com>
2537*ed0d50c3Schristos
2538*ed0d50c3Schristos	PR ld/12365
2539*ed0d50c3Schristos	PR ld/12696
2540*ed0d50c3Schristos	* coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call.
2541*ed0d50c3Schristos	* linker.c (_bfd_link_hash_newfunc): Clear bitfields.
2542*ed0d50c3Schristos	(_bfd_generic_link_add_one_symbol): Update "notice" call.
2543*ed0d50c3Schristos	* elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when
2544*ed0d50c3Schristos	it is a redef of an IR symbol in a real BFD.
2545*ed0d50c3Schristos
2546*ed0d50c3Schristos2011-04-22  H.J. Lu  <hongjiu.lu@intel.com>
2547*ed0d50c3Schristos
2548*ed0d50c3Schristos	* elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation
2549*ed0d50c3Schristos	in readonly section in a shared object.
2550*ed0d50c3Schristos	(elf_i386_size_dynamic_sections): Likewise.
2551*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
2552*ed0d50c3Schristos	(elf_x86_64_size_dynamic_sections): Likewise.
2553*ed0d50c3Schristos
2554*ed0d50c3Schristos2011-04-21  H.J. Lu  <hongjiu.lu@intel.com>
2555*ed0d50c3Schristos
2556*ed0d50c3Schristos	PR ld/12694
2557*ed0d50c3Schristos	* elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC
2558*ed0d50c3Schristos	symbols.
2559*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
2560*ed0d50c3Schristos
2561*ed0d50c3Schristos2011-04-21  H.J. Lu  <hongjiu.lu@intel.com>
2562*ed0d50c3Schristos
2563*ed0d50c3Schristos	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false
2564*ed0d50c3Schristos	on dynamic symbol error.
2565*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
2566*ed0d50c3Schristos
2567*ed0d50c3Schristos2011-04-20  Tristan Gingold  <gingold@adacore.com>
2568*ed0d50c3Schristos
2569*ed0d50c3Schristos	* config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs.
2570*ed0d50c3Schristos
2571*ed0d50c3Schristos2011-04-20  Alan Modra  <amodra@gmail.com>
2572*ed0d50c3Schristos
2573*ed0d50c3Schristos	* hash.c (bfd_default_hash_table_size): Make it an unsigned long.
2574*ed0d50c3Schristos	(bfd_hash_table_init_n): Overflow checking.
2575*ed0d50c3Schristos	(bfd_hash_set_default_size): Return current size.  Take unsigned long
2576*ed0d50c3Schristos	arg.  Add 65537 to hash_size primes.
2577*ed0d50c3Schristos	* bfd-in.h (bfd_hash_set_default_size): Update prototype.
2578*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2579*ed0d50c3Schristos
2580*ed0d50c3Schristos2011-04-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
2581*ed0d50c3Schristos
2582*ed0d50c3Schristos	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of
2583*ed0d50c3Schristos	memmove elements.
2584*ed0d50c3Schristos
2585*ed0d50c3Schristos2011-04-20  Alan Modra  <amodra@gmail.com>
2586*ed0d50c3Schristos
2587*ed0d50c3Schristos	* libbfd.c (bfd_log2): Do return rounded up value.
2588*ed0d50c3Schristos	* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2
2589*ed0d50c3Schristos	call with expanded old round down version of the function.
2590*ed0d50c3Schristos
2591*ed0d50c3Schristos	* archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
2592*ed0d50c3Schristos	* elflink.c (elf_link_add_object_symbols): Delete redundant code.
2593*ed0d50c3Schristos
2594*ed0d50c3Schristos2011-04-20  Alan Modra  <amodra@gmail.com>
2595*ed0d50c3Schristos
2596*ed0d50c3Schristos	PR ld/12365
2597*ed0d50c3Schristos	* elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols
2598*ed0d50c3Schristos	in their own common section.
2599*ed0d50c3Schristos	* elflink.c (elf_link_add_object_symbols): Likewise.
2600*ed0d50c3Schristos	* linker.c (generic_link_check_archive_element): Don't lose flags
2601*ed0d50c3Schristos	if common section is pre-existing.
2602*ed0d50c3Schristos	(_bfd_generic_link_add_one_symbol): Likewise.
2603*ed0d50c3Schristos
2604*ed0d50c3Schristos2011-04-20  Alan Modra  <amodra@gmail.com>
2605*ed0d50c3Schristos
2606*ed0d50c3Schristos	PR ld/12365
2607*ed0d50c3Schristos	* elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls.
2608*ed0d50c3Schristos	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.  Call
2609*ed0d50c3Schristos	multiple_definition regardless of allow_multiple_definition.
2610*ed0d50c3Schristos	* simple.c (simple_dummy_multiple_definition): Update.
2611*ed0d50c3Schristos	* xcofflink.c (xcoff_link_add_symbols): Update multiple_definition
2612*ed0d50c3Schristos	calls.
2613*ed0d50c3Schristos
2614*ed0d50c3Schristos2011-04-18  Tristan Gingold  <gingold@adacore.com>
2615*ed0d50c3Schristos
2616*ed0d50c3Schristos	* coff-rs6000.c: Convert to ISO-C.  Remove PARAMS macro.
2617*ed0d50c3Schristos
2618*ed0d50c3Schristos2011-04-18  Alan Modra  <amodra@gmail.com>
2619*ed0d50c3Schristos
2620*ed0d50c3Schristos	PR ld/12365
2621*ed0d50c3Schristos	PR ld/12672
2622*ed0d50c3Schristos	* bfd.c (BFD_PLUGIN): Define.
2623*ed0d50c3Schristos	(BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN.
2624*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2625*ed0d50c3Schristos	* elflink.c (elf_link_output_extsym): Strip undefined plugin syms.
2626*ed0d50c3Schristos	* opncls.c (bfd_make_readable): Don't lose original bfd flags.
2627*ed0d50c3Schristos
2628*ed0d50c3Schristos2011-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
2629*ed0d50c3Schristos
2630*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for
2631*ed0d50c3Schristos	SEC_LOAD.
2632*ed0d50c3Schristos
2633*ed0d50c3Schristos2011-04-15  Sergio Durigan Junior  <sergiodj@redhat.com>
2634*ed0d50c3Schristos
2635*ed0d50c3Schristos	* elf-bfd.h (struct sdt_note): New struct.
2636*ed0d50c3Schristos	(struct elf_obj_tdata) <sdt_note_head>: New field.
2637*ed0d50c3Schristos	* elf.c (elfobj_grok_stapsdt_note_1): New function.
2638*ed0d50c3Schristos	(elfobj_grok_stapsdt_note): Likewise.
2639*ed0d50c3Schristos	(elf_parse_notes): Added code to treat SystemTap note
2640*ed0d50c3Schristos	sections.
2641*ed0d50c3Schristos
2642*ed0d50c3Schristos2011-04-12  Richard Henderson  <rth@redhat.com>
2643*ed0d50c3Schristos
2644*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Do not
2645*ed0d50c3Schristos	exclude empty .got sections.
2646*ed0d50c3Schristos
2647*ed0d50c3Schristos2011-04-11  H.J. Lu  <hongjiu.lu@intel.com>
2648*ed0d50c3Schristos
2649*ed0d50c3Schristos	* elf32-i386.c (elf_i386_reloc_type_lookup): Fix the out of bound
2650*ed0d50c3Schristos	array access for BFD_RELOC_386_IRELATIVE.
2651*ed0d50c3Schristos
2652*ed0d50c3Schristos2011-04-11  Bernd Schmidt  <bernds@codesourcery.com>
2653*ed0d50c3Schristos
2654*ed0d50c3Schristos	* elf32-tic6x.c (elf32_tic6x_check_relocs): Initialize pc_count field.
2655*ed0d50c3Schristos
2656*ed0d50c3Schristos2011-04-11  Mark Wielaard  <mjw@redhat.com>
2657*ed0d50c3Schristos
2658*ed0d50c3Schristos	PR 10549
2659*ed0d50c3Schristos	* elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols.
2660*ed0d50c3Schristos	(has_gnu_symbols): Renamed from has_ifunc_symbols.
2661*ed0d50c3Schristos	* elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name.
2662*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_add_symbol_hook): Set has_gnu_symbols
2663*ed0d50c3Schristos	also if STB_GNU_UNIQUE symbol binding was seen.
2664*ed0d50c3Schristos	* elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
2665*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
2666*ed0d50c3Schristos	* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
2667*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
2668*ed0d50c3Schristos	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
2669*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
2670*ed0d50c3Schristos
2671*ed0d50c3Schristos2011-04-11  Alan Modra  <amodra@gmail.com>
2672*ed0d50c3Schristos
2673*ed0d50c3Schristos	* bfd-in.h (bfd_get_section_limit): Don't use rawsize with output
2674*ed0d50c3Schristos	sections.
2675*ed0d50c3Schristos	* libbfd.c (_bfd_generic_get_section_contents): Likewise.
2676*ed0d50c3Schristos	(_bfd_generic_get_section_contents_in_window): Likewise.
2677*ed0d50c3Schristos	* section.c (bfd_get_section_contents): Likewise.
2678*ed0d50c3Schristos	* compress.c (bfd_get_full_section_contents): Likewise.
2679*ed0d50c3Schristos	* elf32-rx.c (rx_final_link): Ignore rawsize.
2680*ed0d50c3Schristos	* elf32-microblaze.c (microblaze_elf_relocate_section): Use correct
2681*ed0d50c3Schristos	bfd with bfd_get_section_limit.
2682*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_choose_gp): Add "final" parameter.  Use
2683*ed0d50c3Schristos	os->size during final link.  Update callers.
2684*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2685*ed0d50c3Schristos
2686*ed0d50c3Schristos2011-04-10  Richard Sandiford  <rdsandiford@googlemail.com>
2687*ed0d50c3Schristos
2688*ed0d50c3Schristos	PR ld/12637
2689*ed0d50c3Schristos	* elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count
2690*ed0d50c3Schristos	as the number of global entries when merging with the primary GOT.
2691*ed0d50c3Schristos
2692*ed0d50c3Schristos2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
2693*ed0d50c3Schristos
2694*ed0d50c3Schristos	* elf32-i386.c: Update copyright year.
2695*ed0d50c3Schristos	* elf64-x86-64.c: Likewise.
2696*ed0d50c3Schristos
2697*ed0d50c3Schristos2011-04-09  Kai Tietz  <ktietz@redhat.com>
2698*ed0d50c3Schristos
2699*ed0d50c3Schristos	* peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary
2700*ed0d50c3Schristos	buffer and use rawsize for sorting.
2701*ed0d50c3Schristos	* coffcode.h (coff_compute_section_file_positions): Set rawsize
2702*ed0d50c3Schristos	before doing alignment.
2703*ed0d50c3Schristos
2704*ed0d50c3Schristos2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
2705*ed0d50c3Schristos
2706*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Return relocation
2707*ed0d50c3Schristos	error on unsupported relocation.
2708*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2709*ed0d50c3Schristos
2710*ed0d50c3Schristos2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
2711*ed0d50c3Schristos
2712*ed0d50c3Schristos	PR binutils/12657
2713*ed0d50c3Schristos	* hosts/x86-64linux.h (elf_prstatus32): Replace __pid_t with
2714*ed0d50c3Schristos	pid_t.
2715*ed0d50c3Schristos
2716*ed0d50c3Schristos2011-04-08  H.J. Lu  <hongjiu.lu@intel.com>
2717*ed0d50c3Schristos
2718*ed0d50c3Schristos	PR ld/12654
2719*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Check !executable
2720*ed0d50c3Schristos	instead of shared for R_386_TLS_LDO_32.
2721*ed0d50c3Schristos
2722*ed0d50c3Schristos2011-04-08  Tristan Gingold  <gingold@adacore.com>
2723*ed0d50c3Schristos
2724*ed0d50c3Schristos	* Makefile.am (SOURCE_HFILES): Remove xcoff-target.h
2725*ed0d50c3Schristos	* coff-pmac: Remove
2726*ed0d50c3Schristos	* xcoff-target.h: Remove
2727*ed0d50c3Schristos	* Makefile.in: Regenerate.
2728*ed0d50c3Schristos
2729*ed0d50c3Schristos2011-04-07  Cary Coutant  <ccoutant@google.com>
2730*ed0d50c3Schristos
2731*ed0d50c3Schristos	* dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification.
2732*ed0d50c3Schristos
2733*ed0d50c3Schristos2011-04-07  Paul Brook  <paul@codesourcery.com>
2734*ed0d50c3Schristos
2735*ed0d50c3Schristos	* elf32-tic6x.c (elf32_tic6x_howto_table): R_C6000_PREL31 is
2736*ed0d50c3Schristos	pc-relative.
2737*ed0d50c3Schristos	(elf32_tic6x_howto_table_rel): Ditto.
2738*ed0d50c3Schristos	(elf32_tic6x_relocate_section): Implement R_C6000_PREL31.
2739*ed0d50c3Schristos	(elf32_tic6x_check_relocs): Ditto.
2740*ed0d50c3Schristos
2741*ed0d50c3Schristos2011-04-06  Joseph Myers  <joseph@codesourcery.com>
2742*ed0d50c3Schristos
2743*ed0d50c3Schristos	* config.bfd (thumb-*-oabi): Don't handle in list of obsolete
2744*ed0d50c3Schristos	targets.
2745*ed0d50c3Schristos	(strongarm*, thumb*, xscale*): Remove architectures.
2746*ed0d50c3Schristos	(strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
2747*ed0d50c3Schristos	thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
2748*ed0d50c3Schristos	xscale-*-coff): Remove targets.
2749*ed0d50c3Schristos
2750*ed0d50c3Schristos2011-04-01  Tristan Gingold  <gingold@adacore.com>
2751*ed0d50c3Schristos
2752*ed0d50c3Schristos	* elfxx-ia64.c: include bfd_stdint.h
2753*ed0d50c3Schristos
2754*ed0d50c3Schristos2011-03-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
2755*ed0d50c3Schristos
2756*ed0d50c3Schristos	* elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable
2757*ed0d50c3Schristos	dynobj and its initialization.
2758*ed0d50c3Schristos
2759*ed0d50c3Schristos2011-03-31  Tristan Gingold  <gingold@adacore.com>
2760*ed0d50c3Schristos
2761*ed0d50c3Schristos	* makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec.
2762*ed0d50c3Schristos	* configure.com: Set BFD_HOST_64BIT_LONG_LONG and
2763*ed0d50c3Schristos	BFD_HOST_LONG_LONG to 1.
2764*ed0d50c3Schristos
2765*ed0d50c3Schristos2011-03-31  Tristan Gingold  <gingold@adacore.com>
2766*ed0d50c3Schristos
2767*ed0d50c3Schristos	* vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning.
2768*ed0d50c3Schristos	(_bfd_vms_write_etir): Ditto.
2769*ed0d50c3Schristos	(_bfd_vms_slurp_etir): Avoid to use intptr_t
2770*ed0d50c3Schristos	* configure.com: Generate bfd_stdint.h
2771*ed0d50c3Schristos
2772*ed0d50c3Schristos2011-03-31  Bernd Schmidt  <bernds@codesourcery.com>
2773*ed0d50c3Schristos
2774*ed0d50c3Schristos	* elf32-tic6x.h (struct elf32_tic6x_params): New.
2775*ed0d50c3Schristos	(elf32_tic6x_setup): Declare.
2776*ed0d50c3Schristos	* elf32-tic6x.c: Include <limits.h>.
2777*ed0d50c3Schristos	(ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define.
2778*ed0d50c3Schristos	(struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry):
2779*ed0d50c3Schristos	New structures.
2780*ed0d50c3Schristos	(elf32_tic6x_link_hash_table, is_tic6x_elf): New macros.
2781*ed0d50c3Schristos	(tic6x_elf_scom_section, tic6x_elf_scom_symbol,
2782*ed0d50c3Schristos	tic6x_elf_scom_symbol_ptr): New static variables.
2783*ed0d50c3Schristos	(elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel,
2784*ed0d50c3Schristos	elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE,
2785*ed0d50c3Schristos	R_C6000_PCR_H16 and R_C6000_PCR_L16.
2786*ed0d50c3Schristos	(elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create,
2787*ed0d50c3Schristos	elf32_tic6x_link_hash_table_free, elf32_tic6x_setup,
2788*ed0d50c3Schristos	elf32_tic6x_using_dsbt, elf32_tic6x_install_rela,
2789*ed0d50c3Schristos	elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc,
2790*ed0d50c3Schristos	elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook,
2791*ed0d50c3Schristos	elf32_tic6x_adjust_dynamic_symbol): New static functions.
2792*ed0d50c3Schristos	(elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches
2793*ed0d50c3Schristos	to weak symbols as required by the ABI.
2794*ed0d50c3Schristos	Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file
2795*ed0d50c3Schristos	as needed when generating DSBT output.
2796*ed0d50c3Schristos	(elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook,
2797*ed0d50c3Schristos	elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section,
2798*ed0d50c3Schristos	elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections,
2799*ed0d50c3Schristos	elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers,
2800*ed0d50c3Schristos	elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val,
2801*ed0d50c3Schristos	elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym):
2802*ed0d50c3Schristos	New static functions.
2803*ed0d50c3Schristos	(ELF_MAXPAGESIZE): Define to 0x1000.
2804*ed0d50c3Schristos	(bfd_elf32_bfd_copy_private_bfd_data,
2805*ed0d50c3Schristos	bfd_elf32_bfd_link_hash_table_create,
2806*ed0d50c3Schristos	bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount,
2807*ed0d50c3Schristos	elf_backend_want_got_plt, elf_backend_want_dynbss,
2808*ed0d50c3Schristos	elf_backend_plt_readonly, elf_backend_got_header_size,
2809*ed0d50c3Schristos	elf_backend_gc_sweep_hook, elf_backend_modify_program_headers,
2810*ed0d50c3Schristos	elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
2811*ed0d50c3Schristos	elf_backend_check_relocs, elf_backend_add_symbol_hook,
2812*ed0d50c3Schristos	elf_backend_symbol_processing, elf_backend_link_output_symbol_hook,
2813*ed0d50c3Schristos	elf_backend_section_from_bfd_section,
2814*ed0d50c3Schristos	elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections,
2815*ed0d50c3Schristos	elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections,
2816*ed0d50c3Schristos	elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define.
2817*ed0d50c3Schristos
2818*ed0d50c3Schristos	* bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE,
2819*ed0d50c3Schristos	BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add.
2820*ed0d50c3Schristos	* bfd/bfd-in2.h: Regenerate.
2821*ed0d50c3Schristos	* bfd/libbfd.h: Regenerate.
2822*ed0d50c3Schristos	* config.bfd: Accept tic6x-*-* instead of tic6x-*-elf.
2823*ed0d50c3Schristos
2824*ed0d50c3Schristos2011-03-31  Tristan Gingold  <gingold@adacore.com>
2825*ed0d50c3Schristos
2826*ed0d50c3Schristos	* coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
2827*ed0d50c3Schristos	entry on xcoff when value is C_NULL_VALUE.
2828*ed0d50c3Schristos
2829*ed0d50c3Schristos2011-03-31  Tristan Gingold  <gingold@adacore.com>
2830*ed0d50c3Schristos
2831*ed0d50c3Schristos	* libcoff-in.h (exec_hdr): Remove.
2832*ed0d50c3Schristos	* libcoff.h: Regenerate.
2833*ed0d50c3Schristos
2834*ed0d50c3Schristos2011-03-30  Nick Clifton  <nickc@redhat.com>
2835*ed0d50c3Schristos
2836*ed0d50c3Schristos	* po/da.po: Updated Danish translation.
2837*ed0d50c3Schristos
2838*ed0d50c3Schristos2011-03-29  Richard Henderson  <rth@redhat.com>
2839*ed0d50c3Schristos
2840*ed0d50c3Schristos	* elf64-alpha.c (elf64_alpha_gc_mark_hook): New.
2841*ed0d50c3Schristos	(elf64_alpha_gc_sweep_hook): New.
2842*ed0d50c3Schristos	(elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): New.
2843*ed0d50c3Schristos	(elf_backend_can_gc_sections): New.
2844*ed0d50c3Schristos
2845*ed0d50c3Schristos2011-03-26  John Marino  <binutils@marino.st>
2846*ed0d50c3Schristos
2847*ed0d50c3Schristos	* config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*.
2848*ed0d50c3Schristos	* configure.in: Delete unused bfd_elf32_i386_dragonfly_vec.
2849*ed0d50c3Schristos	* configure: Regenerate.
2850*ed0d50c3Schristos
2851*ed0d50c3Schristos2011-03-25  Michael Snyder  <msnyder@vmware.com>
2852*ed0d50c3Schristos
2853*ed0d50c3Schristos	* coffcode.h (coff_set_alignment_hook): Check return of bfd_seek.
2854*ed0d50c3Schristos
2855*ed0d50c3Schristos2011-03-25  Tristan Gingold  <gingold@adacore.com>
2856*ed0d50c3Schristos
2857*ed0d50c3Schristos	* vms-alpha.c (_bfd_vms_find_nearest_dst_line): Allow the use
2858*ed0d50c3Schristos	of find_nearest_line on object files.
2859*ed0d50c3Schristos
2860*ed0d50c3Schristos2011-03-25  Tristan Gingold  <gingold@adacore.com>
2861*ed0d50c3Schristos
2862*ed0d50c3Schristos	* vms-alpha.c (evax_section_flags): Make $CODE$ section read-only.
2863*ed0d50c3Schristos	Minor reordering.
2864*ed0d50c3Schristos	(alpha_vms_create_eisd_for_section): Make code sections read-only.
2865*ed0d50c3Schristos
2866*ed0d50c3Schristos2011-03-24  Alan Modra  <amodra@gmail.com>
2867*ed0d50c3Schristos
2868*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where
2869*ed0d50c3Schristos	old-style __tls_get_addr calls without marker relocs don't match
2870*ed0d50c3Schristos	their arg setup insn one for one.  If such mismatches are found
2871*ed0d50c3Schristos	report the reloc and don't do any tls optimization.
2872*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
2873*ed0d50c3Schristos
2874*ed0d50c3Schristos2011-03-22  Eric B. Weddington  <eric.weddington@atmel.com>
2875*ed0d50c3Schristos
2876*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2877*ed0d50c3Schristos
2878*ed0d50c3Schristos2011-03-22  Eric B. Weddington  <eric.weddington@atmel.com>
2879*ed0d50c3Schristos
2880*ed0d50c3Schristos	* archures.c: Add AVR XMEGA architecture information.
2881*ed0d50c3Schristos	* cpu-avr.c (arch_info_struct): Likewise.
2882*ed0d50c3Schristos	* elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
2883*ed0d50c3Schristos	(elf32_avr_object_p): Likewise.
2884*ed0d50c3Schristos
2885*ed0d50c3Schristos2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
2886*ed0d50c3Schristos
2887*ed0d50c3Schristos	* reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation.
2888*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
2889*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition
2890*ed0d50c3Schristos	to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE
2891*ed0d50c3Schristos	entry.
2892*ed0d50c3Schristos	(elf32_arm_howto_from_type): Update accordingly.
2893*ed0d50c3Schristos	(elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE.
2894*ed0d50c3Schristos	(elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3.
2895*ed0d50c3Schristos	(arm_plt_info): New structure, split out from elf32_arm_link_hash_entry
2896*ed0d50c3Schristos	with an extra noncall_refcount field.
2897*ed0d50c3Schristos	(arm_local_iplt_info): New structure.
2898*ed0d50c3Schristos	(elf_arm_obj_tdata): Add local_iplt.
2899*ed0d50c3Schristos	(elf32_arm_local_iplt): New accessor macro.
2900*ed0d50c3Schristos	(elf32_arm_link_hash_entry): Replace plt_thumb_refcount,
2901*ed0d50c3Schristos	plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info.
2902*ed0d50c3Schristos	Change tls_type to a bitfield and add is_iplt.
2903*ed0d50c3Schristos	(elf32_arm_link_hash_newfunc): Update accordingly.
2904*ed0d50c3Schristos	(elf32_arm_allocate_local_sym_info): New function.
2905*ed0d50c3Schristos	(elf32_arm_create_local_iplt): Likewise.
2906*ed0d50c3Schristos	(elf32_arm_get_plt_info): Likewise.
2907*ed0d50c3Schristos	(elf32_arm_plt_needs_thumb_stub_p): Likewise.
2908*ed0d50c3Schristos	(elf32_arm_get_local_dynreloc_list): Likewise.
2909*ed0d50c3Schristos	(create_ifunc_sections): Likewise.
2910*ed0d50c3Schristos	(elf32_arm_copy_indirect_symbol): Update after the changes to
2911*ed0d50c3Schristos	elf32_arm_link_hash_entry.  Assert the is_iplt has not yet been set.
2912*ed0d50c3Schristos	(arm_type_of_stub): Add an st_type argument.  Use elf32_arm_get_plt_info
2913*ed0d50c3Schristos	to get PLT information.  Assert that all STT_GNU_IFUNC references
2914*ed0d50c3Schristos	are turned into PLT references.
2915*ed0d50c3Schristos	(arm_build_one_stub): Pass the symbol type to
2916*ed0d50c3Schristos	elf32_arm_final_link_relocate.
2917*ed0d50c3Schristos	(elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub.
2918*ed0d50c3Schristos	(elf32_arm_allocate_irelocs): New function.
2919*ed0d50c3Schristos	(elf32_arm_add_dynreloc): In static objects, use .rel.iplt for
2920*ed0d50c3Schristos	all R_ARM_IRELATIVE.
2921*ed0d50c3Schristos	(elf32_arm_allocate_plt_entry): New function.
2922*ed0d50c3Schristos	(elf32_arm_populate_plt_entry): Likewise.
2923*ed0d50c3Schristos	(elf32_arm_final_link_relocate): Add an st_type parameter.
2924*ed0d50c3Schristos	Set srelgot to null for static objects.  Use separate variables
2925*ed0d50c3Schristos	to record which st_value and st_type should be used when generating
2926*ed0d50c3Schristos	a dynamic relocation.  Use elf32_arm_get_plt_info to find the
2927*ed0d50c3Schristos	symbol's PLT information, setting has_iplt_entry, splt,
2928*ed0d50c3Schristos	plt_offset and gotplt_offset accordingly.  Check whether
2929*ed0d50c3Schristos	STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change
2930*ed0d50c3Schristos	the relocation target accordingly.  Broaden assert to include
2931*ed0d50c3Schristos	.iplts.  Don't set sreloc for static relocations.  Assert that
2932*ed0d50c3Schristos	we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32
2933*ed0d50c3Schristos	and R_ARM_ABS32_NOI.  Generate R_ARM_IRELATIVE relocations instead
2934*ed0d50c3Schristos	of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC
2935*ed0d50c3Schristos	symbol.  Pass the symbol type to arm_type_of_stub.  Conditionally
2936*ed0d50c3Schristos	resolve GOT references to the .igot.plt entry.
2937*ed0d50c3Schristos	(elf32_arm_relocate_section): Update the call to
2938*ed0d50c3Schristos	elf32_arm_final_link_relocate.
2939*ed0d50c3Schristos	(elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT
2940*ed0d50c3Schristos	information.  Treat R_ARM_REL32 and R_ARM_REL32_NOI as call
2941*ed0d50c3Schristos	relocations in shared libraries and relocatable executables.
2942*ed0d50c3Schristos	Count non-call PLT references.  Use elf32_arm_get_local_dynreloc_list
2943*ed0d50c3Schristos	to get the list of dynamic relocations for a local symbol.
2944*ed0d50c3Schristos	(elf32_arm_check_relocs): Always create ifunc sections.  Set isym
2945*ed0d50c3Schristos	at the same time as setting h.  Use elf32_arm_allocate_local_sym_info
2946*ed0d50c3Schristos	to allocate local symbol information.  Treat R_ARM_REL32 and
2947*ed0d50c3Schristos	R_ARM_REL32_NOI as call relocations in shared libraries and
2948*ed0d50c3Schristos	relocatable executables.  Record PLT information for local
2949*ed0d50c3Schristos	STT_GNU_IFUNC functions as well as global functions.   Count
2950*ed0d50c3Schristos	non-call PLT references.  Use elf32_arm_get_local_dynreloc_list
2951*ed0d50c3Schristos	to get the list of dynamic relocations for a local symbol.
2952*ed0d50c3Schristos	(elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols.
2953*ed0d50c3Schristos	Don't remove STT_GNU_IFUNC PLTs unless all references have been
2954*ed0d50c3Schristos	removed.  Update after the changes to elf32_arm_link_hash_entry.
2955*ed0d50c3Schristos	(allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT
2956*ed0d50c3Schristos	entries should live in .plt or .iplt.  Check whether the .igot.plt
2957*ed0d50c3Schristos	and .got entries can be combined.  Use elf32_arm_allocate_plt_entry
2958*ed0d50c3Schristos	to allocate .plt and .(i)got.plt entries.  Detect which .got
2959*ed0d50c3Schristos	entries will need R_ARM_IRELATIVE relocations and use
2960*ed0d50c3Schristos	elf32_arm_allocate_irelocs to allocate them.  Likewise other
2961*ed0d50c3Schristos	non-.got dynamic relocations.
2962*ed0d50c3Schristos	(elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt
2963*ed0d50c3Schristos	and dynamic relocations for local STT_GNU_IFUNC symbols.
2964*ed0d50c3Schristos	Check whether the .igot.plt and .got entries can be combined.
2965*ed0d50c3Schristos	Detect which .got entries will need R_ARM_IRELATIVE relocations
2966*ed0d50c3Schristos	and use elf32_arm_allocate_irelocs to allocate them.  Use stashed
2967*ed0d50c3Schristos	section pointers intead of strcmp checks.  Handle iplt and igotplt.
2968*ed0d50c3Schristos	(elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry
2969*ed0d50c3Schristos	to fill in .plt, .got.plt and .rel(a).plt entries.  Point
2970*ed0d50c3Schristos	STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations
2971*ed0d50c3Schristos	resolve to it.
2972*ed0d50c3Schristos	(elf32_arm_output_plt_map_1): New function, split out from
2973*ed0d50c3Schristos	elf32_arm_output_plt_map.  Handle .iplt entries.  Use
2974*ed0d50c3Schristos	elf32_arm_plt_needs_thumb_stub_p.
2975*ed0d50c3Schristos	(elf32_arm_output_plt_map): Call it.
2976*ed0d50c3Schristos	(elf32_arm_output_arch_local_syms): Add mapping symbols for
2977*ed0d50c3Schristos	local .iplt entries.
2978*ed0d50c3Schristos	(elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols.
2979*ed0d50c3Schristos	(elf32_arm_swap_symbol_out): Likewise.
2980*ed0d50c3Schristos	(elf32_arm_add_symbol_hook): New function.
2981*ed0d50c3Schristos	(elf_backend_add_symbol_hook): Define for all targets.
2982*ed0d50c3Schristos
2983*ed0d50c3Schristos2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
2984*ed0d50c3Schristos
2985*ed0d50c3Schristos	* elf-bfd.h (elf_link_hash_entry): Add target_internal.
2986*ed0d50c3Schristos	* elf.c (swap_out_syms): Set st_target_internal for each
2987*ed0d50c3Schristos	Elf_Internal_Sym.
2988*ed0d50c3Schristos	* elfcode.h (elf_swap_symbol_in): Likewise.
2989*ed0d50c3Schristos	* elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
2990*ed0d50c3Schristos	* elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise.
2991*ed0d50c3Schristos	* elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
2992*ed0d50c3Schristos	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
2993*ed0d50c3Schristos	* elflink.c (elf_link_output_extsym): Likewise.
2994*ed0d50c3Schristos	(bfd_elf_final_link): Likewise.
2995*ed0d50c3Schristos	(elf_link_add_object_symbols): Copy st_target_internal
2996*ed0d50c3Schristos	to the hash table if we see a definition.
2997*ed0d50c3Schristos	(_bfd_elf_copy_link_hash_symbol_type): Copy target_internal.
2998*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with
2999*ed0d50c3Schristos	a branch_type field.
3000*ed0d50c3Schristos	(a8_erratum_fix, a8_erratum_reloc): Likewise.
3001*ed0d50c3Schristos	(arm_type_of_stub): Replace actual_st_type with an
3002*ed0d50c3Schristos	actual_branch_type parameter.
3003*ed0d50c3Schristos	(arm_build_one_stub): Use branch types rather than st_types to
3004*ed0d50c3Schristos	determine the type of branch.
3005*ed0d50c3Schristos	(cortex_a8_erratum_scan): Likewise.
3006*ed0d50c3Schristos	(elf32_arm_size_stubs): Likewise.
3007*ed0d50c3Schristos	(bfd_elf32_arm_process_before_allocation): Likewise.
3008*ed0d50c3Schristos	(allocate_dynrelocs_for_symbol): Likewise.
3009*ed0d50c3Schristos	(elf32_arm_finish_dynamic_sections): Likewise.
3010*ed0d50c3Schristos	(elf32_arm_final_link_relocate): Replace sym_flags parameter with
3011*ed0d50c3Schristos	a branch_type parameter.
3012*ed0d50c3Schristos	(elf32_arm_relocate_section): Update call accordingly.
3013*ed0d50c3Schristos	(elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC.
3014*ed0d50c3Schristos	(elf32_arm_output_map_sym): Initialize st_target_internal.
3015*ed0d50c3Schristos	(elf32_arm_output_stub_sym): Likewise.
3016*ed0d50c3Schristos	(elf32_arm_symbol_processing): Delete.
3017*ed0d50c3Schristos	(elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs.
3018*ed0d50c3Schristos	Use st_target_internal to record the branch type.
3019*ed0d50c3Schristos	(elf32_arm_swap_symbol_out): Use st_target_internal to test for
3020*ed0d50c3Schristos	Thumb functions.
3021*ed0d50c3Schristos	(elf32_arm_is_function_type): Delete.
3022*ed0d50c3Schristos	(elf_backend_symbol_processing): Likewise.
3023*ed0d50c3Schristos	(elf_backend_is_function_type): Likewise.
3024*ed0d50c3Schristos
3025*ed0d50c3Schristos2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
3026*ed0d50c3Schristos
3027*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj.
3028*ed0d50c3Schristos	(elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion
3029*ed0d50c3Schristos	into the PLT block.
3030*ed0d50c3Schristos
3031*ed0d50c3Schristos2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
3032*ed0d50c3Schristos
3033*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p,
3034*ed0d50c3Schristos	may_need_local_target_p and may_become_dynamic_p to classify
3035*ed0d50c3Schristos	the relocation type.  Don't check info->symbolic or h->def_regular
3036*ed0d50c3Schristos	when deciding whether to record a potential dynamic reloc.
3037*ed0d50c3Schristos	Don't treat potential dynamic relocs as PLT references.
3038*ed0d50c3Schristos	(elf32_arm_gc_sweep_hook): Update to match.  Assert that we don't
3039*ed0d50c3Schristos	try to make the PLT reference count go negative.
3040*ed0d50c3Schristos
3041*ed0d50c3Schristos2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
3042*ed0d50c3Schristos
3043*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the
3044*ed0d50c3Schristos	GOT entry here, rather than leaving it to finish_dynamic_symbol.
3045*ed0d50c3Schristos	Only create a dynamic relocation for local references if
3046*ed0d50c3Schristos	info->shared.
3047*ed0d50c3Schristos	(allocate_dynrelocs_for_symbol): Update dynamic relocation
3048*ed0d50c3Schristos	allocation accordingly.
3049*ed0d50c3Schristos	(elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here.
3050*ed0d50c3Schristos
3051*ed0d50c3Schristos2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
3052*ed0d50c3Schristos
3053*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_allocate_dynrelocs): New function.
3054*ed0d50c3Schristos	(elf32_arm_add_dynreloc): Likewise.
3055*ed0d50c3Schristos	(elf32_arm_adjust_dynamic_symbol): Use elf32_arm_allocate_dynrelocs
3056*ed0d50c3Schristos	to allocate dynamic relocations.
3057*ed0d50c3Schristos	(elf32_arm_size_dynamic_sections): Likewise.
3058*ed0d50c3Schristos	(allocate_dynrelocs): Likewise.  Rename to
3059*ed0d50c3Schristos	allocate_dynrelocs_for_symbol.
3060*ed0d50c3Schristos	(elf32_arm_final_link_relocate): Use elf32_arm_add_dynreloc to
3061*ed0d50c3Schristos	create dynamic relocations.
3062*ed0d50c3Schristos	(elf32_arm_finish_dynamic_symbol): Likewise.
3063*ed0d50c3Schristos
3064*ed0d50c3Schristos2011-03-12  H.J. Lu  <hongjiu.lu@intel.com>
3065*ed0d50c3Schristos
3066*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
3067*ed0d50c3Schristos	x32 GD->IE and GD->LE transitions.
3068*ed0d50c3Schristos	(elf_x86_64_relocate_section): Supprt TLS x32 GD->IE, GD->LE
3069*ed0d50c3Schristos	and LD->LE transitions.
3070*ed0d50c3Schristos
3071*ed0d50c3Schristos2011-03-10  Alan Modra  <amodra@gmail.com>
3072*ed0d50c3Schristos
3073*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset
3074*ed0d50c3Schristos	for LO_DS error message and correct multiple.
3075*ed0d50c3Schristos
3076*ed0d50c3Schristos2011-03-10  Alan Modra  <amodra@gmail.com>
3077*ed0d50c3Schristos
3078*ed0d50c3Schristos	* elf64-ppc.c (bfd_elf64_bfd_link_just_syms): Define.
3079*ed0d50c3Schristos	(ppc64_elf_link_just_syms): New function.
3080*ed0d50c3Schristos	(opd_entry_value): Don't assume big-endian host.
3081*ed0d50c3Schristos	(get_r2off): New function.
3082*ed0d50c3Schristos	(ppc_build_one_stub, ppc_size_one_stub): Use it here.
3083*ed0d50c3Schristos
3084*ed0d50c3Schristos2011-03-06  Michael Snyder  <msnyder@vmware.com>
3085*ed0d50c3Schristos
3086*ed0d50c3Schristos	* compress.c (bfd_compress_section_contents): Check for out of mem.
3087*ed0d50c3Schristos
3088*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_relocate_section): Document
3089*ed0d50c3Schristos	that case statement falls through intentionally.
3090*ed0d50c3Schristos
3091*ed0d50c3Schristos	* elf32-i386.c (elf_i386_relocate_section): Document fall through.
3092*ed0d50c3Schristos
3093*ed0d50c3Schristos2011-03-04  Alan Modra  <amodra@gmail.com>
3094*ed0d50c3Schristos
3095*ed0d50c3Schristos	* archive.c (bsd_write_armap): Don't call stat in deterministic
3096*ed0d50c3Schristos	mode, and don't use st_mtime if stat returns error.
3097*ed0d50c3Schristos
3098*ed0d50c3Schristos2011-03-03  Michael Snyder  <msnyder@vmware.com>
3099*ed0d50c3Schristos
3100*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_relocate_section): Remove dead code.
3101*ed0d50c3Schristos
3102*ed0d50c3Schristos	* coff-x86_64.c (coff_amd64_rtype_to_howto): Fencepost error.
3103*ed0d50c3Schristos
3104*ed0d50c3Schristos	* aoutx.h (aout_final_link): Use sizeof int not sizeof int*.
3105*ed0d50c3Schristos	(aout_link_write_other_symbol): Missing break statement.
3106*ed0d50c3Schristos
3107*ed0d50c3Schristos	* dwarf2.c (scan_unit_for_symbols): Stop memory leak.
3108*ed0d50c3Schristos
3109*ed0d50c3Schristos	* archive.c (_bfd_slurp_extended_name_table): Fail if bfd_seek fails.
3110*ed0d50c3Schristos
3111*ed0d50c3Schristos2011-03-03  H.J. Lu  <hongjiu.lu@intel.com>
3112*ed0d50c3Schristos
3113*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
3114*ed0d50c3Schristos	x32 IE->LE transition.
3115*ed0d50c3Schristos	(elf_x86_64_relocate_section): Likewise.
3116*ed0d50c3Schristos
3117*ed0d50c3Schristos2011-03-02  Bernd Schmidt  <bernds@codesourcery.com>
3118*ed0d50c3Schristos
3119*ed0d50c3Schristos	* elflink.c (is_reloc_section): Remove function.
3120*ed0d50c3Schristos	(get_dynamic_reloc_section_name): Construct string manually.
3121*ed0d50c3Schristos
3122*ed0d50c3Schristos2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
3123*ed0d50c3Schristos
3124*ed0d50c3Schristos	* archive.c (_bfd_find_nested_archive): Use filename_(n)cmp.
3125*ed0d50c3Schristos	(adjust_relative_path): Likewise.
3126*ed0d50c3Schristos	(_bfd_construct_extended_name_table): Likewise.
3127*ed0d50c3Schristos	* corefile.c (generic_core_file_matches_executable_p): Likewise.
3128*ed0d50c3Schristos	* elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
3129*ed0d50c3Schristos	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
3130*ed0d50c3Schristos	* elf32-spu.c (sort_bfds): Likewise.
3131*ed0d50c3Schristos	(spu_elf_auto_overlay): Likewise.
3132*ed0d50c3Schristos	* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
3133*ed0d50c3Schristos	* xcofflink.c (xcoff_set_import_path): Likewise.
3134*ed0d50c3Schristos	* xtensa-isa.c (xtensa_regfile_lookup): Likewise.
3135*ed0d50c3Schristos	(xtensa_regfile_lookup_shortname): Likewise.
3136*ed0d50c3Schristos
3137*ed0d50c3Schristos2011-02-28  Alan Modra  <amodra@gmail.com>
3138*ed0d50c3Schristos
3139*ed0d50c3Schristos	PR 12513
3140*ed0d50c3Schristos	* archive.c (bfd_slurp_bsd_armap_f2): Sanity check parsed_size and
3141*ed0d50c3Schristos	stringsize.  Properly sanity check symdef_count.  Remove redundant
3142*ed0d50c3Schristos	bfd_release.
3143*ed0d50c3Schristos
3144*ed0d50c3Schristos2011-02-25  Rafael Ávila de Espíndola <respindola@mozilla.com>
3145*ed0d50c3Schristos
3146*ed0d50c3Schristos	* plugin.c (bfd_plugin_object_p): Correctly set the filesize
3147*ed0d50c3Schristos	and handle claim_file seeking. Only try to load the plugin once.
3148*ed0d50c3Schristos
3149*ed0d50c3Schristos2011-02-22  Andreas Schwab  <schwab@redhat.com>
3150*ed0d50c3Schristos
3151*ed0d50c3Schristos	* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD
3152*ed0d50c3Schristos	relocation read the value from the second GOT slot.
3153*ed0d50c3Schristos
3154*ed0d50c3Schristos2011-02-15  Tristan Gingold  <gingold@adacore.com>
3155*ed0d50c3Schristos
3156*ed0d50c3Schristos	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment.
3157*ed0d50c3Schristos
3158*ed0d50c3Schristos2011-02-15  Alan Modra  <amodra@gmail.com>
3159*ed0d50c3Schristos
3160*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_edit_toc): Reinstate second read of
3161*ed0d50c3Schristos	toc relocs.  Fuss over free(NULL).
3162*ed0d50c3Schristos
3163*ed0d50c3Schristos2011-02-14  Mike Frysinger  <vapier@gentoo.org>
3164*ed0d50c3Schristos
3165*ed0d50c3Schristos	* elflink.c (bfd_elf_size_dynamic_sections): Add
3166*ed0d50c3Schristos	bfd_get_symbol_leading_char to the start of newname.
3167*ed0d50c3Schristos
3168*ed0d50c3Schristos2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3169*ed0d50c3Schristos
3170*ed0d50c3Schristos	* configure: Regenerate.
3171*ed0d50c3Schristos
3172*ed0d50c3Schristos2011-02-09  Alan Modra  <amodra@gmail.com>
3173*ed0d50c3Schristos
3174*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_edit_toc): Don't free toc relocs until
3175*ed0d50c3Schristos	we are done.  When optimising large toc, check that a global
3176*ed0d50c3Schristos	symbol on a toc reloc is defined in a kept section.
3177*ed0d50c3Schristos
3178*ed0d50c3Schristos2011-02-08  Nick Clifton  <nickc@redhat.com>
3179*ed0d50c3Schristos
3180*ed0d50c3Schristos	PR binutils/12467
3181*ed0d50c3Schristos	* elf.c (assign_file_positions_for_load_sections): Set the program
3182*ed0d50c3Schristos	header offset and entry size to zero if there are no program
3183*ed0d50c3Schristos	headers.
3184*ed0d50c3Schristos
3185*ed0d50c3Schristos2011-02-08  Alan Modra  <amodra@gmail.com>
3186*ed0d50c3Schristos
3187*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_edit_toc): Don't segfault on NULL
3188*ed0d50c3Schristos	local_syms when looking for local symbols in .toc.
3189*ed0d50c3Schristos
3190*ed0d50c3Schristos2011-02-01  Alan Modra  <amodra@gmail.com>
3191*ed0d50c3Schristos
3192*ed0d50c3Schristos	* elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value
3193*ed0d50c3Schristos	for toc pointer on any section having makes_toc_func_call set.
3194*ed0d50c3Schristos	(check_pasted_section): Ensure pasted .init/.fini fragments use
3195*ed0d50c3Schristos	the same toc if any has makes_toc_func_call set.
3196*ed0d50c3Schristos
3197*ed0d50c3Schristos2011-01-28  Joseph Myers  <joseph@codesourcery.com>
3198*ed0d50c3Schristos
3199*ed0d50c3Schristos	* elf32-ppc.c (ppc_elf_link_hash_newfunc): Initialize has_sda_refs
3200*ed0d50c3Schristos	field.
3201*ed0d50c3Schristos
3202*ed0d50c3Schristos2011-01-22  Richard Sandiford  <rdsandiford@googlemail.com>
3203*ed0d50c3Schristos
3204*ed0d50c3Schristos	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Ignore
3205*ed0d50c3Schristos	common sections too.
3206*ed0d50c3Schristos
3207*ed0d50c3Schristos2011-01-18  H.J. Lu  <hongjiu.lu@intel.com>
3208*ed0d50c3Schristos
3209*ed0d50c3Schristos	* elf64-x86-64.c (elf_backend_want_plt_sym): Redefine to 0 after
3210*ed0d50c3Schristos	Solaris target.
3211*ed0d50c3Schristos
3212*ed0d50c3Schristos2011-01-18  Pierre Muller  <muller@ics.u-strasbg.fr>
3213*ed0d50c3Schristos
3214*ed0d50c3Schristos	Fix compilation for mingw64.
3215*ed0d50c3Schristos	* coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate
3216*ed0d50c3Schristos	typecast to avoid warning.
3217*ed0d50c3Schristos	* elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type
3218*ed0d50c3Schristos	usage.
3219*ed0d50c3Schristos	* elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead
3220*ed0d50c3Schristos	of long for pointer to avoid warning.
3221*ed0d50c3Schristos	(elfNN_ia64_relax_brl): Idem.
3222*ed0d50c3Schristos	(elfNN_ia64_install_value): Idem.
3223*ed0d50c3Schristos	* vms-alpha.c (_bfd_vms_slurp_etir): Idem.
3224*ed0d50c3Schristos
3225*ed0d50c3Schristos2011-01-17  Richard Sandiford  <richard.sandiford@linaro.org>
3226*ed0d50c3Schristos
3227*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than
3228*ed0d50c3Schristos	h->needs_plt when deciding whether to record a possible dynamic reloc.
3229*ed0d50c3Schristos
3230*ed0d50c3Schristos2011-01-17  Richard Sandiford  <richard.sandiford@linaro.org>
3231*ed0d50c3Schristos
3232*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_gc_sweep_hook): Remove all registered
3233*ed0d50c3Schristos	dynamic relocs for the removed section.
3234*ed0d50c3Schristos
3235*ed0d50c3Schristos2011-01-15  H.J. Lu  <hongjiu.lu@intel.com>
3236*ed0d50c3Schristos
3237*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_check_relocs): Check invalid x32
3238*ed0d50c3Schristos	relocations.
3239*ed0d50c3Schristos
3240*ed0d50c3Schristos2011-01-14  H.J. Lu  <hongjiu.lu@intel.com>
3241*ed0d50c3Schristos
3242*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_link_hash_table): Add pointer_r_type.
3243*ed0d50c3Schristos	(elf_x86_64_link_hash_table_create): Set pointer_r_type.
3244*ed0d50c3Schristos	(elf_x86_64_check_relocs): Handle R_X86_64_32 like R_X86_64_64
3245*ed0d50c3Schristos	for ILP32.  Remove ABI_64_P PIC check for R_X86_64_8,
3246*ed0d50c3Schristos	R_X86_64_16, R_X86_64_32 and R_X86_64_32S.
3247*ed0d50c3Schristos	(elf_x86_64_relocate_section):  Handle R_X86_64_32 like R_X86_64_64
3248*ed0d50c3Schristos	for ILP32.
3249*ed0d50c3Schristos
3250*ed0d50c3Schristos2011-01-14  Alan Modra  <amodra@gmail.com>
3251*ed0d50c3Schristos
3252*ed0d50c3Schristos	* bfd.c (bfd_perror): Flush stdout before and stderr after printing
3253*ed0d50c3Schristos	error.
3254*ed0d50c3Schristos	(_bfd_default_error_handler): Likewise.
3255*ed0d50c3Schristos	* elf.c (print_segment_map): Likewise.
3256*ed0d50c3Schristos	* libbfd.c (warn_deprecated): Likewise.
3257*ed0d50c3Schristos	* som.c (som_sizeof_headers): No need to do so here.
3258*ed0d50c3Schristos	* coff-i860.c: Replace use of printf for error messages with
3259*ed0d50c3Schristos	_bfd_error_handler.
3260*ed0d50c3Schristos	* coff-ppc.c: Likewise.
3261*ed0d50c3Schristos	* coff-sh.c: Likewise.
3262*ed0d50c3Schristos	* elf32-bfin.c: Likewise.
3263*ed0d50c3Schristos	* elf32-dlx.c: Likewise.
3264*ed0d50c3Schristos	* elf32-mep.c: Likewise.
3265*ed0d50c3Schristos	* elf32-v850.c: Likewise.
3266*ed0d50c3Schristos	* mach-o.c: Likewise.
3267*ed0d50c3Schristos	* pef.c: Likewise.
3268*ed0d50c3Schristos
3269*ed0d50c3Schristos2011-01-13  H.J. Lu  <hongjiu.lu@intel.com>
3270*ed0d50c3Schristos
3271*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_link_hash_table): Remove
3272*ed0d50c3Schristos	swap_reloca_out.
3273*ed0d50c3Schristos	(elf_x86_64_link_hash_table_create): Don't set swap_reloca_out.
3274*ed0d50c3Schristos	(elf_x86_64_check_relocs): Align relocation section to 4 byte
3275*ed0d50c3Schristos	for 32bit.
3276*ed0d50c3Schristos	(elf_x86_64_gc_sweep_hook): Replace ELF64_ST_TYPE with
3277*ed0d50c3Schristos	ELF_ST_TYPE.
3278*ed0d50c3Schristos	(elf_x86_64_finish_dynamic_symbol): Updated.
3279*ed0d50c3Schristos	(elf_x86_64_finish_dynamic_sections): Don't use
3280*ed0d50c3Schristos	Elf64_External_Dyn, bfd_elf64_swap_dyn_in, nor
3281*ed0d50c3Schristos	bfd_elf64_swap_dyn_out.
3282*ed0d50c3Schristos
3283*ed0d50c3Schristos2011-01-14  J. Park  <grassman@gmail.com>
3284*ed0d50c3Schristos
3285*ed0d50c3Schristos	PR ld/12339
3286*ed0d50c3Schristos	* elf32-arm.c (allocate_dynrelocs): Don't set up eh before
3287*ed0d50c3Schristos	following bfd_link_hash_warning symbol link.
3288*ed0d50c3Schristos
3289*ed0d50c3Schristos2011-01-10  Nathan Sidwell  <nathan@codesourcery.com>
3290*ed0d50c3Schristos	    Glauber de Oliveira Costa  <glommer@gmail.com>
3291*ed0d50c3Schristos
3292*ed0d50c3Schristos	* reloc.c (BFD_RELOC_ARM_TLS_GOTDESC, BFD_RELOC_ARM_TLS_CALL,
3293*ed0d50c3Schristos	BFD_RELOC_ARM_THM_TLS_CALL, BFD_RELOC_ARM_TLS_DESCSEQ,
3294*ed0d50c3Schristos	BFD_RELOC_ARM_THM_TLS_DESCSEQ, BFD_RELOC_ARM_TLS_DESC): New
3295*ed0d50c3Schristos	relocations.
3296*ed0d50c3Schristos	* libbfd.h: Rebuilt.
3297*ed0d50c3Schristos	* bfd-in2.h: Rebuilt.
3298*ed0d50c3Schristos	* elf32-arm.c (elf32_arm_howto_table_1): Add new relocations.
3299*ed0d50c3Schristos	(elf32_arm_reloc_map): Likewise.
3300*ed0d50c3Schristos	(tls_trampoline, dl_tlsdesc_lazy_trampoline): New PLT templates.
3301*ed0d50c3Schristos	(elf32_arm_stub_long_branch_any_tls_pic,
3302*ed0d50c3Schristos	elf32_arm_stub_long_branch_v4t_thumb_tls_pic): New stub templates.
3303*ed0d50c3Schristos	(DEF_STUBS): Add new stubs.
3304*ed0d50c3Schristos	(struct_elf_arm_obj_data): Add local_tlsdesc_gotent field.
3305*ed0d50c3Schristos	(elf32_arm_local_tlsdesc_gotent): New.
3306*ed0d50c3Schristos	(GOT_TLS_GDESC): New mask.
3307*ed0d50c3Schristos	(GOT_TLS_GD_ANY): Define.
3308*ed0d50c3Schristos	(struct elf32_arm_link_hash_entry): Add tlsdesc_got field.
3309*ed0d50c3Schristos	(elf32_arm_compute_jump_table_size): New.
3310*ed0d50c3Schristos	(struct elf32_arm_link_hash_table): Add next_tls_desc_index,
3311*ed0d50c3Schristos	num_tls_desc, dt_tlsdesc_plt, dt_tlsdesc_got, tls_trampoline,
3312*ed0d50c3Schristos	sgotplt_jump_table_size fields.
3313*ed0d50c3Schristos	(elf32_arm_link_hash_newfunc): Initialize tlsdesc_got field.
3314*ed0d50c3Schristos	(elf32_arm_link_hash_table_create): Initialize new fields.
3315*ed0d50c3Schristos	(arm_type_of_stub): Check TLS desc relocs too.
3316*ed0d50c3Schristos	(elf32_arm_stub_name): TLS desc relocs can be shared.
3317*ed0d50c3Schristos	(elf32_arm_tls_transition): Determine relaxation.
3318*ed0d50c3Schristos	(arm_stub_required_alignment): Add tls stubs.
3319*ed0d50c3Schristos	(elf32_arm_size_stubs): Likewise.
3320*ed0d50c3Schristos	(elf32_arm_tls_relax): Perform TLS relaxing.
3321*ed0d50c3Schristos	(elf32_arm_final_link_relocate): Process TLS DESC relocations.
3322*ed0d50c3Schristos	(IS_ARM_TLS_GNU_RELOC): New.
3323*ed0d50c3Schristos	(IS_ARM_TLS_RELOC): Use it.
3324*ed0d50c3Schristos	(elf32_arm_relocate_section): Perform TLS relaxing.
3325*ed0d50c3Schristos	(elf32_arm_check_relocs): Anticipate TLS relaxing, process tls
3326*ed0d50c3Schristos	desc relocations.
3327*ed0d50c3Schristos	(allocate_dynrelocs): Allocate tls desc relcoations.
3328*ed0d50c3Schristos	(elf32_arm_output_arch_local_syms): Emit tls trampoline mapping
3329*ed0d50c3Schristos	symbols.
3330*ed0d50c3Schristos	(elf32_arm_size_dynamic_sections): Allocate tls trampolines and
3331*ed0d50c3Schristos	got slots.
3332*ed0d50c3Schristos	(elf32_arm_always_size_sections): New. Create _TLS_MODULE_BASE
3333*ed0d50c3Schristos	symbol.
3334*ed0d50c3Schristos	(elf32_arm_finish_dynamic_symbol): Adjust.
3335*ed0d50c3Schristos	(arm_put_trampoline): New.
3336*ed0d50c3Schristos	(elf32_arm_finish_dynamic_sections): Emit new dynamic tags and tls
3337*ed0d50c3Schristos	trampolines.
3338*ed0d50c3Schristos	(elf_backend_always_size_sections): Define.
3339*ed0d50c3Schristos
3340*ed0d50c3Schristos2011-01-06  H.J. Lu  <hongjiu.lu@intel.com>
3341*ed0d50c3Schristos
3342*ed0d50c3Schristos	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Optimized.
3343*ed0d50c3Schristos
3344*ed0d50c3Schristos2011-01-06  H.J. Lu  <hongjiu.lu@intel.com>
3345*ed0d50c3Schristos
3346*ed0d50c3Schristos	PR ld/12366
3347*ed0d50c3Schristos	PR ld/12371
3348*ed0d50c3Schristos	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly
3349*ed0d50c3Schristos	handle symbols marked with regular reference, but not non-GOT
3350*ed0d50c3Schristos	reference when building shared library.
3351*ed0d50c3Schristos
3352*ed0d50c3Schristos	* elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle
3353*ed0d50c3Schristos	local and global STT_GNU_IFUNC symols when building shared
3354*ed0d50c3Schristos	library.
3355*ed0d50c3Schristos	* elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
3356*ed0d50c3Schristos
3357*ed0d50c3Schristos2011-01-05  DJ Delorie  <dj@redhat.com>
3358*ed0d50c3Schristos
3359*ed0d50c3Schristos	* reloc.c: Add BFD_RELOC_RX_OP_NEG.
3360*ed0d50c3Schristos	* libbfd.h: Regenerate.
3361*ed0d50c3Schristos	* bfd-in2.h: Regenerate.
3362*ed0d50c3Schristos	* elf32-rx.c: Add it to the list, corresponding to R_RX_OPneg.
3363*ed0d50c3Schristos
3364*ed0d50c3Schristos2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
3365*ed0d50c3Schristos
3366*ed0d50c3Schristos	* cpu-i386.c (bfd_i386_compatible): New.
3367*ed0d50c3Schristos	(bfd_x64_32_arch_intel_syntax): Replace bfd_default_compatible
3368*ed0d50c3Schristos	with bfd_i386_compatible.
3369*ed0d50c3Schristos	(bfd_x86_64_arch_intel_syntax): Likewise.
3370*ed0d50c3Schristos	(bfd_i386_arch_intel_syntax): Likewise.
3371*ed0d50c3Schristos	(i8086_arch): Likewise.
3372*ed0d50c3Schristos	(bfd_x64_32_arch): Likewise.
3373*ed0d50c3Schristos	(bfd_x86_64_arch): Likewise.
3374*ed0d50c3Schristos	(bfd_i386_arch): Likewise.
3375*ed0d50c3Schristos
3376*ed0d50c3SchristosFor older changes see ChangeLog-2010
3377*ed0d50c3Schristos
3378*ed0d50c3SchristosCopyright (C) 2011 Free Software Foundation, Inc.
3379*ed0d50c3Schristos
3380*ed0d50c3SchristosCopying and distribution of this file, with or without modification,
3381*ed0d50c3Schristosare permitted in any medium without royalty provided the copyright
3382*ed0d50c3Schristosnotice and this notice are preserved.
3383*ed0d50c3Schristos
3384*ed0d50c3SchristosLocal Variables:
3385*ed0d50c3Schristosmode: change-log
3386*ed0d50c3Schristosleft-margin: 8
3387*ed0d50c3Schristosfill-column: 74
3388*ed0d50c3Schristosversion-control: never
3389*ed0d50c3SchristosEnd:
3390