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

Subversion Repositories open8_urisc

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 14 khays
2010-12-31  Robert Millan  
2
 
3
        * config.bfd: Recognize mips-freebsd and mips-kfreebsd-gnu.
4
        * configure.host: Likewise.
5
        * configure.in: Support for `bfd_elf32_ntradbigmips_freebsd_vec',
6
        `bfd_elf32_ntradlittlemips_freebsd_vec',
7
        `bfd_elf32_tradbigmips_freebsd_vec',
8
        `bfd_elf32_tradlittlemips_freebsd_vec',
9
        `bfd_elf64_tradbigmips_freebsd_vec' and
10
        `bfd_elf64_tradlittlemips_freebsd_vec'.
11
        * configure: Regenerate.
12
        * elf32-mips.c: New target for FreeBSD support
13
        (same as traditional MIPS but overrides ELF_OSABI
14
        with ELFOSABI_FREEBSD).
15
        * elf64-mips.c: Likewise.
16
        * elfn32-mips.c: Likewise.
17
        * targets.c (_bfd_target_vector): Add
18
        `bfd_elf32_ntradbigmips_freebsd_vec',
19
        `bfd_elf32_ntradlittlemips_freebsd_vec',
20
        `bfd_elf32_tradbigmips_freebsd_vec',
21
        `bfd_elf32_tradlittlemips_freebsd_vec',
22
        `bfd_elf64_tradbigmips_freebsd_vec' and
23
        `bfd_elf64_tradlittlemips_freebsd_vec'.
24
 
25
2010-12-30  H.J. Lu  
26
 
27
        * elfcode.h (NAME(elf,r_info)): New.
28
        (NAME(elf,r_sym)): Likewise.
29
 
30
        * elflink.c (elf64_r_info): Removed.
31
        (elf32_r_info): Likewise.
32
        (elf64_r_sym): Likewise.
33
        (elf32_r_sym): Likewise.
34
 
35
2010-12-30  H.J. Lu  
36
 
37
        * elf64-x86-64.c (elf_x86_64_relocs_compatible): New.
38
        (elf_backend_relocs_compatible): Defined to
39
        elf_x86_64_relocs_compatible.
40
 
41
2010-12-30  H.J. Lu  
42
 
43
        * archures.c (bfd_mach_x64_32): New.
44
        (bfd_mach_x64_32_intel_syntax): Likewise.
45
        * bfd-in2.h: Regenerated.
46
 
47
        * config.bfd (targ64_selvecs): Add bfd_elf32_x86_64_vec for
48
        i[3-7]86-*-linux-*.
49
        (targ_selvecs): Add bfd_elf32_x86_64_vec for x86_64-*-linux-*.
50
 
51
        * configure.in: Support bfd_elf32_x86_64_vec.
52
        * configure: Regenerated.
53
 
54
        * cpu-i386.c (bfd_x64_32_arch_intel_syntax): New.
55
        (bfd_x64_32_arch): Likewise.
56
 
57
        * elf-bfd.h (elf_append_rela): New prototype.
58
        (elf_append_rel): Likewise.
59
        (elf64_r_info): Likewise.
60
        (elf32_r_info): Likewise.
61
        (elf64_r_sym): Likewise.
62
        (elf32_r_sym): Likewise.
63
 
64
        * elf64-x86-64.c (ABI_64_P): New.
65
        (elf_x86_64_info_to_howto): Replace ELF64_R_TYPE with
66
        ELF32_R_TYPE.  Replace ELF64_ST_TYPE with ELF_ST_TYPE.
67
        (elf_x86_64_check_tls_transition):Likewise.
68
        (elf_x86_64_check_relocs): Likewise.
69
        (elf_x86_64_gc_mark_hook):Likewise.
70
        (elf_x86_64_gc_sweep_hook): Likewise.
71
        (elf_x86_64_relocate_section): Likewise.
72
        (elf_x86_64_reloc_type_class): Likewise.
73
        (ELF_DYNAMIC_INTERPRETER): Renamed to ...
74
        (ELF64_DYNAMIC_INTERPRETER): This.
75
        (ELF32_DYNAMIC_INTERPRETER): New.
76
        (elf_x86_64_link_hash_table): Add r_info, r_sym, swap_reloca_out,
77
        dynamic_interpreter and dynamic_interpreter_size.
78
        (elf_x86_64_get_local_sym_hash): Replace ELF64_R_SYM with
79
        htab->r_sym.  Replace ELF64_R_INFO with htab->r_info.
80
        (elf_x86_64_get_local_sym_hash): Likewise.
81
        (elf_x86_64_check_tls_transition):Likewise.
82
        (elf_x86_64_check_relocs): Likewise.
83
        (elf_x86_64_gc_mark_hook):Likewise.
84
        (elf_x86_64_gc_sweep_hook): Likewise.
85
        (elf_x86_64_relocate_section): Likewise.
86
        (elf_x86_64_finish_dynamic_symbol): Likewise.
87
        (elf_x86_64_finish_local_dynamic_symbol): Likewise.
88
        (elf_x86_64_link_hash_table_create): Initialize r_info, r_sym,
89
        swap_reloca_out, dynamic_interpreter and dynamic_interpreter_size.
90
        (elf_x86_64_check_relocs): Check ABI_64_P when requesting for
91
        PIC.
92
        (elf_x86_64_relocate_section): Likewise.
93
        (elf64_x86_64_adjust_dynamic_symbol): Replace sizeof
94
        (Elf64_External_Rela) with bed->s->sizeof_rela.
95
        (elf64_x86_64_allocate_dynrelocs): Likewise.
96
        (elf64_x86_64_size_dynamic_sections): Likewise.
97
        (elf64_x86_64_finish_dynamic_symbol): Likewise.
98
        (elf64_x86_64_append_rela): Removed.
99
        (elf32_x86_64_elf_object_p): New.
100
        Add bfd_elf32_x86_64_vec.
101
 
102
        * elf64-x86-64.c (elf64_x86_64_xxx): Renamed to ...
103
        (elf_x86_64_xxx): This.
104
 
105
        * elflink.c (bfd_elf_final_link): Check ELF file class on error.
106
        (elf_append_rela): New.
107
        (elf_append_rel): Likewise.
108
        (elf64_r_info): Likewise.
109
        (elf32_r_info): Likewise.
110
        (elf64_r_sym): Likewise.
111
        (elf32_r_sym): Likewise.
112
 
113
        * targets.c (bfd_elf32_x86_64_vec): New.
114
        (_bfd_target_vector): Add bfd_elf32_x86_64_vec.
115
 
116
2010-12-24  Alan Modra  
117
 
118
        * compress.c (decompress_contents): Style.
119
        (bfd_get_full_section_contents): Do not decompress directly into
120
        caller buffer or directly return cached section contents.
121
        Check malloc return for compressed_buffer.
122
 
123
2010-12-21  Kai Tietz  
124
 
125
        * peXXigen.c (_bfd_XXi_final_link_postscript): Use
126
        bfd_get_symbol_leading_char to determine "_tls_used" name.
127
 
128
2010-12-21  Pierre Muller  
129
 
130
        * peXXigen.c (_bfd_XXi_final_link_postscript): Use correct size
131
        for windows 64-bit TLS table size.
132
 
133
2010-12-16  DJ Delorie  
134
 
135
        * reloc.c (BFD_RELOC_RX_ABS16_REV): Add.
136
        (BFD_RELOC_RX_ABS32_REV): Add.
137
        * bfd-in2.h: Regenerate.
138
        * libbfd.h: Regenerate.
139
        * elf32-rx.c (rx_reloc_map): Add them.
140
 
141
2010-12-15  H.J. Lu  
142
 
143
        * elf.c (_bfd_elf_new_section_hook): Special handling for
144
        .init_array/.fini_array output sections.
145
 
146
2010-12-13  Alan Modra  
147
 
148
        * aoutx.h (aout_link_check_ar_symbols): Formatting.
149
        * cofflink.c (coff_link_check_ar_symbols): Likewise.
150
        * elflink.c (elf_link_add_archive_symbols): Likewise.
151
        * pdp11.c (aout_link_check_ar_symbols): Likewise.
152
        * xcofflink.c (xcoff_link_check_dynamic_ar_symbols,
153
        xcoff_link_check_dynamic_ar_symbols): Likewise.
154
 
155
        * aoutx.h (aout_link_check_archive_element): Simplify code dealing
156
        with add_archive_element substitute BFD.
157
        * cofflink.c (coff_link_check_archive_element): Likewise.
158
        * ecoff.c (ecoff_link_check_archive_element): Likewise.
159
        (ecoff_link_add_archive_symbols): Likewise.
160
        * linker.c (generic_link_check_archive_element): Likewise.
161
        * pdp11.c (aout_link_check_archive_element): Likewise.
162
        * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
163
        * xcofflink.c (xcoff_link_check_archive_element): Likewise.
164
 
165
        * aoutx.h (aout_link_check_archive_element): Free symbols from old
166
        bfd if !keep_memory.
167
        * cofflink.c (coff_link_check_archive_element): Likewise.
168
        * pdp11.c (aout_link_check_archive_element): Likewise.
169
        * xcofflink.c (xcoff_link_check_archive_element): Likewise.
170
 
171
2010-12-13  Alan Modra  
172
 
173
        * plugin.c (bfd_plugin_mkobject): Delete.
174
        (plugin_vec): Use bfd_false instead.
175
 
176
2010-12-12  H.J. Lu  
177
 
178
        * elflink.c (elf_link_add_archive_symbols): Remove subsbfd.
179
 
180
2010-12-12  H.J. Lu  
181
 
182
        * elf.c (special_sections_g): Add ".gnu.lto_".
183
 
184
2010-12-10  Alan Modra  
185
 
186
        * config.bfd: Configure rs6000-*-aix* as for powerpc-*-aix*.
187
        Add aix5coff64_vec to powerpc ELF entries.
188
 
189
2010-12-09  Mike Frysinger  
190
 
191
        * .gitignore: New file.
192
 
193
2010-12-06  Dmitry Gorbachev  
194
 
195
        PR ld/12288
