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

Subversion Repositories open8_urisc

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

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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