OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [bfd/] [ChangeLog] - Blame information for rev 161

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 161 khays
2011-08-26  Nick Clifton  
2
 
3
        * po/es.po: Updated Spanish translation.
4
 
5
2011-08-19  Alan Modra  
6
 
7
        * elf64-ppc.c (ppc64_elf_edit_toc): Ignore can_optimize bit if
8
        we haven't seen expected -mcmodel=medium/large code relocs.
9
 
10
2011-08-18  Tristan Gingold  
11
 
12
        * mach-o.c (bfd_mach_o_read_segment): Initialize list.
13
 
14
2011-08-17  Tristan Gingold  
15
 
16
        * mach-o.c (bfd_mach_o_write_section_32): Fix typo.
17
 
18
2011-08-17  Alan Modra  
19
 
20
        PR ld/12762
21
        * bfd-in.h (struct bfd_section_already_linked): Forward declare.
22
        (_bfd_handle_already_linked): Declare.
23
        * coff-alpha.c (_bfd_ecoff_section_already_linked): Define as
24
        _bfd_coff_section_already_linked.
25
        * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
26
        * coffcode.h (coff_section_already_linked): Likewise.
27
        * cofflink.c (coff_link_add_symbols): Revert 2011-07-09 changes.
28
        * elf-bfd.h: Likewise.
29
        * libbfd-in.h: Likewise.
30
        * targets.c: Likewise.
31
        * linker.c (bfd_section_already_linked): Likewise.
32
        (bfd_section_already_linked_table_lookup): Likewise.
33
        (bfd_section_already_linked_table_insert): Likewise.
34
        (_bfd_generic_section_already_linked): Likewise.  Call
35
        _bfd_handle_already_linked.
36
        (_bfd_handle_already_linked): New function, split out from..
37
        * elflink.c (_bfd_elf_section_already_linked): ..here.  Revert
38
        2011-07-09 changes.  Avoid unnecessary strcmp when matching
39
        already_linked_list entries.  Match plugin linkonce section.
40
        (section_signature): Delete.
41
        * coffgen.c (_bfd_coff_section_already_linked): New function.
42
        * libcoff-in.h (_bfd_coff_section_already_linked): Declare.
43
        * libbfd.h: Regenerate.
44
        * libcoff.h: Regenerate.
45
        * bfd-in2.h: Regenerate.
46
 
47
2011-08-14  Alan Modra  
48
 
49
        * elf32-ppc.c (ppc_elf_select_plt_layout): Force bss-plt when
50
        shared and call to _mcount will go via plt.
51
 
52
2011-08-14  Alan Modra  
53
 
54
        * elf64-ppc.c: Prefix all einfo error strings with "%P: ".
55
        * elf32-ppc.c: Likewise.
56
        (ppc_elf_select_plt_layout): Use einfo rather than info to report
57
        forced bss-plt.
58
 
59
2011-08-12  H.J. Lu  
60
 
61
        PR ld/13082
62
        * elf64-x86-64.c (x86_64_elf_howto_table): Add R_X86_64_RELATIVE64.
63
        (elf_x86_64_relocate_section): Treat R_X86_64_64 like R_X86_64_32
64
        and zero-extend it to 64bit if addend is zero for x32.  Generate
65
        R_X86_64_RELATIVE64 for x32.
66
 
67
2011-08-09  Matthew Gretton-Dann  
68
 
69
        * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
70
        * bfd-in2.h (bfd_elf32_arm_set_target_relocs): Likewise.
71
        * elf32-arm.c (elf32_arm_link_hash_table): New field.
72
        (elf232_arm_link_hash_table_create): Initialise new field.
73
        (check_use_blx): Change test depending on fix_arm1176.
74
        (bfd_elf32_arm_set_target_relocs): Set fix_arm1176 from
75
        command line options.
76
 
77
2011-08-08  Tristan Gingold  
78
 
79
        * mach-o.c (struct mach_o_segment_name_xlat): Add comments.
80
        (segsec_names_xlat): Reorder elements.
81
        (bfd_mach_o_read_section_32): Fix typo.
82
        (bfd_mach_o_read_section_64): Fix typo.
83
 
84
2011-08-08  Tristan Gingold  
85
 
86
        * mach-o.h (BFD_MACH_O_SEGNAME_SIZE): New macro.
87
        (BFD_MACH_O_SECTNAME_SIZE): Ditto.
88
        (bfd_mach_o_section): Use them.  Add next field.
89
        (bfd_mach_o_segment_command): Replace sections array by
90
        sect_head and sect_tail.
91
        (bfd_mach_o_get_mach_o_section): New macro.
92
        (bfd_mach_o_lookup_section): Remove.
93
        (bfd_mach_o_new_section_hook): New function.
94
        * mach-o.c (bfd_mach_o_normalize_section_name): Use strncmp
95
        instead of strcmp.
96
        (bfd_mach_o_convert_section_name_to_bfd): Replaces section
97
        parameter with segname and sectname parameters.  Adjust.
98
        (bfd_mach_o_append_section_to_segment): New function.  Use a
99
        linked list for Mach-O sections.
100
        (bfd_mach_o_write_segment_32): Adjust.
101
        (bfd_mach_o_write_segment_64): Ditto.
102
        (bfd_mach_o_build_commands): Fix comment.  Adjust.
103
        (bfd_mach_o_flatten_sections): Adjust.
104
        (bfd_mach_o_print_section_map): Adjust.
105
        (bfd_mach_o_set_section_flags_from_bfd): Ditto.
106
        (bfd_mach_o_new_section_hook): New function.
107
        (bfd_mach_o_init_section_from_mach_o): Ditto.
108
        (bfd_mach_o_read_section_32): Remove section parameter.
109
        Return a section instead.
110
        (bfd_mach_o_read_section_64): Ditto.
111
        (bfd_mach_o_read_section): Ditto.
112
        (bfd_mach_o_make_bfd_section): Adjust.
113
        (bfd_mach_o_read_segment): Adjust for new profile of
114
        bfd_mach_o_read_section.
115
        (bfd_mach_o_lookup_section): Remove.
116
        * mach-o-target.c (bfd_mach_o_new_section_hook): Remove.
117
 
118
2011-08-08  Tristan Gingold  
119
 
120
        * mach-o.h (bfd_mach_o_version_min_command): New structure.
121
        (bfd_mach_o_load_command): Add version_min.
122
        (mach_o_data_struct): Fix comment.
123
        * mach-o.c (bfd_mach_o_read_version_min): New function.