196
        * plugin.c (message): Add putchar for the trailing `\n'.
197
 
198
2010-12-04  Mike Frysinger  
199
 
200
        * Makefile.am (!INSTALL_LIBBFD/bfdinclude_HEADERS): Set to nothing.
201
        (PLUGINS/bfdinclude_HEADERS): Append plugin-api.h.
202
        * Makefile.in: Regenerated.
203
 
204
2010-12-04  Alan Modra  
205
 
206
        PR ld/12277
207
        * elflink.c (elf_link_output_extsym): Set bfd_error on symbol
208
        and section errors.  Allow better translation of error messages.
209
 
210
2010-12-02  Richard Sandiford  
211
 
212
        * elf32-arm.c (elf32_arm_link_hash_table): Remove sgot, sgotplt,
213
        srelgot, splt, srelplt.
214
        (create_got_section, elf32_arm_link_hash_table_create): Don't set them.
215
        (elf32_arm_create_dynamic_sections): Likewise.  Use htab->root
216
        fields instead.
217
        (arm_type_of_stub): Use the root fields instead of the removed ones.
218
        (cortex_a8_erratum_scan, elf32_arm_size_stubs): Likewise.
219
        (bfd_elf32_arm_process_before_allocation): Likewise.
220
        (elf32_arm_check_relocs, allocate_dynrelocs): Likewise.
221
        (elf32_arm_size_dynamic_sections): Likewise.
222
        (elf32_arm_output_arch_local_syms): Likewise.
223
        (elf32_arm_final_link_relocate): Set sgot, splt and srelgot from the
224
        htab fields instead of looking them up by name.  Consistently use
225
        these local variables instead of htab fields.
226
        (elf32_arm_finish_dynamic_symbol): Likewise sgot, splt and srel.
227
        Use srelbss instead of looking it up by name.
228
        (elf32_arm_finish_dynamic_sections): Use sgotplt, splt and srelplt
229
        instead of looking up the symbols by name.  Use the root fields
230
        instead of the removed ones.
231
 
232
2010-12-02  Richard Sandiford  
233
 
234
        * elf32-arm.c (elf32_arm_relocs_copied): Delete.
235
        (elf32_arm_link_hash_entry): Replace relocs_copied with dyn_relocs.
236
        (elf32_arm_link_hash_newfunc): Update accordingly.
237
        (elf32_arm_copy_indirect_symbol, elf32_arm_gc_sweep_hook): Likewise.
238
        (elf32_arm_check_relocs, allocate_dynrelocs): Likewise.
239
        (elf32_arm_readonly_dynrelocs): Likewise.
240
        (elf32_arm_size_dynamic_sections): Likewise.
241
 
242
2010-12-02  Paul Koning  
243
 
244
        * pdp11.c (aout_link_add_symbols): Ignore debug symbols.
245
 
246
2010-11-30  Joel Sherrill  
247
 
248
        * config.bfd: Add sparc64-rtems.
249
 
250
2010-11-25  Alan Modra  
251
 
252
        * po/es.po: Update.
253
        * po/fi.po: Update.
254
        * po/fr.po: Update.
255
        * po/ja.po: Update.
256
        * po/zh_CN.po: Update.
257
 
258
2010-11-24  Joel Brobecker  
259
 
260
        * Makefile.am (OPTIONAL_BACKENDS): Add rs6000-core.lo.
261
        (OPTIONAL_BACKENDS_CFILES): Add rs6000-core.c.
262
        * Makefile.in: Regenerate.
263
 
264
2010-11-24  Alan Modra  
265
 
266
        PR ld/12253
267
        * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct
268
        DW_EH_PE_datarel handling.  Truncate .eh_frame_hdr address to
269
        ptr_size.
270
 
271
2010-11-23  Mingming Sun  
272
 
273
        * elfxx-mips.c (mips_set_isa_flags): Move bfd_mach_loongson_3a
274
        after bfd_mach_mips_sb1.
275
 
276
2010-11-17  Tristan Gingold  
277
 
278
        * vms-lib.c (vms_write_index): Add comments.
279
        Partially revert previous patch.  Free blocks later.
280
 
281
2010-11-17  Nick Clifton  
282
 
283
        PR ld/12161
284
        * elf32-avr.c (elf32_avr_check_relocs): Delete.
285
        (elf_backend_check_relocs): Delete.
286
 
287
2010-11-16  Jie Zhang  
288
 
289
        * elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
290
        (elf32_bfin_data_in_l1): New variable.
291
        (elf32_bfin_final_write_processing): New.
292
        (elf_backend_final_write_processing): Define.
293
 
294
2010-11-15  Mike Frysinger  
295
 
296
        PR binutils/12177
297
        * elf32-bfin.c (_bfin_create_got_section): Drop unused flags code.
298
 
299
2010-11-12  H.J. Lu  
300
 
301
        * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS and
302
        BFD_DECOMPRESS.
303
        (bfd_openr_next_archived_file): Revert the last change.
304
 
305
2010-11-11  Mingming Sun  
306
 
307
        * archures.c (bfd_mach_mips_loongson_3a): Defined.
308
        * bfd-in2.h (bfd_mach_mips_loongson_3a): Defined.
309
        * cpu-mips.c (I_loongson_3a): New add.
310
        (arch_info_struct): Add loongson_3a.
311
        * elfxx-mips.c (_bfd_elf_mips_mach): Add loongson_3a.
312
        (mips_set_isa_flags): Add loongson_3a.
313
        (mips_mach_extensions): Add loongson_3a in MIPS64 extensions.
314
 
315
2010-11-10  Richard Sandiford  
316
 
317
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove unused
318
        variables.
319
 
320
2010-11-10  Nick Clifton  
321
 
322
        * po/ja.po: Updated Japanese translation.
323
        * po/ru.po: Updated Russian translation.
324
 
325
2010-11-08  Nick Clifton  
326
 
327
        * po/ja.po: Updated Japanese translation.
328
 
329
2010-11-08  Alan Modra  
330
 
331
        * hash.c (bfd_hash_hash): Extract from..
332
        (bfd_hash_lookup): ..here.
333
        (bfd_hash_rename): New function.
334
        * section.c (bfd_rename_section): New function.
335
        * bfd-in.h (bfd_hash_rename): Declare.
336
        * bfd-in2.h: Regenerate.
337
        * elf.c (_bfd_elf_make_section_from_shdr): Rename input sections
338
        when compressing or decompressing.  Don't assert name match.
339
        * elf64-hppa.c (get_reloc_section): Don't assert name match.
340
        * elfxx-ia64.c (get_reloc_section): Likewise.
341
 
342
2010-11-05  Joseph Myers  
343
 
344
        * elf32-tic6x.c (elf32_tic6x_obj_attrs_handle_unknown): New.
345
        (elf32_tic6x_merge_attributes): Use
346
        _bfd_elf_merge_unknown_attribute_low and
347
        _bfd_elf_merge_unknown_attribute_list.
348
        (elf_backend_obj_attrs_handle_unknown): Define.
349
 
350
2010-11-05  Joseph Myers  
351
 
352
        * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
353
        _bfd_elf_merge_unknown_attribute_list): Correct test for matching
354
        string attributes.
355
 
356
2010-11-05  Tristan Gingold  
357
 
358
        * po/bfd.pot: Regenerate
359
 
360
2010-11-05  Tristan Gingold  
361
 
362
        * configure.in: Bump version to 2.21.51
363
        * configure: Regenerate.
364
 
365
2010-11-04  Maciej W. Rozycki  
366
 
367
        PR ld/10144
368
        * elfxx-mips.c (_bfd_mips_elf_check_relocs)
369
        [R_MIPS_32, R_MIPS_REL32, R_MIPS_64]: Ignore relocs from
370
        SEC_DEBUGGING sections.
371
 
372
2010-11-04  Tristan Gingold  
373
 
374
        * vms-lib.c (vms_write_index): Fix thinko: reverse the loop.
375
        Use bfd_zmalloc instead of bfd_malloc.  Fix comment.
376
 
377
2010-11-04  Kai Tietz  
378
 
379
        * coffcode.h (GNU_LINKONCE_WT): New.
380
        (sec_to_styp_flags): Add handling of new debug
381
        section.
382
        (styp_to_sec_flags): Likewise.
383
 
384
2010-11-04  Tristan Gingold  
385
 
386
        * makefile.vms (CFLAGS): Make badalias warnings informational.
387
        * vms-lib.c (vms_lib_bread): Avoid arithmetic on void pointer.
388
 
389
2010-11-04  Joseph Myers  
390
 
391
        * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
392
        _bfd_elf_merge_unknown_attribute_list): New.
393
        * elf-bfd.h (struct elf_backend_data): Add
394
        obj_attrs_handle_unknown.
395
        (_bfd_elf_merge_unknown_attribute_low,
396
        _bfd_elf_merge_unknown_attribute_list): Declare.
397
        * elf32-arm.c (elf32_arm_obj_attrs_handle_unknown): New.  Split
398
        out from elf32_arm_merge_eabi_attributes.
399
        (elf32_arm_merge_eabi_attributes): Use
400
        _bfd_elf_merge_unknown_attribute_low and
401
        _bfd_elf_merge_unknown_attribute_list.
402
        (elf_backend_obj_attrs_handle_unknown): Define.
403
        * elfxx-target.h (elf_backend_obj_attrs_handle_unknown): Define.
404
        (elfNN_bed): Update initializer.
405
 
406
2010-11-02  H.J. Lu  
407
 
408
        * bfd.c (BFD_FLAGS_FOR_BFD_USE_MASK): New.
409
        * bfd-in2.h: Regenerated.
410
 
411
2010-11-02  Joseph Myers  
412
 
413
        * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Except for
414
        Tag_ABI_compatibility, treat odd tags as strings and even ones as
415
        integers.
416
        (elf32_tic6x_obj_attrs_order, elf32_tic6x_tag_to_array_alignment,
417
        elf32_tic6x_array_alignment_to_tag): New.
418
        (elf32_tic6x_merge_attributes): Handle more attributes.  Set type
419
        for merged attributes.
420
        (elf_backend_obj_attrs_order): Define.
421
 
422
2010-10-29  Maciej W. Rozycki  
423
 
424
        * elfxx-mips.c (mips_elf_calculate_relocation): Fix a typo.
425
 
426
2010-10-29  Pawel Sikora  
427
 
428
        PR binutils/12075
429
        * compress.c (bfd_compress_section_contents): Use uLong on
430
        compressed_size.
431
 
432
2010-10-29  Joseph Myers  
433
 
434
        * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Check
435
        Tag_ABI_compatibility not Tag_compatibility.
436
        (elf32_tic6x_merge_attributes): Update compatibility attribute
437
        name in comment.  Return FALSE if merging common attributes fails.
438
 
439
2010-10-29  Nick Clifton  
440
 
441
        PR bintils/6962
442
        * coffcode.h (handle_COMDAT): Only check the base type when
443
        looking for a section symbol.
444
 
445
2010-10-29  H.J. Lu  
446
            Cary Coutant  
447
 
448
        * archive.c (bfd_openr_next_archived_file): Copy BFD_COMPRESS
449
        and BFD_DECOMPRESS.
450
 
451
        * bfd.c (BFD_COMPRESS): New.
452
        (BFD_DECOMPRESS): Likewise.
453
        (BFD_FLAGS_SAVED): Likewise.
454
        (bfd_preserve_save): Replace BFD_IN_MEMORY with BFD_FLAGS_SAVED.
455
 
456
        * compress.c (bfd_uncompress_section_contents): Removed.
457
        (get_uncompressed_size): New.
458
        (decompress_contents): Likewise.
459
        (bfd_compress_section_contents): Likewise.
460
        (bfd_get_full_section_contents): Likewise.
461
        (bfd_is_section_compressed): Likewise.
462
        (bfd_init_section_decompress_status): Likewise.
463
        (bfd_init_section_compress_status): Likewise.
464
 
465
        * dwarf2.c (dwarf_debug_sections): New.
466
        (dwarf_debug_section_enum): Likewise.
467
        (read_section): Remove section_name and compressed_section_name.
468
        Add dwarf_debug_section_enum.  Try compressed debug section.
469
        (read_indirect_string): Updated.
470
        (read_abbrevs): Likewise.
471
        (decode_line_info): Likewise.
472
        (read_debug_ranges): Likewise.
473
        (find_line): Updated.
474
 
475
        * ecoff.c (bfd_debug_section): Add compress_status and
476
        compressed_size.
477
 
478
        * elf.c (_bfd_elf_make_section_from_shdr): Call
479
        bfd_is_section_compressed to check if a DWARF debug section is
480
        compressed.  Call bfd_init_section_compress_status or
481
        bfd_init_section_decompress_status if needed.
482
 
483
        * elflink.c (elf_link_input_bfd): Replace bfd_get_section_contents
484
        with bfd_get_full_section_contents.
485
        * merge.c (_bfd_add_merge_section): Likewise.
486
        * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
487
        * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
488
 
489
        * elfxx-target.h (TARGET_BIG_SYM): Allow BFD_COMPRESS and
490
        BFD_DECOMPRESS.
491
        (TARGET_LITTLE_SYM): Likewise.
492
 
493
        * libbfd-in.h (dwarf_debug_section): New.
494
        (dwarf_debug_sections): Likewise.
495
 
496
        * libbfd.c (_bfd_generic_get_section_contents): Issue an error
497
        when getting contents on compressed/decompressed section.
498
 
499
        * section.c (COMPRESS_SECTION_NONE): New.
500
        (COMPRESS_SECTION_DONE): Likewise.
501
        (DECOMPRESS_SECTION_SIZED): Likewise.
502
        (BFD_FAKE_SECTION): Add compress_status and compressed_size.
503
        (bfd_malloc_and_get_section): Replace bfd_get_section_contents
504
        with bfd_get_full_section_contents.
505
 
506
        * bfd-in2.h: Regenerated.
507
        * libbfd.h: Likewise.
508
 
509
2010-10-29  Bernd Schmidt  
510
            Joseph Myers  
511
 
512
        * elf32-tic6x.c (elf32_tic6x_merge_attributes): Check for mismatch
513
        of DSBT attributes.
514
 
515
2010-10-25  Daniel Jacobowitz  
516
 
517
        * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Always call
518
        _bfd_clear_contents.  Pass it the input section.
519
        * libbfd-in.h (_bfd_clear_contents): Add input_section argument.
520
        * libbfd.h: Regenerate.
521
        * reloc.c (_bfd_clear_contents): Take input_section argument.
522
        Use non-zero for .debug_ranges.
523
        (bfd_generic_get_relocated_section_conten): Update _bfd_clear_contents
524
        call.
525
 
526
        * elf32-arm.c (elf32_arm_relocate_section): Use
527
        RELOC_AGAINST_DISCARDED_SECTION.
528
        * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
529
        * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
530
        * elf32-arm.c (elf32_arm_relocate_section): Likewise.
531
        * elf32-avr.c (elf32_avr_relocate_section): Likewise.
532
        * elf32-bfin.c (bfin_relocate_section): Likewise.
533
        (bfinfdpic_relocate_section): Likewise.
534
        * elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
535
        * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
536
        * elf32-cris.c (cris_elf_relocate_section): Likewise.
537
        * elf32-crx.c (elf32_crx_relocate_section): Likewise.
538
        * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
539
        * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
540
        * elf32-frv.c (elf32_frv_relocate_section): Likewise.
541
        * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
542
        * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
543
        * elf32-i370.c (i370_elf_relocate_section): Likewise.
544
        * elf32-i860.c (elf32_i860_relocate_section): Likewise.
545
        * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
546
        * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
547
        * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
548
        * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
549
        * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
550
        * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
551
        * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
552
        * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
553
        * elf32-mep.c (mep_elf_relocate_section): Likewise.
554
        * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
555
        * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
556
        * elf32-mt.c (mt_elf_relocate_section): Likewise.
557
        * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
558
        * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
559
        * elf32-rx.c (rx_elf_relocate_section): Likewise.
560
        * elf32-s390.c (elf_s390_relocate_section): Likewise.
561
        * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
562
        * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
563
        * elf32-sh.c (sh_elf_relocate_section): Likewise.
564
        * elf32-spu.c (spu_elf_relocate_section): Likewise.
565
        * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
566
        * elf32-v850.c (v850_elf_relocate_section): Likewise.
567
        * elf32-vax.c (elf_vax_relocate_section): Likewise.
568
        * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
569
        * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
570
        * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
571
        * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
572
        (elf64_alpha_relocate_section): Likewise.
573
        * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
574
        * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
575
        * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
576
        * elf64-s390.c (elf_s390_relocate_section): Likewise.
577
        * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
578
        * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
579
        * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
580
        * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
581
 
582
2010-10-25  Nathan Sidwell  
583
 
584
        * elf32-tic6x.c: Add attribution.
585
 
586
2010-10-25  Alan Modra  
587
 
588
        * elf32-arm.c (find_stub_size_and_template): Avoid uninitialized
589
        var warning at -O3.
590
 
591
2010-10-25  Alan Modra  
592
 
593
        * opncls.c (bfd_alloc, bfd_zalloc): Don't mark internal.
594
        * libbfd-in.h (bfd_alloc, bfd_zalloc): Don't declare here.
595
        * libbfd.h: Regenerate
596
        * bfd-in2.h: Regenerate.
597
 
598
2010-10-25  Alan Modra  
599
 
600
        * opncls.c (_bfd_id_counter): Rename to bfd_id_counter.
601
        (bfd_reserved_id_counter, bfd_use_reserved_id): New vars.
602
        (_bfd_new_bfd): Use negative id when bfd_use_reserved_id.
603
        (bfd_create): Doc fix.
604
        * bfd-in2.h: Regenerate.
605
 
606
2010-10-22  Rainer Orth  
607
 
608
        * elfxx-sparc.c (tpoff): Define bed, static_tls_size.
609
        Consider static_tls_alignment.
610
 
611
        * elf32-sparc.c (TARGET_BIG_SYM): Redefine to
612
        bfd_elf32_sparc_sol2_vec.
613
        (TARGET_BIG_NAME): Redefine to elf32-sparc-sol2.
614
        (elf32_bed): Redefine to elf32_sparc_sol2_bed.
615
        (elf_backend_static_tls_alignment): Redefine to 8.
616
        Include elf32-target.h.
617
        (elf_backend_static_tls_alignment): Undef again for VxWorks.
618
 
619
        * elf64-sparc.c (TARGET_BIG_SYM): Redefine to
620
        bfd_elf64_sparc_sol2_vec.
621
        (TARGET_BIG_NAME): Redefine to elf64-sparc-sol2.
622
        (ELF_OSABI): Undef.
623
        (elf64_bed): Redefine to elf64_sparc_sol2_bed.
624
        (elf_backend_static_tls_alignment): Redefine to 16.
625
        Include elf64-target.h.
626
 
627
        * config.bfd (sparc-*-solaris2.[0-6]): Split from sparc-*-elf*.
628
        Set targ_defvec to bfd_elf32_sparc_sol2_vec.
629
        [BFD64] (sparc-*-solaris2*): Set targ_defvec to
630
        bfd_elf32_sparc_sol2_vec.
631
        Replace bfd_elf64_sparc_vec by bfd_elf64_sparc_sol2_vec in
632
        targ_selvecs.
633
 
634
        * configure.in: Handle bfd_elf32_sparc_sol2_vec,
635
        bfd_elf64_sparc_sol2_vec.
636
        * configure: Regenerate.
637
 
638
        * targets.c (bfd_elf32_sparc_sol2_vec): Declare.
639
        (bfd_elf64_sparc_sol2_vec): Declare.
640
        (_bfd_target_vector): Add bfd_elf32_sparc_sol2_vec,
641
        bfd_elf64_sparc_sol2_vec.
642
 
643
2010-10-21  Joseph Myers  
644
 
645
        * elf32-tic6x.c (elf32_tic6x_merge_arch_attributes): Update for
646
        attribute renaming.
647
        (elf_backend_obj_attrs_section): Change to ".c6xabi.attributes".
648
 
649
2010-10-21  Rainer Orth  
650
 
651
        * elf-bfd.h (struct elf_backend_data): New member
652
        static_tls_alignment.
653
        * elfxx-target.h (elf_backend_static_tls_alignment): Provide
654
        default.
655
        (elfNN_bed): Initialize static_tls_alignment.
656
        * elflink.c (bfd_elf_final_link): Don't round end of TLS section
657
        if static TLS has special alignment requirements.
658
        * elf32-i386.c (elf_i386_tpoff): Define bed, static_tls_size.
659
        Consider static_tls_alignment.
660
        (elf_backend_static_tls_alignment): Redefine for Solaris 2.
661
        Undef again for VxWorks.
662
        * elf64-x86-64.c (elf64_x86_64_tpoff):  Define bed,
663
        static_tls_size.
664
        Consider static_tls_alignment.
665
        (elf_backend_static_tls_alignment): Redefine for Solaris 2.
666
        Undef again for Intel L1OM.
667
 
668
2010-10-14  Dave Korn  
669
 
670
        Apply LD plugin patch series (part 6/6).
671
        * aoutx.h (aout_link_check_ar_symbols): Take new "subsbfd" reference
672
        parameter and pass it when invoking add_archive_element callback.
673
        (aout_link_check_archive_element): Handle substitute bfd if it
674
        was set during add_archive_element callback in the above.
675
        * cofflink.c (coff_link_check_ar_symbols): Take new "subsbfd" reference
676
        parameter and pass it when invoking add_archive_element callback.
677
        (coff_link_check_archive_element): Handle substitute bfd if it
678
        was set during add_archive_element callback in the above.
679
        * ecoff.c (read_ext_syms_and_strs): New function holds symbol-reading
680
        code factored-out from ecoff_link_check_archive_element.
681
        (reread_ext_syms_and_strs): Clear old symbols and call it.
682
        (ecoff_link_check_archive_element):  Use the above.  Handle substitute
683
        BFD if one is set by add_archive_element callback.
684
        (ecoff_link_add_archive_symbols): Likewise allow bfd substitution.
685
        * elflink.c (elf_link_add_archive_symbols): Likewise.
686
        * linker.c (generic_link_check_archive_element): Likewise.
687
        * pdp11.c (aout_link_check_ar_symbols): Take new "subsbfd" reference
688
        parameter and pass it when invoking add_archive_element callback.
689
        (aout_link_check_archive_element): Handle substitute bfd if it was
690
        set during add_archive_element callback in the above.
691
        * vms-alpha.c (alpha_vms_link_add_archive_symbols): Handle substitute
692
        BFD if one is set by add_archive_element callback.
693
        * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Take new "subsbfd"
694
        reference parameter and pass it when invoking add_archive_element
695
        callback.
696
        (xcoff_link_check_ar_symbols): Likewise.
697
        (xcoff_link_check_archive_element): Handle bfd substitution if it was
698
        set by callback in the above.
699
 
700
2010-10-11  Alan Modra  
701
 
702
        * elf32-frv.c (elf32_frv_relocate_section): Set "name" for global syms.
703
        (elf32_frvfdpic_finish_dynamic_sections): Don't crash on
704
        __ROFIXUP_END__ defined in shared lib.
705
 
706
2010-10-11  Thomas Schwinge  
707
 
708
        * elf32-arm.c (elf32_arm_final_link_relocate)
709
        (elf32_arm_relocate_section): Handle relocations against STN_UNDEF.
710
 
711
2010-10-11  Dave Korn  
712
 
713
        * elflink.c (_bfd_elf_link_output_relocs): Delete unused variable
714
        "output_rel_hdr".
715
 
716
2010-10-09  John Tytgat  
717
 
718
        * reloc.c (BFD_RELOC_ARM_HVC): Add.
719
        * libbfd.h: Regenerate.
720
 
721
2010-10-08  Kai Tietz  
722
 
723
        * pei-x86_64.c (find_next_xdata_or_end): Removed.
724
        (pex64_dump_xdata): Remove arguments stop, onaline,
725
        and pdata. New argument endx.  Print term "none"
726
        instead of misleading "CFA".
727
        (sort_xdata_arr): New function.
728
        (pex64_bfd_print_pdata): Use binary search/sort for unwind-RVAs
729
        instead of searching quadratic.
730
 
731
2010-10-08  Pierre Muller  
732
            Alan Modra  
733
 
734
        Fix build with -DDEBUG=7
735
        * elf.c (_bfd_elf_symbol_from_bfd_symbol): Remove call
736
        to deleted function elf_symbol_flags.  Add typecast to avoid warning.
737
        * elf32-rx.c (dump_symbol) : Rename to..
738
        (rx_dump_symbol): ..this to avoid link errors.
739
        * elflink.c (elf_link_input_bfd): Add typecast to avoid warnings.
740
        (bfd_elf_perform_complex_relocation): Likewise.
741
        * elf32-xtensa.c (print_action_list): Likewise.
742
 
743
2010-10-06  Nathan Sidwell  
744
 
745
        * elf32-arm.c (elf32_arm_stub_long_branch_any_arm_pic,
746
        elf32_arm_stub_long_branch_any_arm_pic): Use a consistent name for
747
        ip/r12.
748
        (arm_type_of_stub): Remove superfluous braces.
749
 
750
2010-10-04  Bernd Schmidt  
751
 
752
        * elf-bfd.h (struct bfd_elf_section_reloc_data): New structure.
753
        (struct bfd_elf_section_data): New members REL and RELA; delete
754
        members REL_HDR, REL_HDR2, REL_COUNT, REL_COUNT2, REL_IDX,
755
        REL_IDX2, REL_HASHES.
756
        (_bfd_elf_init_reloc_shdr): Adjust declaration.
757
        (_bfd_elf_single_rel_hdr): Declare.
758
        (RELOC_AGAINST_DISCARDED_SECTION): Use it.
759
        * elf.c (bfd_section_from_shdr): Adjusted to match changes in
760
        data structures.
761
        (_bfd_elf_init_reloc_shdr): New arg RELDATA.  Remove arg REL_HDR.
762
        All callers changed.  Allocate memory for the Elf_Internal_Shdr
763
        structure.
764
        (_bfd_elf_single_rel_hdr): New function.
765
        (struct fake_section_arg): New structure.
766
        (elf_fake_section): Expect to see a pointer to it in the third
767
        argument.  If doing a relocatable link, allocate both REL and RELA
768
        sections as needed.
769
        (assign_section_numbers): Adjusted to match changes in
770
        data structures.
771
        (_bfd_elf_compute_section_file_positions): Call elf_fake_sections
772
        with a struct fake_section_args argument.
773
        * elfcode.h (elf_write_relocs): Adjusted to match changes in
774
        data structures.
775
        (elf_slurp_reloc_table): Likewise.
776
        * elflink.c (_bfd_elf_link_read_relocs): Likewise.
777
        (_bfd_elf_link_size_reloc_section): Remove arg REL_HDR, replace with
778
        RELDATA.  Remove argument O.  All callers changed.  Remove code to
779
        discover the right rel_hdr and count.
780
        (_bfd_elf_link_output_relocs): Adjusted to match changes in
781
        data structures.
782
        (elf_link_adjust_relocs): Remove args REL_HDR, COUNT and REL_HASH;
783
        replace with RELDATA.  All callers changed.
784
        (elf_link_input_bfd): Correctly generate rel_hash data when both
785
        REL and RELA sections are present.
786
        (elf_reloc_link_order): Adjusted to match changes in
787
        data structures.
788
        (bfd_elf_final_link): Simplify code to count relocs.  Free the
789
        hashes array for both REL and RELA.
790
        (get_dynamic_reloc_section_name): Use _bfd_elf_single_reloc_hdr
791
        * elf32-m32r.c (m32r_elf_fake_sections, elf_backend_fake_sections):
792
        Delete.
793
        * elf32-tic6x.c (elf32_tic6x_fake_sections, elf_backend_fake_sections):
794
        Delete.
795
        (elf32_tic6x_rel_relocation_p): Adjusted to match changes in
796
        data structures.
797
        * elf32-microblaze.c (microblaze_elf_check_relocs): Use
798
        _bfd_elf_single_rel_hdr.
799
        * elf32-ppc.c (ppc_elf_relax_section): Likewise.
800
        * elf32-spu.c (spu_elf_relocate_section): Likewise.
801
        * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
802
        * elf64-hppa.c (get_reloc_section): Likewise.
803
        * elf64-mips.c (mips_elf64_slurp_reloc_table): Adjusted to match
804
        changes in data structures.
805
        (mips_elf64_write_relocs): Use _bfd_elf_single_rel_hdr.
806
        * elf64-ppc.c (ppc64_elf_edit_opd): Likewise.
807
        (ppc64_elf_edit_toc): Likewise.
808
        (get_relocs): Adjusted to match changes in data structures.
809
        Allocate an Elf_Internal_Shdr structure if necessary.
810
        (ppc64_elf_finish_dynamic_sections): Use _bfd_elf_single_rel_hdr.
811
        * elf64-sparc.c (elf64_sparc_slurp_reloc_table): Adjusted to match
812
        changes in data structures.
813
        * elfxx-ia64.c (get_reloc_section): Use _bfd_elf_single_rel_hdr.
814
        * elfxx-mips.c (MIPS_RELOC_RELA_P): Remove macro.
815
        (mips_elf_rel_relocation_p): Adjusted to match changes in data
816
        structures.
817
        (_bfd_mips_elf_relocate_section): Use mips_elf_rel_relocation_p rather
818
        than MIPS_RELOC_RELOCA_P.
819
        * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use
820
        _bfd_elf_single_rel_hdr.
821
        (_bfd_sparc_elf_relocate_section): Likewise.
822
 
823
2010-10-01  Thomas Schwinge  
824
 
825
        * elf32-arm.c (elf32_arm_size_stubs): Don't choke on local symbols in
826
        SHN_UNDEF, SHN_ABS, SHN_COMMON.
827
 
828
2010-09-30  H.J. Lu  
829
 
830
        PR ld/11812
831
        * elf32-i386.c (elf_i386_size_dynamic_sections): Don't
832
         allocate .got.plt section if there are no GOT nor PLT
833
         entries and there is no refeence to _GLOBAL_OFFSET_TABLE_.
834
         * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Li.kewise.
835
 
836
        * elflink.c (_bfd_elf_define_linkage_sym): Clear non_elf.
837
 
838
2010-09-27  Ralf Wildenhues  
839
 
840
        * configure: Regenerate.
841
 
842
2010-09-24  Thomas Schwinge  
843
 
844
        * elf32-arm.c, elf32-cris.c, elf32-hppa.c, elf32-i370.c, elf32-m32r.c,
845
        elf32-m68k.c, elf32-microblaze.c, elf32-ppc.c, elf32-score.c,
846
        elf32-score7.c, elf32-sh.c, elf32-vax.c, elf32-xtensa.c, elf64-alpha.c,
847
        elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-sparc.c, elfcode.h,
848
        elflink.c, elfxx-ia64.c, elfxx-mips.c: Use STN_UNDEF when referring to
849
        the zero symbol index.
850
 
851
        * elflink.c (bfd_elf_reloc_symbol_deleted_p): Compare the symbol index
852
        to STN_UNDEF, not SHN_UNDEF.
853
 
854
2010-09-23  Bernd Schmidt  
855
 
856
        * elf32-tic6x.c (elf32_tic6x_fake_sections): New function.
857
        (elf_backend_fake_sections): Define.
858
 
859
2010-09-23  Matthew Gretton-Dann  
860
 
861
        * bfd-in2.h (BFD_RELOC_ARM_HVC): New enum value.
862
 
863
2010-09-23  Alan Modra  
864
 
865
        * cpu-d10v.c: Make bits_per_address 18 for all arch_info entries.
866
 
867
2010-09-23  Alan Modra  
868
 
869
        * elf.c (_bfd_elf_init_private_section_data): Allow for SEC_RELOC
870
        difference between input and output section.
871
 
872
2010-09-22  Kai Tietz  
873
 
874
        * coffcode.h (sec_to_styp_flags): Adjust debug
875
        sections to be conform to pe-coff specification
876
        and avoid marking them as excluded.
877
        (styp_to_sec_flags): Doing reverse mapping.
878
 
879
        * peXXigen.c (_bfd_XXi_final_link_postscript): Add handling for
880
        setting IAT directory entry.
881
 
882
2010-09-20  Richard Henderson  
883
 
884
        * elf64-alpha.c (elf64_alpha_howto_table): Use bfd_elf_generic_reloc.
885
 
886
2010-09-19  Richard Sandiford  
887
 
888
        * elfxx-mips.c (mips_elf_link_hash_entry): Add got_only_for_calls.
889
        (mips_elf_link_hash_newfunc): Initialize it.
890
        (mips_elf_record_global_got_symbol): Add a for_call parameter.
891
        (mips_elf_count_got_symbols): Check SYMBOL_CALLS_LOCAL rather
892
        than SYMBOL_REFERENCES_LOCAL if the GOT entry is only used for calls.
893
        Try to remove .got entries in favour of .got.plt entries on VxWorks.
894
        (_bfd_mips_elf_check_relocs): Do not try to avoid allocating
895
        a global GOT entry for VxWorks calls.  Update uses of
896
        mips_elf_record_global_got_symbol.
897
        (allocate_dynrelocs): Set got_only_for_calls to false if the GOT
898
        entry is used for dynamic relocations.
899
 
900
2010-09-19  Richard Sandiford  
901
 
902
        * elfxx-mips.c (mips_got_entry): Adjust commentary.
903
        (mips_elf_create_local_got_entry): If given a symbol, check that it
904
        has been assigned to the local part of the GOT.
905
        (mips_elf_count_got_symbols): Take the bfd_link_info as argument
906
        instead of the master GOT.  Put all locally-binding symbols in
907
        the local area.
908
        (mips_elf_make_got_per_bfd): Use global_got_area to decide whether
909
        a symbol lives in the local or global area.
910
        (mips_elf_local_relocation_p): Remove check_forced argument and
911
        retain only the !check_forced behavior.
912
        (mips_elf_calculate_relocation): Adjust call accordingly.
913
        Use global_got_area to decide whether an output relocation
914
        should be local or global.  Explicitly decay R_MIPS_GOT_PAGE
915
        into R_MIPS_GOT_DISP where appropriate.  Fix selection of
916
        local vs. global semantics for R_MIPS*_26.  Remove redundant
917
        reevaluation of what is stored in was_local_p.
918
        (mips_elf_create_dynamic_relocation): Use global_got_area to decide
919
        whether the relocation should be against a global or local symbol.
920
        (mips_elf_lay_out_got): Update the GOT traversal after the above
921
        change to mips_elf_count_got_symbols.
922
        (mips_elf_adjust_addend): Adjust call to mips_elf_local_relocation_p.
923
        (_bfd_mips_elf_relocate_section): Likewise.
924
        (_bfd_mips_elf_finish_dynamic_symbol): Use global_got_area to decide
925
        whether the symbol has a global got entry.
926
        (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
927
 
928
2010-09-19  Richard Sandiford  
929
 
930
        * elfxx-mips.c (allocate_dynrelocs): Don't add relocation symbols
931
        to the global GOT on VxWorks.
932
 
933
2010-09-19  Richard Sandiford  
934
 
935
        * elfxx-mips.c (_bfd_mips_elf_check_relocs): On VxWorks,
936
        exclude __GOTT_BASE__ and __GOTT_INDEX__ from the warning
937
        about HI/LO relocations in shared objects.
938
 
939
2010-09-16  Alan Modra  
940
 
941
        * elf32-spu.c (spu_elf_size_sections): Omit fixups for non-alloc
942
        sections.
943
        (spu_elf_create_sections): Mark .fixup with SEC_LINKER_CREATED and
944
        set dynobj.
945
        (spu_elf_finish_dynamic_sections): New function.
946
        (elf_backend_finish_dynamic_sections): Define.
947
 
948
2010-09-16  Alan Modra  
949
 
950
        * elf.c (bfd_elf_get_default_section_type): Don't test SEC_NEVER_LOAD.
951
        * elflink.c (elf_link_input_bfd): Likewise.
952
 
953
2010-09-15  Kai Tietz  
954
 
955
        * pei-x86_64.c (pex64_get_unwind_info): Reorgnized.
956
        (pex64_get_scope_entry): Removed.
957
        (find_next_xdata_or_end): New helper.
958
        (pex64_dump_xdata): Reworked.
959
        (pex64_bfd_print_pdata): Add checking for
960
        valid pdata sorting and values. Reworked
961
        output.
962
 
963
2010-09-15  H.J. Lu  
964
 
965
        PR binutils/12004
966
        * plugin.c (bfd_plugin_object_p): Handle NULL iostream.
967
 
968
2010-09-14  Kai Tietz  
969
 
970
        * pe-x86_64.c (COFF_SECTION_ALIGNMENT_ENTRIES): Make
971
        .rdata, .data, and .text partial matched section names.
972
        * pei-x86_64.c: Likewise.
973
 
974
        * peXXigen.c (sort_x64_pdata): New helper.
975
        (_bfd_XXi_final_link_postscript): Do pdata sorting.
976
 
977
2010-09-09  H.J. Lu  
978
 
979
        PR ld/11998
980
        * elf.c (assign_file_positions_for_load_sections): Don't warn
981
        zero LMA adjustment.
982
 
983
2010-09-09  Bernd Schmidt  
984
 
985
        * elflink.c (bfd_elf_final_link): Correct calculation of
986
        max_external_reloc_size.
987
 
988
2010-09-07  Alan Modra  
989
            Marcus Brinkmann  
990
 
991
        * peXXigen.c: Whitespace.
992
        (pe_print_idata): Correct section limit calculations.  Tidy array
993
        indexing.
994
        (_bfd_XX_print_ce_compressed_pdata): Don't leak memory.
995
 
996
2010-09-02  Richard Henderson  
997
 
998
        * config.bfd (x86_64-*-mingw*): Select 32-bit pei vectors too.
999
 
1000
2010-09-01  Pedro Alves  
1001
 
1002
        * netbsd-core.c (netbsd_core_core_file_pid): Renamed to ...
1003
        (netbsd_core_file_pid): ... this.
1004
 
1005
2010-09-01  Tristan Gingold  
1006
 
1007
        * coffcode.h (coff_slurp_line_table): Add a cast.
1008
        (coff_slurp_reloc_table): Ditto.
1009
 
1010
2010-08-30  Gunther Nikl  
1011
 
1012
        * cisco-core.c (cisco_core_file_pid): Define.
1013
 
1014
2010-08-30  Alan Modra  
1015
 
1016
        PR binutils/11953
1017
        * elf.c (copy_elf_program_header): Calculate map->header_size
1018
        from lowest_section, not first_section.  Validate program
1019
        header p_paddr against section lma.  Find lowest_section in
1020
        second loop over headers.
1021
 
1022
2010-08-28  Alan Modra  
1023
 
1024
        * elflink.c (_bfd_elf_dynamic_symbol_p): Rename param.  Make
1025
        common syms local.
1026
        (_bfd_elf_symbol_refs_local_p): Expand comment.
1027
        (elf_link_output_extsym): Fix style nit.
1028
 
1029
2010-08-26  Nathan Sidwell  
1030
 
1031
        * elf32-arm.c (elf32_arm_final_link): Process stub sections
1032
        exactly once.
1033
 
1034
2010-08-25  H.J. Lu  
1035
 
1036
        PR ld/11939
1037
        * elflink.c (elf_link_add_object_symbols): Don't set
1038
        unique_global for non-ELF hash link table.
1039
 
1040
2010-08-25  H.J. Lu  
1041
 
1042
        PR ld/11944
1043
        * elf-bfd.h (elf_backend_data): Add target_id.
1044
        (bfd_elf_make_generic_object): Renamed to ...
1045
        (bfd_elf_make_object): This.
1046
 
1047
        * elf.c (bfd_elf_make_generic_object): Removed.
1048
        (bfd_elf_make_object): New.
1049
        (bfd_elf_mkcorefile): Really treat it as an object file.
1050
 
1051
        * elf-m10300.c (ELF_TARGET_ID): New.
1052
        * elf32-arm.c (ELF_TARGET_ID): Likewise.
1053
        * elf32-bfin.c (ELF_TARGET_ID): Likewise.
1054
        * elf32-cris.c (ELF_TARGET_ID): Likewise.
1055
        * elf32-frv.c (ELF_TARGET_ID): Likewise.
1056
        * elf32-i386.c (ELF_TARGET_ID): Likewise.
1057
        * elf32-lm32.c (ELF_TARGET_ID): Likewise.
1058
        * elf32-m32r.c (ELF_TARGET_ID): Likewise.
1059
        * elf32-m68hc11.c (ELF_TARGET_ID): Likewise.
1060
        * elf32-m68hc12.c (ELF_TARGET_ID): Likewise.
1061
        * elf32-m68k.c (ELF_TARGET_ID): Likewise.
1062
        * elf32-microblaze.c (ELF_TARGET_ID): Likewise.
1063
        * elf32-ppc.c (ELF_TARGET_ID): Likewise.
1064
        * elf32-s390.c (ELF_TARGET_ID): Likewise.
1065
        * elf32-sh.c (ELF_TARGET_ID): Likewise.
1066
        * elf32-sparc.c (ELF_TARGET_ID): Likewise.
1067
        * elf32-spu.c (ELF_TARGET_ID): Likewise.
1068
        * elf32-tic6x.c (ELF_TARGET_ID): Likewise.
1069
        * elf32-xtensa.c (ELF_TARGET_ID): Likewise.
1070
        * elf64-alpha.c (ELF_TARGET_ID): Likewise.
1071
        * elf64-hppa.c (ELF_TARGET_ID): Likewise.
1072
        * elf64-ppc.c (ELF_TARGET_ID): Likewise.
1073
        * elf64-s390.c (ELF_TARGET_ID): Likewise.
1074
        * elf64-x86-64.c (ELF_TARGET_ID): Likewise.
1075
        * elfxx-ia64.c (ELF_TARGET_ID): Likewise.
1076
 
1077
        * elf32-hppa.c (elf32_hppa_mkobject): Removed.
1078
        (bfd_elf32_mkobject): Likewise.
1079
        (ELF_TARGET_ID): New.
1080
 
1081
        * elf32-mips.c (ELF_TARGET_ID): New.
1082
        (bfd_elf32_mkobject): Removed.
1083
 
1084
        * elf64-mips.c (ELF_TARGET_ID): New.
1085
        (bfd_elf64_mkobject): Removed.
1086
 
1087
        * elfn32-mips.c (ELF_TARGET_ID): New.
1088
        (bfd_elf32_mkobject): Removed.
1089
 
1090
        * elfxx-mips.c (_bfd_mips_elf_mkobject): Removed.
1091
        * elfxx-mips.h (_bfd_mips_elf_mkobject): Likewise.
1092
 
1093
        * elfxx-target.h (bfd_elfNN_mkobject): Default to
1094
        bfd_elf_make_object.
1095
        (ELF_TARGET_ID): New.  Default to GENERIC_ELF_DATA.
1096
        (elfNN_bed): Initialize target_id.
1097
 
1098
2010-08-25  Julian Brown  
1099
 
1100
        * elf32-arm.c (arm_stub_required_alignment): New.
1101
        (arm_build_one_stub): Use above to partition stubs.
1102
        (make_branch_to_a8_stub): Use arm_stub_a8_veneer_lwm not
1103
        arm_stub_a8_veneer_b_cond.
1104
 
1105
2010-08-25  Alan Modra  
1106
 
1107
        * aout-arm.c (MY(bfd_reloc_type_lookup)): Use bfd_arch_bits_per_address.
1108
        * aout-ns32k.c (MY(bfd_reloc_type_lookup)): Likewise.
1109
        * aoutx.h (NAME(aout,reloc_type_lookup)): Likewise.
1110
        * coff-arm.c (coff_arm_reloc_type_lookup): Likewise.
1111
        * elf-hppa.h (elf_hppa_reloc_final_type): Likewise.
1112
        * reloc.c (bfd_default_reloc_type_lookup): Likewise.
1113
        * riscix.c (riscix_reloc_type_lookup): Likewise.
1114
 
1115
2010-08-25  Alan Modra  
1116
 
1117
        * elf.c (_bfd_elf_map_sections_to_segments): Don't load program
1118
        headers if any loaded section wraps the address space.  Simplify
1119
        ~(m-1) to -m.  Use lma rather than vma when determining whether
1120
        note sections are adjacent.
1121
 
1122
2010-08-22  H.J. Lu  
1123
 
1124
        PR ld/11933
1125
        * elflink.c (elf_link_add_object_symbols): Don't check relocation
1126
        if input ELF object ID doesn't match output.
1127
 
1128
2010-08-21  Ralf Wildenhues  
1129
 
1130
        * configure: Regenerate.
1131
 
1132
2010-08-20  H.J. Lu  
1133
 
1134
        * merge.c (sec_merge_emit): Revert the last checkin.
1135
 
1136
2010-08-20  Maciej W. Rozycki  
1137
 
1138
        * elf32-sh.c (sh_elf_relocate_section): Handle non-ELF output
1139
        BFD.
1140
 
1141
2010-08-20  Maciej W. Rozycki  
1142
 
1143
        * elf32-m68k.c (bfd_elf_m68k_set_target_options): Don't set GOT
1144
        options unless an m68k hash table has been found.
1145
 
1146
2010-08-20  Nick Clifton  
1147
 
1148
        * merge.c (sec_merge_emit): Do not zero pad sections that do not
1149
        have an alignment.
1150
 
1151
2010-08-18  Pedro Alves  
1152
 
1153
        PR corefile/8210
1154
 
1155
        * bfd-in2.h: Regenerate.
1156
        * corefile.c (bfd_core_file_pid): New.
1157
 
1158
        * targets.c (BFD_JUMP_TABLE_CORE): Add NAME##_core_file_pid.
1159
        (struct bfd_target) <_core_file_pid>: New.
1160
 
1161
        * libbfd-in.h (_bfd_nocore_core_file_pid): Declare.
1162
        * libbfd.c (_bfd_nocore_core_file_pid): New.
1163
 
1164
        * elf-bfd.h (bfd_elf32_core_file_pid, bfd_elf64_core_file_pid):
1165
        Declare.
1166
        * elfcode.h (elf_core_file_pid): New define.
1167
        * elfcore.h (elf_core_file_pid): New function.
1168
 
1169
        * elf.c (elfcore_make_pid): Rewrite.
1170
        (elfcore_grok_prstatus): Only set core_pid if not set yet.
1171
        (elfcore_grok_prstatus) [!HAVE_PRSTATUS_T_PR_WHO]: Fallback to
1172
        getting the lwpid from prstat.pr_pid.
1173
 
1174
        * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Write the LWPID to
1175
        elf_tdata's core_lwpid instead of to core_pid.
1176
        (elf64_x86_64_grok_psinfo): Extract the the main process's PID,
1177
        and store it in elf_tdata's core_pid field.
1178
        * elf32-i386.c (elf_i386_grok_prstatus): Write the LWPID to
1179
        elf_tdata's core_lwpid instead of to core_pid.
1180
        (elf_i386_grok_psinfo): Extract the the main process's PID, and
1181
        store it in elf_tdata's core_pid field.
1182
 
1183
        * elf32-am33lin.c (elf32_am33lin_grok_prstatus): Write the LWPID
1184
        to elf_tdata's core_lwpid instead of to core_pid.
1185
        * elf32-arm.c (elf32_arm_nabi_grok_prstatus): Write the LWPID to
1186
        elf_tdata's core_lwpid instead of to core_pid.
1187
        * elf32-cris.c (cris_elf_grok_prstatus): Write the LWPID to
1188
        elf_tdata's core_lwpid instead of to core_pid.
1189
        * elf32-frv.c (elf32_frv_grok_prstatus): Write the LWPID to
1190
        elf_tdata's core_lwpid instead of to core_pid.
1191
        * elf32-hppa.c (elf32_hppa_grok_prstatus): Write the LWPID to
1192
        elf_tdata's core_lwpid instead of to core_pid.
1193
        * elf32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
1194
        elf_tdata's core_lwpid instead of to core_pid.
1195
        * elf32-ppc.c (ppc_elf_grok_prstatus): Write the LWPID to
1196
        elf_tdata's core_lwpid instead of to core_pid.
1197
        * elf32-s390.c (elf_s390_grok_prstatus): Write the LWPID to
1198
        elf_tdata's core_lwpid instead of to core_pid.
1199
        * elf32-score.c (s3_bfd_score_elf_grok_prstatus): Write the LWPID
1200
        to elf_tdata's core_lwpid instead of to core_pid.
1201
        * elf32-score7.c (s7_bfd_score_elf_grok_prstatus): Write the LWPID
1202
        to elf_tdata's core_lwpid instead of to core_pid.
1203
        * elf32-sh.c (elf32_shlin_grok_prstatus): Write the LWPID to
1204
        elf_tdata's core_lwpid instead of to core_pid.
1205
        * elf32-xtensa.c (elf_xtensa_grok_prstatus): Write the LWPID to
1206
        elf_tdata's core_lwpid instead of to core_pid.
1207
        * elf64-hppa.c (elf64_hppa_grok_prstatus): Write the LWPID to
1208
        elf_tdata's core_lwpid instead of to core_pid.
1209
        * elf64-mips.c (elf64_mips_grok_prstatus): Write the LWPID to
1210
        elf_tdata's core_lwpid instead of to core_pid.
1211
        * elf64-ppc.c (ppc64_elf_grok_prstatus): Write the LWPID to
1212
        elf_tdata's core_lwpid instead of to core_pid.
1213
        * elfn32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
1214
        elf_tdata's core_lwpid instead of to core_pid.
1215
 
1216
        * plugin.c (bfd_plugin_core_file_pid): New function.
1217
        * aout-target.h (MY_core_file_pid): Define.
1218
        * aout-tic30.c (MY_core_file_pid, MY_core_file_p): New defines.
1219
        * coff-rs6000.c (coff_core_file_pid): New define.
1220
        (rs6000coff_vec, pmac_xcoff_vec): Use BFD_JUMP_TABLE_CORE.
1221
        * coff64-rs6000.c (coff_core_file_pid): New define.
1222
        (rs6000coff64_vec): Use BFD_JUMP_TABLE_CORE.
1223
        (xcoff64_core_file_pid): New define.
1224
        (aix5coff64_vec): Use BFD_JUMP_TABLE_CORE.
1225
        * mach-o-target.c (bfd_mach_o_core_file_pid): New define.
1226
        * aix386-core.c (aix386_core_file_pid): New define.
1227
        * hppabsd-core.c (hppabsd_core_core_file_pid): New define.
1228
        * hpux-core.c (hpux_core_core_file_pid): New define.
1229
        * irix-core.c (irix_core_core_file_pid): New define.
1230
        * lynx-core.c (lynx_core_file_pid): New define.
1231
        * osf-core.c (osf_core_core_file_pid): New define.
1232
        * ptrace-core.c (ptrace_unix_core_file_pid): New define.
1233
        * sco5-core.c (sco5_core_file_pid): New define.
1234
        * xcoff-target.h (coff_core_file_pid): New define.
1235
        * netbsd-core.c (netbsd_core_core_file_pid): New define.
1236
 
1237
2010-08-13  H.J. Lu  
1238
 
1239
        PR ld/11913
1240
        * elf32-i386.c (elf_i386_finish_dynamic_sections): Check if
1241
         .got.plt section is discarded.
1242
         * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Likewise.
1243
 
1244
2010-08-13  Nathan Sidwell  
1245
 
1246
        * elf32-m69k.c (elf32_m68k_print_private_bfd_data): Detect EMAC_B
1247
        variant.
1248
 
1249
2010-08-12  H.J. Lu  
1250
 
1251
        PR binutils/11909
1252
        * Makefile.am (coff-tic4x.lo): New.  Disable -Werror.
1253
        (coff-tic54x.lo): Likewise.
1254
        * Makefile.in: Regenerated.
1255
 
1256
2010-08-12  Todd Veldhuizen  
1257
 
1258
        PR ld/11843
1259
        * elflink.c (compute_bucket_count): Avoid futile long searches for
1260
        the best bucket size.
1261
 
1262
2010-08-09  Richard Henderson  
1263
 
1264
        PR ld/11891
1265
        * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Disallow relaxing
1266
        to tlshi/lo until pos0 and pos1 are adjacent.  Use the destination
1267
        register from the tldgd insn.
1268
 
1269
2010-08-09  Catherine Moore  
1270
 
1271
        * elfxx-mips.c (mips_elf_perform_relocation): Improve
1272
        interlinking error message.
1273
 
1274
2010-08-06  Alan Modra  
1275
 
1276
        * elf64-ppc.c (ha_reloc_match): Allow matches to other than r2.
1277
        (ppc64_elf_relocate_section): Nop out high part insn of large toc
1278
        code sequence when the high part of offset is zero.
1279
 
1280
2010-08-04  Tristan Gingold  
1281
 
1282
        * vms-alpha.c (alpha_vms_build_fixups): Write the EICP.
1283
        (alpha_vms_bfd_final_link): Explicitly forbid relocatable links.
1284
        Clear the SEC_RELOC flag.
1285
 
1286
2010-08-04  Tristan Gingold  
1287
 
1288
        * vms-alpha.c (alpha_vms_create_eisd_for_section): Make writable
1289
        sections with relocs.
1290
        (alpha_vms_add_fixup_lp): Set SEC_RELOC flag.
1291
        (alpha_vms_add_fixup_ca): Ditto.
1292
        (alpha_vms_add_fixup_qr): Ditto.
1293
        Add comments.
1294
 
1295
2010-08-04  Tristan Gingold  
1296
 
1297
        * vms-alpha.c (alpha_vms_create_eisd_for_section): Do not make
1298
        CODE sections writable.
1299
 
1300
2010-08-04  Tristan Gingold  
1301
 
1302
        * vms-alpha.c (alpha_vms_add_lw_fixup): Renamed to ...
1303
        (alpha_vms_add_fixup_lr): ... this for consistency.
1304
        (alpha_vms_add_qw_fixup): Removed.
1305
        Fix some comments.
1306
        (vms_get_symbol_info): Adjust type for unknown sections.
1307
 
1308
2010-08-04  Tristan Gingold  
1309
 
1310
        * vms-alpha.c (_bfd_vms_slurp_egsd): Use the canonical absolute
1311
        section for any absolute section.  Remove some debugging code.
1312
 
1313
2010-08-03  DJ Delorie  
1314
 
1315
        * elf32-m32c.c (ELF_MAXPAGESIZE): Change page size to 256 bytes.
1316
 
1317
2010-08-03  Tristan Gingold  
1318
 
1319
        * vms-misc.c (vms_convert_to_var): Make it static.
1320
        (_bfd_vms_convert_to_var_unix_filename): Make it public.
1321
 
1322
2010-08-03  Tristan Gingold  
1323
 
1324
        * makefile.vms (OBJS): Update list.
1325
 
1326
2010-08-03  Tristan Gingold  
1327
 
1328
        * vms-alpha.c (_bfd_vms_slurp_egsd): Do not set SEC_HAS_CONTENTS
1329
        nor SEC_RELOC for empty sections.
1330
 
1331
2010-08-03  Tristan Gingold  
1332
 
1333
        * vms-alpha.c (evax_section_flags): Fix flags for absolute
1334
        section.  Remove useless parenthesis.
1335
 
1336
2010-08-03  Tristan Gingold  
1337
 
1338
        * vms-lib.c (vms_lib_bread_raw): Change type of BUF argument.
1339
        (vms_lib_bread, vms_lib_bopen): Adjust.
1340
 
1341
2010-08-02  Alan Modra  
1342
 
1343
        PR 11866
1344
        * elf.c (assign_file_positions_for_load_sections): Use p_vaddr to
1345
        calculate off_adjust rather than first section vma.
1346
 
1347
2010-07-30  H.J. Lu  
1348
 
1349
        * elflink.c (compute_bucket_count): Add ATTRIBUTE_UNUSED to info.
1350
 
1351
2010-07-30  Anthony Green  
1352
 
1353
        * config.bfd (targ_cpu): Add moxie-*-rtems support.
1354
 
1355
2010-07-29  Alan Modra  
1356
 
1357
        * elf64-ppc.c (ppc64_elf_edit_toc): Always adjust local syms in
1358
        .toc section, even when none are used in relocs.
1359
 
1360
2010-07-27  Maciej W. Rozycki  
1361
 
1362
        * elfxx-mips.h: Include "elf/mips.h".
1363
        (gprel16_reloc_p): New static inline function.
1364
        * elfxx-mips.c (_bfd_mips_elf_check_relocs)
1365
        [R_MIPS16_GOT16, R_MIPS_GOT16, R_MIPS_GOT_HI16, R_MIPS_GOT_LO16]:
1366
        Use got16_reloc_p.
1367
        (_bfd_mips_elf_relocate_section)[bfd_reloc_overflow]: Use
1368
        gprel16_reloc_p.
1369
        * elf32-mips.c (mips_info_to_howto_rel): Likewise.
1370
        * elfn32-mips.c (mips_info_to_howto_rel): Likewise.
1371
 
1372
2010-07-27  Maciej W. Rozycki  
1373
 
1374
        * elf64-mips.c (mips_elf64_howto_table_rela)
1375
        [R_MIPS_TLS_DTPMOD64]: Clear partial_inplace.
1376
        [R_MIPS_TLS_DTPREL64, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise.
1377
        [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise.
1378
        [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL64]: Likewise.
1379
        [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise.
1380
        * elfn32-mips.c (elf_mips_howto_table_rela)
1381
        [R_MIPS_TLS_DTPMOD32]: Likewise.
1382
        [R_MIPS_TLS_DTPREL32, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise.
1383
        [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise.
1384
        [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL32]: Likewise.
1385
        [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise.
1386
 
1387
2010-07-23  Naveen.H.S  
1388
            Ina Pandit  
1389
 
1390
        * archures.c (DESCRIPTION): Define bfd_mach_v850e2 and
1391
        bfd_mach_v850e2v3.
1392
        * reloc.c (bfd_architecture): Define bfd_mach_v850e2 and
1393
        bfd_mach_v850e2v3.
1394
        (BFD_RELOC_V850_16_PCREL, BFD_RELOC_V850_17_PCREL,
1395
        BFD_RELOC_V850_22_PCREL, BFD_RELOC_V850_23,
1396
        BFD_RELOC_V850_32_PCREL, BFD_RELOC_V850_32_ABS,
1397
        BFD_RELOC_V850_16_SPLIT_OFFSET, BFD_RELOC_V850_16_S1,
1398
        BFD_RELOC_V850_LO16_SPLIT_OFFSET, BFD_RELOC_V850_SDA_15_16_OFFSET,
1399
        BFD_RELOC_V850_ZDA_16_16_OFFSET, BFD_RELOC_V850_CALLT_15_16_OFFSET,
1400
        BFD_RELOC_V850_32_GOTPCREL, BFD_RELOC_V850_16_GOT,
1401
        BFD_RELOC_V850_32_GOT, BFD_RELOC_V850_22_PLT_PCREL,
1402
        BFD_RELOC_V850_32_PLT_PCREL, BFD_RELOC_V850_COPY,
1403
        BFD_RELOC_V850_GLOB_DAT, BFD_RELOC_V850_JMP_SLOT,
1404
        BFD_RELOC_V850_RELATIVE, BFD_RELOC_V850_16_GOTOFF,
1405
        BFD_RELOC_V850_32_GOTOFF, BFD_RELOC_V850_CODE,
1406
        BFD_RELOC_V850_DATA): New relocations for V850 target.
1407
        * config.bfd: Match all v850 targets.
1408
        * cpu-v850.c (arch_info_struct): Define V850e2 and V850e2v3.
1409
        * elf32-v850.c (v850_elf_check_relocs): Check the newly added
1410
        relocations.
1411
        (v850_elf_perform_relocation ): Update the newly added
1412
        relocations.
1413
        (v850_elf_howto_t): Update the specifications of added
1414
        relocations.
1415
        (v850_elf_reloc_map): Update the relocation mappings.
1416
        (v850_elf_final_link_relocate): Maps added relocation into the
1417
        appropriate howto structure.
1418
        (v850_elf_object_p): Add support for V850E2 and V850E2V3.
1419
        (v850_elf_final_write_processing): Likewise.
1420
        (v850_elf_merge_private_bfd_data): Likewise.
1421
        (v850_elf_print_private_bfd_data): Likewise.
1422
        * libbfd.h: Regenerate.
1423
        * bfd-in2.h: Regenerate.
1424
 
1425
2010-07-23  Alan Modra  
1426
 
1427
        * archive.c (_bfd_archive_bsd44_construct_extended_name_table):
1428
        Correct format specifier.
1429
 
1430
2010-07-22  Alan Modra  
1431
 
1432
        * ecoff.c: Don't include aout/ranlib.h.
1433
        (_bfd_ecoff_slurp_armap): Use correct struct for ardata->symdefs.
1434
        (_bfd_ecoff_write_armap): Output ar_date and ar_size using
1435
        _bfd_ar_spacepad.
1436
 
1437
2010-07-22  Alan Modra  
1438
 
1439
        * aoutx.h (some_aout_object_p): Don't set EXEC_P for files with
1440
        relocs.
1441
 
1442
2010-07-20  Alan Modra  
1443
 
1444
        * elf.c (assign_file_positions_for_load_sections): Check that
1445
        zero size sections are allocated in segments too.
1446
        (assign_file_positions_for_non_load_sections): Warn if zero
1447
        size alloc sections are found here.
1448
        (copy_elf_program_header): Don't drop zero size sections from
1449
        segment map.
1450
        (copy_private_bfd_data): Check for changes in zero size sections.
1451
 
1452
2010-07-17  Alan Modra  
1453
 
1454
        * elf.c (_bfd_elf_map_sections_to_segments): Force new segment
1455
        for sections with overlapping LMAs.
1456
        (assign_file_positions_for_load_sections): Catch overlap for
1457
        sections that wrap around the address space.  Replace a
1458
        warning that duplicates ld's --check-sections error with a
1459
        warning that lma has been adjusted for overlapping sections.
1460
 
1461
2010-07-14  Cary Coutant  
1462
 
1463
        PR ld/11817
1464
        * dwarf2.c (read_section): Revert patch for compressed debug sections.
1465
        (find_line): Likewise.
1466
        (read_and_uncompress_section): Remove.
1467
 
1468
2010-07-13  H.J. Lu  
1469
 
1470
        PR ld/11812
1471
        * elf32-i386.c (elf_i386_size_dynamic_sections): Don't
1472
         allocate .got.plt section if there are no GOT nor PLT
1473
         entries.
1474
         * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise.
1475
 
1476
2010-07-13  H.J. Lu  
1477
 
1478
        PR ld/11791
1479
        * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Support
1480
        garbage collection against STT_GNU_IFUNC symbols.
1481
 
1482
        * elf32-i386.c (elf_i386_get_local_sym_hash): Don't set
1483
        elf.plt.offset/elf.got.offset to -1.
1484
        (elf_i386_tls_transition): Skip TLS transition for functions.
1485
        (elf_i386_gc_sweep_hook): Support STT_GNU_IFUNC symbols.
1486
 
1487
        * elf64-x86-64.c (elf64_x86_64_get_local_sym_hash): Don't set
1488
        elf.plt.offset/elf.got.offset to -1.
1489
        (elf64_x86_64_tls_transition): Skip TLS transition for functions.
1490
        (elf64_x86_64_gc_sweep_hook): Support STT_GNU_IFUNC symbols.
1491
 
1492
2010-07-12  H.J. Lu  
1493
 
1494
        * elf32-i386.c (elf_i386_check_relocs): Re-indent.
1495
        (elf_i386_relocate_section): Likewise.
1496
 
1497
2010-07-06  H.J. Lu  
1498
 
1499
        * dwarf2.c (add_line_info): Initialize prev_line.
1500
 
1501
2010-07-06  Alan Modra  
1502
 
1503
        * elf32-ppc.c (ppc_elf_relax_section): Insert branch around
1504
        trampolines only for .init and .fini sections.
1505
 
1506
2010-07-05  Alan Modra  
1507
 
1508
        * elf32-ppc.c: Formatting.
1509
        (ppc_elf_finish_dynamic_sections): Don't make plt_entry var static.
1510
 
1511
2010-07-03  Cary Coutant  
1512
 
1513
        * compress.c (bfd_uncompress_section_contents): Add ATTRIBUTE_UNUSED.
1514
        * dwarf2.c (read_and_uncompress_section): New function.
1515
        (read_section): Call it.
1516
        (find_line): Likewise.
1517
 
1518
2010-07-01  Alan Modra  
1519
 
1520
        * elf64-ppc.c (ppc64_elf_edit_toc): Use SYMBOL_CALLS_LOCAL rather
1521
        than SYMBOL_REFERENCES_LOCAL.
1522
        (ppc64_elf_relocate_section): Likewise.
1523
 
1524
2010-07-01  Alan Modra  
1525
 
1526
        * elf64-ppc.c (ppc64_elf_edit_toc): Keep toc entries for ifuncs.
1527
 
1528
2010-06-29  Alan Modra  
1529
 
1530
        * cpu-maxq.c: Delete file.
1531
        * coff-maxq.c: Delete file.
1532
        * Makefile.am: Remove references to maxq.
1533
        * archures.c: Likewise.
1534
        * coffcode.h: Likewise.
1535
        * configure.in: Likewise.
1536
        * targets.c: Likewise.
1537
        * config.bfd: Move maxq from obsolete to removed.
1538
        * Makefile.in: Regenerate.
1539
        * bfd-in2.h: Regenerate.
1540
        * configure: Regenerate.
1541
        * libbfd.h: Regenerate.
1542
        * po/SRC-POTFILES.in: Regenerate.
1543
 
1544
2010-06-28  Alan Modra  
1545
 
1546
        * compress.c (bfd_uncompress_section_contents): Use ATTRIBUTE_UNUSED
1547
        to silence gcc warning.
1548
 
1549
2010-06-27  Alan Modra  
1550
 
1551
        * elf64-ppc.c (get_tls_mask): Don't segfault on NULL elf_section_data.
1552
        (group_sections): Likewise.
1553
 
1554
2010-06-27  Alan Modra  
1555
 
1556
        * bout.c (aligncode): Delete set but unused variables.
1557
        * coff-mcore.c (coff_mcore_relocate_section): Likewise.
1558
        * coff-ppc.c (ppc_record_toc_entry): Likewise.
1559
        (coff_ppc_relocate_section): Likewise.
1560
        * coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Likewise.
1561
        * elf-m10200.c (mn10200_elf_relax_delete_bytes): Likewise.
1562
        * elf-m10300.c (mn10300_elf_final_link_relocate): Likewise.
1563
        (mn10300_elf_relax_section): Likewise.
1564
        * elf32-arm.c (arm_build_one_stub, arm_size_one_stub): Likewise.
1565
        (record_vfp11_erratum_veneer): Likewise.
1566
        (bfd_elf32_arm_vfp11_erratum_scan): Likewise.
1567
        (elf32_arm_final_link_relocate): Likewise.
1568
        (elf32_arm_check_relocs, arm_map_one_stub): Likewise.
1569
        * elf32-avr.c (elf32_avr_relax_delete_bytes): Likewise.
1570
        (elf32_avr_relax_section): Likewise.
1571
        (avr_mark_stub_not_to_be_necessary): Likewise.
1572
        * elf32-bfin.c (_bfin_create_got_section): Likewise.
1573
        * elf32-cr16.c (cr16_elf_final_link_relocate): Likewise.
1574
        (elf32_cr16_relax_delete_bytes): Likewise.
1575
        * elf32-cr16c.c (cr16c_elf_final_link_relocate): Likewise.
1576
        * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
1577
        * elf32-crx.c (elf32_crx_relax_delete_bytes): Likewise.
1578
        * elf32-h8300.c (elf32_h8_relax_section): Likewise.
1579
        (elf32_h8_relax_delete_bytes): Likewise.
1580
        * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
1581
        * elf32-i370.c (i370_elf_check_relocs): Likewise.
1582
        (elf_relocate_section): Likewise.
1583
        * elf32-ip2k.c (adjust_all_relocations): Likewise.
1584
        (ip2k_elf_relax_section): Likewise.
1585
        * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
1586
        (lm32_elf_check_relocs): Likewise.
1587
        (lm32_elf_finish_dynamic_sections): Likewise.
1588
        (lm32_elf_finish_dynamic_symbol): Likewise.
1589
        * elf32-m32c.c (m32c_offset_for_reloc): Likewise.
1590
        (m32c_elf_relax_delete_bytes): Likewise.
1591
        * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
1592
        (m32r_elf_finish_dynamic_sections): Likewise.
1593
        (m32r_elf_check_relocs, m32r_elf_fake_sections): Likewise.
1594
        * elf32-m68hc11.c (m68hc11_elf_relax_section): Likewise.
1595
        * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
1596
        * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
1597
        * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
1598
        (microblaze_elf_check_relocs): Likewise.
1599
        (microblaze_elf_finish_dynamic_symbol): Likewise.
1600
        * elf32-msp430.c (msp430_elf_relax_delete_bytes): Likewise.
1601
        * elf32-ppc.c (ppc_elf_tls_optimize): Likewise.
1602
        * elf32-rx.c (rx_elf_relocate_section): Likewise.
1603
        (elf32_rx_relax_delete_bytes, rx_offset_for_reloc): Likewise.
1604
        (elf32_rx_relax_section): Likewise.
1605
        * elf32-score.c (score_elf_got_offset_from_index): Likewise.
1606
        (score_elf_final_link_relocate): Likewise.
1607
        (s3_bfd_score_elf_relocate_section): Likewise.
1608
        * elf32-score7.c (score_elf_got_offset_from_index): Likewise.
1609
        (s7_bfd_score_elf_relocate_section): Likewise.
1610
        * elf32-sh.c (sh_elf_check_relocs): Likewise.
1611
        * elf32-spu.c (spu_elf_relocate_section): Likewise.
1612
        * elf32-v850.c (v850_elf_check_relocs): Likewise.
1613
        (find_remembered_hi16s_reloc): Likewise.
1614
        * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
1615
        (elf_vax_relocate_section): Likewise.
1616
        * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1617
        * elf32-xtensa.c (xlate_offset_with_removed_text): Likewise.
1618
        (move_literal): Likewise.
1619
        * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
1620
        (elf64_hppa_check_relocs): Likewise.
1621
        (elf64_hppa_finish_dynamic_symbol): Likewise.
1622
        (elf64_hppa_relocate_section): Likewise.
1623
        * elf64-mmix.c (mmix_elf_reloc, mmix_elf_relax_section): Likewise.
1624
        * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1625
        (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Likewise.
1626
        * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
1627
        (elfNN_vms_section_from_shdr): Likewise.
1628
        * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
1629
        (_bfd_sparc_elf_relocate_section): Likewise.
1630
        * hp300hpux.c (slurp_symbol_table): Likewise.
1631
        * i386lynx.c (swap_std_reloc_out, swap_std_reloc_in): Likewise.
1632
        * mach-o.c (bfd_mach_o_write_thread): Likewise.
1633
        * mmo.c (mmo_scan, mmo_write_symbols_and_terminator): Likewise.
1634
        * nlm32-sparc.c (nlm_sparc_read_reloc): Likewise.
1635
        * pdp11.c (pdp11_aout_link_input_section): Likewise.
1636
        (aout_link_input_section, aout_link_input_bfd): Likewise.
1637
        * pe-mips.c (mips_swap_reloc_out): Likewise.
1638
        (coff_pe_mips_relocate_section): Likewise.
1639
        * som.c (som_bfd_ar_write_symbol_stuff): Likewise.
1640
        * vms-alpha.c (_bfd_vms_slurp_egsd): Likewise.
1641
        * xsym.c (bfd_sym_fetch_type_information_table_ent): Likewise.
1642
 
1643
        * coff-i860.c (i860_reloc_processing): Avoid set but unused warning.
1644
        * coffcode.h (coff_compute_section_file_positions): Likewise.
1645
        (coff_slurp_reloc_table): Likewise.
1646
        * cpu-arm.c (arm_check_note): Likewise.
1647
        * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Likewise.
1648
        * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1649
        * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
1650
        * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1651
        * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
1652
        * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1653
        * elf32-sh64.c (_bfd_sh_align_load_span): Likewise.
1654
        * ieee.c (parse_expression): Likewise.
1655
        (ieee_slurp_external_symbols, drop_int): Likewise.
1656
        * peXXigen.c (pe_print_pdata): Likewise.
1657
        * versados.c (process_esd): Likewise.
1658
 
1659
2010-06-25  Tristan Gingold  
1660
 
1661
        * vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with
1662
        its flags.  Create an absolute section if needed.
1663
 
1664
2010-06-25  Tristan Gingold  
1665
 
1666
        * vms-alpha.c (_bfd_vms_write_egsd): Set target_index field of
1667
        sections.  Mark .vmsdebug section as SEC_DEBUGGING.  Do not create
1668
        dummy psect anymore.  Adjust.
1669
        (_bfd_vms_write_eeom): Adjust (use target_index instead of index)
1670
        (_bfd_vms_write_etir): Ditto.
1671
        (start_etir_or_etbt_record): Test for SEC_DEBUGGING instead of
1672
        section name.  Adjust.
1673
 
1674
2010-06-25  Tristan Gingold  
1675
 
1676
        * vms-alpha.c (alpha_vms_write_exec): Set linktime field.
1677
 
1678
2010-06-25  Alan Modra  
1679
 
1680
        * elf64-ppc.c (toc_skip_enum): Define.
1681
        (ppc64_elf_edit_toc): Use two low bits of skip array as markers.
1682
        Optimize largetoc sequences.
1683
        (adjust_toc_syms): Update for skip array change.
1684
        (ppc64_elf_relocate_section): Handle R_PPC64_LO_DS_OPT.
1685
 
1686
2010-06-25  Alan Modra  
1687
 
1688
        * elf64-ppc.c (is_static_defined): New function.
1689
        (get_tls_mask, ppc_type_of_stub): Use it here.
1690
        (ppc64_elf_edit_opd): Ensure we only attempt to edit ppc64 input.
1691
        (ppc64_elf_tls_setup): Typo fix.
1692
        (adjust_toc_syms): Correctly handle symbols defined past the end
1693
        of the toc.  Move syms on removed entries to next entry rather
1694
        than to start of toc.
1695
        (ppc64_elf_edit_toc): Likewise.  Ensure we only attempt to
1696
        edit ppc64 input.  Allocate one extra word in skip array.
1697
        Honour info->keep_memory when reading relocs if we can.
1698
        Adjust toc relocs after adjusting symbols.
1699
 
1700
2010-06-23  Nathan Sidwell  
1701
 
1702
        * archive64.c (bfd_elf64_archive_write_armap): Fix buffer overrun
1703
        when scaning map.
1704
 
1705
2010-06-17  Tristan Gingold  
1706
 
1707
        * Makefile.am (BFD32_BACKENDS_CFILES): Move vms-alpha.c to ...
1708
        (BFD64_BACKENDS_CFILES): ... here.
1709
        (BFD32_BACKENDS): Move vms-alpha.lo to ...
1710
        (BFD64_BACKENDS): ... here.
1711
        * Makefile.in: Regenerate.
1712
 
1713
2010-06-15  Joseph Myers  
1714
 
1715
        * elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Decrease to 2.
1716
        * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type,
1717
        elf32_tic6x_merge_arch_attributes, elf32_tic6x_merge_attributes,
1718
        elf32_tic6x_merge_private_bfd_data): New.
1719
        (bfd_elf32_bfd_merge_private_bfd_data,
1720
        elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section,
1721
        elf_backend_obj_attrs_section_type, elf_backend_obj_attrs_vendor):
1722
        Define.
1723
        * elf32-tic6x.h (elf32_tic6x_merge_arch_attributes): Declare.
1724
 
1725
2010-06-15  Joseph Myers  
1726
 
1727
        * elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Define.
1728
        (struct elf_backend_data): Update comment on obj_attrs_order.
1729
        * elf-attrs.c (vendor_obj_attr_size, vendor_set_obj_attr_contents,
1730
        _bfd_elf_copy_obj_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE
1731
        instead of hardcoded 4.
1732
        * elf32-arm.c (elf32_arm_obj_attrs_order): Use
1733
        LEAST_KNOWN_OBJ_ATTRIBUTE and LEAST_KNOWN_OBJ_ATTRIBUTE + 1
1734
        instead of hardcoded 4 and 5.
1735
        (elf32_arm_merge_eabi_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE
1736
        instead of hardcoded 4.
1737
 
1738
2010-06-14  Kevin Buettner  
1739
 
1740
        * elf32-h8300.c (elf_symbol_leading_char): Define.
1741
 
1742
2010-06-11  Jan Kratochvil  
1743
 
1744
        * vms-alpha.c (_bfd_vms_write_egsd): Make sname const.
1745
 
1746
2010-06-11  Tristan Gingold  
1747
 
1748
        * vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute
1749
        sections to 0.
1750
 
1751
2010-06-11  Tristan Gingold  
1752
 
1753
        * vms-alpha.c (evax_bfd_print_etir): Handle ETIR__C_STO_GBL_LW.
1754
 
1755
2010-06-11  Tristan Gingold  
1756
 
1757
        * vms-misc.c (_bfd_vms_output_counted): Make VALUE argument const.
1758
        Adjust cast.
1759
        (_bfd_vms_output_dump): Make DATA argument const, adjust cast.
1760
        * vms.h (_bfd_vms_output_counted, _bfd_vms_output_dump): Adjust.
1761
        * vms-alpha.c (evax_section_flags): Make it const.
1762
        (vms_secflag_by_name): Remove unused ABFD argument.
1763
        Make SECTION_FLAGS and NAME arguments const. Clarify comment.
1764
        (vms_esecflag_by_name): Make SECTION_FLAGS and NAME arguments const.
1765
        (_bfd_vms_slurp_egsd): Adjust call to vms_secflag_by_name.
1766
        (_bfd_vms_write_egsd): Remove useless cast.
1767
 
1768
2010-06-10  Tristan Gingold  
1769
 
1770
        * config.bfd: Remove #if/#endif so that som can be compiled on any
1771
        host.
1772
        * targets.c (_bfd_target_vector): Remove #if/#endif so that som
1773
        can be used on any host.
1774
 
1775
2010-06-10  Tristan Gingold  
1776
 
1777
        * som.c: Can now be compiled on any host.
1778
        Include bfd headers instead of system one.
1779
        (som_compute_checksum): Parameter is now a pointer to a
1780
        som_external_header structure.  Adjust.
1781
        (struct section_to_type): Field section is now const.
1782
        (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Removed conditional
1783
        definition.
1784
        (R_LONG_PCREL_MODE, R_N0SEL, R_N1SEL, R_LINETAB): Ditto.
1785
        (R_LINETAB_ESC, R_LTP_OVERRIDE, R_COMMENT): Ditto.
1786
        (som_swap_clock_in, som_swap_clock_out): New functions.
1787
        (som_swap_header_in, som_swap_header_out): Likewise.
1788
        (som_swap_space_dictionary_in): Likewise.
1789
        (som_swap_space_dictionary_out): Likewise.
1790
        (som_swap_subspace_dictionary_in): Likewise.
1791
        (som_swap_subspace_dictionary_record_out): Likewise.
1792
        (som_swap_aux_id_in, som_swap_aux_id_out): Likewise.
1793
        (som_swap_string_auxhdr_out): Likewise.
1794
        (som_swap_compilation_unit_out): Likewise.
1795
        (som_swap_exec_auxhdr_in): Likewise.
1796
        (som_swap_exec_auxhdr_out): Likewise.
1797
        (som_swap_lst_header_in): Likewise.
1798
        (som_object_setup): Adjust parameter type using bfd types.
1799
        (setup_sections): Likewise.  Ditto for object file types.
1800
        Use intermediate variables for external representation and use the
1801
        swap functions to convert.
1802
        (som_object_p): Ditto.  Remove #ifdef/#endif on always defined
1803
        macros.
1804
        (som_prep_headers): Likewise.
1805
        (som_write_symbol_strings): Likewise.
1806
        (som_begin_writing): Likewise.
1807
        (som_finish_writing): Likewise.
1808
        (som_build_and_write_symbol_table): Likewise.
1809
        (bfd_section_from_som_symbol): Likewise.
1810
        (som_slurp_symbol_table): Likewise.
1811
        (som_bfd_print_private_bfd_data): Likewise.
1812
        (bfd_som_attach_aux_hdr): Likewise.  Clear the padding.
1813
        (bfd_som_attach_compilation_unit): Likewise.
1814
        (som_bfd_count_ar_symbols): Likewise.
1815
        (som_bfd_fill_in_ar_symbols): Likewise.
1816
        (som_slurp_armap): Likewise.
1817
        (som_bfd_ar_write_symbol_stuff): Likewise.
1818
        (som_write_armap): Likewise.  Use _bfd_ar_spacepad instead of
1819
        sprintf to write header fields.
1820
        * som.h: Include bfd headers instead of system one.
1821
        (FILE_HDR_SIZE, AUX_HDR_SIZE): Removed.
1822
        (struct somdata): Use bfd structures instead of system ones.
1823
        (struct som_section_data_struct): Likewise.
1824
        (struct som_subspace_dictionary_record): Removed (now in
1825
        include/som/internal.h)
1826
 
1827
2010-06-10  Tristan Gingold  
1828
 
1829
        * targets.c (bfd_target_list): Remove hp/ux compiler work-around
1830
        as bfd requires an ANSI-C compiler.
1831
 
1832
2010-06-09 Tristan Gingold  
1833
 
1834
        * bfdio.c (bfd_bread): Fix the code to prevent reading past the
1835
        end of archive members.
1836
 
1837
2010-06-08  Tristan Gingold  
1838
 
1839
        * som.c (som_bfd_free_cached_info): Do not free relocations as
1840
        they were allocated with bfd_zalloc.
1841
 
1842
2010-06-08  Tristan Gingold  
1843
 
1844
        * vms-lib.c (_bfd_vms_lib_write_archive_contents): Increment
1845
        for the first block.
1846
 
1847
2010-06-08  Tristan Gingold  
1848
 
1849
        * vms-lib.c (_bfd_vms_lib_ia64_mkarchive): New function.
1850
        * libbfd-in.h (_bfd_vms_lib_ia64_mkarchive): Declare.
1851
        * libbfd.h: Regenerate.
1852
        * elfxx-ia64.c (bfd_elfNN_write_archive_contents): Redefine for VMS.
1853
        (bfd_elfNN_mkarchive): Ditto.
1854
 
1855
2010-06-02  Tristan Gingold  
1856
 
1857
        * vms-alpha.c (alpha_vms_bfd_final_link): Fix 64bit constant.
1858
 
1859
2010-06-01  Ralf Wildenhues  
1860
 
1861
        * configure: Regenerate.
1862
 
1863
2010-06-01  Tristan Gingold  
1864
 
1865
        * vms-alpha.c (struct vms_private_data_struct): Add
1866
        transfer_address field.  Remove unused dst_info field.
1867
        (alpha_vms_write_exec): Use transfer_address.
1868
        (_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE.
1869
        (alpha_vms_bfd_final_link): Set transfer_address.
1870
 
1871
2010-05-31  Tristan Gingold  
1872
 
1873
        * vms-lib.c (credat_lo, credat_hi): New fields.
1874
        (vms_read_block): Adjust comments.
1875
        (vms_write_block): New function.
1876
        (_bfd_vms_lib_archive_p): Decode majorid once.  Replace some
1877
        hard-coded values with constants.  Set credat_lo and credat_hi.
1878
        (_bfd_vms_lib_mkarchive): Add argument kind.
1879
        Set ver, mhd_size and type according to kind.
1880
        (_bfd_vms_lib_alpha_mkarchive): New function.
1881
        (struct lib_index): Renamed from struct vms_index
1882
        (lib_index_cmp): Renamed from vms_index_cmp.  Adjusted.
1883
        (get_idxlen): Type of idx argument adjusted.  Add is_elfidx
1884
        argument and handle it.
1885
        (vms_write_index): Adjust argument idx.  Handle elf indexes.
1886
        (_bfd_vms_lib_build_map): Adjust type of arguments modules and res.
1887
        (_bfd_vms_lib_write_archive_contents): Add is_elfidx variable and
1888
        use it.  Handle elf indexes.  Set credat.
1889
        * libbfd-in.h (_bfd_vms_lib_mkarchive): Renamed to ...
1890
        (_bfd_vms_lib_alpha_mkarchive): ... this.
1891
        * libbfd.h: Regenerated.
1892
        * vms-alpha.c (vms_alpha_vec): Adjust after previous renaming.
1893
 
1894
2010-05-28  Sterling Augustine  
1895
 
1896
        * elf32-xtensa.c (elf_xtensa_relocate_section): Add a large amount
1897
        of code to change the bits in the instructions to match the changes
1898
        in the relocations.  Declare dest_addr and sym_sec to help.
1899
 
1900
2010-05-28  Jan Kratochvil  
1901
 
1902
        Workaround GCC PR middle-end/4210.
1903
        * vms-misc.c (vms_time_t_to_vms_time): Use ternary operator for val[2]
1904
        and val[3].
1905
 
1906
2010-05-27  Tristan Gingold  
1907
 
1908
        * vms-misc.c: Define __NEW_STARLET.  Remove trailing spaces.
1909
        (VMS_TIME_FACTOR, VMS_TIME_OFFSET): New macros.
1910
        (vms_time_to_time_t): Use them instead of local const.
1911
        (vms_time_t_to_vms_time): New function.
1912
        (vms_get_time): Likewise.
1913
        (vms_raw_get_time): Likewise.
1914
        * vms.h (vms_time_t_to_vms_time): New declaration.
1915
        (vms_get_time): Likewise.
1916
        (vms_raw_get_time): Likewise.
1917
 
1918
2010-05-26  Tristan Gingold  
1919
 
1920
        * vms-alpha.c: Update comments.
1921
        (alpha_vms_write_exec): Set lnkflags.  Write the GST.
1922
        (alpha_vms_link_output_symbol): New function.
1923
        (alpha_vms_bfd_final_link): Generate the VMS symbol table.
1924
        Set dst_section private field.
1925
        (alpha_vms_bfd_final_link): Remove code that set dst_section.
1926
 
1927
2010-05-26  Tristan Gingold  
1928
 
1929
        * bfdio.c: Declare and define _bfd_memory_iovec.
1930
        (bfd_bread): Move code for BFD_IN_MEMORY...
1931
        (bfd_bwrite): ... Ditto ...
1932
        (bfd_tell): ... Ditto ...
1933
        (bfd_flush): ... Ditto ...
1934
        (bfd_stat): ... Ditto ...
1935
        (bfd_seek): ... Ditto ...
1936
        (bfd_get_size): ... Ditto ...
1937
        (bfd_mmap): ... Ditto ...
1938
        (memory_bread): ... to these new functions.
1939
        (memory_bwrite): Ditto.
1940
        (memory_btell): Ditto.
1941
        (memory_bseek): Ditto.
1942
        (memory_bflush): Ditto.
1943
        (memory_bstat): Ditto.
1944
        (memory_bmmap): Ditto.
1945
        (memory_bclose): New function.
1946
        * peicode.h (pe_ILF_build_a_bfd): Use BFD_IN_MEMORY.
1947
        * xcofflink.c (bfd_xcoff_link_generate_rtinit): Ditto.
1948
        * opncls.c (bfd_close): Do not handle BFD_IN_MEMORY case.
1949
        (bfd_make_writable): Use _bfd_memory_iovec.
1950
        * elfcode.h (bfd_from_remote_memory): Use _bfd_memory_iovec.
1951
        * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Use
1952
        _bfd_memory_iovec.
1953
        (alpha_ecoff_openr_next_archived_file): Use proxy_origin
1954
        instead of origin.
1955
        * libbfd.h: Regenerate.
1956
 
1957
2010-05-25  Daniel Jacobowitz  
1958
            Joseph Myers  
1959
            Andrew Stubbs  
1960
 
1961
        * config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add
1962
        bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs.
1963
        * configure.in: Handle FDPIC vectors.
1964
        * elf32-sh-relocs.h: Add FDPIC and movi20 relocations.
1965
        * elf32-sh.c (DEFAULT_STACK_SIZE): Define.
1966
        (SYMBOL_FUNCDESC_LOCAL): Define.  Use it instead of
1967
        SYMBOL_REFERENCES_LOCAL for function descriptors.
1968
        (fdpic_object_p): New.
1969
        (sh_reloc_map): Add FDPIC and movi20 relocations.
1970
        (sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid
1971
        range.
1972
        (struct elf_sh_plt_info): Add got20 and short_plt.  Update all
1973
        definitions.
1974
        (FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define.
1975
        (fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New.
1976
        (FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define.
1977
        (fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le)
1978
        (fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts):
1979
        New.
1980
        (get_plt_info): Handle FDPIC.
1981
        (MAX_SHORT_PLT): Define.
1982
        (get_plt_index, get_plt_offset): Handle short_plt.
1983
        (union gotref): New.
1984
        (struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to
1985
        got_type and adjust all uses.  Add GOT_FUNCDESC.
1986
        (struct sh_elf_obj_tdata): Add local_funcdesc.  Rename
1987
        local_got_tls_type to local_got_type.
1988
        (sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type.  All
1989
        users changed.
1990
        (sh_elf_local_funcdesc): Define.
1991
        (struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p,
1992
        and srofixup.
1993
        (sh_elf_link_hash_newfunc): Initialize new fields.
1994
        (sh_elf_link_hash_table_create): Set fdpic_p.
1995
        (sh_elf_omit_section_dynsym): New.
1996
        (create_got_section): Create .got.funcdesc, .rela.got.funcdesc
1997
        and .rofixup.
1998
        (allocate_dynrelocs): Allocate local function descriptors and space
1999
        for R_SH_FUNCDESC-related relocations, and for rofixups.
2000
        Handle GOT_FUNCDESC.  Create fixups.  Handle GOT entries which
2001
        require function descriptors.
2002
        (sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize.
2003
        (sh_elf_modify_program_headers): New.
2004
        (sh_elf_size_dynamic_sections): Allocate function descriptors for
2005
        local symbols.  Allocate .got.funcdesc contents.  Allocate rofixups.
2006
        Handle local GOT entries of type GOT_FUNCDESC.  Create fixups for
2007
        local GOT entries.  Ensure that FDPIC libraries always have a PLTGOT
2008
        entry in the .dynamic section.
2009
        (sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc)
2010
        (sh_elf_add_rofixup, sh_elf_osec_to_segment)
2011
        (sh_elf_osec_readonly_p, install_movi20_field): New functions.
2012
        (sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC,
2013
        R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC.  Use sh_elf_got_offset
2014
        and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_.  Add rofixup
2015
        read-only section warnings.  Handle undefined weak symbols.  Generate
2016
        fixups for R_SH_DIR32 and GOT entries.  Check for cross-segment
2017
        relocations and clear EF_SH_PIC.  Handle 20-bit relocations.
2018
        Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
2019
        (sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20,
2020
        R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC.
2021
        Handle 20-bit relocations.
2022
        (sh_elf_copy_indirect_symbol): Copy function descriptor reference
2023
        counts.
2024
        (sh_elf_check_relocs): Handle new relocations.  Make symbols
2025
        dynamic for FDPIC relocs.  Account for rofixups.  Error for FDPIC
2026
        symbol mismatches.  Allocate a GOT for R_SH_DIR32. Allocate fixups
2027
        for R_SH_DIR32.
2028
        (sh_elf_copy_private_data): Copy PT_GNU_STACK size.
2029
        (sh_elf_merge_private_data): Copy initial flags.  Do not clobber
2030
        non-mach flags.  Set EF_SH_PIC for FDPIC.  Reject FDPIC mismatches.
2031
        (sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries
2032
        here.  Rename sgot to sgotplt and srel to srelplt.  Handle short_plt,
2033
        FDPIC descriptors, and got20.  Create R_SH_FUNCDESC_VALUE for FDPIC.
2034
        Use install_movi20_field.  Rename srel to srelgot.  Always generate
2035
        R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
2036
        (sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup.
2037
        Do not fill in reserved GOT entries for FDPIC.  Correct DT_PLTGOT.
2038
        Rename sgot to sgotplt.  Assert that the right number of rofixups
2039
        and dynamic relocations were allocated.
2040
        (sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New.
2041
        (elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym.
2042
        (elf_backend_can_make_relative_eh_frame)
2043
        (elf_backend_can_make_lsda_relative_eh_frame)
2044
        (elf_backend_encode_eh_address): Define.
2045
        (TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM)
2046
        (TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed):
2047
        Redefine for FDPIC vector.
2048
        * reloc.c: Add SH FDPIC and movi20 relocations.
2049
        * targets.c (_bfd_target_vector): Add FDPIC vectors.
2050
        * configure, bfd-in2.h, libbfd.h: Regenerated.
2051
 
2052
2010-05-25  Jay Krell  
2053
 
2054
        PR ld/11624
2055
        * archive.c (_bfd_calloc_wrapper): New function.
2056
        (_bfd_add_bfd_to_archive_cache): Use it.
2057
 
2058
        * configure.in: Add alpha*-*-*vms* to list of natives.
2059
        * configure: Regenerate.
2060
 
2061
        * vms-misc.c: Define globalref if necessary.
2062
        (vms_convert_to_var_unix_filename): Rename to
2063
        _bfd_vms_convert_to_var_unix_filename and export.
2064
        * vms.h: Add prototype for _bfd_vms_convert_to_var_unix_filename.
2065
        * vms-alpha.c (vms_close_and_cleanup): Update invocation of
2066
        vms_convert_to_var_unix_filename.
2067
 
2068
2010-05-24  Tristan Gingold  
2069
 
2070
        * vms-alpha.c (add_symbol_entry): New function extrated from ...
2071
        (add_symbol): ... adjusted.
2072
 
2073
2010-05-24  Tristan Gingold  
2074
 
2075
        * vms-alpha.c (_bfd_vms_slurp_egsd): Fix indentation.
2076
        (alpha_vms_write_exec): Add a comment.
2077
        (_bfd_vms_write_egsd): Ditto.
2078
        (alpha_vms_convert_symbol): Remove a blank line.
2079
 
2080
2010-05-21  Tristan Gingold  
2081
 
2082
        * vms-alpha.c (_bfd_vms_slurp_eihs): Do not create a bfd section
2083
        for the GST.
2084
 
2085
2010-05-21  Tristan Gingold  
2086
 
2087
        * vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and
2088
        SEC_LOAD if isect has data.
2089
        (vms_get_symbol_info): Refine the condition for 'T' type.
2090
 
2091
2010-05-18  Tristan Gingold  
2092
 
2093
        * vms-alpha.c (_bfd_vms_write_emh): New function.
2094
        (_bfd_vms_write_lmn): New function.
2095
        (_bfd_vms_write_eeom): Moved.
2096
        (hash_string): Likewise.
2097
        (_bfd_vms_length_hash_symbol): Likewise.
2098
        (_bfd_vms_write_ehdr): Code moved to _bfd_vms_write_emh
2099
        and _bfd_vms_write_lmn, and call these functions.
2100
 
2101
2010-05-18  Tristan Gingold  
2102
 
2103
        * vms-alpha.c (evax_bfd_print_dst): Handle INCR_LINUM_L.
2104
        Add details in the messages.
2105
        (evax_bfd_print_image): Change message.
2106
 
2107
2010-05-18  H.J. Lu  
2108
 
2109
        PR gas/11600
2110
        * elf.c (_bfd_elf_make_section_from_shdr): Handle SHF_EXCLUDE
2111
        (elf_fake_sections): Likewise.
2112
 
2113
        * elf32-i370.c (i370_elf_section_from_shdr): Don't handle
2114
        SHF_EXCLUDE here.
2115
        * elf32-ppc.c (ppc_elf_fake_sections): Likewise.
2116
 
2117
2010-05-17  Tristan Gingold  
2118
 
2119
        * vms-alpha.c: Include esgps.h and eidc.h.
2120
        (_bfd_vms_slurp_egsd): Ignore SPSC and IDC sub-records.
2121
        (evax_bfd_print_egsd_flags): New function, extracted from ...
2122
        (evax_bfd_print_egsd): ..., calls evax_bfd_print_egsd_flags.  Handles
2123
        EGSD__C_SPSC and EGSD__C_IDC.
2124
 
2125
2010-05-14  Tristan Gingold  
2126
 
2127
        * vms-alpha.c (alpha_vms_object_p): Accept header size of 0.
2128
        (_bfd_vms_get_object_record): Handle align byte only in the
2129
        foreign case.
2130
 
2131
2010-05-14  Tristan Gingold  
2132
 
2133
        * vms-lib.c (_bfd_vms_lib_ia64_archive_p): New function.
2134
        * libbfd-in.h (_bfd_vms_lib_ia64_archive_p): Add prototype.
2135
        * libbfd.h: Regenerate.
2136
        * configure.in (havevecs): Define HAVE_all_vecs when
2137
        --enable-targets=all is set.  Use AC_SUBST on it.
2138
        (tdefaults): Do not add havevecs.
2139
        (bfd_elf64_ia64_vms_vec): Add vms-lib.lo and vms-misc.lo
2140
        * configure: Regenerate.
2141
        * Makefile.am (HAVEVECS): New variable.
2142
        (INCLUDES): Add HAVEVECS.
2143
        * Makefile.in: Regenerate.
2144
        * elfxx-ia64.c (INCLUDE_IA64_VMS): New macro, defined if vms
2145
        target is selected.  Add #ifdef/#endif around vms specific code.
2146
        (bfd_elfNN_archive_p, bfd_elfNN_archive_slurp_armap,
2147
        bfd_elfNN_archive_slurp_extended_name_table,
2148
        bfd_elfNN_archive_construct_extended_name_table,
2149
        bfd_elfNN_archive_truncate_arname,
2150
        bfd_elfNN_archive_write_armap,
2151
        bfd_elfNN_archive_read_ar_hdr,
2152
        bfd_elfNN_archive_write_ar_hdr,
2153
        bfd_elfNN_archive_openr_next_archived_file,
2154
        bfd_elfNN_archive_get_elt_at_index,
2155
        bfd_elfNN_archive_generic_stat_arch_elt,
2156
        bfd_elfNN_archive_update_armap_timestamp): Define to use vms archives.
2157
 
2158
2010-05-11  Jie Zhang  
2159
 
2160
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge
2161
        Tag_ABI_HardFP_use correctly.
2162
 
2163
2010-05-11  Alan Modra  
2164
 
2165
        * coffcode.h (coff_write_object_contents): Enclose all occurrences
2166
        of hasdebug and is_reloc_section in #ifdef COFF_IMAGE_WITH_PE.
2167
 
2168
2010-05-07  Daniel Jacobowitz  
2169
 
2170
        * elf32-arm.c (struct a8_erratum_reloc): Add hash member.  Move
2171
        sym_name to improve packing.
2172
        (cortex_a8_erratum_scan): Check for PLT entries.
2173
        (elf32_arm_size_stubs): Save the target symbol for a8 relocs.
2174
 
2175
2010-05-07  Tristan Gingold  
2176
 
2177
        * Makefile.in: Regenerate with automake 1.11.1.
2178
        * aclocal.m4: Ditto.
2179
 
2180
2010-05-05  Nick Clifton  
2181
 
2182
        * po/es.po: Updated Spanish translation.
2183
 
2184
2010-05-03  Tristan Gingold  
2185
 
2186
        * vms-lib.c (vms_lib_bopen): Fix the size threshold to read
2187
        selective_search flag.
2188
        Add comments.
2189
        * vms-alpha.c (alpha_vms_bfd_final_link): Create the DMT section
2190
        before output_has_begun is set.
2191
 
2192
2010-05-03  Tristan Gingold  
2193
 
2194
        * vms-alpha.c: Add comments.
2195
        (struct vms_private_data_struct): Remove image_autoextend field.
2196
        (dst_check_allocation): Removed.
2197
        (image_write): Remove call to dst_check_allocation.
2198
        (vms_slurp_debug): Do not set image_autoextend.  Adjust section
2199
        size.
2200
        (_bfd_vms_slurp_object_records): Remove useless new_type variable.
2201
        (alpha_vms_write_exec): Use dst_section to get the dst section.
2202
        Write the dmt section.
2203
        (evax_bfd_print_image): Also print the dst size in hexa.  Fix typo.
2204
        (alpha_vms_read_sections_content): Do not set image_autoextend.
2205
        (alpha_vms_bfd_final_link): Generate the dst.
2206
 
2207
2010-05-03  Tristan Gingold  
2208
 
2209
        * vms-lib.c (_bfd_vms_lib_archive_p): Adjust for a possible empty
2210
        next array.
2211
        (vms_lib_dcx): Adjust for the above change.
2212
 
2213
2010-04-30  H.J. Lu  
2214
 
2215
        PR ld/11542
2216
        * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): New.
2217
 
2218
        * elf32-i386.c (elf_i386_relocate_section): Use it.
2219
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2220
 
2221
2010-04-30  Tristan Gingold  
2222
 
2223
        * vms-lib.c (vms_read_block): New function.
2224
        (vms_traverse_index): Use vms_read_block.  Handle long key names.
2225
 
2226
2010-04-30  Tristan Gingold  
2227
 
2228
        * vms-lib.c (struct lib_tdata): Field artdata added, fields nbr_syms
2229
        and syms removed.
2230
        (struct carsym_mem): New structure.
2231
        (vms_add_index): New function.
2232
        (vms_add_indexes_from_list): New function.
2233
        (vms_traverse_index): Parameter carsym changed to carsym_mem.
2234
        Code adjusted to handle elfidx.
2235
        (vms_lib_read_index): Adjusted for vms_traverse_index changes.
2236
        Parameter NBREL is now a pointer.
2237
        (_bfd_vms_lib_archive_p): Adjust for above change.  Handle ia64
2238
        archives.
2239
        (_bfd_vms_lib_mkarchive): Adjusted for changes in struct lib_tdata.
2240
        (_bfd_vms_lib_find_symbol): Ditto.
2241
        (vms_lib_bopen): Fix two typos: return FALSE in case of error,
2242
        check MHD id.
2243
        (_bfd_vms_lib_get_module): New function.
2244
        (_bfd_vms_lib_get_elt_at_index): Rewritten using the above
2245
        function.
2246
        (_bfd_vms_lib_openr_next_archived_file): Use _bfd_vms_lib_get_module.
2247
        (_bfd_vms_lib_generic_stat_arch_elt): Handle ia64 archives.
2248
        (vms_write_index): Adjust for structure renamed.
2249
        * vms-alpha.c (alpha_vms_link_add_archive_symbols): Adjust for
2250
        changes of _bfd_vms_lib_find_symbol.
2251
 
2252
2010-04-28  Kai Tietz  
2253
 
2254
        * config.bfd: Correct accidential reverted patch
2255
        about vax*-*-*vms*.
2256
 
2257
2010-04-27  Kai Tietz  
2258
 
2259
        * pe-x86_64.c (TARGET_UNDERSCORE): Set value dependent
2260
        to USE_MINGW64_LEADING_UNDERSCORES.
2261
        * pei-x86_64.c (TARGET_UNDERSCORE): Likewise.
2262
        * config.bfd: Change underscoring default for x64 mingw
2263
        to false.
2264
        * coffcode.h (coff_write_relocs): Add check that dereferenced
2265
        sym_ptr_ptr isn't NULL.
2266
        * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
2267
        * configure: Regenerated.
2268
        * configure.in: Add option '--enable-leading-mingw64-underscores'
2269
        and define config.in variable USE_MINGW64_LEADING_UNDERSCORES.
2270
 
2271
2010-04-27  Nick Clifton  
2272
 
2273
        PR binutils/11512
2274
        * coffgen.c (coff_find_nearest_line): Incldue the section address
2275
        of function name symbols in address comparisons.
2276
 
2277
2010-04-27  Nick Clifton  
2278
 
2279
        * po/fr.po: Updated French translation.
2280
 
2281
2010-04-23  Alan Modra  
2282
 
2283
        * elf.c: Replace use of ELF_IS_SECTION_IN_SEGMENT and
2284
        ELF_IS_SECTION_IN_SEGMENT_FILE with ELF_SECTION_IN_SEGMENT
2285
        throughout file.
2286
        (assign_file_positions_for_load_sections): Modify section in
2287
        segment warning to ignore overlay vmas.
2288
        * elf32-spu.c (spu_elf_object_p): Replace use of
2289
        ELF_IS_SECTION_IN_SEGMENT_MEMORY with ELF_SECTION_IN_SEGMENT.
2290
 
2291
2010-04-22  Nick Clifton  
2292
 
2293
        * po/bfd.pot: Updated by the Translation project.
2294
        * po/vi.po: Updated Vietnamese translation.
2295
 
2296
2010-04-22  Alan Modra  
2297
 
2298
        * elf.c (assign_file_positions_for_load_sections): Revert 2008-05-29
2299
        change.  Tidy.  Don't error on sections not allocated in segment.
2300
 
2301
2010-04-15  Andrew Haley  
2302
 
2303
        * bfd-in.h (elf32_arm_fix_exidx_coverage): Add new flag:
2304
        merge_exidx_entries.
2305
        * bfd-in2.h: Likewise.
2306
        * elf32-arm.c (elf32_arm_fix_exidx_coverage): Likewise.  Use it to
2307
        control merging of exidx entries.
2308
 
2309
2010-04-20  Joseph Myers  
2310
 
2311
        * elf32-tic6x.h: New.
2312
        * elf-bfd.h (enum elf_target_id): Define TIC6X_ELF_DATA.
2313
        * elf32-tic6x.c (struct elf32_tic6x_obj_tdata, elf32_tic6x_tdata,
2314
        elf32_tic6x_howto_table_rel, elf32_tic6x_info_to_howto_rel,
2315
        elf32_tic6x_set_use_rela_p, elf32_tic6x_mkobject,
2316
        elf32_tic6x_new_section_hook, elf32_tic6x_rel_relocation_p,
2317
        bfd_elf32_mkobject, bfd_elf32_new_section_hook): New.
2318
        (elf32_tic6x_reloc_type_lookup, elf32_tic6x_reloc_name_lookup,
2319
        elf32_tic6x_relocate_section): Handle REL relocations.
2320
        (elf_info_to_howto_rel): Define to elf32_tic6x_info_to_howto_rel.
2321
 
2322
2010-04-20  Jakub Jelinek  
2323
 
2324
        * dwarf2.c (find_abstract_instance_name, scan_unit_for_symbols): Treat
2325
        DW_AT_linkage_name the same as DW_AT_MIPS_linkage_name.
2326
 
2327
2010-04-19  Nick Clifton  
2328
 
2329
        * archive64.c (bfd_elf64_archive_slurp_armap): Remove unused
2330
        arhdrpos variable.
2331
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Add unused
2332
        attribute to warned variable.  Remove unused val, type and type2
2333
        variables.
2334
 
2335
2010-04-16  Andreas Schwab  
2336
 
2337
        * vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking
2338
        strict-aliasing rules.
2339
 
2340
2010-04-16  Tristan Gingold  
2341
 
2342
        * vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo.
2343
        (_bfd_vms_get_object_record): Always assume there is a pad byte
2344
        for alignment.
2345
 
2346
        * vms-lib.c: Add a few comments.
2347
 
2348
2010-04-15  Matthew Gretton-Dann  
2349
 
2350
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support additions to
2351
        attributes in v2.08 of the ABI.
2352
 
2353
2010-04-15  Alan Modra  
2354
 
2355
        * config.bfd (vax*-*-*vms*): Delete.
2356
 
2357
2010-04-14  Tristan Gingold  
2358
 
2359
        * Makefile.am (BFD32_BACKENDS): Remove vms-gsd.lo, vms-hdr.lo,
2360
        vms-tir.lo, vms.lo and add vms-alpha.lo
2361
        (BFD32_BACKENDS_CFILES): Remove vms-gsd.c, vms-hdr.c,
2362
        vms-tir.c, vms.c and add vms-alpha.c
2363
        * Makefile.in: Regenerate.
2364
        * configure.in (TDEFINES): Adjust file list for vms_alpha_vec.
2365
        Remove vms_vax_vec.
2366
        * configure: Regenerate.
2367
        * targets.c (vms_vax_vec): Remove the declaration.
2368
        (_bfd_target_vector): Remove vms_vax_vec.
2369
        * vms-alpha.c: New file.
2370
        * vms-gsd.c: Removed, rewritten in vms-alpha.c
2371
        * vms-hdr.c: Ditto.
2372
        * vms-tir.c: Ditto.
2373
        * vms.c: Ditto.
2374
        * vms-misc.c: Fix indentation and comments.  Replace most of
2375
        #if VMS_DEBUG/vms_debug with vms_debug2.
2376
        (_bfd_vms_hash_newfunc): Moved to vms-alpha.c
2377
        (hash_string): Ditto.
2378
        (_bfd_vms_length_hash_symbol): Ditto.
2379
        (maybe_adjust_record_pointer_for_object): Ditto.
2380
        (_bfd_vms_get_object_record): Ditto.
2381
        (vms_get_remaining_object_record): Ditto.
2382
        (_bfd_vms_push): Ditto.
2383
        (_bfd_vms_pop): Ditto.
2384
        (_bfd_vms_get_header_values): Removed.
2385
        (_bfd_vms_get_first_record): Removed.
2386
        (vms_get_remaining_image_record): Removed.
2387
        (new_symbol): Removed.
2388
        (_bfd_vms_enter_symbol): Removed.
2389
        (_bfd_vms_save_sized_string): Use memcpy instead of strncpy.
2390
        (_bfd_vms_output_begin): Remove rechead parameter.  Replace bfd
2391
        parameter with struct vms_rec_wr.
2392
        (_bfd_vms_output_push): Removed and replaced by ...
2393
        (_bfd_vms_output_begin_subrec): ... new function.
2394
        (_bfd_vms_output_alignment): Replace bfd parameter with
2395
        struct vms_rec_wr, and adjust.
2396
        (_bfd_vms_output_check): Ditto
2397
        (_bfd_vms_output_byte): Ditto.
2398
        (_bfd_vms_output_short): Ditto.
2399
        (_bfd_vms_output_long): Ditto.
2400
        (_bfd_vms_output_quad): Ditto.
2401
        (_bfd_vms_output_counted): Ditto.
2402
        (_bfd_vms_output_dump): Ditto.
2403
        (_bfd_vms_output_fill): Ditto.
2404
        (_bfd_vms_output_pop): Removed and replaced by ...
2405
        (_bfd_vms_output_end_subrec): ... new function.
2406
        (_bfd_vms_output_flush): Removed.
2407
        (_bfd_vms_output_align): New function.
2408
        (_bfd_vms_output_end): Add recwr parameter.  Adjust for this new
2409
        parameter.
2410
        (vms_convert_to_var): New function imported from vms.c
2411
        (vms_convert_to_var_1): Ditto.
2412
        (vms_convert_to_var_unix_filename): Ditto.
2413
        (vms_get_module_name): Ditto.
2414
        (get_vms_time_string): Ditto.
2415
        (vms_time_to_time_t): Ditto.
2416
        (vms_rawtime_to_time_t): Ditto.
2417
        * vms.h: All macros for the VMS file format are now in include/vms.
2418
        Prototypes for vms.c, vms-gsd.c, vms-misc.c, vms-hdr.c, vms-tir.c
2419
        have been removed.
2420
        (struct vms_symbol_struct, struct stack_struct): Moved to vms-alpha.c
2421
        (struct fileinfo, struct srecinfo, struct lineinfo): Ditto.
2422
        (struct funcinfo, struct vms_private_data_struct): Ditto.
2423
        (struct vms_section_data_struct): Ditto.
2424
        (struct vms_rec_rd, stryct vms_rec_wr): New declarations.
2425
        (vms_get_module_name, get_vms_time_string): New declarations.
2426
        (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
2427
        (_bfd_vms_output_begin_subrec, _bfd_vms_output_end_subrec): Ditto.
2428
        (_bfd_vms_save_sized_string, _bfd_vms_save_counted_string): Adjusted.
2429
        (_bfd_vms_output_begin, _bfd_vms_output_alignment): Ditto.
2430
        (_bfd_vms_output_end,_bfd_vms_output_check): Ditto.
2431
        (_bfd_vms_output_byte, _bfd_vms_output_short): Ditto.
2432
        (_bfd_vms_output_long, _bfd_vms_output_quad): Ditto.
2433
        (_bfd_vms_output_counted, _bfd_vms_output_dump): Ditto.
2434
        (_bfd_vms_output_fill): Ditto.
2435
        (bfd_vms_set_section_flags): Ditto.
2436
 
2437
2010-04-14  Matthew Gretton-Dann  
2438
 
2439
        * elflink.c (_bfd_elf_merge_symbol): Tighten up the test for early
2440
        exit due to merging the same weak symbol to test that the symbols are
2441
        actually weak.
2442
 
2443
2010-04-13  Alan Modra  
2444
 
2445
        * elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
2446
        when optimizing high got_tlsgd/ld insns.
2447
 
2448
2010-04-10  H.J. Lu  
2449
 
2450
        * hosts/x86-64linux.h (HAVE_PRPSINFO32_T): Undefine before
2451
        define.
2452
        (HAVE_PRSTATUS32_T): Likewise.
2453
 
2454
2010-04-10  H.J. Lu  
2455
 
2456
        PR corefiles/11467
2457
        * configure.in (CORE_HEADER): New. Set to hosts/x86-64linux.h
2458
        for x86_64-*-linux*.
2459
        * config.in: Regenerated.
2460
        * configure: Likewise.
2461
 
2462
        * elf.c: Include CORE_HEADER if it is defined.
2463
 
2464
2010-04-10  H.J. Lu  
2465
            Jan Kratochvil  
2466
 
2467
        * hosts/x86-64linux.h: New.
2468
 
2469
2010-04-09  Nick Clifton  
2470
 
2471
        * aoutx.h (aout_link_input_bfd): Remove unused variable sym_count.
2472
        * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Remove unused
2473
        variables htab and hdr_info and mark info parameter as unused.
2474
        * elf.c (prep_headers): Remove unused variable i_phdrp.
2475
        (_bfd_elf_write_object_contents): Remove unused variable i_ehdrp.
2476
        * elf32-i386.c (elf_i386_relocate_section): Mark variabled warned
2477
        as unused.
2478
        * peXXigen.c (pe_print_reloc): Remove unused variable datasize.
2479
        * verilog.c (verilog_write_section): Remove unused variable
2480
        address.
2481
 
2482
2010-04-07  Alan Modra  
2483
 
2484
        * warning.m4 (GCC_WARN_CFLAGS): Only add -Wshadow for gcc-4 and above.
2485
        * configure: Regenerate.
2486
 
2487
2010-04-06  H.J. Lu  
2488
 
2489
        PR ld/11434
2490
        * elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally.
2491
 
2492
2010-04-06  Tristan Gingold  
2493
 
2494
        * vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags.
2495
 
2496
2010-04-05  Jakub Jelinek  
2497
 
2498
        * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Handle CIE version 4
2499
        provided that it has the expected address size and zero segment
2500
        length.
2501
 
2502
        * dwarf2.c (struct line_head): Add maximum_ops_per_insn field.
2503
        (struct line_info): Add op_index field, change end_sequence type to
2504
        unsigned char.
2505
        (new_line_sorts_after): For the same address compare op_index.
2506
        (add_line_info): Add op_index argument, store it into the structure.
2507
        (decode_line_info): Complain about unknown versions of .debug_line.
2508
        Initialize maximum_ops_per_insn.  Add op_index state register and
2509
        track it.
2510
 
2511
2010-04-01  Nathan Sidwell  
2512
 
2513
        * elf32-ppc.c (apuinfo_set): New static var.
2514
        (ppc_elf_begin_write_processing): Set it here, always create an
2515
        APUinfo section if there were any in the inputs.
2516
        (ppc_elf_write_section): Check apuinfo_set.
2517
        (ppc_elf_final_write_processing): Likewise.
2518
 
2519
2010-04-01  Tristan Gingold  
2520
 
2521
        * vms.h: Include time.h. Add prototypes for vms_get_module_name,
2522
        vms_time_to_time_t and vms_rawtime_to_time_t.
2523
        * vms.c (vms_alpha_vec): Add archives support.
2524
        * vms-misc.c: Include safe-ctype.h
2525
        (vms_get_module_name): New function.
2526
        (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
2527
        * vms-hdr.c (_bfd_vms_write_hdr): Put module name creation to the
2528
        vms_get_module_name function.  Use this function.
2529
        * targets.c: Declare vms_lib_txt_vec.  Add it to _bfd_target_vector.
2530
        * libbfd-in.h: Add prototype for _bfd_append_relative_path.
2531
        Add prototypes for vms-lib.c
2532
        * libbfd.h: Regenerate.
2533
        * configure.in (TDEFINES): Add an entry for vms_lib_txt_vec.  Add
2534
        vms-lib.lo to vms_alpha_vec.
2535
        * config.bfd (targ_cpu): Add targ_selvecs for alpha*-*-*vms*.
2536
        * configure: Regenerate.
2537
        * bfd.c: Add selective_search field.
2538
        * bfd-in2.h: Regenerate.
2539
        * archive.c (append_relative_path): Rename to
2540
        _bfd_append_relative_path and make it public.
2541
        (_bfd_get_elt_at_filepos): Adjust for above renaming.
2542
        * Makefile.am (BFD32_BACKENDS): Add vms-lib.lo
2543
        (BFD32_BACKENDS_CFILES): Add vms-lib.c
2544
        * Makefile.in: Regenerate.
2545
 
2546
2010-04-01  Jakub Jelinek  
2547
 
2548
        * dwarf2.c (read_attribute_value): Handle CU version 4
2549
        for DW_FORM_ref_addr, handle DW_FORM_sec_offset, DW_FORM_exprloc
2550
        and DW_FORM_flag_present.  For unknown form value return NULL.
2551
        (scan_unit_for_symbols): For DW_AT_location handle DW_FORM_exprloc
2552
        like DW_FORM_block.
2553
        (parse_comp_unit): Allow CU version 4.
2554
 
2555
2010-04-01  Hans-Peter Nilsson  
2556
 
2557
        * elf32-cris.c (cris_elf_relocate_section): Correct first argument
2558
        to _bfd_elf_get_dynamic_reloc_section.
2559
        (elf_cris_discard_excess_dso_dynamics): Ditto.
2560
 
2561
2010-03-31  Kai Tietz  
2562
 
2563
        * coff-i386.c (in_reloc_p): Check also for R_SECREL32.
2564
        * coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL.
2565
 
2566
2010-03-31  Alan Modra  
2567
 
2568
        * elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimized
2569
        TPREL16_HI and TPREL16_HA insns.
2570
 
2571
2010-03-31  Hans-Peter Nilsson  
2572
 
2573
        PR ld/11458
2574
        * elf32-cris.c (elf_cris_copy_indirect_symbol): Remove invalid
2575
        assert of empty pcrel_relocs_copied on the direct symbol.  Instead
2576
        of moving the list from the indirect symbol to the direct symbol,
2577
        merge into any existing list.
2578
        (cris_elf_check_relocs): Store the original section in the
2579
        pcrel_relocs_copied list, not the relocation section.
2580
        (elf_cris_discard_excess_dso_dynamics): Adjust accordingly to find
2581
        the relocation section, for reducing its size.  Change the
2582
        BFD_ASSERT into a check for the section being read-only, and only
2583
        emit warnings and TEXTREL marker when there's an entry for a
2584
        read-only section.
2585
 
2586
2010-03-29  Daniel Jacobowitz  
2587
 
2588
        * elf32-arm.c (using_thumb_only): Handle v6-M.
2589
 
2590
2010-03-26  Alan Modra  
2591
 
2592
        * elf32-ppc.c (ppc_elf_howto_raw ): Not pc-relative.
2593
        * bfd-in.h (elf_discarded_section): Clarify comment.
2594
        * reloc.c (struct reloc_howto_struct ): Likewise.
2595
        * bfd-in2.h: Regenerate.
2596
 
2597
2010-03-26  Matt Rice  
2598
 
2599
        * archive.c (_bfd_compute_and_write_armap): Allow symbols flagged
2600
        as unique in the armap.
2601
 
2602
2010-03-26  Alan Modra  
2603
 
2604
        PR ld/11375
2605
        * elf64-ppc.c (ppc64_elf_relocate_section): Always look up a
2606
        possible stub on branches.
2607
 
2608
2010-03-25  Joseph Myers  
2609
 
2610
        * Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo.
2611
        (ALL_MACHINES_CFILES): Add cpu-tic6x.c.
2612
        (BFD32_BACKENDS): Add elf32-tic6x.lo.
2613
        (BFD32_BACKENDS_CFILES): Add elf32-tic6x.c.
2614
        * Makefile.in: Regenerate.
2615
        * archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New.
2616
        (bfd_archures_list): Update.
2617
        * config.bfd (tic6x-*-elf): New.
2618
        * configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec):
2619
        New.
2620
        * configure: Regenerate.
2621
        * cpu-tic6x.c, elf32-tic6x.c: New.
2622
        * reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12,
2623
        BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7,
2624
        BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16,
2625
        BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B,
2626
        BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W,
2627
        BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B,
2628
        BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W,
2629
        BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H,
2630
        BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W,
2631
        BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W,
2632
        BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31,
2633
        BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN,
2634
        BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New.
2635
        * targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New.
2636
        (_bfd_target_vector): Update.
2637
        * bfd-in2.h, libbfd.h: Regenerate.
2638
 
2639
2010-03-24  H.J. Lu  
2640
 
2641
        * aout-target.h: Update copyright year.
2642
        * aout-tic30.c: Likewise.
2643
        * coff-alpha.c: Likewise.
2644
        * coff-rs6000.c: Likewise.
2645
        * coff64-rs6000.c: Likewise.
2646
        * elf64-mips.c: Likewise.
2647
        * ieee.c: Likewise.
2648
        * libecoff.h: Likewise.
2649
        * mach-o-target.c: Likewise.
2650
        * mach-o.c: Likewise.
2651
        * oasys.c: Likewise.
2652
        * targets.c: Likewise.
2653
 
2654
2010-03-24  H.J. Lu  
2655
 
2656
        * libbfd-in.h: Update copyright year.
2657
 
2658
2010-03-21  H.J. Lu  
2659
 
2660
        PR ld/11413
2661
        * elflink.c (_bfd_elf_add_default_symbol): Check !executable
2662
        instead of shared.
2663
 
2664
2010-03-19  Jie Zhang  
2665
 
2666
        * elf32-arm.c (struct section_list): Remove.
2667
        (section_list): Remove typedef.
2668
        (record_section_with_arm_elf_section_data): Remove.
2669
        (find_arm_elf_section_entry): Remove.
2670
        (get_arm_elf_section_data): Use is_arm_elf.
2671
        (unrecord_section_with_arm_elf_section_data): Remove.
2672
        (elf32_arm_new_section_hook): Don't call
2673
        record_section_with_arm_elf_section_data.
2674
        (elf32_arm_write_section): Set mapcount to -1 when
2675
        the map has been used. Don't call
2676
        unrecord_section_with_arm_elf_section_data.
2677
        (unrecord_section_via_map_over_sections): Remove.
2678
        (elf32_arm_close_and_cleanup): Remove.
2679
        (elf32_arm_bfd_free_cached_info): Remove.
2680
        (bfd_elf32_close_and_cleanup): Don't define.
2681
        (bfd_elf32_bfd_free_cached_info): Don't define.
2682
 
2683
2010-03-18  H.J. Lu  
2684
 
2685
        PR binutils/11396
2686
        * libcoff-in.h (pe_tdata): Add dont_strip_reloc.
2687
        * libcoff.h: Regenerated.
2688
 
2689
        * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG
2690
        if dont_strip_reloc is set.
2691
        (_bfd_XX_bfd_copy_private_bfd_data_common): Set
2692
        dont_strip_reloc on output if there is no .reloc and
2693
        IMAGE_FILE_RELOCS_STRIPPED isn't set in input.
2694
 
2695
2010-03-18  Wei Guozhi  
2696
 
2697
        PR gas/11323
2698
        * elf32-arm.c (elf32_arm_reloc_map): Map BFD_RELOC_ARM_GOT_PREL to
2699
        R_ARM_GOT_PREL.
2700
        * reloc.c (BFD_RELOC_ARM_GOT_PREL): New ARM relocation.
2701
        * bfd-in2.h: Regenerate.
2702
        * libbfd.h: Regenerate.
2703
 
2704
2010-03-17  H.J. Lu  
2705
 
2706
        * reloc.c (BFD_RELOC_SPU_PIC18): Removed.
2707
        (BFD_RELOC_SPU_STUB): Likewise.
2708
 
2709
2010-03-17  Jie Zhang  
2710
 
2711
        * elf.c (assign_file_positions_for_load_sections): Avoid
2712
        overflow.
2713
 
2714
2010-03-17  Alan Modra  
2715
 
2716
        PR binutils/11382
2717
        * plugin.c (bfd_plugin_object_p): Pass iostream to fileno using
2718
        proper type.
2719
 
2720
2010-03-17  Alan Modra  
2721
 
2722
        * elf32-arm.c (cortex_a8_erratum_scan): Warning fix.
2723
 
2724
2010-03-16  Alan Modra  
2725
 
2726
        * elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt.
2727
        (ppc64_elf_edit_toc): Set it here.
2728
        (ha_reloc_match): New function.
2729
        (ppc64_elf_relocate_section): Optimize bigtoc insn sequences.
2730
 
2731
2010-03-15  Alan Modra  
2732
 
2733
        * elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function.
2734
        * elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare.
2735
 
2736
2010-03-14  Alan Modra  
2737
 
2738
        PR ld/11378
2739
        * elf64-ppc.h (ppc64_elf_check_init_fini): Declare.
2740
        * elf64-ppc.c (call_check_done): Define.
2741
        (ppc64_elf_add_symbol_hook): Substitute bfd_get_section_name macro.
2742
        (ppc64_elf_check_relocs, ppc64_elf_size_dynamic_sections): Likewise.
2743
        (ppc64_elf_finish_multitoc_partition): Remove unnecessary check.
2744
        (toc_adjusting_stub_needed): Use call_check_done rather than toc_off.
2745
        Simplify return logic.  Iterate over all .init and .fini fragments
2746
        by recursion.  Set makes_toc_func_call here..
2747
        (ppc64_elf_next_input_section): ..rather than here.
2748
        (check_pasted_section, ppc64_elf_check_init_fini): New functions.
2749
 
2750
2010-03-13  Alan Modra  
2751
 
2752
        PR ld/11375
2753
        * elf64-ppc.c (ppc_type_of_stub): Always set *hash to the
2754
        function descriptor symbol if there is one, not just for plt stubs.
2755
        (ppc64_elf_relocate_section): Use fdh on all ppc_get_stub_entry calls.
2756
 
2757
2010-03-05  Rainer Orth  
2758
 
2759
        * elflink.c (bfd_elf_size_dynamic_sections): Don't emit base
2760
        version twice.
2761
        Skip it when constructing def.vd_next.
2762
 
2763
        * elf32-i386.c (TARGET_LITTLE_SYM): Redefine to
2764
        bfd_elf32_i386_sol2_vec.
2765
        (TARGET_LITTLE_NAME): Redefine to elf32-i386-sol2.
2766
        (elf32_bed): Redefine to elf32_i386_sol2_bed.
2767
        (elf_backend_want_plt_sym): Redefine to 1.
2768
 
2769
        * elf64-x86-64.c (TARGET_LITTLE_SYM): Redefine to
2770
        bfd_elf64_x86_64_sol2_vec.
2771
        (TARGET_LITTLE_NAME): Redefine to elf64-x86-64-sol2.
2772
        (elf64_bed): Redefine to elf64_x86_64_sol2_bed.
2773
        (elf_backend_want_plt_sym): Redefine to 1.
2774
 
2775
        * config.bfd (i[3-7]86-*-solaris2*): Set targ_defvec to
2776
        bfd_elf32_i386_sol2_vec.
2777
        Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
2778
        targ64_selvecs.
2779
        (x86_64-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec.
2780
        Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
2781
        targ_selvecs.
2782
 
2783
        * configure.in: Handle bfd_elf32_i386_sol2_vec,
2784
        bfd_elf64_x86_64_sol2_vec.
2785
        * configure: Regenerate.
2786
 
2787
        * targets.c (bfd_elf32_i386_sol2_vec): Declare.
2788
        (bfd_elf64_x86_64_sol2_vec): Declare.
2789
        (_bfd_target_vector): Add bfd_elf32_i386_sol2_vec,
2790
        bfd_elf64_x86_64_sol2_vec.
2791
 
2792
2010-03-04  Daniel Jacobowitz  
2793
 
2794
        * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program
2795
        sections.
2796
 
2797
2010-03-04  Alan Modra  
2798
 
2799
        PR 11302
2800
        * dwarf2.c (read_abbrevs): Return NULL on alloc failures.
2801
        (read_attribute_value, decode_line_info): Likewise.
2802
        (add_line_info, read_rangelist): Return FALSE on alloc failures.
2803
        (arange_add, sort_line_sequences): Likewise.
2804
        (find_abstract_instance_name): Handle failures from called funcs.
2805
        (scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise.
2806
        (find_line): Realloc to a temp, and handle alloc fail.
2807
 
2808
2010-03-03  Daniel Jacobowitz  
2809
 
2810
        * elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add
2811
        a mapping symbol to an empty section.
2812
 
2813
2010-03-02  Matthew Gretton-Dann  
2814
 
2815
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the
2816
        return value from the call to _bfd_elf_merge_object_attributes.
2817
 
2818
2010-03-02  Christophe Lyon  
2819
        Alan Modra  
2820
 
2821
        * elf32-arm.c (a8_erratum_fix): Add st_type field to record the
2822
        destination mode of the a8 stub.
2823
        (elf32_arm_link_hash_table): Add top_id field.
2824
        (elf32_arm_link_hash_table_create): Initialize top_id.
2825
        (arm_type_of_stub): Update prototype, st_type can now be updated
2826
        by this function. Actual destination address in case of PLT is
2827
        computed here, to help factorizing code.
2828
        (elf32_arm_stub_name): Update prototype, use stub_type additional
2829
        parameter to build stub name.
2830
        (elf32_arm_get_stub_entry): Update prototype, use stub_type
2831
        additional parameter to build stub entry.
2832
        (arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of
2833
        put_thumb_insn/put_arm_insn as BE8 encoding is now handled later.
2834
        Call elf32_arm_final_link_relocate to process all in-stub
2835
        relocations.
2836
        (elf32_arm_setup_section_lists): Update top_id.
2837
        (cortex_a8_erratum_scan): Record stub destination mode.
2838
        (elf32_arm_size_stubs): Update call to arm_type_of_stub according
2839
        to new prototype.
2840
        (elf32_arm_final_link_relocate): Enable processing of in-stub
2841
        REL32 relocations. Rely on arm_type_of_stub to detect if a stub is
2842
        needed, enabling code factorization.
2843
        (elf32_arm_final_link): Process stub sections.
2844
        (elf32_arm_output_map_sym): Add entry to code/data map.
2845
 
2846
2010-03-01  David S. Miller  
2847
 
2848
        * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and
2849
        h->def_regular, set h->ref_regular.
2850
        (allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries
2851
        and dynamic relocations if h->ref_regular.
2852
 
2853
        * elfxx-sparc.c (struct elf_reloc_map): Delete.
2854
        (sparc_reloc_map): Delete.
2855
        (_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each
2856
        relocation type in switch statements.
2857
 
2858
2010-02-25  Alan Modra  
2859
 
2860
        PR ld/11304
2861
        * elf.c (_bfd_elf_init_private_section_data): Rename need_group
2862
        to final_link and invert.  For final link allow some flags to
2863
        differ.  Don't specially allow flags to be all zero.
2864
 
2865
2010-02-24  Alan Modra  
2866
 
2867
        PR binutils/10858
2868
        * elfxx-mips.c (mips_elf_create_dynamic_relocation): Ise
2869
        SYMBOL_REFERENCES_LOCAL to exclude entries from the dynamic symbol
2870
        table.
2871
 
2872
2010-02-23  Andrew Zabolotny  
2873
 
2874
        PR binutils/11297
2875
        * elf32-avr.c (elf_avr_howto_table): Add R_AVR_8.
2876
        (avr_reloc_map): Map BFD_RELOC_8 to R_AVR_8.
2877
 
2878
2010-02-22  Alan Modra  
2879
 
2880
        * reloc.c (bfd_check_overflow): When forming addrmask, shift
2881
        fieldmask left by rightshift.
2882
        (_bfd_relocate_contents): Likewise.  Use rightshift addrmask in all
2883
        overflow checks.
2884
 
2885
2010-02-20  H.J. Lu  
2886
 
2887
        * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Don't check
2888
        STT_GNU_IFUNC on large common symbol.
2889
 
2890
2010-02-18  H.J. Lu  
2891
 
2892
        * elf32-i386.c (elf_i386_add_symbol_hook): Don't set
2893
        has_ifunc_symbols if the symbol comes from a shared library.
2894
        * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
2895
        * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
2896
        * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
2897
        * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
2898
        * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Likewise.
2899
 
2900
2010-02-19  Alan Modra  
2901
 
2902
        * elf.c (_bfd_elf_fixup_group_sections): New function, split out from..
2903
        (_bfd_elf_copy_private_header_data): ..here.
2904
        * elflink.c (_bfd_elf_size_group_sections): New function.
2905
        (bfd_elf_size_dynamic_sections): Call it.
2906
        * elf-bfd.h (_bfd_elf_size_group_sections): Declare.
2907
        (_bfd_elf_fixup_group_sections): Declare.
2908
 
2909
2010-02-18  Matthew Gretton-Dann  
2910
 
2911
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support for
2912
        merging Tag_DIV_use, Tag_MPextension_use, and
2913
        Tag_MPextension_use_legacy tags.
2914
 
2915
2010-02-18  Alan Modra  
2916
 
2917
        * elf.c (bfd_elf_set_group_contents): Revert accidental 2009-01-15
2918
        commit.  Don't write zeros for removed group members.
2919
        (_bfd_elf_copy_private_header_data): Adjust size of group section
2920
        when group members are removed by objcopy.
2921
 
2922
2010-02-15  Dave Korn  
2923
 
2924
        PR binutils/11280
2925
        * configure.host (*-*-solaris2.11):  Add host define to select
2926
        valid default code page for windres/windmc on solaris.
2927
 
2928
2010-02-15  Nick Clifton  
2929
 
2930
        * po/vi.po: Updated Vietnamese translation.
2931
 
2932
2010-02-12  Daniel Gutson  
2933
 
2934
        * elf32-arm.c (elf32_arm_output_arch_local_syms): add
2935
        missing mapping symbol to data only sections.
2936
 
2937
2010-02-11  David S. Miller  
2938
 
2939
        * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22
2940
        and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global
2941
        symbols.
2942
        (_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for
2943
        these relocs on global symbols.
2944
        (gdopoff): New.
2945
        (_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on
2946
        local symbol references which are not STT_GNU_IFUNC.  Handle
2947
        relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively,
2948
        and deal with negative vs. non-negative values properly.
2949
 
2950
2010-02-09  Tristan Gingold  
2951
 
2952
        * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for
2953
        non-external relocation.
2954
 
2955
2010-02-09  Alan Modra  
2956
 
2957
        * elf64-ppc.c (merge_got_entries): Move earlier in file.
2958
        (allocate_dynrelocs): Merge got entries here if not doing multi-toc.
2959
        (ppc64_elf_size_dynamic_sections): Similarly merge tlsld_got.
2960
        (ppc64_elf_layout_multitoc): Don't resize if we have already
2961
        merged got entries.
2962
 
2963
2010-02-09  Michael Holzheu  
2964
 
2965
        * elf-bfd.h (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
2966
        elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
2967
        elfcore_write_s390_prefix): New.
2968
        * elf.c (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
2969
        elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
2970
        elfcore_write_s390_prefix): New.
2971
        (elfcore_grok_note): Handle NT_S390_TIMER, NT_S390_TODCMP,
2972
        NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX.
2973
        (elfcore_write_register_note): Handle .reg-s390-timer,
2974
        .reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs,
2975
        .reg-s390-prefix section.
2976
 
2977
2010-02-09  Alan Modra  
2978
 
2979
        * elf64-ppc.c (struct got_entry): Make tls_type and is_indirect
2980
        unsigned char.  Update variables and code using them throughout file.
2981
        (struct ppc_link_hash_entry): Likewise for tls_mask.
2982
 
2983
        * elf64-ppc.c (ppc64_elf_layout_multitoc): Don't merge local got ents.
2984
 
2985
        * elf64-ppc.c (has_small_toc_reloc): Don't define.
2986
        (makes_toc_func_call, call_check_in_progress): Shuffle flags.
2987
        (struct ppc64_elf_obj_tdata): Add has_small_toc_reloc.  Update
2988
        code setting the flag.
2989
        (ppc64_elf_next_toc_section): Group big-toc sections in
2990
        0x80008000 chunks.
2991
 
2992
2010-02-08  David S. Miller  
2993
 
2994
        * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove sgot,
2995
        srelgot, splt, srelplt, and sgotplt members in favor of generic copies.
2996
 
2997
        * elfxx-sparc.c (create_got_section): Delete.
2998
        (_bfd_sparc_elf_create_dynamic_sections): Don't call, the dynamic
2999
        section creator does that work for us.  Use ->elf.foo instead of
3000
        ->foo where applicable.
3001
        (_bfd_sparc_elf_check_relocs): Use ->elf.foo instead of ->foo
3002
        where applicable.
3003
        (allocate_dynrelocs): Likewise.
3004
        (_bfd_sparc_elf_size_dynamic_sections): Likewise.
3005
        (_bfd_sparc_elf_relocate_section): Likewise.
3006
        (sparc_vxworks_build_plt_entry): Likewise.
3007
        (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
3008
        (sparc_finish_dyn): Likewise.
3009
        (sparc_vxworks_finish_exec_plt): Likewise.
3010
        (sparc_vxworks_finish_shared_plt): Likewise.
3011
        (_bfd_sparc_elf_finish_dynamic_sections): Likewise.
3012
 
3013
        * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use the SYMBOL_*
3014
        macros for visibilty and locality checks.
3015
        (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
3016
        (allocate_dynrelocs): Likewise.
3017
        (_bfd_sparc_elf_relocate_section): Likewise.
3018
        (_bfd_sparc_elf_finish_dynamic_symbol):Likewise.
3019
 
3020
        * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove set
3021
        but never used local var 'dynobj'.
3022
 
3023
        * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Handle
3024
        nocopyreloc.
3025
 
3026
        * reloc.c (BFD_RELOC_SPARC_JMP_IREL): New.
3027
        (BFD_RELOC_SPARC_IRELATIVE): Likewise.
3028
        * bfd-in2.h: Regenerate.
3029
        * libbfd.h: Regenerate.
3030
 
3031
        * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table
3032
        and loc_hash_memory.
3033
        (_bfd_sparc_elf_link_hash_table_free): Declare.
3034
        * elf32-sparc.c (elf32_sparc_add_symbol_hook): New.
3035
        (elf_backend_add_symbol_hook, elf_backend_post_process_headers,
3036
        bfd_elf32_bfd_link_hash_table_free): Define.
3037
        * elf64-sparc.c (elf64_sparc_add_symbol_hook): Set
3038
        has_ifunc_symbols if STT_GNU_IFUNC.
3039
        (bfd_elf64_bfd_link_hash_table_free): Define.
3040
        (elf_backend_post_process_headers): Define always.
3041
        * elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New.
3042
        (sparc_reloc_map): Add entries for new IFUNC relocs.
3043
        (_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs.
3044
        (_bfd_sparc_elf_info_to_howto_ptr): Likewise.
3045
        (elf_sparc_local_htab_hash, elf_sparc_local_htab_eq,
3046
        elf_sparc_get_local_sym_hash): New.
3047
        (_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization
3048
        from here...
3049
        (_bfd_sparc_elf_link_hash_table_create): ... to here.  Allocate
3050
        local hash table.
3051
        (_bfd_sparc_elf_link_hash_table_free): New.
3052
        (create_ifunc_sections): New.
3053
        (_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj
3054
        and call create_ifunc_sections().  For local STT_GNU_IFUNC symbols
3055
        cons up a fake local hash table entry for it.  Unconditionally add
3056
        a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular.  Count
3057
        dyn relocs for ifunc.
3058
        (_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc.
3059
        (allocate_dynrelocs):  Unconditionally emit a PLT entry when
3060
        STT_GNU_IFUNC and h->def_regular.  Count GOT dyn relocs for ifunc.
3061
        (allocate_local_dynrelocs): New function.
3062
        (_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash
3063
        table.  Emit dynamic relocs to irelplt when not shared.  Treat iplt
3064
        like splt.
3065
        (_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand.
3066
        (_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc
3067
        plt in iplt/irelplt.
3068
 
3069
2010-02-08  Richard Sandiford  
3070
 
3071
        * xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating
3072
        max_contents_size, only consider sections whose contents must
3073
        be swapped in.
3074
 
3075
2010-02-09  Alan Modra  
3076
 
3077
        * elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..
3078
        (ppc64_elf_size_dynamic_sections): ..and here..
3079
        (merge_got_entries): ..rather than here.
3080
 
3081
2010-02-09  Alan Modra  
3082
 
3083
        * elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc.
3084
        (has_small_toc_reloc): Define.
3085
        (ppc64_elf_check_relocs): Set the above flags.
3086
        (ppc64_elf_edit_opd): Delete obfd param.
3087
        (ppc64_elf_tls_optimize): Likewise.
3088
        (ppc64_elf_edit_toc): Likewise.
3089
        (ppc64_elf_tls_setup): Likewise.  Add no_multi_toc param.
3090
        * elf64-ppc.h: Update prototypes.
3091
 
3092
2010-02-08  Alan Modra  
3093
 
3094
        * section.c (struct bfd_section): Delete has_tls_reloc,
3095
        has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done.
3096
        Add sec_flg0 thru sec_flg5.
3097
        (BFD_FAKE_SECTION): Update for changed flags.
3098
        * ecoff.c (bfd_debug_section): Likewise.
3099
        * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
3100
        * elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
3101
        (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update.
3102
        * elf32-xtensa.c (reloc_done): Define.
3103
        * elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update.
3104
        * bfd-in2.h: Regenerate.
3105
 
3106
2010-02-08  Tristan Gingold  
3107
 
3108
        * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern
3109
        for non-scattered relocations.
3110
 
3111
2010-02-08  Nathan Sidwell  
3112
 
3113
        * elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty
3114
        apuinfo sections, only scan input sections once and reuse the
3115
        buffer.
3116
 
3117
2010-02-08  Philipp Tomsich  
3118
 
3119
        * archures.c (bfd_mach_ppc_titan): Define.
3120
        * bfd-in2.h: Regenerate.
3121
        * cpu-powerpc.c (bfd_powerpc_archs): Add titan entry.
3122
 
3123
2010-02-08  Alan Modra  
3124
 
3125
        * elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code.
3126
 
3127
2010-02-05  Sterling Augustine  
3128
 
3129
        * elf.c (assign_file_positions_for_load_sections) Update lma of
3130
        section if necessary.  Fixes Bugzilla 11219.
3131
 
3132
2010-02-05  H.J. Lu  
3133
 
3134
        * elf32-i386.c: Remove trailing white spaces.
3135
        * elf64-x86-64.c: Likewise.
3136
 
3137
2010-02-03  Nick Clifton  
3138
 
3139
        * elf-bfd.h (emum elf_object_id): Rename to elf_target_id.  Add
3140
        entries for other architectures.
3141
        (struct elf_link_hash_table): Add hash_table_id field.
3142
        (elf_hash_table_id): New accessor macro.
3143
        * elflink.c (_bfd_elf_link_hash_table_init): Add target_id
3144
        parameter.
3145
        * elf-m10300.c (elf32_mn10300_hash_table): Check table id before
3146
        returning cast pointer.
3147
        (elf32_mn10300_link_hash_table_create): Identify new table as
3148
        containing MN10300 extensions.
3149
        (mn10300_elf_relax_section): Check pointer returned by
3150
        elf32_mn10300_hash_table.
3151
        * elf32-arm.c: Likewise, except using ARM extensions.
3152
        * elf32-avr.c: Likewise, except using AVR extensions.
3153
        * elf32-bfin.c: Likewise, except using BFIN extensions.
3154
        * elf32-cris.c: Likewise, except using CRIS extensions.
3155
        * elf32-frv.c: Likewise, except using FRV extensions.
3156
        * elf32-hppa.c: Likewise, except using HPPA32 extensions.
3157
        * elf32-i386.c: Likewise, except using I386 extensions.
3158
        * elf32-lm32.c: Likewise, except using LM32 extensions.
3159
        * elf32-m32r.c: Likewise, except using M32RM extensions.
3160
        * elf32-m68hc11.c: Likewise, except using M68HC11 extensions.
3161
        * elf32-m68hc1x.c: Likewise, except using M68HC11 extensions.
3162
        * elf32-m68hc1x.h: Likewise, except using M68HC11 extensions.
3163
        * elf32-m68k.c: Likewise, except using M68K extensions.
3164
        * elf32-microblaze.c: Likewise, except using MICROBLAZE extensions.
3165
        * elf32-ppc.c: Likewise, except using PPC32 extensions.
3166
        * elf32-s390.c: Likewise, except using S390 extensions.
3167
        * elf32-sh.c: Likewise, except using SH extensions.
3168
        * elf32-spu.c: Likewise, except using SPU extensions.
3169
        * elf32-xtensa.c: Likewise, except using XTENSA extensions.
3170
        * elf64-alpha.c: Likewise, except using ALPHA extensions.
3171
        * elf64-hppa.c: Likewise, except using HPPA64 extensions.
3172
        * elf64-ppc.c: Likewise, except using PPC64 extensions.
3173
        * elf64-s390.c: Likewise, except using S390 extensions.
3174
        * elf64-x86-64.c: Likewise, except using X86_64 extensions.
3175
        * elfxx-ia64.c: Likewise, except using IA64 extensions.
3176
        * elfxx-mips.c: Likewise, except using MIPS extensions.
3177
        * elfxx-sparc.c: Likewise, except using SPARC extensions.
3178
        * elfxx-sparc.h: Likewise, except using SPARC extensions.
3179
        * elf32-cr16.c (struct elf32_cr16_link_hash_table): Delete
3180
        redundant structure.
3181
        (elf32_cr16_hash_table): Delete unused macro.
3182
        (elf32_cr16_link_hash_traverse): Delete unused macro.
3183
        * elf32-score.c: Likewise.
3184
        * elf32-score7.c: Likewise.
3185
        * elf32-vax.c: Likewise.
3186
        * elf64-sh64.c: Likewise.
3187
 
3188
2010-02-03  Alan Modra  
3189
 
3190
        * elf64-ppc.c (struct plt_entry): Move earlier in file.
3191
        (struct got_entry): Likewise.  Add is_indirect and got.ent fields.
3192
        (struct ppc64_elf_obj_tdata): Change tlsld_got to be a struct got_entry.
3193
        Update all uses.
3194
        (struct ppc_link_hash_table): Add got_reli_size and second_toc_pass.
3195
        Remove no_multi_toc.
3196
        (update_local_sym_info, ppc64_elf_check_relocs): Clear is_indirect
3197
        when allocating a new struct got_entry.
3198
        (allocate_got): New function, extracted from..
3199
        (allocate_dynrelocs): ..here.  Abort on got entry in non-ppc64 bfd.
3200
        (ppc64_elf_size_dynamic_sections): Track got relocs allocated in
3201
        .reliplt by got_reli_size.  Set owner on ppc64_tlsld_got entries.
3202
        (ppc64_elf_setup_section_lists): Remove output_bfd param and
3203
        no_multi_toc, add add_stub_section and layout_sections_again.  Stash
3204
        new params in htab.  Extract some code to..
3205
        (ppc64_elf_start_multitoc_partition): ..here.  New function.
3206
        (ppc64_elf_next_toc_section): Check for linker script errors.  Handle
3207
        second pass toc scan.
3208
        (merge_got_entries, merge_global_got, reallocate_got): New functions.
3209
        (ppc64_elf_reinit_toc): Rename to..
3210
        (ppc64_elf_finish_multitoc_partition): ..this.
3211
        (ppc64_elf_layout_multitoc): New function.
3212
        (ppc64_elf_size_stubs): Delete output_bfd, add_stub_section and
3213
        layout_sections_again params.
3214
        (ppc64_elf_relocate_section): Handle indirect got entries.
3215
        * elf64-ppc.h: Update prototypes.  Declare new functions.
3216
 
3217
2010-02-02  H.J. Lu  
3218
 
3219
        * elf-bfd.h (elfcore_write_xstatereg): New.
3220
 
3221
        * elf.c (elfcore_grok_xstatereg): New.
3222
        (elfcore_write_xstatereg): Likewise.
3223
        (elfcore_grok_note): Handle NT_X86_XSTATE.
3224
        (elfcore_write_register_note): Handle .reg-xstate section.
3225
 
3226
2010-02-01  Tristan Gingold  
3227
 
3228
        * som.c (som_write_ar_hdr): Define this macro.
3229
 
3230
2010-01-30  John David Anglin  
3231
 
3232
        * elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L,
3233
        R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations that use the
3234
        linkage table pointer to use the global table pointer if not doing
3235
        a shared link.
3236
 
3237
2010-01-29  Joel Brobecker  
3238
 
3239
        * elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal
3240
        if it has already been set.
3241
 
3242
2010-01-27  Tristan Gingold  
3243
 
3244
        * vms.h: Remove trailing spaces.
3245
        (struct hdr_struct): Remove unused hdr_c_cpr field.
3246
        (enum file_format_enum): Add comments.
3247
        * vms.c (vms_bfd_print_private_bfd_data): New function that
3248
        replaces the macro.
3249
        Remove trailing spaces.
3250
        * vms-misc.c: Improve comments.
3251
        (_bfd_vms_get_object_record): Also handle files without pads.
3252
        * vms-hdr.c (_bfd_vms_write_dbg): Fix format string.
3253
        * vms-gsd.c (struct flagdescstruct): Make name field const.
3254
        (gsyflagdesc): Fix typo.
3255
 
3256
2010-01-27  Alan Modra  
3257
 
3258
        PR ld/11217
3259
        * elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec.
3260
        (ppc64_elf_setup_section_lists): Init them.
3261
        (ppc64_elf_next_toc_section): Don't partition multi-toc between .got
3262
        and .toc on the same input file.
3263
        (ppc64_elf_relocate_section): Correct GOT entry offset.
3264
 
3265
2010-01-26  Tristan Gingold  
3266
 
3267
        * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add initializer for write_ar_hdr.
3268
        (bfd_target): Add _bfd_write_ar_hdr_fn field.
3269
        * archive.c (is_bsd44_extended_name): New macro.
3270
        (_bfd_generic_read_ar_hdr_mag): Use it.  Add extra_size.
3271
        (bfd_slurp_armap): Also check for "__.SYMDEF" as a BSD4.4 extended
3272
        name.
3273
        (_bfd_archive_bsd44_construct_extended_name_table): New function.
3274
        (_bfd_generic_write_ar_hdr): Ditto.
3275
        (_bfd_bsd44_write_ar_hdr): Ditto.
3276
        (_bfd_write_archive_contents): Call _bfd_write_ar_hdr.
3277
        (bsd_write_armap): Adjust firstreal computation.
3278
        * libbfd-in.h (struct areltdata): Add extra_size field.
3279
        (_bfd_generic_write_ar_hdr): Add prototype.
3280
        (_bfd_bsd44_write_ar_hdr): Ditto.
3281
        (_bfd_write_ar_hdr): Define.
3282
        (_bfd_noarchive_write_ar_hdr): Ditto.
3283
        (_bfd_archive_bsd_write_ar_hdr): Ditto.
3284
        (_bfd_archive_coff_write_ar_hdr): Ditto.
3285
        (_bfd_archive_bsd44_slurp_armap): Ditto.
3286
        (_bfd_archive_bsd44_slurp_extended_name_table): Ditto.
3287
        (_bfd_archive_bsd44_construct_extended_name_table): New prototype.
3288
        (_bfd_archive_bsd44_truncate_arname): Ditto.
3289
        (_bfd_archive_bsd44_write_armap): Ditto.
3290
        (_bfd_archive_bsd44_read_ar_hdr): Ditto.
3291
        (_bfd_archive_bsd44_write_ar_hdr): Ditto.
3292
        (_bfd_archive_bsd44_openr_next_archived_file): Ditto.
3293
        (_bfd_archive_bsd44_get_elt_at_index): Ditto.
3294
        (_bfd_archive_bsd44_generic_stat_arch_elt): Ditto.
3295
        (_bfd_archive_bsd44_update_armap_timestamp): Ditto.
3296
        * libbfd.h: Regenerate.
3297
        * oasys.c (oasys_write_ar_hdr): Define.
3298
        * libecoff.h (_bfd_ecoff_write_ar_hdr): Define.
3299
        * ieee.c (ieee_write_ar_hdr): Define.
3300
        * elf64-mips.c (bfd_elf64_archive_write_ar_hdr): Define.
3301
        * coff-rs6000.c (rs6000coff_vec): Adjust for write_ar_hdr field.
3302
        (bfd_pmac_xcoff_backend_data): Ditto.
3303
        * coff64-rs6000.c (rs6000coff64_vec): Ditto.
3304
        (bfd_xcoff_aix5_backend_data): Ditto.
3305
        * coff-alpha.c (alpha_ecoff_write_ar_hdr): Define.
3306
        * aout-target.h (MY_write_ar_hdr): Define it if not defined.
3307
        * aout-tic30.c (MY_write_ar_hdr): Ditto.
3308
        * mach-o-target.c (TARGET_NAME): Use _bfd_archive_bsd44 archive.
3309
        (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
3310
        (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
3311
        (bfd_mach_o_construct_extended_name_table)
3312
        (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
3313
        (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
3314
        (bfd_mach_o_update_armap_timestamp): Moved to mach-o.c
3315
        * mach-o.c (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
3316
        (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
3317
        (bfd_mach_o_construct_extended_name_table)
3318
        (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
3319
        (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
3320
        (bfd_mach_o_update_armap_timestamp): Moved from mach-o-target.c
3321
        * bfd-in2.h: Regenerate.
3322
 
3323
2010-01-26  Alan Modra  
3324
            H.J. Lu  
3325
 
3326
        PR ld/11218
3327
        * elflink.c (elf_link_output_extsym): Do not ignore undefined
3328
        symbols with ref_regular set when gc_sections is active.
3329
 
3330
2010-01-25  Alan Modra  
3331
 
3332
        PR ld/11217
3333
        * elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequences
3334
        with relocations against undefined weak symbols.
3335
        (ppc64_elf_relocate_section): Don't optimize calls to undefined
3336
        weak functions if the symbol is dynamic.
3337
        (ppc64_elf_relocate_section): Edit tprel tls sequences.
3338
        * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3339
        (_bfd_elf_ppc_at_tprel_transform): New function.
3340
        * bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare.
3341
        * bfd-in2.h: Regenerate.
3342
 
3343
2010-01-23  Richard Sandiford  
3344
 
3345
        * coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.
3346
        (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.
3347
        * coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and
3348
        bitsize to 1.
3349
        (xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.
3350
 
3351
2010-01-21  Nick Clifton  
3352
 
3353
        * elflink.c (elf_link_add_object_symbols): Look up name of
3354
        undefined symbol both before and after versioning has been
3355
        applied.  Do not bother with symbols that are weakly undefined.
3356
 
3357
2010-01-21  Andreas Krebbel  
3358
 
3359
        * elf32-s390.c (elf32_s390_merge_private_bfd_data): New function.
3360
        (bfd_elf32_bfd_merge_private_bfd_data): New macro definition.
3361
 
3362
2010-01-19  Cary Coutant  
3363
 
3364
        * dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8.
3365
 
3366
2010-01-19  Daisuke Hatayama  
3367
            Alan Modra 
3368
 
3369
        * elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff.
3370
        (elf_object_p): Read e_phnum extension.
3371
        (elf_write_shdrs_and_ehdr): Write e_phnum extension.
3372
        * elfcore.h (elf_core_file_p): Read e_phnum extension.  Sanity check
3373
        that we can read last program header.
3374
 
3375
2010-01-19  Matthew Gretton-Dann  
3376
 
3377
        * elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize of
3378
        R_ARM_THM_CALL entry.
3379
        (elf32_arm_final_link_relocate): Correct calculation of
3380
        reloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22,
3381
        or R_ARM_THM_JUMP24 relocation.
3382
 
3383
2010-01-18  Alan Modra  
3384
 
3385
        PR 11168
3386
        * coffcode.h (coff_compute_section_file_positions): Move Rs6000COFF_C
3387
        block past vars in COFF_IMAGE_WITH_PE block.  Report error on more
3388
        than 32k sections.
3389
 
3390
2010-01-15  Jan Kratochvil  
3391
 
3392
        Fix compilation warning on gcc-3.4.
3393
        * vms-tir.c (start_etir_record, sto_imm): Rename the prototype
3394
        parameter index to sec_index according to the function definition.
3395
 
3396
2010-01-13  Chao-ying Fu  
3397
 
3398
        * elfxx-mips.c (JR_TO_B_P): New define to transform JR to B.
3399
        It is true for all CPUs.
3400
        (jal_reloc_p): New function.
3401
        (mips_elf_calculate_relocation): Rename require_jalxp to
3402
        cross_mode_jump_p.
3403
        Update comment for CROSS_MODE_JUMP_P.
3404
        Set up cross_mode_jump_p based on the mode change.
3405
        (mips_elf_perform_relocation): Rename require_jalx to cross_mode_jump_p.
3406
        Update comment for CROSS_MODE_JUMP_P.
3407
        Test cross_mode_jump_p and jal_reloc_p to turn jal to jalx.
3408
        Use !cross_mode_jump_p to guard conversion.
3409
        Convert "jr t9" to "b", if possible.
3410
        (_bfd_mips_elf_relocate_section): Rename require_jalx to
3411
        cross_mode_jump_p.
3412
        Pass &cross_mode_jump_p to call mips_elf_calculate_relocation.
3413
        Pass cross_mode_jump_p to call mips_elf_perform_relocation.
3414
 
3415
2010-01-13  Nick Clifton  
3416
 
3417
        * cpu-m32c.c (m32c_scan): New function.  Ensures that a scan for
3418
        "m32c" returns the m32c arch_info_struct and not the m16c
3419
        arch_info_struct.
3420
        (arch_info_struct): Use the new scan function.
3421
        (bfd_m32c_arch): Likewise.
3422
 
3423
2010-01-13  Tristan Gingold  
3424
 
3425
        * config.bfd: Remove duplicated target vector for i386-*-darwin.
3426
        Appends new arch instead of overriding.
3427
        Use mach_o_x86_64_vec for x86_64-*-darwin.
3428
        * configure.in: Add mach_o_x86_64_vec.
3429
        * configure: Regenerate.
3430
        * targets.c: Declare mach_o_x86_64_vec, add it to _bfd_target_vector.
3431
        * Makefile.am (BFD64_BACKENDS): Add mach-o-x86-64.lo
3432
        (BFD64_BACKENDS_CFILES): Add mach-o-x86-64.c
3433
        * Makefile.in: Regenerate.
3434
        * mach-o-x86-64.c: New file.
3435
 
3436
2010-01-13  Tristan Gingold  
3437
 
3438
        * reloc.c: Add MACH_O_X86_64 relocations.
3439
        * bfd-in2.h: Regenerate.
3440
        * libbfd.h: Regenerate.
3441
 
3442
2010-01-13  Tristan Gingold  
3443
 
3444
        * archive.c (normalize): Use lbasename.
3445
        (bfd_bsd_truncate_arname): Ditto.
3446
        (bfd_gnu_truncate_arname): Ditto.
3447
 
3448
2010-01-12  Tristan Gingold  
3449
 
3450
        * makefile.vms (CFLAGS): Turns warnings into informational messages.
3451
 
3452
2010-01-11  Tristan Gingold  
3453
 
3454
        * mach-o.h: Add x86-64 relocation types.
3455
 
3456
2010-01-11  Tristan Gingold  
3457
 
3458
        * mach-o.h (bfd_mach_o_backend_data): Add arch field.
3459
        (bfd_mach_o_set_arch_mach): New prototype.
3460
        * mach-o.c (bfd_mach_o_mkobject): Define with bfd_mach_o_gen_mkobject.
3461
        (bfd_mach_o_set_arch_mach): New function.
3462
        (bfd_mach_o_gen_mkobject): New function.
3463
        Set TARGET_ARCHITECTURE for the generic back-ends.
3464
        * mach-o-target.c (bfd_mach_o_set_arch_mach): Remove define.
3465
        Check that TARGET_ARCHITECTURE is defined.
3466
        Add TARGET_ARCHITECTURE in TARGET_NAME_BACKEND structure.
3467
        * mach-o-i386.c (TARGET_ARCHITECTURE): Define.
3468
 
3469
2010-01-11  Tristan Gingold  
3470
 
3471
        * archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
3472
 
3473
2010-01-11  Nick Clifton  
3474
 
3475
        * elf32-v850.c (v850_elf_perform_relocation): Fix overflow
3476
        handling of R_V850_HI16_S relocation.
3477
 
3478
2010-01-11  Alan Modra  
3479
 
3480
        PR 11103
3481
        * dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.
3482
 
3483
2010-01-11  Alan Modra  
3484
 
3485
        PR 6832
3486
        * dwarf2.c (struct comp_unit): Add sec_info_ptr.
3487
        (find_abstract_instance_name): Use it.
3488
        (parse_comp_unit): Set it.
3489
 
3490
2010-01-09  Ralf Wildenhues  
3491
 
3492
        * Makefile.in: Regenerate.
3493
        * configure: Regenerate.
3494
 
3495
2010-01-08  Tristan Gingold  
3496
 
3497
        * archive.c: Remove bfd_special_undocumented_glue.
3498
 
3499
2010-01-08  Alan Modra  
3500
 
3501
        PR ld/11133
3502
        * elf32-cr16.c (elf32_cr16_gc_mark_hook): Call _bfd_elf_gc_mark_hook.
3503
        * elf32-microblaze.c (microblaze_elf_gc_mark_hook): Likewise.
3504
        * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
3505
 
3506
2010-01-07  H.J. Lu  
3507
 
3508
        PR ld/11138
3509
        * elflink.c (elf_link_check_versioned_symbol): Don't abort if
3510
        a symbol referenced by DSO is is defined in a non-shared object
3511
        and forced local.
3512
 
3513
2010-01-07  H.J. Lu  
3514
 
3515
        PR ld/11133
3516
        * elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for
3517
        undefined __start_XXX/__stop_XXX in all input files and set
3518
        SEC_KEEP.
3519
 
3520
2010-01-07  H.J. Lu  
3521
 
3522
        PR ld/11143
3523
        * elflink.c (elf_gc_sweep): Keep SHT_NOTE section.
3524
 
3525
2010-01-04  Daniel Gutson  
3526
 
3527
        * bfd.m4 (BFD_HAVE_SYS_PROCFS_TYPE): Define _STRUCTURE_PROC
3528
        before including procfs.h.
3529
        (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise.
3530
        * configure.in: Added autoconf probe for the pr_fpreg member.
3531
        * configure: Regenerated.
3532
        * config.in: Regenerated.
3533
        * elf.c: Define _STRUCTURE_PROC before including procfs.h.
3534
 
3535
2010-01-04  Joel Brobecker  
3536
 
3537
        Fix -Wshadow warnings in dwarf2.c (seen on alpha-tru64).
3538
        * dwarf2.c (concat_filename): Rename dirname with dir_name
3539
        to void shadowing the dirname function.
3540
        Rename subdirname with subdir_name to stay consistent with
3541
        the new dir_name variable name.
3542
 
3543
2010-01-04  Edmar Wienskoski  
3544
 
3545
        * archures.c: Add bfd_mach_ppc_e500mc64.
3546
        * bfd-in2.h: Regenerate.
3547
        * cpu-powerpc.c (bfd_powerpc_archs): Add entry for
3548
        bfd_mach_ppc_e500mc64.
3549
 
3550
2010-01-01  Joel Brobecker  
3551
 
3552
        Fix -Wshadow warnings (seen on ppc-aix)
3553
        * xcofflink.c: Replace finfo by flinfo throughout.
3554
 
3555
For older changes see ChangeLog-2009
3556
 
3557
Local Variables:
3558
mode: change-log
3559
left-margin: 8
3560
fill-column: 74
3561
version-control: never
3562
End:

powered by: WebSVN 2.1.0

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