124
        (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_FUNCTION_STARTS,
125
        BFD_MACH_O_LC_VERSION_MIN_MACOSX and
126
        BFD_MACH_O_LC_VERSION_MIN_IPHONEOS.
127
        (bfd_mach_o_get_name_or_null): New function.
128
        (bfd_mach_o_get_name): Use the above new one.
129
        (bfd_mach_o_load_command_name): Add the above new commands.
130
        (bfd_mach_o_bfd_print_private_bfd_data): Display numerically
131
        unknown commands.  Handle BFD_MACH_O_LC_FUNCTION_STARTS,
132
        BFD_MACH_O_LC_VERSION_MIN_MACOSX and
133
        BFD_MACH_O_LC_VERSION_MIN_IPHONEOS.
134
 
135
2011-08-08  Tristan Gingold  
136
 
137
        * mach-o.h: Move size macros to external.h
138
        Move reloc macros to reloc.h and x86-64.h.
139
        * mach-o-i386.c: Includes mach-o/reloc.h
140
        * mach-o-x86-64.c: Ditto and includes mach-o/x86-64.h
141
        * mach-o.c: Add includes.
142
        (bfd_mach_o_write_header): Use structure from external.h to convert.
143
        (bfd_mach_o_write_thread): Ditto.
144
        (bfd_mach_o_write_relocs): Ditto.
145
        (bfd_mach_o_write_section_32): Ditto.
146
        (bfd_mach_o_write_section_64): Ditto.
147
        (bfd_mach_o_write_segment_32): Ditto.
148
        (bfd_mach_o_write_segment_64): Ditto.
149
        (bfd_mach_o_write_symtab): Ditto.
150
        (bfd_mach_o_write_contents): Ditto.
151
        (bfd_mach_o_read_header): Ditto.
152
        (bfd_mach_o_read_section_32): Ditto.
153
        (bfd_mach_o_read_section_64): Ditto.
154
        (bfd_mach_o_read_symtab_symbol): Ditto.
155
        (bfd_mach_o_read_dylinker): Ditto.
156
        (bfd_mach_o_read_dylib): Ditto.
157
        (bfd_mach_o_read_dysymtab): Ditto.
158
        (bfd_mach_o_read_symtab): Ditto.
159
        (bfd_mach_o_read_linkedit): Ditto.
160
        (bfd_mach_o_read_str): Ditto.
161
        (bfd_mach_o_read_dyld_info): Ditto.
162
        (bfd_mach_o_read_segment): Ditto.
163
        (bfd_mach_o_read_command): Ditto.
164
        (bfd_mach_o_archive_p): Ditto.
165
        (bfd_mach_o_canonicalize_one_reloc): Ditto. Change the BUF parameter.
166
        (bfd_mach_o_canonicalize_relocs): Adjust to call the above function.
167
        (bfd_mach_o_read_dysymtab_symbol): Rename BUF variable.
168
        (bfd_mach_o_read_uuid): Remove useless cast.  Use a macro instead
169
        of an hard-coded value.
170
 
171
2011-08-08  Tristan Gingold  
172
 
173
        * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Fix cut-and-past typos.
174
        (bfd_mach_o_x86_64_swap_reloc_out): Handle BFD_RELOC_32_PCREL,
175
        BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64 and
176
        BFD_RELOC_MACH_O_X86_64_GOT_LOAD.  Share common code.
177
 
178
2011-08-08  Tristan Gingold  
179
 
180
        * mach-o.c (bfd_mach_o_normalize_section_name): New function.
181
        (bfd_mach_o_convert_section_name_to_bfd): Use it.
182
        (bfd_mach_o_get_section_type_from_name): New function.
183
        (bfd_mach_o_get_section_attribute_from_name): Ditto.
184
        * mach-o.h (bfd_mach_o_section): Move bfdsection field at the end.
185
        Add comments.  Add prototypes for the above new functions.
186
 
187
2011-08-05  Mark Kettenis  
188
 
189
        * netbsd-core.c (netbsd_core_vec): Init match_priority field.
190
 
191
2011-08-05  Alan Modra  
192
 
193
        * elf64-ppc.c (maybe_strip_output): New function.
194
        (ppc64_elf_size_stubs): Use it to strip .branch_lt and .eh_frame.
195
 
196
2011-08-05  Alan Modra  
197
 
198
        PR ld/12762
199
        * elflink.c (_bfd_elf_section_already_linked): Return matched
200
        status.  Remove COFF comdat section handling.
201
        * linker.c (_bfd_generic_section_already_linked): Return matched
202
        status.  Don't set SEC_GROUP in l_flags for plugin entries.
203
        (bfd_section_already_linked): Update prototype.
204
        * targets.c (_section_already_linked): Likewise.
205
        * elf-bfd.h (_bfd_elf_section_already_linked): Likewise.
206
        * libbfd-in.h (_bfd_generic_section_already_linked): Likewise.
207
        (_bfd_nolink_section_already_linked): Update.
208
        * libbfd.h: Regenerate.
209
        * bfd-in2.h: Regenerate.
210
 
211
2011-08-05  Alan Modra  
212
 
213
        * elf32-ppc.c: Include dwarf2.h.
214
        (struct ppc_elf_link_hash_table): Add glink_eh_frame.
215
        (ppc_elf_create_glink): Create .eh_frame section.
216
        (glink_eh_frame_cie): New array.
217
        (ppc_elf_size_dynamic_sections): Size glink_eh_frame.
218
        (ppc_elf_finish_dynamic_sections): Write glink_eh_frame.
219
 
220
2011-08-04  Tristan Gingold  
221
 
222
        * vms-alpha.c (_bfd_vms_write_eeom): Round vms_linkage_index.
223
        (_bfd_vms_write_etir): Initialize vms_linkage_index to 0.
224
 
225
2011-08-03  Tristan Gingold  
226
 
227
        * mach-o.c (bfd_mach_o_canonicalize_symtab): Handle no symbols case.
228
        (bfd_mach_o_read_symtab_symbols): Return if no symbols.
229
 
230
2011-08-02  Maciej W. Rozycki  
231
 
232
        * elfxx-mips.c (check_4byte_branch): Remove function.
233
        (check_relocated_bzc): New function.
234
        (_bfd_mips_elf_relax_section): Permit the relaxation of LUI
235
        instructions that immediately follow a compact branch
236
        instruction.
237
 
238
2011-08-02  Alan Modra  
239
 
240
        * elf64-ppc.c (build_plt_stub): Correct emitted relocs when no
241
        plt_static_chain.
242
        (ppc_build_one_stub): Adjust get_relocs call to suit..
243
        (ppc_size_one_stub): ..and reloc sizing.  Correct plt size corner case.
244
 
245
2011-08-01  H.J. Lu  
246
 
247
        PR ld/13048
248
        * archures.c (bfd_mach_i386_intel_syntax): New.
249
        (bfd_mach_i386_i8086): Updated.
250
        (bfd_mach_i386_i386): Likewise.
251
        (bfd_mach_x86_64): Likewise.
252
        (bfd_mach_x64_32): Likewise.
253
        (bfd_mach_i386_i386_intel_syntax): Likewise.
254
        (bfd_mach_x86_64_intel_syntax): Likewise.
255
        (bfd_mach_x64_32_intel_syntax): Likewise.
256
        (bfd_mach_l1om): Likewise.
257
        (bfd_mach_l1om_intel_syntax): Likewise.
258
        (bfd_mach_k1om): Likewise.
259
        (bfd_mach_k1om_intel_syntax): Likewise.
260
 
261
        * bfd-in2.h: Regenerated.
262
 
263
        * cpu-i386.c (bfd_i386_compatible): Check mach instead of
264
        bits_per_address.
265
        (bfd_x64_32_arch_intel_syntax): Set bits_per_address to 64.
266
        (bfd_x64_32_arch): Likewise.
267
 
268
        * elf64-x86-64.c: Include "libiberty.h".
269
        (x86_64_elf_howto_table): Append x32 R_X86_64_32.
270
        (elf_x86_64_rtype_to_howto): Support x32 R_X86_64_32.
271
        (elf_x86_64_reloc_type_lookup): Likewise.
272
        (elf_x86_64_reloc_name_lookup): Likewise.
273
        (elf_x86_64_relocate_section): Likewise.
274
        (elf_x86_64_check_relocs): Allow R_X86_64_64 relocations for x32.
275
 
276
2011-07-29  Maciej W. Rozycki  
277
 
278
        * elfxx-mips.c (check_br32): Fix return type.
279
 
280
2011-07-29  Maciej W. Rozycki  
281
 
282
        * elfxx-mips.c (bz_insn_16): Correct opcode mask.
283
 
284
2011-07-29  Maciej W. Rozycki  
285
 
286
        * elfxx-mips.c: Adjust comments throughout.
287
        (mips_elf_relax_delete_bytes): Reshape code.
288
        (_bfd_mips_elf_relax_section): Remove check for
289
        R_MICROMIPS_GPREL16 relocations.  Reshape code.
290
 
291
2011-07-28  Roland McGrath  
292
 
293
        * elf32-i386.c (NACL_PLT_ENTRY_SIZE, NACLMASK): New macros.
294
        (elf_i386_nacl_plt0_entry): New variable.
295
        (elf_i386_plt_entry): New variable.
296
        (elf_i386_nacl_pic_plt0_entry): New variable.
297
        (elf_i386_nacl_pic_plt_entry): New variable.
298
        (elf_i386_nacl_plt, elf_i386_nacl_arch_bed): New variables.
299
        (elf_backend_arch_data): New macro setting for elf_i386_nacl_vec stanza.
300
        (elf_backend_plt_alignment): Likewise.
301
 
302
        * config.bfd: Handle i[3-7]86-*-nacl*.
303
        * elf32-i386.c (bfd_elf32_i386_nacl_vec): New backend vector stanza.
304
        * targets.c: Support bfd_elf32_i386_nacl_vec.
305
        * configure.in: Likewise.
306
        * configure: Regenerated.
307
 
308
        * elf32-i386.c (struct elf_i386_plt_layout): New type.
309
        (GET_PLT_ENTRY_SIZE): New macro.
310
        (elf_i386_plt): New variable.
311
        (struct elf_i386_backend_data): New member `plt'.
312
        (elf_i386_arch_bed): Add initializer for it.
313
        (elf_i386_vxworks_arch_bed): Likewise.
314
        (elf_i386_allocate_dynrelocs): Use GET_PLT_ENTRY_SIZE.
315
        (elf_i386_plt_sym_val): Likewise.
316
        (elf_i386_relocate_section): Likewise.
317
        (elf_i386_finish_dynamic_symbol): Likewise.
318
        Also use other elf_i386_plt_layout members for PLT details.
319
        (elf_i386_finish_dynamic_sections): Likewise.
320
 
321
        * elf32-i386.c (struct elf_i386_backend_data): New type.
322
        (get_elf_i386_backend_data): New macro.
323
        (elf_i386_arch_bed): New variable.
324
        (elf_backend_arch_data): New macro.
325
        (struct elf_i386_link_hash_table): Remove plt0_pad_byte and is_vxworks.
326
        (elf_i386_link_hash_table_create): Don't initialize them.
327
        (elf_i386_create_dynamic_sections): Find is_vxworks flags in
328
        elf_i386_backend_data, not elf_i386_link_hash_table.
329
        (elf_i386_adjust_dynamic_symbol): Likewise.
330
        (elf_i386_allocate_dynrelocs): Likewise.
331
        (elf_i386_readonly_dynrelocs): Likewise.
332
        (elf_i386_size_dynamic_sections): Likewise.
333
        (elf_i386_relocate_section): Likewise.
334
        (elf_i386_finish_dynamic_symbol): Likewise.
335
        (elf_i386_finish_dynamic_sections): Likewise.  Same for plt0_pad_byte.
336
        (elf_i386_vxworks_link_hash_table_create): Function removed.
337
        (elf_i386_vxworks_arch_bed): New variable.
338
        (elf_backend_arch_data): New macro in elf32-i386-vxworks stanza.
339
 
340
        * elf-bfd.h (elf_backend_data): New member arch_backend_data.
341
        * elfxx-target.h (elf_backend_arch_data): New macro.
342
        (elfNN_bed): Use it as initializer for the new member.
343
 
344
2011-07-28  Mikulas Patocka  
345
 
346
        * elf64-hppa.c (elf_hppa_final_link_relocate): Fix handling of out
347
        of range branches.
348
 
349
2011-07-26  Jakub Jelinek  
350
 
351
        * dwarf2.c (dwarf_debug_sections): Add .debug_macro
352
        and .zdebug_macro entry.
353
        (dwarf_debug_section_enum): Add debug_macro.
354
 
355
2011-07-26  Alan Modra  
356
 
357
        * elf64-ppc.c: Include dwarf2.h.
358
        (struct ppc_link_hash_table): Add glink_eh_frame.
359
        (create_linkage_sections): Create .eh_frame section.
360
        (ppc64_elf_size_dynamic_sections): Arrange to drop unneeded
361
        glink_eh_frame.
362
        (glink_eh_frame_cie): New array.
363
        (ppc64_elf_size_stubs): Size glink_eh_frame.
364
        (ppc64_elf_build_stubs): Init glink_eh_frame contents.
365
        (ppc64_elf_finish_dynamic_sections): Write glink_eh_frame.
366
 
367
2011-07-25  Hans-Peter Nilsson  
368
 
369
        PR ld/12815
370
        * elf64-mmix.c (struct _mmix_elf_section_data): New members
371
        has_warned_bpo and has_warned_pushj.
372
        (mmix_final_link_relocate): Remove PARAMS and PTR macros,
373
        converting to ISO C.  Add new parameter error_message.  All
374
        callers changed.
375
        (mmix_elf_perform_relocation): Ditto.
376
        :
377
        Handle the case where mmix_elf_check_common_relocs has not been
378
        called, missing preparations for relocs of the respective type.
379
 
380
2011-07-24  Chao-ying Fu  
381
            Ilie Garbacea  
382
            Maciej W. Rozycki  
383
            Joseph Myers  
384
            Catherine Moore  
385
            Richard Sandiford  
386
 
387
        * archures.c (bfd_mach_mips_micromips): New macro.
388
        * cpu-mips.c (I_micromips): New enum value.
389
        (arch_info_struct): Add bfd_mach_mips_micromips.
390
        * elfxx-mips.h (_bfd_mips_elf_is_target_special_symbol): New
391
        prototype.
392
        (_bfd_mips_elf_relax_section): Likewise.
393
        (_bfd_mips16_elf_reloc_unshuffle): Rename to...
394
        (_bfd_mips_elf_reloc_unshuffle): ... this.  Handle microMIPS
395
        ASE.
396
        (_bfd_mips16_elf_reloc_shuffle): Rename to...
397
        (_bfd_mips_elf_reloc_shuffle): ... this.  Handle microMIPS ASE.
398
        (gprel16_reloc_p): Handle microMIPS ASE.
399
        (literal_reloc_p): New function.
400
        * elf32-mips.c (elf_micromips_howto_table_rel): New variable.
401
        (_bfd_mips_elf32_gprel16_reloc): Handle microMIPS ASE.
402
        (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
403
        and _bfd_mips_elf_reloc_shuffle changes.
404
        (mips_elf_gprel32_reloc): Update comment.
405
        (micromips_reloc_map): New variable.
406
        (bfd_elf32_bfd_reloc_type_lookup): Handle microMIPS ASE.
407
        (mips_elf32_rtype_to_howto): Likewise.
408
        (mips_info_to_howto_rel): Likewise.
409
        (bfd_elf32_bfd_is_target_special_symbol): Define.
410
        (bfd_elf32_bfd_relax_section): Likewise.
411
        * elf64-mips.c (micromips_elf64_howto_table_rel): New variable.
412
        (micromips_elf64_howto_table_rela): Likewise.
413
        (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
414
        and _bfd_mips_elf_reloc_shuffle changes.
415
        (micromips_reloc_map): Likewise.
416
        (bfd_elf64_bfd_reloc_type_lookup): Handle microMIPS ASE.
417
        (bfd_elf64_bfd_reloc_name_lookup): Likewise.
418
        (mips_elf64_rtype_to_howto): Likewise.
419
        (bfd_elf64_bfd_is_target_special_symbol): Define.
420
        * elfn32-mips.c (elf_micromips_howto_table_rel): New variable.
421
        (elf_micromips_howto_table_rela): Likewise.
422
        (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
423
        and _bfd_mips_elf_reloc_shuffle changes.
424
        (micromips_reloc_map): Likewise.
425
        (bfd_elf32_bfd_reloc_type_lookup): Handle microMIPS ASE.
426
        (bfd_elf32_bfd_reloc_name_lookup): Likewise.
427
        (mips_elf_n32_rtype_to_howto): Likewise.
428
        (bfd_elf32_bfd_is_target_special_symbol): Define.
429
        * elfxx-mips.c (LA25_LUI_MICROMIPS_1): New macro.
430
        (LA25_LUI_MICROMIPS_2): Likewise.
431
        (LA25_J_MICROMIPS_1, LA25_J_MICROMIPS_2): Likewise.
432
        (LA25_ADDIU_MICROMIPS_1, LA25_ADDIU_MICROMIPS_2): Likewise.
433
        (TLS_RELOC_P): Handle microMIPS ASE.
434
        (mips_elf_create_stub_symbol): Adjust value of stub symbol if
435
        target is a microMIPS function.
436
        (micromips_reloc_p): New function.
437
        (micromips_reloc_shuffle_p): Likewise.
438
        (got16_reloc_p, call16_reloc_p): Handle microMIPS ASE.
439
        (got_disp_reloc_p, got_page_reloc_p): New functions.
440
        (got_ofst_reloc_p): Likewise.
441
        (got_hi16_reloc_p, got_lo16_reloc_p): Likewise.
442
        (call_hi16_reloc_p, call_lo16_reloc_p): Likewise.
443
        (hi16_reloc_p, lo16_reloc_p, jal_reloc_p): Handle microMIPS ASE.
444
        (micromips_branch_reloc_p): New function.
445
        (tls_gd_reloc_p, tls_ldm_reloc_p): Likewise.
446
        (tls_gottprel_reloc_p): Likewise.
447
        (_bfd_mips16_elf_reloc_unshuffle): Rename to...
448
        (_bfd_mips_elf_reloc_unshuffle): ... this.  Handle microMIPS
449
        ASE.
450
        (_bfd_mips16_elf_reloc_shuffle): Rename to...
451
        (_bfd_mips_elf_reloc_shuffle): ... this.  Handle microMIPS ASE.
452
        (_bfd_mips_elf_lo16_reloc): Handle microMIPS ASE.
453
        (mips_tls_got_index, mips_elf_got_page): Likewise.
454
        (mips_elf_create_local_got_entry): Likewise.
455
        (mips_elf_relocation_needs_la25_stub): Likewise.
456
        (mips_elf_calculate_relocation): Likewise.
457
        (mips_elf_perform_relocation): Likewise.
458
        (_bfd_mips_elf_symbol_processing): Likewise.
459
        (_bfd_mips_elf_add_symbol_hook): Likewise.
460
        (_bfd_mips_elf_link_output_symbol_hook): Likewise.
461
        (mips_elf_add_lo16_rel_addend): Likewise.
462
        (_bfd_mips_elf_check_relocs): Likewise.
463
        (mips_elf_adjust_addend): Likewise.
464
        (_bfd_mips_elf_relocate_section): Likewise.
465
        (mips_elf_create_la25_stub): Likewise.
466
        (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
467
        (_bfd_mips_elf_gc_sweep_hook): Likewise.
468
        (_bfd_mips_elf_is_target_special_symbol): New function.
469
        (mips_elf_relax_delete_bytes): Likewise.
470
        (opcode_descriptor): New structure.
471
        (RA): New macro.
472
        (OP32_SREG, OP32_TREG, OP16_VALID_REG): Likewise.
473
        (b_insns_32, bc_insn_32, bz_insn_32, bzal_insn_32): New variables.
474
        (beq_insn_32): Likewise.
475
        (b_insn_16, bz_insn_16): New variables.
476
        (BZC32_REG_FIELD): New macro.
477
        (bz_rs_insns_32, bz_rt_insns_32): New variables.
478
        (bzc_insns_32, bz_insns_16):Likewise.
479
        (BZ16_REG, BZ16_REG_FIELD): New macros.
480
        (jal_insn_32_bd16, jal_insn_32_bd32): New variables.
481
        (jal_x_insn_32_bd32): Likewise.
482
        (j_insn_32, jalr_insn_32): Likewise.
483
        (ds_insns_32_bd16, ds_insns_32_bd32): Likewise.
484
        (jalr_insn_16_bd16, jalr_insn_16_bd32, jr_insn_16): Likewise.
485
        (JR16_REG): New macro.
486
        (ds_insns_16_bd16): New variable.
487
        (lui_insn): Likewise.
488
        (addiu_insn, addiupc_insn): Likewise.
489
        (ADDIUPC_REG_FIELD): New macro.
490
        (MOVE32_RD, MOVE32_RS): Likewise.
491
        (MOVE16_RD_FIELD, MOVE16_RS_FIELD): Likewise.
492
        (move_insns_32, move_insns_16): New variables.
493
        (nop_insn_32, nop_insn_16): Likewise.
494
        (MATCH): New macro.
495
        (find_match): New function.
496
        (check_br16_dslot, check_br32_dslot): Likewise.
497
        (check_br16, check_br32): Likewise.
498
        (IS_BITSIZE): New macro.
499
        (check_4byte_branch): New function.
500
        (_bfd_mips_elf_relax_section): Likewise.
501
        (_bfd_mips_elf_merge_private_bfd_data): Disallow linking MIPS16
502
        and microMIPS modules together.
503
        (_bfd_mips_elf_print_private_bfd_data): Handle microMIPS ASE.
504
        * reloc.c (BFD_RELOC_MICROMIPS_7_PCREL_S1): New relocation.
505
        (BFD_RELOC_MICROMIPS_10_PCREL_S1): Likewise.
506
        (BFD_RELOC_MICROMIPS_16_PCREL_S1): Likewise.
507
        (BFD_RELOC_MICROMIPS_GPREL16): Likewise.
508
        (BFD_RELOC_MICROMIPS_JMP, BFD_RELOC_MICROMIPS_HI16): Likewise.
509
        (BFD_RELOC_MICROMIPS_HI16_S): Likewise.
510
        (BFD_RELOC_MICROMIPS_LO16): Likewise.
511
        (BFD_RELOC_MICROMIPS_LITERAL): Likewise.
512
        (BFD_RELOC_MICROMIPS_GOT16): Likewise.
513
        (BFD_RELOC_MICROMIPS_CALL16): Likewise.
514
        (BFD_RELOC_MICROMIPS_GOT_HI16): Likewise.
515
        (BFD_RELOC_MICROMIPS_GOT_LO16): Likewise.
516
        (BFD_RELOC_MICROMIPS_CALL_HI16): Likewise.
517
        (BFD_RELOC_MICROMIPS_CALL_LO16): Likewise.
518
        (BFD_RELOC_MICROMIPS_SUB): Likewise.
519
        (BFD_RELOC_MICROMIPS_GOT_PAGE): Likewise.
520
        (BFD_RELOC_MICROMIPS_GOT_OFST): Likewise.
521
        (BFD_RELOC_MICROMIPS_GOT_DISP): Likewise.
522
        (BFD_RELOC_MICROMIPS_HIGHEST): Likewise.
523
        (BFD_RELOC_MICROMIPS_HIGHER): Likewise.
524
        (BFD_RELOC_MICROMIPS_SCN_DISP): Likewise.
525
        (BFD_RELOC_MICROMIPS_JALR): Likewise.
526
        (BFD_RELOC_MICROMIPS_TLS_GD): Likewise.
527
        (BFD_RELOC_MICROMIPS_TLS_LDM): Likewise.
528
        (BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16): Likewise.
529
        (BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16): Likewise.
530
        (BFD_RELOC_MICROMIPS_TLS_GOTTPREL): Likewise.
531
        (BFD_RELOC_MICROMIPS_TLS_TPREL_HI16): Likewise.
532
        (BFD_RELOC_MICROMIPS_TLS_TPREL_LO16): Likewise.
533
        * bfd-in2.h: Regenerate.
534
        * libbfd.h: Regenerate.
535
 
536
2011-07-22  H.J. Lu  
537
 
538
        * Makefile.am (ALL_MACHINES): Add cpu-k1om.lo.
539
        (ALL_MACHINES_CFILES): Add cpu-k1om.c.
540
        * Makefile.in: Regenerated.
541
 
542
        * archures.c (bfd_architecture): Add bfd_arch_k1om.
543
        (bfd_k1om_arch): New.
544
        (bfd_archures_list): Add &bfd_k1om_arch.
545
        * bfd-in2.h: Regenerated.
546
 
547
        * config.bfd (targ64_selvecs): Add bfd_elf64_k1om_vec if
548
        bfd_elf64_x86_64_vec is supported.  Add bfd_elf64_k1om_freebsd_vec
549
        if bfd_elf64_x86_64_freebsd_vec is supported.
550
        (targ_selvecs): Likewise.
551
 
552
        * configure.in: Support bfd_elf64_k1om_vec and
553
        bfd_elf64_k1om_freebsd_vec.
554
        * configure: Regenerated.
555
 
556
        * cpu-k1om.c: New.
557
 
558
        * elf64-x86-64.c (elf64_k1om_elf_object_p): New.
559
        (bfd_elf64_k1om_vec): Likewise.
560
        (bfd_elf64_k1om_freebsd_vec): Likewise.
561
 
562
        * targets.c (bfd_elf64_k1om_vec): New.
563
        (bfd_elf64_k1om_freebsd_vec): Likewise.
564
        (_bfd_target_vector): Add bfd_elf64_k1om_vec and
565
        bfd_elf64_k1om_freebsd_vec.
566
 
567
2011-07-20  Jan Kratochvil  
568
 
569
        Fix false coff-go32-exe matches.
570
        * coff-i386.c (TARGET_SYM) <_bfd_check_format>: Conditionally use
571
        COFF_CHECK_FORMAT.
572
        * coff-stgo32.c (go32_check_format): New forward declaration.
573
        (COFF_CHECK_FORMAT): New defintion.
574
        (go32_check_format): New function.
575
 
576
2011-07-15  Alan Modra  
577
 
578
        * configure.in: Bump version.
579
        * configure: Regenerate.
580
 
581
2011-07-14  Alan Modra  
582
 
583
        * linker.c (_bfd_generic_section_already_linked): Set l_flags.
584
        * elf-bfd.h (struct already_linked): Forward declare.
585
 
586
2011-07-14  Alan Modra  
587
 
588
        * elflink.c (_bfd_elf_fix_symbol_flags): Loop on indirect syms.
589
        (_bfd_elf_adjust_dynamic_symbol): Remove FIXME.
590
 
591
2011-07-14  Alan Modra  
592
 
593
        * elf64-ppc.c (struct ppc_link_hash_table): Add plt_static_chain.
594
        (build_plt_stub): Add plt_static_chain param, don't load r11 if false.
595
        (build_tls_get_addr_stub): Likewise.
596
        (ppc_build_one_stub): Update calls to above.
597
        (ppc_size_one_stub): Adjust stub size.
598
        (ppc64_elf_size_stubs): Add plt_static_chain param, save to htab.
599
        * elf64-ppc.h (ppc64_elf_size_stubs): Update prototype.
600
 
601
2011-07-12  Nick Clifton  
602
 
603
        * elf32-arm.c (elf32_arm_section_flags): Delete.
604
        (elf_backend_section_flags): Remove.
605
 
606
2011-07-11  H.J. Lu  
607
 
608
        PR ld/12982
609
        * elflink.c (bfd_elf_size_dynamic_sections): Also skip BFD_PLUGIN
610
        when setting stack_flags.
611
 
612
2011-07-11  Catherine Moore  
613
 
614
        * aout-adobe.c (aout_32_bfd_lookup_section_flags): New definition.
615
        * aout-target.h (MY_bfd_lookup_section_flags): New definition.
616
        * aout-tic30.c (MY_bfd_lookup_section_flags): New definition.
617
        * bfd-in2.h: Regenerated.
618
        * bfd.c (bfd_lookup_section_flags): New definition.
619
        * binary.c (binary_bfd_lookup_section_flags): New definition.
620
        * bout.c (b_out_bfd_lookup_section_flags): New definition.
621
        * coff-alpha.c (_bfd_ecoff_bfd_lookup_section_flags): New definition.
622
        * coff-mips.c (_bfd_ecoff_bfd_lookup_section_flags): New definition.
623
        * coff-rs6000.c (rs6000coff_vec): Include
624
        bfd_generic_lookup_section_flags.
625
        (pmac_xcoff_vec): Likewise.
626
        * coffcode.h (coff_bfd_lookup_section_flags): New definition.
627
        * coff64-rs6000.c (rs6000coff64_vec): Include
628
        bfd_generic_lookup_section_flags.
629
        (aix5coff64_vec): Likewise.
630
        * ecoff.c (bfd_debug_section): Initialize flag_info field.
631
        * elf-bfd.h (elf_backend_lookup_section_flags_hook): Declare.
632
        (bfd_elf_lookup_section_flags): Declare.
633
        * elflink.c (bfd_elf_lookup_section_flags): New function.
634
        * elfxx-target.h (bfd_elfNN_bfd_lookup_section_flags): Define.
635
        (elf_backend_lookup_section_flags_hook): Define.
636
        (elf_backend_data): Add elf_backend_lookup_section_flags_hook.
637
        * i386msdos.c (msdos_bfd_lookup_section_flags): New define.
638
        * i386os9k.c (os9k_bfd_lookup_section_flags): New define.
639
        * ieee.c (ieee_bfd_lookup_section_flags): New define.
640
        * ihex.c (ihex_bfd_lookup_section_flags): New define.
641
        * libbfd-in.h (_bfd_nolink_bfd_lookup_section_flags): Declare.
642
        (bfd_generic_lookup_section_flags): Declare.
643
        * libbfd.h: Regenerated.
644
        * mach-o-target.c (bfd_mach_o_bfd_lookup_section_flags): New.
645
        * mmo.c (mmo_bfd_lookup_section_flags): New definition.
646
        * nlm-target.h (nlm_bfd_lookup_section_flags): New definition.
647
        * oasys.c (oasys_bfd_lookup_section_flags): New definition.
648
        * pef.c (bfd_pef_bfd_lookup_section_flags): New definition.
649
        * plugin.c (bfd_plugin_bfd_lookup_section_flags): New definition.
650
        * ppcboot.c (ppcboot_bfd_lookup_section_flags): New definition.
651
        * reloc.c (bfd_generic_lookup_section_flags): New function.
652
        * som.c (som_bfd_lookup_section_flags): New definition.
653
        * srec.c (srec_bfd_lookup_section_flags): New definition.
654
        * targets.c (flag_info): Declare.
655
        (NAME##_bfd_lookup_section_flags): Add to LINK jump table.
656
        (_bfd_lookup_section_flags): New.
657
        * tekhex.c (tekhex_bfd_lookup_section_flags): New definition.
658
        * versados.c (versados_bfd_lookup_section_flags): New definition.
659
        * vms-alpha.c (alpha_vms_bfd_lookup_section_flag): New definition.
660
        * xsym.c (bfd_sym_bfd_lookup_section_flags): New definition.
661
 
662
2011-07-11  H.J. Lu  
663
 
664
        PR ld/12978
665
        * elfnn-ia64.c (count_dyn_reloc): Fix a typo.
666
 
667
2011-07-09  Alan Modra  
668
 
669
        PR ld/12942
670
        * elflink.c (elf_link_add_object_symbols): Use elf_discarded_section
671
        rather than kept_section to determine whether a symbol is from
672
        a discarded section.
673
        * cofflink.c (coff_link_add_symbols): Make symbols from discarded
674
        sections appear undefined.
675
 
676
2011-07-09  H.J. Lu  
677
 
678
        PR ld/12942
679
        * elf-bfd.h (_bfd_elf_section_already_linked): Replace
680
        "asection *" with "struct already_linked *".
681
        * libbfd-in.h (_bfd_nolink_section_already_linked): Likewise.
682
        (_bfd_generic_section_already_linked): Likewise.
683
        (bfd_section_already_linked_table_insert): Likewise.
684
        (struct already_linked): New.
685
        (struct bfd_section_already_linked): Use it.
686
        * elflink.c (_bfd_elf_section_already_linked): Replace.
687
        "asection *" with "struct already_linked *".  Replace the plugin
688
        dummy with the LTO output.
689
        * linker.c (_bfd_generic_section_already_linked): Likewise.
690
        * targets.c (struct already_linked): Add forward declaration.
691
        (bfd_target): Replace "struct bfd_section *" with
692
        "struct already_linked *" in _section_already_linked.
693
        * bfd-in2.h: Regenerate.
694
        * libbfd.h: Regenerate.
695
 
696
2011-07-06  Tristan Gingold  
697
 
698
        * mach-o.h: Move loader related definitions to
699
        include/mach-o/loader.h.  Include it.
700
 
701
2011-07-05  H.J. Lu  
702
 
703
        * elf64-x86-64.c (elf_backend_post_process_headers): Always
704
        define to _bfd_elf_set_osabi.
705
 
706
2011-07-03  Samuel Thibault  
707
            Thomas Schwinge  
708
 
709
        PR binutils/12913
710
        * elf.c (_bfd_elf_set_osabi): Use ELFOSABI_GNU name instead of
711
        ELFOSABI_LINUX alias.
712
        * elf32-hppa.c: Likewise.
713
        * elf32-i370.c: Likewise.
714
        * elf64-hppa.c: Likewise.
715
 
716
2011-07-01  Ian Lance Taylor  
717
 
718
        * elf32-i386.c (elf_i386_eh_frame_plt): Correct expression: change
719
        DW_OP_lit3 to DW_OP_lit2.
720
 
721
2011-07-01  Alan Modra  
722
 
723
        * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Don't look at
724
        dyn relocs when called to copy flags for a weak sym.
725
        * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
726
        (ppc64_elf_merge_private_bfd_data): Delete.
727
        (bfd_elf64_bfd_merge_private_bfd_data): Define as
728
        _bfd_generic_verify_endian_match.
729
 
730
2011-06-30  Bernd Schmidt  
731
 
732
        * bfd/elf32-tic6x.c (elf32_tic6x_set_osabi): Also set it if
733
        link_info is NULL.
734
 
735
2011-06-28  Tristan Gingold  
736
 
737
        * vms-alpha.c (vms_private_data_struct): Make vms_linkage_index
738
        unsigned int.
739
        (_bfd_vms_write_etir): Write linkage index from reloc.
740
 
741
2011-06-28  Fawzi Mohamed 
742
 
743
        * mach-o.c (bfd_mach_o_read_command): Also ignore
744
        BFD_MACH_O_LC_ROUTINES_64.
745
 
746
2011-06-27  Tristan Gingold  
747
 
748
        * vms-alpha.c (_bfd_vms_write_etir): Use 'section' to get current
749
        section target index.
750
 
751
2011-06-27  Nick Clifton  
752
 
753
        * cisco-core.c (cisco_core_little_vec): Add initialization of
754
        match_priority field.
755
 
756
2011-06-27  Tristan Gingold  
757
 
758
        * cache.c: Include bfd_stdint.h.
759
        (cache_bmmap): Change profile.  Return region start and size.
760
        * bfdio.c (struct bfd_iovec): Change bmmap profile.
761
        (bfd_mmap): Change profile and adjust.   Update comment.
762
        (memory_bmmap): Change profile.
763
        * opncls.c (opncls_bmmap): Change profile.
764
        * vms-lib.c (vms_lib_bmmap): Likewise.
765
        * libbfd.h: Regenerate.
766
        * bfd-in2.h: Regenerate.
767
 
768
2011-06-27  Tristan Gingold  
769
 
770
        * vms-misc.c (vms_time_to_time_t): Adjust overflow detection.
771
        Add comment.
772
 
773
2011-06-25  H.J. Lu  
774
 
775
        * elf64-x86-64.c (elf_backend_post_process_headers): Don't
776
        define for FreeBSD/x86-64 nor FreeBSD/L1OM.  Define for L1OM.
777
 
778
2011-06-25  Jan Kratochvil  
779
 
780
        * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Initialize
781
        PLT_EH_FRAME.
782
        * elf32-i386.c (elf_i386_link_hash_table): Likewise.
783
 
784
2011-06-24  Richard Henderson  
785
 
786
        PR ld/12928
787
        * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Recover the
788
        tlsgd insn before swapping adjacent insns.
789
 
790
2011-06-24  Tristan Gingold  
791
 
792
        * vms-alpha.c (alpha_vms_slurp_relocs): Add a guard for relocs in the
793
        absolute section.
794
 
795
2011-06-24  Alan Modra  
796
 
797
        PR ld/12921
798
        * elf.c (assign_file_positions_for_load_sections): Don't align
799
        sh_offset for all SHT_NOBITS sections here, just .tbss sections
800
        that don't get a PT_LOAD.
801
 
802
2011-06-22  Kaz Kojima  
803
 
804
        * elf32-sh.c (sh_elf_relocate_section): Allow R_SH_TLS_LE_32 for PIE.
805
        (sh_elf_check_relocs): Likewise.
806
 
807
2011-06-22  Richard Henderson  
808
 
809
        * elf64-alpha.c (elf64_alpha_check_relocs): No dynamic reloc for
810
        TPREL in a PIE image.
811
        (alpha_dynamic_entries_for_reloc): Likewise.
812
        (elf64_alpha_relocate_section): Allow TPREL in PIE images.
813
        (elf64_alpha_relax_got_load): Likewise.
814
 
815
2011-06-22  Ramana Radhakrishnan  
816
 
817
        * elf32-arm.c (elf32_arm_final_link_relocate): Allow R_ARM_TLS_LE32
818
        for PIE.
819
 
820
2011-06-22  Alan Modra  
821
 
822
        * elflink.c (_bfd_elf_merge_symbol): Allow type changes for
823
        plugin symbols.  Fix segfault on linker scrip defined syms.
824
 
825
2011-06-20  Jakub Jelinek  
826
 
827
        PR ld/12570
828
        * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Allow no relocations
829
        at all for linker created .eh_frame sections.
830
        (_bfd_elf_discard_section_eh_frame): Handle linker created
831
        .eh_frame sections with no relocations.
832
        * elf64-x86-64.c: Include dwarf2.h.
833
        (elf_x86_64_eh_frame_plt): New variable.
834
        (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
835
        PLT_FDE_LEN_OFFSET): Define.
836
        (struct elf_x86_64_link_hash_table): Add plt_eh_frame field.
837
        (elf_x86_64_create_dynamic_sections): Create and fill in
838
        .eh_frame section for .plt section.
839
        (elf_x86_64_size_dynamic_sections): Write .plt section size
840
        into .eh_frame FDE covering .plt section.
841
        (elf_x86_64_finish_dynamic_sections): Write .plt section
842
        start into .eh_frame FDE covering .plt section.  Call
843
        _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
844
        (elf_backend_plt_alignment): Define to 4.
845
        * elf32-i386.c: Include dwarf2.h.
846
        (elf_i386_eh_frame_plt): New variable.
847
        (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
848
        PLT_FDE_LEN_OFFSET): Define.
849
        (struct elf_i386_link_hash_table): Add plt_eh_frame field.
850
        (elf_i386_create_dynamic_sections): Create and fill in
851
        .eh_frame section for .plt section.
852
        (elf_i386_size_dynamic_sections): Write .plt section size
853
        into .eh_frame FDE covering .plt section.
854
        (elf_i386_finish_dynamic_sections): Write .plt section
855
        start into .eh_frame FDE covering .plt section.  Call
856
        _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
857
        (elf_backend_plt_alignment): Define to 4.
858
 
859
2011-06-19  H.J. Lu  
860
 
861
        * elf64-x86-64.c (elf_backend_post_process_headers): Defined
862
        for x32.
863
 
864
2011-06-16  H.J. Lu  
865
 
866
        * elf64-x86-64.c: Include  and CORE_HEADER if
867
        CORE_HEADER is defined.
868
        (elf_x86_64_write_core_note): New.
869
        (elf_backend_write_core_note): Likewise.
870
 
871
        * hosts/x86-64linux.h (uint64_t): New.
872
        (user_regsx32_struct): Likewise.
873
        (elf_gregx32_t): Likewise.
874
        (ELF_NGREGX32): Likewise.
875
        (elf_gregsetx32_t): Likewise.
876
        (elf_prstatusx32): Likewise.
877
        (prstatusx32_t): Likewise.
878
        (user_fpregs32_struct): Removed.
879
        (user_fpxregs32_struct): Likewise.
880
        (user32): Likewise.
881
        (elf_fpregset32_t): Likewise.
882
        (elf_fpxregset32_t): Likewise.
883
        (prgregset32_t): Likewise.
884
        (prfpregset32_t): Likewise.
885
 
886
2011-06-16  H.J. Lu  
887
 
888
        * elf64-x86-64.c (elf_x86_64_grok_prstatus): Support x32.
889
        (elf_x86_64_grok_psinfo): Likewise.
890
 
891
2011-06-16  Nick Clifton  
892
 
893
        * elf.c (elf_find_function): Fail if not provided with a symbol
894
        table.
895
 
896
2011-06-15  Ulrich Weigand  
897
 
898
        * elf-bfd.h (elfcore_write_arm_vfp): Add prototype.
899
        * elf.c (elfcore_grok_arm_vfp): New function.
900
        (elfcore_grok_note): Call it to handle NT_ARM_VFP notes.
901
        (elfcore_write_arm_vfp): New function.
902
        (elfcore_write_register_note): Call it to handle .reg-arm-vfp.
903
 
904
2011-06-14  Richard Henderson  
905
 
906
        * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Rename from
907
        elf64_alpha_merge_ind_symbols; adjust for the generic interface.
908
        (elf64_alpha_always_size_sections): Don't call
909
        elf64_alpha_merge_ind_symbols.
910
        (elf_backend_copy_indirect_symbol): New.
911
 
912
2011-06-14  Alan Modra  
913
 
914
        PR ld/12887
915
        * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Check sec_info_type
916
        before doing anything.
917
        (_bfd_elf_discard_section_eh_frame): Likewise.
918
 
919
2011-06-14  Alan Modra  
920
 
921
        * Makefile.am: Formatting.
922
        * Makefile.in: Regenerate.
923
        * configure.in (bfd_elf64_tilegx_vec): Add elfxx-tilegx.lo.
924
        * po/SRC-POTFILES.in: Regnerate.
925
 
926
2011-06-14  Alan Modra  
927
 
928
        * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Don't use PTR.
929
        (allocate_dynrelocs, readonly_dynrelocs): Replace PTR with void *.
930
        Don't handle warning symbols here.
931
        * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): As above.
932
        (allocate_dynrelocs, readonly_dynrelocs): As above.
933
 
934
2011-06-14  Alan Modra  
935
 
936
        PR ld/12851
937
        * elflink.c (_bfd_elf_gc_mark_extra_sections): New function.
938
        (elf_gc_sweep): Don't treat debug and sections like .comment
939
        specially here.
940
        (bfd_elf_gc_sections): Treat note sections as gc roots only when
941
        not part of a group.  Always call gc_mark_extra_sections.
942
        * elf-bfd.h (_bfd_elf_gc_mark_extra_sections): Declare.
943
        * elfxx-target.h (elf_backend_gc_mark_extra_sections): Default to
944
        _bfd_elf_gc_mark_extra_sections.
945
        * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Call
946
        _bfd_elf_gc_mark_extra_sections.
947
        * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): Likewise.
948
 
949 148 khays
2011-06-13  Nick Clifton  
950
 
951
        * elf32-tilepro.c (tilepro_elf_check_relocs): Delete unused local
952
        variable 'local_got_offsets'.
953
        * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
954
        (tilegx_finish_dyn): Delete unused local variable 'abi_64_p'.
955
 
956
2011-06-13  Walter Lee  
957
 
958
        * Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo.
959
        (ALL_MACHINE_CFILES): Add cpu-tilegx.c and cpu-tilepro.c.
960
        (BFD32_BACKENDS): Add elf32-tilegx.lo, elf32-tilepro.lo,
961
        and elfxx-tilegx.lo.
962
        (BFD32_BACKENDS_CFILES): Add elf32-tilegx.c elf32-tilepro.c, and
963
        elfxx-tilegx.c.
964
        (BFD64_BACKENDS): Add elf64-tilegx.lo.
965
        (BFD64_BACKENDS_CFILES): Add elf64-tilegx.c.
966
        * Makefile.in: Regenerate.
967
        * arctures.c (bfd_architecture): Define bfd_arch_tilepro,
968
        bfd_arch_tilegx, bfd_mach_tilepro, bfd_mach_tilegx.
969
        (bfd_arch_info): Add bfd_tilegx_arch, bfd_tilepro_arch.
970
        (bfd_archures_list): Add bfd_tilegx_arch, bfd_tilepro_arch.
971
        bfd-in2.h: Regenerate.
972
        * config.bfd: Handle tilegx-*-* and tilepro-*-*.
973
        * configure.in: Handle bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
974
        and bfd_elf64_tilegx_vec.
975
        * configure: Regenerate.
976
        * elf-bfd.h (enum elf_target_id): Define TILEGX_ELF_DATA and
977
        TILEPRO_ELF_DATA.
978
        * libbfd.h: Regenerate.
979
        * reloc.c: Add BFD_RELOC_TILEPRO_{COPY, GLOB_DAT, JMP_SLOT,
980
        RELATIVE, BROFF_X1, JOFFLONG_X1, JOFFLONG_X1_PLT, IMM8_X0,
981
        IMM8_Y0, IMM8_X1, IMM8_Y1, DEST_IMM8_X1, MT_IMM15_X1, MF_IMM15_X1,
982
        IMM16_X0, IMM16_X1, IMM16_X0_LO, IMM16_X1_LO, IMM16_X0_HI,
983
        IMM16_X1_HI, IMM16_X0_HA, IMM16_X1_HA, IMM16_X0_PCREL,
984
        IMM16_X1_PCREL, IMM16_X0_LO_PCREL, IMM16_X1_LO_PCREL,
985
        IMM16_X0_HI_PCREL, IMM16_X1_HI_PCREL, IMM16_X0_HA_PCREL,
986
        IMM16_X1_HA_PCREL, IMM16_X0_GOT, IMM16_X1_GOT, IMM16_X0_GOT_LO,
987
        IMM16_X1_GOT_LO, IMM16_X0_GOT_HI, IMM16_X1_GOT_HI,
988
        IMM16_X0_GOT_HA, IMM16_X1_GOT_HA, MMSTART_X0, MMEND_X0,
989
        MMSTART_X1, MMEND_X1, SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1,
990
        IMM16_X0_TLS_GD, IMM16_X1_TLS_GD, IMM16_X0_TLS_GD_LO,
991
        IMM16_X1_TLS_GD_LO, IMM16_X0_TLS_GD_HI, IMM16_X1_TLS_GD_HI,
992
        IMM16_X0_TLS_GD_HA, IMM16_X1_TLS_GD_HA, IMM16_X0_TLS_IE,
993
        IMM16_X1_TLS_IE, IMM16_X0_TLS_IE_LO, IMM16_X1_TLS_IE_LO,
994
        IMM16_X0_TLS_IE_HI, IMM16_X1_TLS_IE_HI, IMM16_X0_TLS_IE_HA,
995
        IMM16_X1_TLS_IE_HA, TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
996
        Add BFD_RELOC_TILEGX_{HW0, HW1, HW2, HW3, HW0_LAST, HW1_LAST,
997
        HW2_LAST, COPY, GLOB_DAT, JMP_SLOT, RELATIVE, BROFF_X1,
998
        JUMPOFF_X1, JUMPOFF_X1_PLT, IMM8_X0, IMM8_Y0, IMM8_X1, IMM8_Y1,
999
        DEST_IMM8_X1, MT_IMM14_X1, MF_IMM14_X1, MMSTART_X0, MMEND_X0,
1000
        SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, IMM16_X0_HW0,
1001
        IMM16_X1_HW0, IMM16_X0_HW1, IMM16_X1_HW1, IMM16_X0_HW2,
1002
        IMM16_X1_HW2, IMM16_X0_HW3, IMM16_X1_HW3, IMM16_X0_HW0_LAST,
1003
        IMM16_X1_HW0_LAST, IMM16_X0_HW1_LAST, IMM16_X1_HW1_LAST,
1004
        IMM16_X0_HW2_LAST, IMM16_X1_HW2_LAST, IMM16_X0_HW0_PCREL,
1005
        IMM16_X1_HW0_PCREL, IMM16_X0_HW1_PCREL, IMM16_X1_HW1_PCREL,
1006
        IMM16_X0_HW2_PCREL, IMM16_X1_HW2_PCREL, IMM16_X0_HW3_PCREL,
1007
        IMM16_X1_HW3_PCREL, IMM16_X0_HW0_LAST_PCREL,
1008
        IMM16_X1_HW0_LAST_PCREL, IMM16_X0_HW1_LAST_PCREL,
1009
        IMM16_X1_HW1_LAST_PCREL, IMM16_X0_HW2_LAST_PCREL,
1010
        IMM16_X1_HW2_LAST_PCREL, IMM16_X0_HW0_GOT, IMM16_X1_HW0_GOT,
1011
        IMM16_X0_HW1_GOT, IMM16_X1_HW1_GOT, IMM16_X0_HW2_GOT,
1012
        IMM16_X1_HW2_GOT, IMM16_X0_HW3_GOT, IMM16_X1_HW3_GOT,
1013
        IMM16_X0_HW0_LAST_GOT, IMM16_X1_HW0_LAST_GOT,
1014
        IMM16_X0_HW1_LAST_GOT, IMM16_X1_HW1_LAST_GOT,
1015
        IMM16_X0_HW2_LAST_GOT, IMM16_X1_HW2_LAST_GOT, IMM16_X0_HW0_TLS_GD,
1016
        IMM16_X1_HW0_TLS_GD, IMM16_X0_HW1_TLS_GD, IMM16_X1_HW1_TLS_GD,
1017
        IMM16_X0_HW2_TLS_GD, IMM16_X1_HW2_TLS_GD, IMM16_X0_HW3_TLS_GD,
1018
        IMM16_X1_HW3_TLS_GD, IMM16_X0_HW0_LAST_TLS_GD,
1019
        IMM16_X1_HW0_LAST_TLS_GD, IMM16_X0_HW1_LAST_TLS_GD,
1020
        IMM16_X1_HW1_LAST_TLS_GD, IMM16_X0_HW2_LAST_TLS_GD,
1021
        IMM16_X1_HW2_LAST_TLS_GD, IMM16_X0_HW0_TLS_IE,
1022
        IMM16_X1_HW0_TLS_IE, IMM16_X0_HW1_TLS_IE, IMM16_X1_HW1_TLS_IE,
1023
        IMM16_X0_HW2_TLS_IE, IMM16_X1_HW2_TLS_IE, IMM16_X0_HW3_TLS_IE,
1024
        IMM16_X1_HW3_TLS_IE, IMM16_X0_HW0_LAST_TLS_IE,
1025
        IMM16_X1_HW0_LAST_TLS_IE, IMM16_X0_HW1_LAST_TLS_IE,
1026
        IMM16_X1_HW1_LAST_TLS_IE, IMM16_X0_HW2_LAST_TLS_IE,
1027
        IMM16_X1_HW2_LAST_TLS_IE, TLS_DTPMOD64, TLS_DTPOFF64, TLS_TPOFF64,
1028
        TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
1029
        * targets.c (bfd_elf32_tilegx_vec): Declare.
1030
        (bfd_elf32_tilepro_vec): Declare.
1031
        (bfd_elf64_tilegx_vec): Declare.
1032
        (bfd_target_vector): Add bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
1033
        and bfd_elf64_tilegx_vec.
1034
        * cpu-tilegx.c: New file.
1035
        * cpu-tilepro.c: New file.
1036
        * elf32-tilepro.h: New file.
1037
        * elf32-tilepro.c: New file.
1038
        * elf32-tilegx.c: New file.
1039
        * elf32-tilegx.h: New file.
1040
        * elf64-tilegx.c: New file.
1041
        * elf64-tilegx.h: New file.
1042
        * elfxx-tilegx.c: New file.
1043
        * elfxx-tilegx.h: New file.
1044
 
1045
2011-06-13  Alan Modra  
1046
 
1047
        * linker.c (bfd_link_hash_traverse): Follow warning symbol link.
1048
        (_bfd_generic_link_write_global_symbol, fix_syms): Don't handle
1049
        warning symbols here.
1050
        * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
1051
        * elf32-arm.c (allocate_dynrelocs_for_symbol,
1052
        elf32_arm_readonly_dynrelocs): Likewise.
1053
        * elf32-bfin.c (bfin_discard_copies): Likewise.
1054
        * elf32-cris.c (elf_cris_adjust_gotplt_to_got,
1055
        elf_cris_discard_excess_dso_dynamics,
1056
        elf_cris_discard_excess_program_dynamics): Likewise.
1057
        * elf32-hppa.c (allocate_plt_static, allocate_dynrelocs,
1058
        clobber_millicode_symbols, readonly_dynrelocs): Likewise.
1059
        * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
1060
        * elf32-i386.c (elf_i386_allocate_dynrelocs,
1061
        elf_i386_readonly_dynrelocs): Likewise.
1062
        * elf32-lm32.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1063
        * elf32-m32c.c (m32c_relax_plt_check, m32c_relax_plt_realloc): Likewise.
1064
        * elf32-m32r.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1065
        * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
1066
        * elf32-microblaze.c (allocate_dynrelocs): Likewise.
1067
        * elf32-ppc.c (allocate_dynrelocs, maybe_set_textrel): Likewise.
1068
        * elf32-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1069
        * elf32-score.c (score_elf_sort_hash_table_f): Likewise.
1070
        * elf32-score7.c (score_elf_sort_hash_table_f): Likewise.
1071
        * elf32-sh.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1072
        * elf32-tic6x.c (elf32_tic6x_allocate_dynrelocs,
1073
        elf32_tic6x_readonly_dynrelocs): Likewise.
1074
        * elf32-vax.c (elf_vax_discard_copies): Likewise.
1075
        * elf32-xstormy16.c (xstormy16_relax_plt_check,
1076
        xstormy16_relax_plt_realloc): Likewise.
1077
        * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Likewise.
1078
        * elf64-alpha.c (elf64_alpha_output_extsym,
1079
        elf64_alpha_calc_got_offsets_for_symbol,
1080
        elf64_alpha_calc_dynrel_sizes, elf64_alpha_size_rela_got_1): Likewise.
1081
        * elf64-hppa.c (elf64_hppa_mark_exported_functions,
1082
        allocate_global_data_opd, elf64_hppa_mark_milli_and_exported_functions,
1083
        elf_hppa_unmark_useless_dynamic_symbols,
1084
        elf_hppa_remark_useless_dynamic_symbols): Likewise.
1085
        * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref, func_desc_adjust,
1086
        adjust_opd_syms, adjust_toc_syms, allocate_dynrelocs,
1087
        readonly_dynrelocs, merge_global_got, reallocate_got,
1088
        undo_symbol_twiddle): Likewise.
1089
        * elf64-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1090
        * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
1091
        * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs,
1092
        elf_x86_64_readonly_dynrelocs): Likewise.
1093
        * elflink.c (elf_link_renumber_hash_table_dynsyms,
1094
        elf_link_renumber_local_hash_table_dynsyms, _bfd_elf_export_symbol,
1095
        _bfd_elf_link_find_version_dependencies,
1096
        _bfd_elf_link_assign_sym_version, _bfd_elf_adjust_dynamic_symbol,
1097
        _bfd_elf_link_sec_merge_syms, elf_adjust_dynstr_offsets,
1098
        elf_collect_hash_codes, elf_collect_gnu_hash_codes,
1099
        elf_renumber_gnu_hash_syms, elf_gc_sweep_symbol,
1100
        elf_gc_propagate_vtable_entries_used,
1101
        elf_gc_smash_unused_vtentry_relocs, bfd_elf_gc_mark_dynamic_ref_symbol,
1102
        elf_gc_allocate_got_offsets): Likewise.
1103
        * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free,
1104
        elfNN_ia64_global_dyn_sym_thunk): Likewise.
1105
        * elfxx-mips.c (mips_elf_check_symbols, mips_elf_output_extsym,
1106
        mips_elf_sort_hash_table_f, allocate_dynrelocs): Likewise.
1107
        * elfxx-sparc.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1108
        * i386linux.c (linux_tally_symbols): Likewise.
1109
        * m68klinux.c (linux_tally_symbols): Likewise.
1110
        * sparclinux.c (linux_tally_symbols): Likewise.
1111
        * sunos.c (sunos_scan_dynamic_symbol): Likewise.
1112
        * xcofflink.c (xcoff_post_gc_symbol): Likewise.
1113
 
1114
        * elflink.c (elf_link_output_extsym): Make it a bfd_hash_traverse
1115
        function.  Update all callers.
1116
        * aoutx.h (aout_link_write_other_symbol): Likewise.
1117
        * pdp11.c (aout_link_write_other_symbol): Likewise.
1118
        * cofflink.c (_bfd_coff_write_global_sym): Likewise.
1119
        * ecoff.c (ecoff_link_write_external): Likewise.
1120
        * xcofflink.c (xcoff_write_global_symbol): Likewise.
1121
        * vms-alpha.c (alpha_vms_link_output_symbol): Likewise.  Handle
1122
        warning symbols.
1123
        * ecoff.c (ecoff_link_hash_traverse): Delete.
1124
        * coff-ppc.c (ppc_bfd_coff_final_link): Use bfd_hash_traverse for
1125
        _bfd_coff_write_global_sym.
1126
        * libcoff-in.h (_bfd_coff_write_global_sym): Update prototype.
1127
        * libcoff.h: Regenerate.
1128
 
1129
2011-06-10  Nick Clifton  
1130
 
1131
        * elflink.c (_bfd_elf_link_create_dynamic_sections): If the
1132
        backend does not provide a function for creating dynamic sections
1133
        then fail.
1134
        (bfd_elf_final_link): Issue a warning message if a dynamic section
1135
        has the SHT_NOTE type.
1136
        (bfd_elf_final_link): Do not look for dynamic strings in a section
1137
        that does not have the SHT_STRTAB type or the name .dynstr.
1138
        * elf32-arm.c (elf32_arm_finish_dynamic_sections): Fail if the got
1139
        section is not in the output binary.
1140
        * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Likewise.
1141
 
1142
2011-06-09  Tristan Gingold  
1143
 
1144
        * elfnn-ia64.c (elfNN_ia64_relax_section, elfNN_ia64_choose_gp)
1145
        (elfNN_ia64_relocate_section, elfNN_vms_object_p): Remove trailing
1146
        spaces.
1147
 
1148
2011-06-09  Tristan Gingold  
1149
 
1150
        * bfd.c (bfd_get_sign_extend_vma): Handle aixcoff.
1151
 
1152
2011-06-09  Nick Clifton  
1153
 
1154
        PR ld/12845
1155
        * elf.c (_bfd_elf_init_private_section_data): Add an assertion
1156
        that the output section has an allocated bfd_elf_section_data
1157
        structure.
1158
        * elfxx-mips.c (mips_elf_check_symbols): Do not create a stub for
1159
        symbols in sections that have been removed by garbage collection.
1160
 
1161
2011-06-08  H.J. Lu  
1162
 
1163
        * elf64-x86-64.c (elf_x86_64_check_relocs): Allow R_X86_64_64
1164
        relocations in SEC_DEBUGGING sections when building shared
1165
        libraries.
1166
 
1167
2011-06-08  H.J. Lu  
1168
 
1169
        PR ld/12851
1170
        * elflink.c (elf_gc_sweep): Don't check SHT_NOTE sections here.
1171
        (bfd_elf_gc_sections): Also check SHT_NOTE sections.
1172
 
1173
2011-06-08  Tristan Gingold  
1174
 
1175
        * makefile.vms (OBJS): Add elfxx-ia64.obj
1176
        Remove vax case.
1177
 
1178
2011-06-08  Alan Modra  
1179
 
1180
        * aix386-core.c, * cisco-core.c, * hpux-core.c, * osf-core.c,
1181
        * sco5-core.c: Init match_priority field.
1182
 
1183
2011-06-08  Alan Modra  
1184
 
1185
        * elflink.c (_bfd_elf_archive_symbol_lookup): Follow warning and
1186
        indirect links here.
1187
 
1188
2011-06-07  Joel Brobecker  
1189
 
1190
        * irix-core.c (irix_core_vec): Add match_priority field.
1191
 
1192
2011-06-06  Alan Modra  
1193
 
1194
        * targets.c (bfd_target): Make ar_max_namelen an unsigned char.
1195
        Add match_priority.
1196
        * configure.in: Bump bfd version.
1197
        * elfcode.h (elf_object_p): Delete hacks preventing match of
1198
        EM_NONE and ELFOSABI_NONE targets when a better match exists.
1199
        * elfxx-target.h (elf_match_priority): Define and use.
1200
        * format.c (bfd_check_format_matches): Use target match_priority
1201
        to choose best of multiple matching targets.  In cases with multiple
1202
        matches rerun _bfd_check_format if we don't choose the last match.
1203
        * aout-adobe.c, * aout-arm.c, * aout-target.h, * aout-tic30.c,
1204
        * binary.c, * bout.c, * coff-alpha.c, * coff-i386.c, * coff-i860.c,
1205
        * coff-i960.c, * coff-ia64.c, * coff-mips.c, * coff-or32.c,
1206
        * coff-ppc.c, * coff-rs6000.c, * coff-sh.c, * coff-tic30.c,
1207
        * coff-tic54x.c, * coff-x86_64.c, * coff64-rs6000.c, * coffcode.h,
1208
        * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, * mach-o-target.c,
1209
        * mipsbsd.c, * mmo.c, * nlm-target.h, * oasys.c, * pdp11.c,
1210
        * pe-mips.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, * srec.c,
1211
        * tekhex.c, * trad-core.c, * verilog.c, * versados.c, * vms-alpha.c,
1212
        * vms-lib.c, * xsym.c: Init match_priority field.
1213
        * configure: Regenerate.
1214
        * bfd-in2.h: Regenerate.
1215
 
1216
2011-06-04  H.J. Lu  
1217
 
1218
        PR ld/12842
1219
        * elfcode.h (elf_object_p): Revert the last change.
1220
 
1221
2011-06-04  Alan Modra  
1222
 
1223
        * archures.c (bfd_arch_get_compatible): If one arch is unknown,
1224
        return the other arch.
1225
        * elfcode.h (elf_object_p): Allow explicit match to generic ELF
1226
        target.
1227
 
1228 14 khays
2011-06-03  Bertram Felgenhauer  
1229
 
1230
        PR ld/12682
1231
        * hash.c (higher_primer_number): Add more, small, prime numbers.
1232
        (bfd_hash_set_default_size): Likewise.
1233
 
1234
2011-06-02  Nick Clifton  
1235
 
1236
        * coff-mcore.c: Fix spelling typo.
1237
        * coff-stgo32.c: Likewise.
1238
        * elf32-arm.c: Likewise.
1239
        * elf32-avr.c: Likewise.
1240
        * elf-m68hc1x.c: Likewise.
1241
        * elf32-mcore.c: Likewise.
1242
        * elf32-mep.c: Likewise.
1243
        * elf32-mt.c: Likewise.
1244
        * elf32-ppc.c: Likewise.
1245
        * elf32-xtensa.c: Likewise.
1246
        * elf64-ppc.c: Likewise.
1247
        * elfxx-mips.c: Likewise.
1248
        * netbsd.h: Likewise.
1249
        * nlmcode.h: Likewise.
1250
        * vms-alpha.c: Likewise.
1251
        * po/bfd.pot: Regenerate.
1252
        * po/SRC-POTFILES.in: Regenerate.
1253
 
1254
2011-06-01  DJ Delorie  
1255
 
1256
        * config.bfd: Add bfd_elf32_rx_be_ns_vec.
1257
        * target.c: Likewise.
1258
        * configure.in: Likewise.
1259
        * configure.in: Regenerate.
1260
        * elf32-rx.c: Add elf32-rx-be-ns target.
1261
        (rx_elf_object_p): Never allow the be-ns target by default,
1262
        only allow it if the user requests it.
1263
 
1264
2011-06-01  H.J. Lu  
1265
 
1266
        * elf32-i386.c (elf_i386_size_dynamic_sections): Properly warn
1267
        relocation in readonly section in a shared object.
1268
        * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
1269
 
1270
2011-05-31  Nick Clifton  
1271
 
1272
        * archive.c (adjust_relative_path): Fix comment to prevent it
1273
        corrupting the auto-generated bfd.h.
1274
 
1275
2011-05-31  Paul Brook  
1276
 
1277
        * elf32-arm.c (elf32_arm_final_link_relocate): Only do bl conversion
1278
        for known functions.
1279
        (elf32_arm_swap_symbol_in): Only set ST_BRANCH_TO_ARM for function
1280
        symbols.
1281
 
1282
2011-05-31  Paul Brook  
1283
 
1284
        * elf32-arm.c (arm_stub_is_thumb): Add
1285
        arm_stub_long_branch_v4t_thumb_tls_pic.
1286
        (elf32_arm_final_link_relocate): TLS stubs are always ARM.
1287
        Handle Thumb stubs.
1288
 
1289
2011-05-27  Nick Clifton  
1290
 
1291
        PR binutils/12710
1292
        * archive.c (_bfd_get_elt_at_filepos): Set correct error value if
1293
        unable to read a file pointed to by an entry in a thin archive.
1294
        (adjust_relative_path): Use lrealpath to canonicalize paths.
1295
        Handle the case where the reference path is above the current
1296
        path in the directory tree.
1297
 
1298
2011-05-26  H.J. Lu  
1299
 
1300
        PR ld/12809
1301
        * elf64-x86-64.c (elf_x86_64_relocate_section): Handle
1302
        R_X86_64_TPOFF64 in executable.
1303
 
1304
2011-05-26  Alan Modra  
1305
 
1306
        * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment.
1307
        * elflink.c (_bfd_elf_symbol_refs_local_p): Expand
1308
        local_protected comment.
1309
 
1310
2011-05-25  Tristan Gingold  
1311
 
1312
        * configure.in (bfd_elf32_ia64_big_vec, bfd_elf32_ia64_hpux_big_vec)
1313
        (bfd_elf64_ia64_big_vec, bfd_elf64_ia64_hpux_big_vec)
1314
        (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_vms_vec): Add elfxx-ia64.lo
1315
        * Makefile.am (BFD64_BACKENDS): Add elfxx-ia64.lo
1316
        (BFD64_BACKENDS_CFILES): Add elfxx-ia64.c
1317
        (elf32-ia64.c): Created from elfnn-ia64.c
1318
        (elf64-ia64.c): Likewise.
1319
        * elfxx-ia64.h: New file.
1320
        * elfxx-ia64.c: Split with elfnn-ia64.c.  Keep only the following
1321
        functions.Includes elfxx-ia64.h.
1322
        (elfNN_ia64_reloc): Renames to ia64_elf_reloc.  Adjust error message.
1323
        (IA64_HOWTO): Adjust.
1324
        (lookup_howto): Renames to ia64_elf_lookup_howto.  Make it public.
1325
        (elfNN_ia64_reloc_type_lookup): Renames to
1326
        ia64_elf_reloc_type_lookup. Make it public. Adjust calls.
1327
        (elfNN_ia64_reloc_name_lookup): Renames to
1328
        ia64_elf_reloc_name_lookup. Make it public.
1329
        (elfNN_ia64_relax_br): Renames to ia64_elf_relax_br.  Make it public.
1330
        (elfNN_ia64_relax_brl): Renames to ia64_elf_relax_brl. Make it
1331
        public.
1332
        (elfNN_ia64_relax_ldxmov): Renames to ia64_elf_relax_ldxmov.
1333
        Move it and make it public.  Move prototype to elfxx-ia64.h
1334
        (elfNN_ia64_install_value): Renames to ia64_elf_install_value.
1335
        Move prototype to elfxx-ia64.h
1336
        * elfnn-ia64.c: New file, split from elfxx-ia64.c.
1337
        (elfNN_ia64_info_to_howto): Adjust calls.
1338
        (elfNN_ia64_relax_section): Adjust calls.
1339
        (count_dyn_reloc): Fix typo.
1340
        (elfNN_ia64_relocate_section): Adjust calls.
1341
        (elfNN_ia64_finish_dynamic_symbol): Likewise.
1342
        (bfd_elfNN_bfd_reloc_type_lookup)
1343
        (bfd_elfNN_bfd_reloc_name_lookup): Adjust macros.
1344
        * configure: Regenerate.
1345
        * Makefile.in: Regenerate.
1346
 
1347
2011-05-23  DJ Delorie  
1348
 
1349
        * elf32-rx.c (rx_elf_object_p): When reading an RX object in, undo
1350
        the vma/lma swapping done in elf32_rx_modify_program_headers.
1351
 
1352
2011-05-23  Nick Clifton  
1353
 
1354
        * elf-m10300.c (mn10300_elf_mkobject): New function.
1355
        (bfd_elf32_mkobject): Define.
1356
 
1357
2011-05-23  Alan Modra  
1358
 
1359
        * elf-bfd.h: Comment typo fix.
1360
        * elf32-ppc.c (struct ppc_elf_dyn_relocs): Delete.  Replace with
1361
        struct elf_dyn_relocs throughout.
1362
        * elf64-ppc.c (struct ppc_dyn_relocs): Likewise.
1363
 
1364
2011-05-23  Alan Modra  
1365
 
1366
        * elf32-frv.c: Use info->callbacks->einfo throughout file in linker
1367
        functions rather than warning callback or _bfd_error_handler.
1368
        * elf32-ppc.c: Likewise.
1369
        * elf64-ppc.c: Likewise.
1370
        * elf32-ppc.c (ppc_elf_tls_optimize): Use %H in __tls_get_addr lost
1371
        arg error.
1372
        * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
1373
 
1374
2011-05-23  Alan Modra  
1375
 
1376
        PR 12763
1377
        * elf.c (assign_file_positions_for_load_sections): Set sh_offset for
1378
        .tbss, and page align same for all SHT_NOBITS sections.
1379
 
1380
2011-05-21  Alan Modra  
1381
 
1382
        PR 12763
1383
        * elf.c (_bfd_elf_make_section_from_shdr): Set up TLS section LMAs
1384
        from PT_TLS header.
1385
        (_bfd_elf_map_sections_to_segments): Don't create a final PT_LOAD
1386
        segment if just for .tbss.
1387
        (assign_file_positions_for_load_sections): Don't report "can't
1388
        allocate in segment" errors for .tbss.
1389
        (assign_file_positions_for_non_load_sections): Don't set p_filesz
1390
        from SHT_NOBITS section filepos.
1391
 
1392
2011-05-20  Bernd Schmidt  
1393
 
1394
        * elf32-tic6x.c (elf32_tic6x_howto_table): Add entries for
1395
        R_C6000_PCR_H16 and R_C6000_PCR_L16.
1396
        (elf32_tic6x_relocate_section): Handle them.
1397
 
1398
2011-05-18  Nick Clifton  
1399
 
1400
        PR ld/12761
1401
        * elflink.c (elf_link_add_object_symbols): Process .gnu.warning
1402
        sections when building shared libraries.
1403
 
1404
2011-05-18  Rafał Krypa  
1405
 
1406
        PR ld/12778
1407
        * elf32-arm.c (elf32_arm_gc_sweep_hook): Use the computed dynamic
1408
        reloc pointer.
1409
 
1410
2011-05-18  Tristan Gingold  
1411
 
1412
        * xcofflink.c (xcoff_link_add_symbols): Handle C_DWARF symbols.
1413
        (xcoff_sweep): Always keep dwarf sections.
1414
        (xcoff_link_input_bfd): Handle dwarf symbols and sections.
1415
 
1416
2011-05-18  Tristan Gingold  
1417
 
1418
        * libxcoff.h (struct xcoff_dwsect_name): New type.
1419
        (XCOFF_DWSECT_NBR_NAMES): New macro.
1420
        (xcoff_dwsect_names): Declare.
1421
        * coffcode.h (sec_to_styp_flags): Handle xcoff dwarf sections.
1422
        (styp_to_sec_flags): Ditto.
1423
        (coff_new_section_hook): Ditto.
1424
        (coff_slurp_symbol_table): Handle C_DWARF and C_INFO.
1425
        * coff-rs6000.c (xcoff_dwsect_name): New variable.
1426
 
1427
2011-05-17  Tomohiro Kashiwada  
1428
 
1429
        PR ld/12759
1430
        * elf32-rx.c (ignore_lma): New variable.
1431
        (bfd_elf32_rx_set_target_flags): Add ignore_lma parameter.
1432
        (rx_modify_program_headers): Only copy the LMA into the VMA if
1433
        ignore_lma is true.
1434
 
1435
2011-05-17  Alan Modra  
1436
 
1437
        PR ld/12760
1438
        * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Adjust "notice" call.
1439
        * elflink.c (elf_link_add_object_symbols): Likewise.
1440
        * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
1441
 
1442
2011-05-16  Alan Modra  
1443
 
1444
        * linker.c (_bfd_generic_link_add_one_symbol): Don't init u.undef.weak.
1445
 
1446
2011-05-15  Richard Sandiford  
1447
 
1448
        * elfxx-mips.c (_bfd_mips_elf_check_relocs): Record both local and
1449
        global GOT entries for GOT_PAGE relocations against global symbols.
1450
 
1451
2011-05-13  Bernd Schmidt  
1452
 
1453
        * config.bfd (tic6x-*-elf, tic6x-*-uclinux): New.
1454
        (tic6x-*-*): Replaced by these.
1455
        * elf32-tic6x.c (elf32_tic6x_set_osabi): New static function.
1456
        (elf32_tic6x_check_relocs): Create dynamic sections if -shared.
1457
        (elf_backend_relocs_compatible, elf_backend_post_process_headers):
1458
        Define.
1459
        (elf32_bed, TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM,
1460
        TARGET_BIG_NAME, ELF_OSABI): Redefine twice, and include
1461
        "elf32-target.h" two more times.
1462
        * configure.in: Handle bfd_elf32_tic6x_linux_be_vec,
1463
        bfd_elf32_tic6x_linux_le_vec, bfd_elf32_tic6x_elf_be_vec and
1464
        bfd_elf32_tic6x_elf_le_vec.
1465
        * configure: Regenerate.
1466
 
1467
2011-05-13  Jan Beulich  
1468
 
1469
        * config.bfd: Add targets x86_64-*-pe and x86_64-*-pep.
1470
 
1471
2011-05-12  Jan Kratochvil  
1472
 
1473
        * config.in: Regenerated.
1474
        * configure: Regenerated.
1475
        * configure.in: New tests for HAVE_PRPSINFO_T_PR_PID,
1476
        HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and
1477
        HAVE_PSINFO32_T_PR_PID.
1478
        * elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by
1479
        HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID
1480
        and HAVE_PSINFO32_T_PR_PID.
1481
        * hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition.
1482
 
1483
2011-05-10  Jan Kratochvil  
1484
 
1485
        * elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and
1486
        32bit psinfo.
1487
        * elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid.
1488
        * elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise.
1489
 
1490
2011-05-09  Paul Brook  
1491
 
1492
        * bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype.
1493
        * bfd-in2.h: Regenerate.
1494
        * elf32-tic6x.c: Include limits.h.
1495
        (tic6x_unwind_edit_type, tic6x_unwind_table_edit,
1496
        _tic6x_elf_section_data): New.
1497
        (elf32_tic6x_section_data): Define.
1498
        (elf32_tic6x_new_section_hook): Allocate target specific data.
1499
        (elf32_tic6x_add_unwind_table_edit): New function.
1500
        (get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size,
1501
        elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31,
1502
        elf32_tic6x_copy_exidx_entry): New functions.
1503
        (elf_backend_write_section): Define.
1504
 
1505
2011-05-09  Paul Brook  
1506
 
1507
        * elf32-tic6x.c (is_tic6x_elf_unwind_section_name,
1508
        elf32_tic6x_fake_sections): New functions.
1509
        (elf_backend_fake_sections): Define.
1510
 
1511
2011-05-09  Paul Brook  
1512
 
1513
        * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): New function.
1514
        (elf_backend_gc_mark_extra_sections): Define.
1515
 
1516
2011-05-07  Dave Korn  
1517
 
1518
        PR ld/12365
1519
        * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about
1520
        references to symbols defined in discarded sections.
1521
 
1522
2011-05-07  Dave Korn  
1523
 
1524
        PR ld/12365
1525
        * coffgen.c (coff_write_symbol): Assume input section is its own
1526
        output section if output_section member not set.
1527
        (coff_write_alien_symbol): Likewise.
1528
 
1529
2011-05-07  H.J. Lu  
1530
 
1531
        PR ld/12730
1532
        * elf.c (_bfd_elf_section_offset): Check SEC_ELF_REVERSE_COPY.
1533
 
1534
        * elflink.c (elf_link_input_bfd): Reverse copy .ctors/.dtors
1535
        sections if needed.
1536
 
1537
        * section.c (SEC_ELF_REVERSE_COPY): New.
1538
        * bfd-in2.h: Regenerated.
1539
 
1540
2011-05-07  Anders Kaseorg  
1541
 
1542
        PR 12739
1543
        * libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast.
1544
        * bfd-in2.h: Regenerate.
1545
 
1546
2011-05-06  Tristan Gingold  
1547
 
1548
        * vms-alpha.c (evax_section_flags): Remove SEC_IN_MEMORY.
1549
        (_bfd_vms_slurp_egsd): Rename old_flags to vms_flags.  Handle
1550
        any code section.  Add comments.
1551
        (alpha_vms_object_p): Use void * instead of PTR.
1552
        (alpha_vms_create_eisd_for_section): Fix test for setting DZRO.
1553
        (build_module_list): Guard against no DST section.  Add comments.
1554
        (alpha_vms_link_output_symbol): Discard undefined symbols.
1555
        (alpha_vms_get_section_contents): Simply memcpy if the section was
1556
        already loaded.  Fix typo.
1557
        (vms_new_section_hook): Use void * instead of PTR.
1558
        (vms_alpha_vec): Ditto.
1559
 
1560
2011-05-06  Richard Sandiford  
1561
 
1562
        * elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb
1563
        branch to a PLT entry, redirect it to the PLT's Thumb entry point.
1564
 
1565
2011-05-05  Bernd Schmidt  
1566
 
1567
        * elf32-tic6x.c (elf32_tic6x_final_link): New function.
1568
        (elf32_tic6x_merge_attributes): Do not warn for PID or PIC
1569
        mismatch.  Choose the lower of the two values.
1570
        (bfd_elf32_bfd_final_link): New macro.
1571
 
1572
2011-04-28  Tristan Gingold  
1573
 
1574
        * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file.
1575
        (bfd_xcoff_swap_aux_out): Ditto.
1576
        * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto.
1577
        (bfd_xcoff64_swap_aux_out): Ditto.
1578
 
1579
2011-05-04  Alan Modra  
1580
 
1581
        PR ld/12727
1582
        * elf64-ppc.c (ppc_build_one_stub ): Clear
1583
        was_undefined on dot-symbols.
1584
 
1585
2011-05-03  Paul Brook  
1586
 
1587
 
1588
        * elf32-tic6x.c (elf32_tic6x_howto_table,
1589
        elf32_tic6x_howto_table_rel, (elf32_tic6x_gc_sweep_hook,
1590
        elf32_tic6x_relocate_section, elf32_tic6x_check_relocs):
1591
        Add R_C6000_EHTYPE.
1592
 
1593
2011-05-01  Alan Modra  
1594
 
1595
        PR ld/12718
1596
        * elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before
1597
        creating ifunc sections.
1598
        * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1599
 
1600
2011-04-30  H.J. Lu  
1601
 
1602
        * elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter
1603
        names.
1604
 
1605
2011-04-28  Tom Tromey  
1606
 
1607
        * bfdio.c (memory_bstat): Pass correct size to memset.
1608
 
1609
2011-04-28  Mike Frysinger  
1610
 
1611
        * dwarf2.c (dwarf_debug_sections): Mark const.
1612
        * elf.c (special_sections): Likewise.
1613
        * libbfd-in.h (dwarf_debug_sections): Likewise.
1614
        * libbfd.h: Regenerate.
1615
 
1616
2011-04-26  Kai Tietz  
1617
 
1618
        * coffcode.h (sec_to_styp_flags): Allow linkonce for
1619
        debugging sections.
1620
 
1621
2011-04-26  Tristan Gingold  
1622
 
1623
        * coff64-rs6000.c: Convert to ISO-C.  Remove PARAMS and PTR macros.
1624
 
1625
2011-04-24  Alan Modra  
1626
 
1627
        PR ld/12365
1628
        PR ld/12696
1629
        * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call.
1630
        * linker.c (_bfd_link_hash_newfunc): Clear bitfields.
1631
        (_bfd_generic_link_add_one_symbol): Update "notice" call.
1632
        * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when
1633
        it is a redef of an IR symbol in a real BFD.
1634
 
1635
2011-04-22  H.J. Lu  
1636
 
1637
        * elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation
1638
        in readonly section in a shared object.
1639
        (elf_i386_size_dynamic_sections): Likewise.
1640
        * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
1641
        (elf_x86_64_size_dynamic_sections): Likewise.
1642
 
1643
2011-04-21  H.J. Lu  
1644
 
1645
        PR ld/12694
1646
        * elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC
1647
        symbols.
1648
        * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
1649
 
1650
2011-04-21  H.J. Lu  
1651
 
1652
        * elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false
1653
        on dynamic symbol error.
1654
        * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
1655
 
1656
2011-04-20  Tristan Gingold  
1657
 
1658
        * config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs.
1659
 
1660
2011-04-20  Alan Modra  
1661
 
1662
        * hash.c (bfd_default_hash_table_size): Make it an unsigned long.
1663
        (bfd_hash_table_init_n): Overflow checking.
1664
        (bfd_hash_set_default_size): Return current size.  Take unsigned long
1665
        arg.  Add 65537 to hash_size primes.
1666
        * bfd-in.h (bfd_hash_set_default_size): Update prototype.
1667
        * bfd-in2.h: Regenerate.
1668
 
1669
2011-04-20  Jan Kratochvil  
1670
 
1671
        * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of
1672
        memmove elements.
1673
 
1674
2011-04-20  Alan Modra  
1675
 
1676
        * libbfd.c (bfd_log2): Do return rounded up value.
1677
        * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2
1678
        call with expanded old round down version of the function.
1679
 
1680
        * archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
1681
        * elflink.c (elf_link_add_object_symbols): Delete redundant code.
1682
 
1683
2011-04-20  Alan Modra  
1684
 
1685
        PR ld/12365
1686
        * elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols
1687
        in their own common section.
1688
        * elflink.c (elf_link_add_object_symbols): Likewise.
1689
        * linker.c (generic_link_check_archive_element): Don't lose flags
1690
        if common section is pre-existing.
1691
        (_bfd_generic_link_add_one_symbol): Likewise.
1692
 
1693
2011-04-20  Alan Modra  
1694
 
1695
        PR ld/12365
1696
        * elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls.
1697
        * linker.c (_bfd_generic_link_add_one_symbol): Likewise.  Call
1698
        multiple_definition regardless of allow_multiple_definition.
1699
        * simple.c (simple_dummy_multiple_definition): Update.
1700
        * xcofflink.c (xcoff_link_add_symbols): Update multiple_definition
1701
        calls.
1702
 
1703
2011-04-18  Tristan Gingold  
1704
 
1705
        * coff-rs6000.c: Convert to ISO-C.  Remove PARAMS macro.
1706
 
1707
2011-04-18  Alan Modra  
1708
 
1709
        PR ld/12365
1710
        PR ld/12672
1711
        * bfd.c (BFD_PLUGIN): Define.
1712
        (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN.
1713
        * bfd-in2.h: Regenerate.
1714
        * elflink.c (elf_link_output_extsym): Strip undefined plugin syms.
1715
        * opncls.c (bfd_make_readable): Don't lose original bfd flags.
1716
 
1717
2011-04-17  Jan Kratochvil  
1718
 
1719
        * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for
1720
        SEC_LOAD.
1721
 
1722
2011-04-15  Sergio Durigan Junior  
1723
 
1724
        * elf-bfd.h (struct sdt_note): New struct.
1725
        (struct elf_obj_tdata) : New field.
1726
        * elf.c (elfobj_grok_stapsdt_note_1): New function.
1727
        (elfobj_grok_stapsdt_note): Likewise.
1728
        (elf_parse_notes): Added code to treat SystemTap note
1729
        sections.
1730
 
1731
2011-04-12  Richard Henderson  
1732
 
1733
        * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Do not
1734
        exclude empty .got sections.
1735
 
1736
2011-04-11  H.J. Lu  
1737
 
1738
        * elf32-i386.c (elf_i386_reloc_type_lookup): Fix the out of bound
1739
        array access for BFD_RELOC_386_IRELATIVE.
1740
 
1741
2011-04-11  Bernd Schmidt  
1742
 
1743
        * elf32-tic6x.c (elf32_tic6x_check_relocs): Initialize pc_count field.
1744
 
1745
2011-04-11  Mark Wielaard  
1746
 
1747
        PR 10549
1748
        * elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols.
1749
        (has_gnu_symbols): Renamed from has_ifunc_symbols.
1750
        * elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name.
1751
        * elf32-arm.c (elf32_arm_add_symbol_hook): Set has_gnu_symbols
1752
        also if STB_GNU_UNIQUE symbol binding was seen.
1753
        * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
1754
        * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1755
        * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1756
        * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1757
        * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1758
        * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
1759
 
1760
2011-04-11  Alan Modra  
1761
 
1762
        * bfd-in.h (bfd_get_section_limit): Don't use rawsize with output
1763
        sections.
1764
        * libbfd.c (_bfd_generic_get_section_contents): Likewise.
1765
        (_bfd_generic_get_section_contents_in_window): Likewise.
1766
        * section.c (bfd_get_section_contents): Likewise.
1767
        * compress.c (bfd_get_full_section_contents): Likewise.
1768
        * elf32-rx.c (rx_final_link): Ignore rawsize.
1769
        * elf32-microblaze.c (microblaze_elf_relocate_section): Use correct
1770
        bfd with bfd_get_section_limit.
1771
        * elfxx-ia64.c (elfNN_ia64_choose_gp): Add "final" parameter.  Use
1772
        os->size during final link.  Update callers.
1773
        * bfd-in2.h: Regenerate.
1774
 
1775
2011-04-10  Richard Sandiford  
1776
 
1777
        PR ld/12637
1778
        * elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count
1779
        as the number of global entries when merging with the primary GOT.
1780
 
1781
2011-04-09  H.J. Lu  
1782
 
1783
        * elf32-i386.c: Update copyright year.
1784
        * elf64-x86-64.c: Likewise.
1785
 
1786
2011-04-09  Kai Tietz  
1787
 
1788
        * peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary
1789
        buffer and use rawsize for sorting.
1790
        * coffcode.h (coff_compute_section_file_positions): Set rawsize
1791
        before doing alignment.
1792
 
1793
2011-04-09  H.J. Lu  
1794
 
1795
        * elf32-i386.c (elf_i386_relocate_section): Return relocation
1796
        error on unsupported relocation.
1797
        * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1798
 
1799
2011-04-09  H.J. Lu  
1800
 
1801
        PR binutils/12657
1802
        * hosts/x86-64linux.h (elf_prstatus32): Replace __pid_t with
1803
        pid_t.
1804
 
1805
2011-04-08  H.J. Lu  
1806
 
1807
        PR ld/12654
1808
        * elf32-i386.c (elf_i386_relocate_section): Check !executable
1809
        instead of shared for R_386_TLS_LDO_32.
1810
 
1811
2011-04-08  Tristan Gingold  
1812
 
1813
        * Makefile.am (SOURCE_HFILES): Remove xcoff-target.h
1814
        * coff-pmac: Remove
1815
        * xcoff-target.h: Remove
1816
        * Makefile.in: Regenerate.
1817
 
1818
2011-04-07  Cary Coutant  
1819
 
1820
        * dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification.
1821
 
1822
2011-04-07  Paul Brook  
1823
 
1824
        * elf32-tic6x.c (elf32_tic6x_howto_table): R_C6000_PREL31 is
1825
        pc-relative.
1826
        (elf32_tic6x_howto_table_rel): Ditto.
1827
        (elf32_tic6x_relocate_section): Implement R_C6000_PREL31.
1828
        (elf32_tic6x_check_relocs): Ditto.
1829
 
1830
2011-04-06  Joseph Myers  
1831
 
1832
        * config.bfd (thumb-*-oabi): Don't handle in list of obsolete
1833
        targets.
1834
        (strongarm*, thumb*, xscale*): Remove architectures.
1835
        (strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
1836
        thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
1837
        xscale-*-coff): Remove targets.
1838
 
1839
2011-04-01  Tristan Gingold  
1840
 
1841
        * elfxx-ia64.c: include bfd_stdint.h
1842
 
1843
2011-03-31  Jan Kratochvil  
1844
 
1845
        * elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable
1846
        dynobj and its initialization.
1847
 
1848
2011-03-31  Tristan Gingold  
1849
 
1850
        * makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec.
1851
        * configure.com: Set BFD_HOST_64BIT_LONG_LONG and
1852
        BFD_HOST_LONG_LONG to 1.
1853
 
1854
2011-03-31  Tristan Gingold  
1855
 
1856
        * vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning.
1857
        (_bfd_vms_write_etir): Ditto.
1858
        (_bfd_vms_slurp_etir): Avoid to use intptr_t
1859
        * configure.com: Generate bfd_stdint.h
1860
 
1861
2011-03-31  Bernd Schmidt  
1862
 
1863
        * elf32-tic6x.h (struct elf32_tic6x_params): New.
1864
        (elf32_tic6x_setup): Declare.
1865
        * elf32-tic6x.c: Include .
1866
        (ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define.
1867
        (struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry):
1868
        New structures.
1869
        (elf32_tic6x_link_hash_table, is_tic6x_elf): New macros.
1870
        (tic6x_elf_scom_section, tic6x_elf_scom_symbol,
1871
        tic6x_elf_scom_symbol_ptr): New static variables.
1872
        (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel,
1873
        elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE,
1874
        R_C6000_PCR_H16 and R_C6000_PCR_L16.
1875
        (elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create,
1876
        elf32_tic6x_link_hash_table_free, elf32_tic6x_setup,
1877
        elf32_tic6x_using_dsbt, elf32_tic6x_install_rela,
1878
        elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc,
1879
        elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook,
1880
        elf32_tic6x_adjust_dynamic_symbol): New static functions.
1881
        (elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches
1882
        to weak symbols as required by the ABI.
1883
        Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file
1884
        as needed when generating DSBT output.
1885
        (elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook,
1886
        elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section,
1887
        elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections,
1888
        elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers,
1889
        elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val,
1890
        elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym):
1891
        New static functions.
1892
        (ELF_MAXPAGESIZE): Define to 0x1000.
1893
        (bfd_elf32_bfd_copy_private_bfd_data,
1894
        bfd_elf32_bfd_link_hash_table_create,
1895
        bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount,
1896
        elf_backend_want_got_plt, elf_backend_want_dynbss,
1897
        elf_backend_plt_readonly, elf_backend_got_header_size,
1898
        elf_backend_gc_sweep_hook, elf_backend_modify_program_headers,
1899
        elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
1900
        elf_backend_check_relocs, elf_backend_add_symbol_hook,
1901
        elf_backend_symbol_processing, elf_backend_link_output_symbol_hook,
1902
        elf_backend_section_from_bfd_section,
1903
        elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections,
1904
        elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections,
1905
        elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define.
1906
 
1907
        * bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE,
1908
        BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add.
1909
        * bfd/bfd-in2.h: Regenerate.
1910
        * bfd/libbfd.h: Regenerate.
1911
        * config.bfd: Accept tic6x-*-* instead of tic6x-*-elf.
1912
 
1913
2011-03-31  Tristan Gingold  
1914
 
1915
        * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
1916
        entry on xcoff when value is C_NULL_VALUE.
1917
 
1918
2011-03-31  Tristan Gingold  
1919
 
1920
        * libcoff-in.h (exec_hdr): Remove.
1921
        * libcoff.h: Regenerate.
1922
 
1923
2011-03-30  Nick Clifton  
1924
 
1925
        * po/da.po: Updated Danish translation.
1926
 
1927
2011-03-29  Richard Henderson  
1928
 
1929
        * elf64-alpha.c (elf64_alpha_gc_mark_hook): New.
1930
        (elf64_alpha_gc_sweep_hook): New.
1931
        (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): New.
1932
        (elf_backend_can_gc_sections): New.
1933
 
1934
2011-03-26  John Marino  
1935
 
1936
        * config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*.
1937
        * configure.in: Delete unused bfd_elf32_i386_dragonfly_vec.
1938
        * configure: Regenerate.
1939
 
1940
2011-03-25  Michael Snyder  
1941
 
1942
        * coffcode.h (coff_set_alignment_hook): Check return of bfd_seek.
1943
 
1944
2011-03-25  Tristan Gingold  
1945
 
1946
        * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Allow the use
1947
        of find_nearest_line on object files.
1948
 
1949
2011-03-25  Tristan Gingold  
1950
 
1951
        * vms-alpha.c (evax_section_flags): Make $CODE$ section read-only.
1952
        Minor reordering.
1953
        (alpha_vms_create_eisd_for_section): Make code sections read-only.
1954
 
1955
2011-03-24  Alan Modra  
1956
 
1957
        * elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where
1958
        old-style __tls_get_addr calls without marker relocs don't match
1959
        their arg setup insn one for one.  If such mismatches are found
1960
        report the reloc and don't do any tls optimization.
1961
        * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
1962
 
1963
2011-03-22  Eric B. Weddington  
1964
 
1965
        * bfd-in2.h: Regenerate.
1966
 
1967
2011-03-22  Eric B. Weddington  
1968
 
1969
        * archures.c: Add AVR XMEGA architecture information.
1970
        * cpu-avr.c (arch_info_struct): Likewise.
1971
        * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
1972
        (elf32_avr_object_p): Likewise.
1973
 
1974
2011-03-14  Richard Sandiford  
1975
 
1976
        * reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation.
1977
        * bfd-in2.h: Regenerate.
1978
        * elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition
1979
        to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE
1980
        entry.
1981
        (elf32_arm_howto_from_type): Update accordingly.
1982
        (elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE.
1983
        (elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3.
1984
        (arm_plt_info): New structure, split out from elf32_arm_link_hash_entry
1985
        with an extra noncall_refcount field.
1986
        (arm_local_iplt_info): New structure.
1987
        (elf_arm_obj_tdata): Add local_iplt.
1988
        (elf32_arm_local_iplt): New accessor macro.
1989
        (elf32_arm_link_hash_entry): Replace plt_thumb_refcount,
1990
        plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info.
1991
        Change tls_type to a bitfield and add is_iplt.
1992
        (elf32_arm_link_hash_newfunc): Update accordingly.
1993
        (elf32_arm_allocate_local_sym_info): New function.
1994
        (elf32_arm_create_local_iplt): Likewise.
1995
        (elf32_arm_get_plt_info): Likewise.
1996
        (elf32_arm_plt_needs_thumb_stub_p): Likewise.
1997
        (elf32_arm_get_local_dynreloc_list): Likewise.
1998
        (create_ifunc_sections): Likewise.
1999
        (elf32_arm_copy_indirect_symbol): Update after the changes to
2000
        elf32_arm_link_hash_entry.  Assert the is_iplt has not yet been set.
2001
        (arm_type_of_stub): Add an st_type argument.  Use elf32_arm_get_plt_info
2002
        to get PLT information.  Assert that all STT_GNU_IFUNC references
2003
        are turned into PLT references.
2004
        (arm_build_one_stub): Pass the symbol type to
2005
        elf32_arm_final_link_relocate.
2006
        (elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub.
2007
        (elf32_arm_allocate_irelocs): New function.
2008
        (elf32_arm_add_dynreloc): In static objects, use .rel.iplt for
2009
        all R_ARM_IRELATIVE.
2010
        (elf32_arm_allocate_plt_entry): New function.
2011
        (elf32_arm_populate_plt_entry): Likewise.
2012
        (elf32_arm_final_link_relocate): Add an st_type parameter.
2013
        Set srelgot to null for static objects.  Use separate variables
2014
        to record which st_value and st_type should be used when generating
2015
        a dynamic relocation.  Use elf32_arm_get_plt_info to find the
2016
        symbol's PLT information, setting has_iplt_entry, splt,
2017
        plt_offset and gotplt_offset accordingly.  Check whether
2018
        STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change
2019
        the relocation target accordingly.  Broaden assert to include
2020
        .iplts.  Don't set sreloc for static relocations.  Assert that
2021
        we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32
2022
        and R_ARM_ABS32_NOI.  Generate R_ARM_IRELATIVE relocations instead
2023
        of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC
2024
        symbol.  Pass the symbol type to arm_type_of_stub.  Conditionally
2025
        resolve GOT references to the .igot.plt entry.
2026
        (elf32_arm_relocate_section): Update the call to
2027
        elf32_arm_final_link_relocate.
2028
        (elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT
2029
        information.  Treat R_ARM_REL32 and R_ARM_REL32_NOI as call
2030
        relocations in shared libraries and relocatable executables.
2031
        Count non-call PLT references.  Use elf32_arm_get_local_dynreloc_list
2032
        to get the list of dynamic relocations for a local symbol.
2033
        (elf32_arm_check_relocs): Always create ifunc sections.  Set isym
2034
        at the same time as setting h.  Use elf32_arm_allocate_local_sym_info
2035
        to allocate local symbol information.  Treat R_ARM_REL32 and
2036
        R_ARM_REL32_NOI as call relocations in shared libraries and
2037
        relocatable executables.  Record PLT information for local
2038
        STT_GNU_IFUNC functions as well as global functions.   Count
2039
        non-call PLT references.  Use elf32_arm_get_local_dynreloc_list
2040
        to get the list of dynamic relocations for a local symbol.
2041
        (elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols.
2042
        Don't remove STT_GNU_IFUNC PLTs unless all references have been
2043
        removed.  Update after the changes to elf32_arm_link_hash_entry.
2044
        (allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT
2045
        entries should live in .plt or .iplt.  Check whether the .igot.plt
2046
        and .got entries can be combined.  Use elf32_arm_allocate_plt_entry
2047
        to allocate .plt and .(i)got.plt entries.  Detect which .got
2048
        entries will need R_ARM_IRELATIVE relocations and use
2049
        elf32_arm_allocate_irelocs to allocate them.  Likewise other
2050
        non-.got dynamic relocations.
2051
        (elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt
2052
        and dynamic relocations for local STT_GNU_IFUNC symbols.
2053
        Check whether the .igot.plt and .got entries can be combined.
2054
        Detect which .got entries will need R_ARM_IRELATIVE relocations
2055
        and use elf32_arm_allocate_irelocs to allocate them.  Use stashed
2056
        section pointers intead of strcmp checks.  Handle iplt and igotplt.
2057
        (elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry
2058
        to fill in .plt, .got.plt and .rel(a).plt entries.  Point
2059
        STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations
2060
        resolve to it.
2061
        (elf32_arm_output_plt_map_1): New function, split out from
2062
        elf32_arm_output_plt_map.  Handle .iplt entries.  Use
2063
        elf32_arm_plt_needs_thumb_stub_p.
2064
        (elf32_arm_output_plt_map): Call it.
2065
        (elf32_arm_output_arch_local_syms): Add mapping symbols for
2066
        local .iplt entries.
2067
        (elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols.
2068
        (elf32_arm_swap_symbol_out): Likewise.
2069
        (elf32_arm_add_symbol_hook): New function.
2070
        (elf_backend_add_symbol_hook): Define for all targets.
2071
 
2072
2011-03-14  Richard Sandiford  
2073
 
2074
        * elf-bfd.h (elf_link_hash_entry): Add target_internal.
2075
        * elf.c (swap_out_syms): Set st_target_internal for each
2076
        Elf_Internal_Sym.
2077
        * elfcode.h (elf_swap_symbol_in): Likewise.
2078
        * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
2079
        * elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise.
2080
        * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
2081
        * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
2082
        * elflink.c (elf_link_output_extsym): Likewise.
2083
        (bfd_elf_final_link): Likewise.
2084
        (elf_link_add_object_symbols): Copy st_target_internal
2085
        to the hash table if we see a definition.
2086
        (_bfd_elf_copy_link_hash_symbol_type): Copy target_internal.
2087
        * elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with
2088
        a branch_type field.
2089
        (a8_erratum_fix, a8_erratum_reloc): Likewise.
2090
        (arm_type_of_stub): Replace actual_st_type with an
2091
        actual_branch_type parameter.
2092
        (arm_build_one_stub): Use branch types rather than st_types to
2093
        determine the type of branch.
2094
        (cortex_a8_erratum_scan): Likewise.
2095
        (elf32_arm_size_stubs): Likewise.
2096
        (bfd_elf32_arm_process_before_allocation): Likewise.
2097
        (allocate_dynrelocs_for_symbol): Likewise.
2098
        (elf32_arm_finish_dynamic_sections): Likewise.
2099
        (elf32_arm_final_link_relocate): Replace sym_flags parameter with
2100
        a branch_type parameter.
2101
        (elf32_arm_relocate_section): Update call accordingly.
2102
        (elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC.
2103
        (elf32_arm_output_map_sym): Initialize st_target_internal.
2104
        (elf32_arm_output_stub_sym): Likewise.
2105
        (elf32_arm_symbol_processing): Delete.
2106
        (elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs.
2107
        Use st_target_internal to record the branch type.
2108
        (elf32_arm_swap_symbol_out): Use st_target_internal to test for
2109
        Thumb functions.
2110
        (elf32_arm_is_function_type): Delete.
2111
        (elf_backend_symbol_processing): Likewise.
2112
        (elf_backend_is_function_type): Likewise.
2113
 
2114
2011-03-14  Richard Sandiford  
2115
 
2116
        * elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj.
2117
        (elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion
2118
        into the PLT block.
2119
 
2120
2011-03-14  Richard Sandiford  
2121
 
2122
        * elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p,
2123
        may_need_local_target_p and may_become_dynamic_p to classify
2124
        the relocation type.  Don't check info->symbolic or h->def_regular
2125
        when deciding whether to record a potential dynamic reloc.
2126
        Don't treat potential dynamic relocs as PLT references.
2127
        (elf32_arm_gc_sweep_hook): Update to match.  Assert that we don't
2128
        try to make the PLT reference count go negative.
2129
 
2130
2011-03-14  Richard Sandiford  
2131
 
2132
        * elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the
2133
        GOT entry here, rather than leaving it to finish_dynamic_symbol.
2134
        Only create a dynamic relocation for local references if
2135
        info->shared.
2136
        (allocate_dynrelocs_for_symbol): Update dynamic relocation
2137
        allocation accordingly.
2138
        (elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here.
2139
 
2140
2011-03-14  Richard Sandiford  
2141
 
2142
        * elf32-arm.c (elf32_arm_allocate_dynrelocs): New function.
2143
        (elf32_arm_add_dynreloc): Likewise.
2144
        (elf32_arm_adjust_dynamic_symbol): Use elf32_arm_allocate_dynrelocs
2145
        to allocate dynamic relocations.
2146
        (elf32_arm_size_dynamic_sections): Likewise.
2147
        (allocate_dynrelocs): Likewise.  Rename to
2148
        allocate_dynrelocs_for_symbol.
2149
        (elf32_arm_final_link_relocate): Use elf32_arm_add_dynreloc to
2150
        create dynamic relocations.
2151
        (elf32_arm_finish_dynamic_symbol): Likewise.
2152
 
2153
2011-03-12  H.J. Lu  
2154
 
2155
        * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
2156
        x32 GD->IE and GD->LE transitions.
2157
        (elf_x86_64_relocate_section): Supprt TLS x32 GD->IE, GD->LE
2158
        and LD->LE transitions.
2159
 
2160
2011-03-10  Alan Modra  
2161
 
2162
        * elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset
2163
        for LO_DS error message and correct multiple.
2164
 
2165
2011-03-10  Alan Modra  
2166
 
2167
        * elf64-ppc.c (bfd_elf64_bfd_link_just_syms): Define.
2168
        (ppc64_elf_link_just_syms): New function.
2169
        (opd_entry_value): Don't assume big-endian host.
2170
        (get_r2off): New function.
2171
        (ppc_build_one_stub, ppc_size_one_stub): Use it here.
2172
 
2173
2011-03-06  Michael Snyder  
2174
 
2175
        * compress.c (bfd_compress_section_contents): Check for out of mem.
2176
 
2177
        * elf64-x86-64.c (elf_x86_64_relocate_section): Document
2178
        that case statement falls through intentionally.
2179
 
2180
        * elf32-i386.c (elf_i386_relocate_section): Document fall through.
2181
 
2182
2011-03-04  Alan Modra  
2183
 
2184
        * archive.c (bsd_write_armap): Don't call stat in deterministic
2185
        mode, and don't use st_mtime if stat returns error.
2186
 
2187
2011-03-03  Michael Snyder  
2188
 
2189
        * elf64-x86-64.c (elf_x86_64_relocate_section): Remove dead code.
2190
 
2191
        * coff-x86_64.c (coff_amd64_rtype_to_howto): Fencepost error.
2192
 
2193
        * aoutx.h (aout_final_link): Use sizeof int not sizeof int*.
2194
        (aout_link_write_other_symbol): Missing break statement.
2195
 
2196
        * dwarf2.c (scan_unit_for_symbols): Stop memory leak.
2197
 
2198
        * archive.c (_bfd_slurp_extended_name_table): Fail if bfd_seek fails.
2199
 
2200
2011-03-03  H.J. Lu  
2201
 
2202
        * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
2203
        x32 IE->LE transition.
2204
        (elf_x86_64_relocate_section): Likewise.
2205
 
2206
2011-03-02  Bernd Schmidt  
2207
 
2208
        * elflink.c (is_reloc_section): Remove function.
2209
        (get_dynamic_reloc_section_name): Construct string manually.
2210
 
2211
2011-02-28  Kai Tietz  
2212
 
2213
        * archive.c (_bfd_find_nested_archive): Use filename_(n)cmp.
2214
        (adjust_relative_path): Likewise.
2215
        (_bfd_construct_extended_name_table): Likewise.
2216
        * corefile.c (generic_core_file_matches_executable_p): Likewise.
2217
        * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
2218
        * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2219
        * elf32-spu.c (sort_bfds): Likewise.
2220
        (spu_elf_auto_overlay): Likewise.
2221
        * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
2222
        * xcofflink.c (xcoff_set_import_path): Likewise.
2223
        * xtensa-isa.c (xtensa_regfile_lookup): Likewise.
2224
        (xtensa_regfile_lookup_shortname): Likewise.
2225
 
2226
2011-02-28  Alan Modra  
2227
 
2228
        PR 12513
2229
        * archive.c (bfd_slurp_bsd_armap_f2): Sanity check parsed_size and
2230
        stringsize.  Properly sanity check symdef_count.  Remove redundant
2231
        bfd_release.
2232
 
2233
2011-02-25  Rafael Ávila de Espíndola 
2234
 
2235
        * plugin.c (bfd_plugin_object_p): Correctly set the filesize
2236
        and handle claim_file seeking. Only try to load the plugin once.
2237
 
2238
2011-02-22  Andreas Schwab  
2239
 
2240
        * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD
2241
        relocation read the value from the second GOT slot.
2242
 
2243
2011-02-15  Tristan Gingold  
2244
 
2245
        * vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment.
2246
 
2247
2011-02-15  Alan Modra  
2248
 
2249
        * elf64-ppc.c (ppc64_elf_edit_toc): Reinstate second read of
2250
        toc relocs.  Fuss over free(NULL).
2251
 
2252
2011-02-14  Mike Frysinger  
2253
 
2254
        * elflink.c (bfd_elf_size_dynamic_sections): Add
2255
        bfd_get_symbol_leading_char to the start of newname.
2256
 
2257
2011-02-13  Ralf Wildenhues  
2258
 
2259
        * configure: Regenerate.
2260
 
2261
2011-02-09  Alan Modra  
2262
 
2263
        * elf64-ppc.c (ppc64_elf_edit_toc): Don't free toc relocs until
2264
        we are done.  When optimising large toc, check that a global
2265
        symbol on a toc reloc is defined in a kept section.
2266
 
2267
2011-02-08  Nick Clifton  
2268
 
2269
        PR binutils/12467
2270
        * elf.c (assign_file_positions_for_load_sections): Set the program
2271
        header offset and entry size to zero if there are no program
2272
        headers.
2273
 
2274
2011-02-08  Alan Modra  
2275
 
2276
        * elf64-ppc.c (ppc64_elf_edit_toc): Don't segfault on NULL
2277
        local_syms when looking for local symbols in .toc.
2278
 
2279
2011-02-01  Alan Modra  
2280
 
2281
        * elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value
2282
        for toc pointer on any section having makes_toc_func_call set.
2283
        (check_pasted_section): Ensure pasted .init/.fini fragments use
2284
        the same toc if any has makes_toc_func_call set.
2285
 
2286
2011-01-28  Joseph Myers  
2287
 
2288
        * elf32-ppc.c (ppc_elf_link_hash_newfunc): Initialize has_sda_refs
2289
        field.
2290
 
2291
2011-01-22  Richard Sandiford  
2292
 
2293
        * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Ignore
2294
        common sections too.
2295
 
2296
2011-01-18  H.J. Lu  
2297
 
2298
        * elf64-x86-64.c (elf_backend_want_plt_sym): Redefine to 0 after
2299
        Solaris target.
2300
 
2301
2011-01-18  Pierre Muller  
2302
 
2303
        Fix compilation for mingw64.
2304
        * coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate
2305
        typecast to avoid warning.
2306
        * elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type
2307
        usage.
2308
        * elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead
2309
        of long for pointer to avoid warning.
2310
        (elfNN_ia64_relax_brl): Idem.
2311
        (elfNN_ia64_install_value): Idem.
2312
        * vms-alpha.c (_bfd_vms_slurp_etir): Idem.
2313
 
2314
2011-01-17  Richard Sandiford  
2315
 
2316
        * elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than
2317
        h->needs_plt when deciding whether to record a possible dynamic reloc.
2318
 
2319
2011-01-17  Richard Sandiford  
2320
 
2321
        * elf32-arm.c (elf32_arm_gc_sweep_hook): Remove all registered
2322
        dynamic relocs for the removed section.
2323
 
2324
2011-01-15  H.J. Lu  
2325
 
2326
        * elf64-x86-64.c (elf_x86_64_check_relocs): Check invalid x32
2327
        relocations.
2328
 
2329
2011-01-14  H.J. Lu  
2330
 
2331
        * elf64-x86-64.c (elf_x86_64_link_hash_table): Add pointer_r_type.
2332
        (elf_x86_64_link_hash_table_create): Set pointer_r_type.
2333
        (elf_x86_64_check_relocs): Handle R_X86_64_32 like R_X86_64_64
2334
        for ILP32.  Remove ABI_64_P PIC check for R_X86_64_8,
2335
        R_X86_64_16, R_X86_64_32 and R_X86_64_32S.
2336
        (elf_x86_64_relocate_section):  Handle R_X86_64_32 like R_X86_64_64
2337
        for ILP32.
2338
 
2339
2011-01-14  Alan Modra  
2340
 
2341
        * bfd.c (bfd_perror): Flush stdout before and stderr after printing
2342
        error.
2343
        (_bfd_default_error_handler): Likewise.
2344
        * elf.c (print_segment_map): Likewise.
2345
        * libbfd.c (warn_deprecated): Likewise.
2346
        * som.c (som_sizeof_headers): No need to do so here.
2347
        * coff-i860.c: Replace use of printf for error messages with
2348
        _bfd_error_handler.
2349
        * coff-ppc.c: Likewise.
2350
        * coff-sh.c: Likewise.
2351
        * elf32-bfin.c: Likewise.
2352
        * elf32-dlx.c: Likewise.
2353
        * elf32-mep.c: Likewise.
2354
        * elf32-v850.c: Likewise.
2355
        * mach-o.c: Likewise.
2356
        * pef.c: Likewise.
2357
 
2358
2011-01-13  H.J. Lu  
2359
 
2360
        * elf64-x86-64.c (elf_x86_64_link_hash_table): Remove
2361
        swap_reloca_out.
2362
        (elf_x86_64_link_hash_table_create): Don't set swap_reloca_out.
2363
        (elf_x86_64_check_relocs): Align relocation section to 4 byte
2364
        for 32bit.
2365
        (elf_x86_64_gc_sweep_hook): Replace ELF64_ST_TYPE with
2366
        ELF_ST_TYPE.
2367
        (elf_x86_64_finish_dynamic_symbol): Updated.
2368
        (elf_x86_64_finish_dynamic_sections): Don't use
2369
        Elf64_External_Dyn, bfd_elf64_swap_dyn_in, nor
2370
        bfd_elf64_swap_dyn_out.
2371
 
2372
2011-01-14  J. Park  
2373
 
2374
        PR ld/12339
2375
        * elf32-arm.c (allocate_dynrelocs): Don't set up eh before
2376
        following bfd_link_hash_warning symbol link.
2377
 
2378
2011-01-10  Nathan Sidwell  
2379
            Glauber de Oliveira Costa  
2380
 
2381
        * reloc.c (BFD_RELOC_ARM_TLS_GOTDESC, BFD_RELOC_ARM_TLS_CALL,
2382
        BFD_RELOC_ARM_THM_TLS_CALL, BFD_RELOC_ARM_TLS_DESCSEQ,
2383
        BFD_RELOC_ARM_THM_TLS_DESCSEQ, BFD_RELOC_ARM_TLS_DESC): New
2384
        relocations.
2385
        * libbfd.h: Rebuilt.
2386
        * bfd-in2.h: Rebuilt.
2387
        * elf32-arm.c (elf32_arm_howto_table_1): Add new relocations.
2388
        (elf32_arm_reloc_map): Likewise.
2389
        (tls_trampoline, dl_tlsdesc_lazy_trampoline): New PLT templates.
2390
        (elf32_arm_stub_long_branch_any_tls_pic,
2391
        elf32_arm_stub_long_branch_v4t_thumb_tls_pic): New stub templates.
2392
        (DEF_STUBS): Add new stubs.
2393
        (struct_elf_arm_obj_data): Add local_tlsdesc_gotent field.
2394
        (elf32_arm_local_tlsdesc_gotent): New.
2395
        (GOT_TLS_GDESC): New mask.
2396
        (GOT_TLS_GD_ANY): Define.
2397
        (struct elf32_arm_link_hash_entry): Add tlsdesc_got field.
2398
        (elf32_arm_compute_jump_table_size): New.
2399
        (struct elf32_arm_link_hash_table): Add next_tls_desc_index,
2400
        num_tls_desc, dt_tlsdesc_plt, dt_tlsdesc_got, tls_trampoline,
2401
        sgotplt_jump_table_size fields.
2402
        (elf32_arm_link_hash_newfunc): Initialize tlsdesc_got field.
2403
        (elf32_arm_link_hash_table_create): Initialize new fields.
2404
        (arm_type_of_stub): Check TLS desc relocs too.
2405
        (elf32_arm_stub_name): TLS desc relocs can be shared.
2406
        (elf32_arm_tls_transition): Determine relaxation.
2407
        (arm_stub_required_alignment): Add tls stubs.
2408
        (elf32_arm_size_stubs): Likewise.
2409
        (elf32_arm_tls_relax): Perform TLS relaxing.
2410
        (elf32_arm_final_link_relocate): Process TLS DESC relocations.
2411
        (IS_ARM_TLS_GNU_RELOC): New.
2412
        (IS_ARM_TLS_RELOC): Use it.
2413
        (elf32_arm_relocate_section): Perform TLS relaxing.
2414
        (elf32_arm_check_relocs): Anticipate TLS relaxing, process tls
2415
        desc relocations.
2416
        (allocate_dynrelocs): Allocate tls desc relcoations.
2417
        (elf32_arm_output_arch_local_syms): Emit tls trampoline mapping
2418
        symbols.
2419
        (elf32_arm_size_dynamic_sections): Allocate tls trampolines and
2420
        got slots.
2421
        (elf32_arm_always_size_sections): New. Create _TLS_MODULE_BASE
2422
        symbol.
2423
        (elf32_arm_finish_dynamic_symbol): Adjust.
2424
        (arm_put_trampoline): New.
2425
        (elf32_arm_finish_dynamic_sections): Emit new dynamic tags and tls
2426
        trampolines.
2427
        (elf_backend_always_size_sections): Define.
2428
 
2429
2011-01-06  H.J. Lu  
2430
 
2431
        * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Optimized.
2432
 
2433
2011-01-06  H.J. Lu  
2434
 
2435
        PR ld/12366
2436
        PR ld/12371
2437
        * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly
2438
        handle symbols marked with regular reference, but not non-GOT
2439
        reference when building shared library.
2440
 
2441
        * elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle
2442
        local and global STT_GNU_IFUNC symols when building shared
2443
        library.
2444
        * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
2445
 
2446
2011-01-05  DJ Delorie  
2447
 
2448
        * reloc.c: Add BFD_RELOC_RX_OP_NEG.
2449
        * libbfd.h: Regenerate.
2450
        * bfd-in2.h: Regenerate.
2451
        * elf32-rx.c: Add it to the list, corresponding to R_RX_OPneg.
2452
 
2453
2011-01-03  H.J. Lu  
2454
 
2455
        * cpu-i386.c (bfd_i386_compatible): New.
2456
        (bfd_x64_32_arch_intel_syntax): Replace bfd_default_compatible
2457
        with bfd_i386_compatible.
2458
        (bfd_x86_64_arch_intel_syntax): Likewise.
2459
        (bfd_i386_arch_intel_syntax): Likewise.
2460
        (i8086_arch): Likewise.
2461
        (bfd_x64_32_arch): Likewise.
2462
        (bfd_x86_64_arch): Likewise.
2463
        (bfd_i386_arch): Likewise.
2464
 
2465
For older changes see ChangeLog-2010
2466
 
2467
Local Variables:
2468
mode: change-log
2469
left-margin: 8
2470
fill-column: 74
2471
version-control: never
2472
End:

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.